diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:01:30 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:01:30 +0000 |
commit | 6beeb1b708550be0d4a53b272283e17e5e35fe17 (patch) | |
tree | 1ce8673d4aaa948e5554000101f46536a1e4cc29 /docs/manual/mod | |
parent | Initial commit. (diff) | |
download | apache2-upstream/2.4.57.tar.xz apache2-upstream/2.4.57.zip |
Adding upstream version 2.4.57.upstream/2.4.57
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
563 files changed, 188623 insertions, 0 deletions
diff --git a/docs/manual/mod/core.html b/docs/manual/mod/core.html new file mode 100644 index 0000000..b5101aa --- /dev/null +++ b/docs/manual/mod/core.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: core.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: core.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: core.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: core.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: core.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: core.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/core.html.de b/docs/manual/mod/core.html.de new file mode 100644 index 0000000..13b54da --- /dev/null +++ b/docs/manual/mod/core.html.de @@ -0,0 +1,3911 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache-Kernfunktionen</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Ständig verfügbare Kernfunktionen des Apache HTTP +Servers</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Core</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergeslashes">MergeSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readbuffersize">ReadBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stricthostcheck">StrictHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Report a bug</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><a href="#comments_section">Kommentare</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a>-<a name="acceptfilter" id="acceptfilter">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Konfiguriert Optimierungen für lauschende Sockets bestimmter +Protokolle</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptFilter <var>Protokoll</var> <var>Filter</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.1.5</td></tr> +</table> + <p>Diese Direktive aktiviert betriebssystemspezifische Optimierungen + für lauschende Sockets anhand des Protokolltyps. Der grundlegende + Ansatz ist, dass der Kernel das Socket nicht an den Serverprozess + übergibt, bis entweder Daten verfügbar sind oder eine komplette + HTTP-Anfrage zwischengespeichert wurde. Derzeit werden + ausschließlich die <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9">Accept-Filter von FreeBSD</a> und das primitivere + <code>TCP_DEFER_ACCEPT</code> von Linux unterstützt.</p> + + <p>Die Standardeinstellungen für FreeBSD sind:</p> + <div class="example"><p><code> + AcceptFilter http httpready<br /> + AcceptFilter https dataready + </code></p></div> + + <p>Der <code>httpready</code>-Accept-Filter puffert komplette + HTTP-Anfragen auf Kernelebene. Sobald eine Anfrage vollständig + vorliegt, schickt der Kernel sie an den Server weiter. Bitte schlagen Sie + in der <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9">accf_http(9)</a>-Manpage für weitere Details nach. HTTPS-Anfragen + sind verschlüsselt. Daher wird dafür nur der <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9">accf_data(9)</a>-Filter verwendet.</p> + + <p>Die Standardeinstellungen für Linux sind:</p> + <div class="example"><p><code> + AcceptFilter http data<br /> + AcceptFilter https data + </code></p></div> + + <p><code>TCP_DEFER_ACCEPT</code> unter Linux unterstützt keine + Zwischenspeicherung von HTTP-Anfragen. Jeder andere Wert als + <code>none</code> aktiviert <code>TCP_DEFER_ACCEPT</code> auf dem + Lauschsocket. Mehr Details finden Sie in der <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html">tcp(7)</a>-Manpage von Linux.</p> + + <p>Wenn Sie <code>none</code> als Argument verwenden, werden alle + Accept-Filter für das Protokoll abgeschaltet. Das ist sinnvoll + für Protokolle, bei denen der Server zuerst Daten senden muss, + wie zum Beispiel <code>nntp</code>:</p> + <div class="example"><p><code>AcceptFilter nttp none</code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a>-<a name="acceptpathinfo" id="acceptpathinfo">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ressourcen lassen angehängte Pfadangaben zu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.0.30</td></tr> +</table> + <p>Die Direktive steuert, ob Anfragen akzeptiert oder + abgewiesen werden, bei denen nach der tatsächlichen + Datei (oder einer nicht existierenden Datei in einem existierenden + Verzeichnis) zusätzliche Pfadangaben folgen. Die angehängte + Pfadangabe kann Skripten in der Umgebungsvariable <code>PATH_INFO</code> + verfügbar gemacht werden.</p> + + <p>Nehmen wir beispielsweise an, dass <code>/test/</code> auf ein + Verzeichnis zeigt, welches lediglich eine Datei <code>here.html</code> + enthält. Dann wird bei Anfragen nach + <code>/test/here.html/more</code> und + <code>/test/nothere.html/more</code> beides Mal <code>/more</code> + als <code>PATH_INFO</code> ermittelt.</p> + + <p>Die drei möglichen Argumente für die Direktive + <code class="directive">AcceptPathInfo</code> sind:</p> + + <dl> + <dt><code>Off</code></dt><dd>Eine Anfrage wird nur dann akzeptiert, + wenn sie exakt auf ein existierendes Verzeichnis (oder eine Datei) + abgebildet werden kann. Daher würde eine Anfrage mit einer nach dem + tatsächlichen Dateinamen angehängten Pfadangabe, wie + <code>/test/here.html/more</code> im obigen Beispiel, den Fehler + 404 NOT FOUND <span class="transnote">(<em>Anm.d.Ü.:</em> nicht gefunden)</span> + zurückgeben.</dd> + + <dt><code>On</code></dt> + <dd>Eine Anfrage wird akzeptiert, wenn eine vorangestellte Pfadangabe + auf ein existierendes Verzeichnis abgebildet werden kann. Das + obige Beispiel <code>/test/here.html/more</code> wird akzeptiert, + wenn <code>/test/here.html</code> auf eine gültige Datei + zeigt.</dd> + + <dt><code>Default</code></dt> + <dd>Die Behandlung von Anfragen mit angehängten Pfadangaben + wird von dem für die Anfrage verantwortlichen <a href="../handler.html">Handler</a> bestimmt. Der Core-Handler + für gewöhnliche Dateien weist <code>PATH_INFO</code>-Zugriffe + standardmäßig zurück. Handler, die Skripte bedienen, + wie z.B. <a href="mod_cgi.html">cgi-script</a> und + <a href="mod_isapi.html">isapi-handler</a>, sind im Allgemeinen darauf + voreingestellt, <code>PATH_INFO</code> zu akzeptieren.</dd> + </dl> + + <p>Das eigentliche Ziel von <code>AcceptPathInfo</code> ist es, Ihnen + das Überschreiben der Voreinstellung der Handler bezüglich + der Akzeptanz oder Ablehnung von <code>PATH_INFO</code> zu erlauben. + Eine solche Änderung ist zum Beispiel notwendig, wenn Sie einen + <a href="../filter.html">Filter</a> wie <a href="mod_include.html">INCLUDES</a> verwenden, um Inhalte + abhängig von <code>PATH_INFO</code> zu generieren. Der + Core-Handler würde die Anfrage normalerweise abweisen. Verwenden + Sie die folgende Konfiguration, um dennoch solch ein Skript zu + ermöglichen.</p> + + <div class="example"><p><code> + <Files "mypaths.shtml"><br /> + <span class="indent"> + Options +Includes<br /> + SetOutputFilter INCLUDES<br /> + AcceptPathInfo On<br /> + </span> + </Files> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a>-<a name="accessfilename" id="accessfilename">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Name der dezentralen Konfigurationsdateien</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Aus dieser Namensliste sucht der Server während der + Bearbeitung einer Anfrage in jedem Verzeichnis nach der ersten + existierenden Datei, sofern im betreffenden Verzeichnis dezentrale + Konfigurationsdateien <a href="#allowoverride">erlaubt sind</a>. + Beispiel:</p> + + <div class="example"><p><code> + AccessFileName .acl + </code></p></div> + + <p>Vor der Rücksendung des Dokuments + <code>/usr/local/web/index.html</code> wird der Server + <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code> und <code>/usr/local/web/.acl</code> + einlesen, solange diese nicht mit</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory> + </code></p></div> + + <p>deaktiviert wurden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Konfigurationsdateien</a></li> +<li><a href="../howto/htaccess.html">.htaccess-Dateien</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a>-<a name="adddefaultcharset" id="adddefaultcharset">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Standard-Charset-Parameter, der bei Antworten vom Content-Type + <code>text/plain</code> oder <code>text/html</code> hinzugefügt wird +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddDefaultCharset On|Off|<var>Zeichenkodierung</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive gibt einen Standardwert für den Charset-Paramter des + Medientyps (den Namen einer Zeichencodierung) an, der einer Antwort + genau dann hinzugefügt wird, wenn der Content-Type der Antwort entweder + <code>text/plain</code> oder <code>text/html</code> ist. Dies sollte jedes + mittels <code>META</code>-Element im Datenteil der Antwort angegebene + Charset überschreiben. Das genaue Verhalten hängt jedoch oft von + der Client-Konfiguration des Benutzers ab. Die Einstellung + <code>AddDefaultCharset Off</code> deaktiviert diese Funktionalität. + <code>AddDefaultCharset On</code> aktiviert die Standard-Zeichenkodierung + <code>iso-8859-1</code>. Jeder andere Wert wird als die zu verwendende + <var>Zeichenkodierung</var> aufgefaßt, die eines der bei <a href="http://www.iana.org/assignments/character-sets">IANA registrierten + Charset-Werte</a> zur Verwendung in MIME-Medientypen sein sollte. Zum + Beispiel:</p> + + <div class="example"><p><code> + AddDefaultCharset utf-8 + </code></p></div> + + <p><code class="directive">AddDefaultCharset</code> sollte nur verwendet werden, + wenn von allen Textressourcen, für die es gilt, bekannt ist, dass sie + in dieser Zeichkodierung vorliegen, oder wenn es zu unbequem ist, ihre + Zeichenkodierung indivuell zu benennen. Ein solches Beispiel ist das + Hinzufügen des Charset-Parameters zu Ressourcen, die generierte + Inhalte enthalten. Ein Beispiel sind CGI-Skript-Altlasten, die aufgrund von + in die Ausgabe integrierten Daten, die durch den Benutzer übermittelt + wurden, gegen Cross-Site-Scripting-Angriffe verwundbar sind. Eine bessere + Lösung wäre jedoch, diese Skripte zu korrigieren (oder zu + löschen), da die Angabe einer Standard-Zeichencodierung keine + Anwender schützt, die in ihrem Browser die Funktion zur + automatischen Erkennung der Zeichenkodierung aktiviert haben.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a>-<a name="allowencodedslashes" id="allowencodedslashes">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht +werden dürfen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.0.46</td></tr> +</table> + <p>Die <code class="directive">AllowEncodedSlashes</code>-Direktive erlaubt die + Verwendung von URLs, welche kodierte Pfadtrennzeichen (<code>%2F</code> + für <code>/</code> und auf entsprechenden Systemen zusätzlich + <code>%5C</code> für <code>\</code>) enthalten. Normalerweise werden + derartige URLs mit einem 404-Fehler (Nicht gefunden) abgewiesen.</p> + + <p><code class="directive">AllowEncodedSlashes</code> <code>On</code> ist + vor allem in Verbindung mit <code>PATH_INFO</code> hilfreich.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Das Erlauben von Schrägstrichen impliziert <em>nicht</em> deren + <em>Dekodierung</em>. Vorkommen von <code>%2F</code> oder <code>%5C</code> + (<em>nur</em> auf entsprechenden Systemen) werden unverändert in der + ansonsten dekodierten URL belassen.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a>-<a name="allowoverride" id="allowoverride">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Direktiven-Typen, die in <code>.htaccess</code>-Dateien +erlaubt sind.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverride All|None|<var>Direktiven-Typ</var> +[<var>Direktiven-Typ</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AllowOverride None (2.3.9 und später), AllowOverride All (2.3.8 und früher)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Wenn der Server eine <code>.htaccess</code>-Datei (wie durch + <code class="directive"><a href="#accessfilename">AccessFileName</a></code> definiert) + findet, muss er wissen, welche in der Datei angegebenen Direktiven + frühere Konfigurationsanweisungen überschreiben + dürfen.</p> + + <div class="note"><h3>Nur in <Directory>-Abschnitten verfügbar</h3> + <code class="directive">AllowOverride</code> ist nur in <code class="directive"><a href="#directory"><Directory></a></code>-Abschnitten + gültig, die ohne reguläre Ausdrücke definiert wurden, nicht + in <code class="directive"><a href="#location"><Location></a></code>-, + <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code>- oder + <code class="directive"><a href="#files"><Files></a></code>-Abschnitten. + </div> + + <p>Wenn diese Anweisung auf <code>None</code> gesetzt wird, dann + werden <a href="#accessfilename">.htaccess</a>-Dateien komplett + ignoriert. In diesem Fall wird der Server nicht einmal versuchen, + die <code>.htaccess</code>-Dateien im Dateisystem zu lesen.</p> + + <p>Wenn diese Anweisung auf <code>All</code> gesetzt wird, dann + ist jede Direktive in den <code>.htaccess</code>-Dateien erlaubt, + die den <a href="directive-dict.html#Context">Kontext</a> + .htaccess besitzt.</p> + + <p>Der <var>Direktiven-Typ</var> kann eine der folgenden + Anweisungsgruppen sein.</p> + + <dl> + <dt>AuthConfig</dt> + + <dd> + Erlaubt die Verwendung von Autorisierungs-Anweisungen (<code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> <em>usw.</em>).</dd> + + <dt>FileInfo</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung der + Dokumenttypen (<code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, und + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>-Direktiven Add* und Remove* + <em>usw.</em>), Metadaten (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Direktiven <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) und + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> aus + <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>. + </dd> + + <dt>Indexes</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung von + Verzeichnisindizes (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <a href="mod_autoindex.html#indexoptions.fancyindexing"> + <code>FancyIndexing</code></a>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code> + <em>usw.</em>).</dd> + + <dt>Limit</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung des + Zugriffs von Hosts (<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> und <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>).</dd> + + <dt>Options[=<var>Option</var>,...]</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung spezieller + Verzeichniseigenschaften (<code class="directive"><a href="#options">Options</a></code> + und <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). Sie + können mit einem Gleichheitszeichen gefolgt von einer + kommaseparierten Liste (ohne Leerzeichen) angeben, welche Optionen mit + der <code class="directive"><a href="#options">Options</a></code>-Direktive gesetzt + werden dürfen.</dd> + </dl> + + <p>Beispiel:</p> + + <div class="example"><p><code> + AllowOverride AuthConfig Indexes + </code></p></div> + + <p>Im obigen Beispiel erzeugen alle Direktiven einen internal server + error <span class="transnote">(<em>Anm.d.Ü.:</em> Server-interner Fehler)</span>, die weder der + Gruppe <code>AuthConfig</code> noch der Gruppe <code>Indexes</code> + angehören.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><a href="../configuring.html">Konfigurationsdateien</a></li> +<li><a href="../howto/htaccess.html">.htaccess-Dateien</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a>-<a name="allowoverridelist" id="allowoverridelist">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AllowOverrideList None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a>-<a name="cgimapextension" id="cgimapextension">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Technik zur Bestimmung des Interpreters für +CGI-Skripte</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>ausschließlich NetWare</td></tr> +</table> + <p>Die Direktive wird zur Steuerung verwendet, wie Apache + den Interpreter ermittelt, der zur Ausführung von + CGI-Skripten verwendet wird. Beispielsweise bestimmt die Angabe + von <code>CGIMapExtension sys:\foo.nlm .foo</code>, dass + alle CGI-Scripte mit der Endung <code>.foo</code> an den + FOO-Interpreter übergeben werden.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a>-<a name="cgipassauth" id="cgipassauth">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIPassAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>CGIPassAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.4.13 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIVar" id="CGIVar">CGIVar</a>-<a name="cgivar" id="cgivar">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Controls how some CGI variables are set</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.4.21 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a>-<a name="contentdigest" id="contentdigest">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert die Generierung von <code>Content-MD5</code> +HTTP-Response-Headern</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive aktiviert die Generierung von + <code>Content-MD5</code>-Headern, wie sie in RFC1864 bzw. RFC2616 + definiert sind.</p> + + <p>MD5 ist ein Algorithmus zur Berechnung eines "Datenextrakts" + (zuweilen "Fingerabdruck" genannt) <span class="transnote">(<em>Anm.d.Ü.:</em> Der "Datenextrakt" wird im + Englischen als "message digest" oder "fingerprint" bezeichnet.)</span> + aus beliebig langen Daten. Es gilt als zuverlässig, dass + Veränderungen an den Daten sich in Veränderungen des + Extrakts wiederspiegeln.</p> + + <p>Der <code>Content-MD5</code>-Header bietet eine + End-to-End-Integritätsprüfung (MIC) <span class="transnote">(<em>Anm.d.Ü.:</em> MIC steht für + "message integrity check".)</span> des Daten-Inhalts. Ein Proxy oder + Client kann diesen Header prüfen, um zufällige Veränderungen + des Entity-Inhalts bei der Übertragung festzustellen. + Beispielheader:</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>Beachten Sie bitte, dass dies Performanceprobleme auf Ihrem + System verursachen kann, da der Extrakt bei jeder Anfrage + berechnet wird (der Wert wird nicht zwischengespeichert).</p> + + <p><code>Content-MD5</code> wird nur für Dokumente gesendet, + die von <code class="module"><a href="../mod/core.html">core</a></code> bedient werden, nicht jedoch bei + Modulen. SSI-Dokumente, CGI-Skript-Ausgaben und Byte-Range-Antworten + besitzen diesen Header beispielsweise nicht.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a>-<a name="defaultruntimedir" id="defaultruntimedir">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Base directory for the server run-time files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultRuntimeDir <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache 2.4.2 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><a href="../misc/security_tips.html#serverroot">the + security tips</a> for information on how to properly set + permissions on the <code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a>-<a name="defaulttype" id="defaulttype">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>MIME-Content-Type, der gesendet wird, wenn der Server den Typ +nicht auf andere Weise ermitteln kann.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultType <var>MIME-Type</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>DefaultType text/plain</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Es kann vorkommen, dass der Server ein Dokument ausliefern muss, + dessen Typ er nicht mit Hilfe seiner <a class="glossarylink" href="../glossary.html#mime-type" title="siehe Glossar">MIME-Type</a>-Zuordnungen bestimmen kann.</p> + + <p>Der Server muss den Client über den Content-Type des + Dokumentes informieren. Daher verwendet er im Falle eines + unbekannten Typs die <code>DefaultType</code>-Einstellung. + Zum Beispiel:</p> + + <div class="example"><p><code> + DefaultType image/gif + </code></p></div> + + <p>wäre angemessen für ein Verzeichnis, das viele GIF-Bilder + enthält, deren Dateinamen nicht Endung <code>.gif</code> + besitzen.</p> + + <p>Beachten Sie bitte, dass die Direktive anders als <code class="directive"><a href="#forcetype">ForceType</a></code> lediglich den Standard-MIME-Type + bestimmt. Alle anderen MIME-Type-Definitionen, einschließlich + Dateierweiterungen, die den Medien-Typ anzeigen können, + überschreiben diese Voreinstellung.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Define" id="Define">Define</a>-<a name="define" id="define">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Define the existence of a variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Define <var>Parametername</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Equivalent zum übergeben von <var>Parametername</var> mittels des + <code>-D</code> Arguments an <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p> + <p>Diese Directive kann verwendet werden, um die Nutzung von <code class="directive"><a href="#ifdefine"><IfDefine></a></code> Sectionen umzuschalten, ohne die + <code>-D</code> Argumentente in etwaigen Start-Skripten ändern + zu müssen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a>-<a name="directory" id="directory">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Umschließt eine Gruppe von Direktiven, die nur auf +das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet +werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Directory <var>Verzeichnispfad</var>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Directory></code> und + <code></Directory></code> werden dazu verwendet, eine Gruppe + von Direktiven zusammenzufassen, die nur für das genannte + Verzeichnis und dessen Unterverzeichnisse gelten. Jede Direktive, + die im Verzeichnis-Kontext erlaubt ist, kann verwendet werden. + <var>Verzeichnispfad</var> ist entweder der vollständige Pfad zu + einem Verzeichnis oder eine Zeichenkette mit Platzhaltern wie sie von der + Unix-Shell zum Abgleich verwendet werden. In einer Zeichenkette + mit Platzhaltern <span class="transnote">(<em>Anm.d.Ü.:</em> sogenannte wild-cards)</span> entspricht + <code>?</code> einem einzelnen Zeichen und <code>*</code> einer + Zeichenkette beliebiger Länge. Sie können auch auch + <code>[]</code>-Zeichenbereiche verwenden. Keiner der Platzhalter + entspricht dem Zeichen "/". Daher passt <code><Directory + /*/public_html></code> nicht auf <code>/home/user/public_html</code>, + <code><Directory /home/*/public_html></code> jedoch tut es. + Beispiel:</p> + + <div class="example"><p><code> + <Directory /usr/local/httpd/htdocs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory> + </code></p></div> + + <div class="note"> + <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten. + Sie müssen buchstäblich mit dem Dateisystempfad + übereinstimmen, den der Apache für den Zugriff auf die + Dateien verwendet. Direktiven, die für ein bestimmtes + Verzeichnis gelten, gelten nicht für Dateien in dem Verzeichnis, + auf die über einen anderen Pfad zugegriffen wird, wie z.B. + über verschiedene symbolische Links.</p> + </div> + + <p>Erweiterte <a class="glossarylink" href="../glossary.html#regex" title="siehe Glossar">reguläre Ausdrücke</a> können ebenfalls + verwendet werden, indem das Zeichen <code>~</code> hinzugefügt + wird. Beispielsweise würde</p> + + <div class="example"><p><code> + <Directory ~ "^/www/.*/[0-9]{3}"> + </code></p></div> + + <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei + Zahlen bestehen.</p> + + <p>Wenn mehrere <code class="directive"><Directory></code>-Abschnitte + (ohne reguläre Ausdrücke) auf ein Verzeichnis (oder + ein ihm übergeordnetes Verzeichnis) passen, welches ein Dokument + enthält, dann werden die Direktiven der Reihe nach, angefangen + beim kürzesten passenden Muster, vermischt mit den Direktiven + aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet. + Beispiel:</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory><br /> + <br /> + <Directory /home/><br /> + <span class="indent"> + AllowOverride FileInfo<br /> + </span> + </Directory> + </code></p></div> + + <p>Beim Zugriff auf das Dokument <code>/home/web/dir/doc.html</code> + sind die einzelnen Schritte:</p> + + <ul> + <li>Wende die Direktive <code>AllowOverride None</code> an + (deaktiviere <code>.htaccess</code>-Dateien).</li> + + <li>Wende die Direktive <code>AllowOverride FileInfo</code> + (auf das Verzeichnis <code>/home</code>) an.</li> + + <li>Wende jede <code>FileInfo</code>-Direktive aus + <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> und + <code>/home/web/dir/.htaccess</code> der Reihe nach an.</li> + </ul> + + <p>Reguläre Ausdrücke werden solange nicht berücksichtigt, + bis alle normalen Abschnitte angewendet wurden. Anschließend + werden alle regulären Ausdrücke in der Reihenfolge + geprüft, in der sie in der Konfigurationsdatei auftauchen. + Beispielsweise wird bei</p> + + <div class="example"><p><code> + <Directory ~ abc$><br /> + <span class="indent"> + # ... hier die Direktiven ...<br /> + </span> + </Directory> + </code></p></div> + + <p>der Abschnitt mit dem regulären Ausdruck nicht + berücksichtigt, bis alle normalen + <code class="directive"><Directory></code>-Abschnitte und + <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird + der reguläre Ausdruck mit <code>/home/abc/public_html/abc</code> + abgeglichen und der entsprechende <code class="directive"><Directory></code>-Abschnitt angewendet.</p> + + <p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte + Zugriff für <code><Directory /></code> + <code>Allow from All</code> ist. Das bedeutet, dass der Apache + jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird + empfohlen, dass Sie dies durch einen Block wie</strong></p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from All<br /> + </span> + </Directory> + </code></p></div> + + <p><strong>ändern und anschließend für + Verzeichnisse überschreiben, die Sie verfügbar machen + <em>wollen</em>. Für weitere Einzelheiten lesen Sie bitte + die Seite zu den <a href="../misc/security_tips.html">Sicherheitshinweisen</a>.</strong></p> + + <p>Die Verzeichnisabschnitte erscheinen in der Datei + <code>httpd.conf</code>. <code class="directive"><Directory></code>-Direktiven dürfen nicht + ineinander verschachtelt werden oder innerhalb von <code class="directive"><a href="#limit"><Limit></a></code>- oder <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Abschnitten auftauchen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a>-<a name="directorymatch" id="directorymatch">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Umschließt eine Gruppe von Direktiven, die auf + Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet + werden, welche auf einen regulären Ausdruck passen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><DirectoryMatch></code> und + <code></DirectoryMatch></code> werden dazu verwendet, eine + Gruppe von Direktiven zusammenzufassen, die nur für das + genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso + wie bei <code class="directive"><a href="#directory"><Directory></a></code>. + Als Argument dient jedoch ein <a class="glossarylink" href="../glossary.html#regex" title="siehe Glossar">regulärer + Ausdruck</a>. Beispielsweise würde</p> + + <div class="example"><p><code> + <DirectoryMatch "^/www/.*/[0-9]{3}"> + </code></p></div> + + <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei + Zeichen bestehen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#directory"><Directory></a></code> + für eine Beschreibung, wie reguläre Ausdrücke mit + normalen <code class="directive"><Directory></code>-Anweisungen + vermischt werden.</li> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a>-<a name="documentroot" id="documentroot">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im +Web sichtbar ist.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DocumentRoot <var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive setzt das Verzeichnis, von dem aus + <code class="program"><a href="../programs/httpd.html">httpd</a></code> Dateien ausliefert. Sofern nicht eine Direktive + wie <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> greift, hängt + der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis + an, um den Pfad zum Dokument zu bilden. Beispiel:</p> + + <div class="example"><p><code> + DocumentRoot /usr/web + </code></p></div> + + <p>Damit bezieht sich ein Zugriff auf + <code>http://www.my.host.com/index.html</code> auf + <code>/usr/web/index.html</code>. Wenn das <var>Verzeichnis</var> nicht + absolut angegeben ist, wird es relativ zu <code class="directive"><a href="#serverroot">ServerRoot</a></code> betrachtet.</p> + + <p><code class="directive">DocumentRoot</code> sollte ohne einen + Schrägstrich am Ende angegeben werden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../urlmapping.html">URLs auf das Dateisystem +abbilden</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Else" id="Else"><Else></a>-<a name="else" id="else">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Contains directives that apply only if the condition of a +previous <code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><a href="#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Else> ... </Else></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ElseIf" id="ElseIf"><ElseIf></a>-<a name="elseif" id="elseif">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a>-<a name="enablemmap" id="enablemmap">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verwende Memory-Mapping, um Dateien während der +Auslieferung zu lesen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive steuert, ob <code class="program"><a href="../programs/httpd.html">httpd</a></code> Memory-Mapping + verwenden darf, wenn er während der Auslieferung den Inhalt einer + Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert, + auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der + Auslieferung einer mittels <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> serverseitig + analysierten Datei --, dann verwendet der Apache standardmäßig + Memory-Mapping für diese Datei, sofern das Betriebssystem es + unterstützt.</p> + + <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung. + In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu + deaktivieren, um Problemen während des Betriebs vorzubeugen:</p> + + <ul> + <li>Bei einigen Multiprozessorsystemen kann Memory-Mapping die + Performance von <code class="program"><a href="../programs/httpd.html">httpd</a></code> reduzieren.</li> + <li>Bei einem per NFS eingebundenen <code class="directive"><a href="#documentroot">DocumentRoot</a></code> kann <code class="program"><a href="../programs/httpd.html">httpd</a></code> mit + einem Speicherzugriffsfehler <span class="transnote">(<em>Anm.d.Ü.:</em> ein so genannter "segmentation + fault")</span> abstürzen, wenn eine Datei gelöscht oder + gekürzt wird, während <code class="program"><a href="../programs/httpd.html">httpd</a></code> sie im Speicher + abbildet.</li> + </ul> + + <p>Bei Serverkonfigurationen, die für dieses Problem + anfällig sind, sollten Sie das Memory-Mapping für + auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p> + + <div class="example"><p><code> + EnableMMAP Off + </code></p></div> + + <p>Bei per NFS eingebundenen Dateien kann diese Funktion + explizit für die störenden Dateien deaktiviert werden, + indem Sie angeben:</p> + + <div class="example"><p><code> + <Directory "/pfad-zu-den-nfs-dateien"> + <span class="indent"> + EnableMMAP Off + </span> + </Directory> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a>-<a name="enablesendfile" id="enablesendfile">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verwende die sendfile-Unterstützung des Kernels, um +Dateien an den Client auszuliefern</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableSendfile On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache Version 2.0.44</td></tr> +</table> + <p>Die Direktive steuert, ob <code class="program"><a href="../programs/httpd.html">httpd</a></code> die + sendfile-Unterstützung des Kernels verwenden kann, um + Dateiinhalte an den Client zu übermitteln. Wenn die Bearbeitung + einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert -- + zum Beispiel bei der Auslieferung einer statischen Datei -- und das + Betriebssystem es unterstützt, verwendet der Apache + standardmäßig sendfile, um den Dateiinhalt zu + übertragen, ohne die Datei jemals zu lesen.</p> + + <p>Der sendfile-Mechanismus vermeidet getrennte Lese- und + Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw. + Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme + während des Betriebs zu vermeiden:</p> + + <ul> + <li>Einige Plattformen besitzen u.U. eine fehlerhafte + sendfile-Unterstützung, die das Erstellungssystem nicht erkennt, + insbesondere wenn die Binärdateien auf einem anderen Rechner erstellt + und auf eine solche Maschine mit fehlerhafter sendfile-Unterstützung + übertragen wurden.</li> + <li>Bei einem über das Netzwerk eingebundenen <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (z.B. NFS oder SMB) ist der + Kernel möglicherweise nicht in der Lage, die Netzwerkdatei + über seinen eigenen Cache zu bedienen.</li> + <li>Unter Linux löst die Verwendung von <code>sendfile</code> + in Verbindung mit bestimmten Netzwerkkarten und IPv6 + TCP-Checksummenfehler aus.</li> + <li>Unter Linux auf Itanium-Systemen kommt sendfile unter Umständen + nicht mit Dateien größer als 2GB klar.</li> + </ul> + + <p>Bei Serverkonfigurationen, die für dieses Problam + anfällig sind, sollten die diese Funktion deaktivieren, indem + Sie schreiben:</p> + + <div class="example"><p><code> + EnableSendfile Off + </code></p></div> + + <p>Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion + explizit für die störenden Dateien deaktiviert werden, indem + Sie angeben:</p> + + <div class="example"><p><code> + <Directory "/pfad-zu-den-nfs-dateien"> + <span class="indent"> + EnableSendfile Off + </span> + </Directory> + </code></p></div> + <p>Beachten Sie bitte, dass die verzeichnisbasierte und + .htaccess-Konfiguration von <code class="directive">EnableSendfile</code> + nicht vom <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>-Modul unterstützt wird. + Nur die globale Konfiguration von <code class="directive">EnableSendfile</code> + wird vom Modul beachtet. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Error" id="Error">Error</a>-<a name="error" id="error">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Abort configuration parsing with a custom error message</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Error <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>2.3.9 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a>-<a name="errordocument" id="errordocument">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Das, was der Server im Fehlerfall an den Client +zurückgibt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ErrorDocument <var>Fehlercode</var> <var>Dokument</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Die Syntax der Anführungszeichen bei Textnachrichten hat +sich im Apache 2.0 geändert</td></tr> +</table> + <p>Im Falle eines Problems oder Fehlers kann der Apache + konfiguriert werden, eine der vier Aktionen auszuführen:</p> + + <ol> + <li>Ausgabe einer einfachen, hartkodierten Fehlermeldung</li> + + <li>Ausgabe einer angepassten Meldung</li> + + <li>Umleitung zu einem lokalen <var>URL-Pfad</var> der das + Problem bzw. den Fehler behandelt</li> + + <li>Umleitung zu einer externen <var>URL</var>, die das Problem + bzw. den Fehler behandelt</li> + </ol> + + <p>Die erste Option ist Voreinstellung, während die Optionen + 2 bis 4 über die Direktive <code class="directive">ErrorDocument</code> + eingestellt werden, welcher der HTTP-Statuscode und eine + URL oder Nachricht folgen. Abhängig vom Problem bzw. Fehler bietet + der Apache manchmal zusätzliche Informationen an.</p> + + <p>URLs können bei lokalen Webpfaden mit einem Schrägstrich + (/) beginnen (relativ zum <code class="directive"><a href="#documentroot">DocumentRoot</a></code>-Verzeichnis) oder eine vollständige URL + bilden, die der Client auflösen kann. Alternativ kann eine + Nachricht für die Anzeige im Browser angeboten werden. Beispiel:</p> + + <div class="example"><p><code> + ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br /> + ErrorDocument 404 /cgi-bin/falsche_urls.pl<br /> + ErrorDocument 401 /info_zur_anmeldung.html<br /> + ErrorDocument 403 "Der Zugriff ist nicht erlaubt." + </code></p></div> + + <p>Außerdem kann der spezielle Wert <code>default</code> angegeben + werden, um die schlichte, hartkodierte Nachricht des Apache zu verwenden. + Es wird normalerweise nicht benötigt, doch <code>default</code> + stellt die einfach, im Apache hartkodierte Meldung in Konfigurationen + wieder her, die ansonsten von einem existierenden <span class="transnote">(<em>Anm.d.Ü.:</em> zuvor + konfigurierten)</span> <code class="directive">ErrorDocument</code> erben + würden.</p> + + <div class="example"><p><code> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br /> + <Directory /web/docs><br /> + <span class="indent"> + ErrorDocument 404 default<br /> + </span> + </Directory> + </code></p></div> + + <p>Wenn Sie eine <code class="directive">ErrorDocument</code>-Anweisung + angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der + Methode <code>http</code> davor), beachten Sie bitte, dass der Apache + eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das + Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum + gleichen Server führt. Das hat mehrere Auswirkungen. Die + wichtigste ist, dass der Client nicht den Original-Statuscode + erhält sondern statt dessen einen Umleitungs-Statuscode. Dies + wiederum kann Web-Robots und andere Clients verwirren, die den + Statuscode dazu verwenden, herauszufinden ob eine URL gültig ist. + Wenn Sie eine entfernte URL in einer Anweisung + <code>ErrorDocument 401</code> verwenden, wird der Client + darüber hinaus nicht wissen, dass er den Benutzer zur Eingabe + eines Passwortes auffordern muss, da er den Statuscode 401 nicht + erhält. <strong>Deshalb müssen Sie sich auf ein lokales + Dokument beziehen, wenn Sie eine Anweisung <code>ErrorDocument + 401</code> verwenden.</strong></p> + + <p>Der Microsoft Internet Explorer (MSIE) ignoriert + standardmäßig serverseitig generierte Fehlermeldungen, wenn + sie "zu kurz" sind und ersetzt sie durch eigene "freundliche" + Fehlermeldungen. Die Größe variiert abhängig von der + Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den + serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr + Fehlerdokument größer als 512 Bytes ist. Weitere Informationen + sind im Artikel <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a> in der Microsoft Knowledgebase verfügbar.</p> + + <p>Obwohl die meisten Fehlermeldungen überschrieben werden + können, werden unter bestimmten Umständen die internen + Meldungen ungeachtet der Einstellung der <code class="directive"><a href="#errordocument">ErrorDocument</a></code>-Direktive verwendet. Insbesondere bei + einer fehlerhaften Anfrage werden der normale Bearbeitungsprozess sofort + beendet und die interne Meldung zurückgegeben. Das ist notwendig, um + Sicherheitsprobleme zu vermeiden, die auf Grund fehlerhafter Anfragen + entstehen.</p> + + <p>In Versionen vor 2.0 wurden Meldungen durch ein einzelnes + vorangestelltes Anführungszeichen (") erkannt.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../custom-error.html">Dokumentation zu individuellen +Fehlermeldungen</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a>-<a name="errorlog" id="errorlog">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort, an dem der Server Fehler protokolliert</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> ErrorLog <var>Dateiname</var>|syslog[:<var>facility</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and + OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ErrorLog</code> bestimmt den Namen + der Datei, in welcher der Server alle auftretenden Fehler protokolliert. + Wenn <var>Dateiname</var> nicht absolut ist, wird er relativ zu <code class="directive"><a href="#serverroot">ServerRoot</a></code> betrachtet.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ErrorLog /var/log/httpd/error_log + </code></p></div> + + <p>Wenn der <var>Dateiname</var> mit einem senkrechten Strich (|, + engl.: Pipe) beginnt, wird angenommen, dass es sich um einen Befehl + handelt, der ausgeführt wird, um das Fehlerprotokolls zu + verarbeiten.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ErrorLog "|/usr/local/bin/httpd_errors" + </code></p></div> + + <p>Die Verwendung von <code>syslog</code> anstelle eines Dateinamens + aktiviert die Protokollierung mittels syslogd(8), sofern das System + es unterstützt. Als Voreinstellung wird der syslog-Typ (syslog + facility) <code>local7</code> verwendet, Sie können dies jedoch + auch überschreiben, indem Sie die Syntax + <code>syslog:<var>facility</var></code> verwenden, wobei + <var>facility</var> einer der Namen sein kann, die üblicherweise + in syslog(1) dokumentiert sind.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ErrorLog syslog:user + </code></p></div> + + <p>SICHERHEITSHINWEIS: Lesen Sie das Dokument <a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a> + zu Einzelheiten darüber, warum Ihre Sicherheit gefährdet + sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert + werden, für jemand anderen, als den Benutzer, der den Server + gestartet hat, beschreibbar ist.</p> + + <div class="warning"><h3>Anmerkung</h3> + <p>Bei der Eingabe eines Dateipfads auf nicht-Unix-Plattformen sollte + darauf geachtet werden, nur (Vorwärts-)Schrägstriche zu + verwenden, auch wenn die Plattform rückwärts gerichtete + Schrägstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute + Idee, innerhalb der Konfigurationsdateien immer + Vorwärts-Schrägstriche zu verwenden.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache-Log-Dateien</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a>-<a name="errorlogformat" id="errorlogformat">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Format specification for error log entries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> ErrorLogFormat [connection|request] <var>format</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a>-<a name="extendedstatus" id="extendedstatus">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Keep track of extended status information for each +request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExtendedStatus On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ExtendedStatus Off[*]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a>-<a name="fileetag" id="fileetag">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Dateiattribute, die zur Erstellung des HTTP-Response-Headers +ETag verwendet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FileETag <var>Komponente</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>FileETag INode MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Wenn dem Dokument eine Datei zugrundeliegt, bestimmt die Direktive + <code class="directive">FileETag</code> die Dateiattribute, die zur Erstellung + des HTTP-Response-Headers <code>ETag</code> (Entity-Tag) verwendet + werden. (Der Wert von <code>ETag</code> wird bei der Cache-Verwaltung + zur Einsparung von Netzwerk-Bandbreite benutzt.) Im Apache 1.3.22 und + früher wurde der <code>ETag</code>-Wert <em>stets</em> aus + der I-Node, der Größe und dem Datum der letzten + Änderung (mtime) der Datei gebildet. Die Direktive + <code class="directive">FileETag</code> erlaubt es Ihnen, zu bestimmen, + welche dieser Eigenschaften -- falls überhaupt -- verwendet + werden sollen. Die gültigen Schlüsselworte lauten:</p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>Die I-Node-Nummer wird in die Berechnung mit einbezogen</dd> + <dt><strong>MTime</strong></dt> + <dd>Datum und Uhrzeit der letzten Änderung werden mit einbezogen</dd> + <dt><strong>Size</strong></dt> + <dd>Die Anzahl der Bytes in der Datei wird mit einbezogen</dd> + <dt><strong>All</strong></dt> + <dd>Alle verfügbaren Angaben werden verwendet. Die ist + gleichbedeutend mit: + <div class="example"><p><code>FileETag INode MTime Size</code></p></div></dd> + <dt><strong>None</strong></dt> + <dd>Es wird keine <code>ETag</code>-Angabe in die Antwort eingefügt, + wenn dem Dokument eine Datei zugrundeliegt.</dd> + </dl> + + <p>Den Schlüsselwörtern <code>INode</code>, <code>MTime</code> + und <code>Size</code> kann entweder ein <code>+</code> oder ein + <code>-</code> vorangestellt werden, was die Änderung einer + Vorgabe erlaubt, die von einem größeren Umfeld + geerbt wurde. Jedes Schlüselwort ohne ein solches Prefix + hebt die ererbte Einstellung sofort und vollständig auf.</p> + + <p>Wenn die Konfiguration für ein Verzeichnis + <code>FileETag INode MTime Size</code> enthält + und die eines Unterverzeichnisses <code>FileETag -INode</code>, + dann ist die Einstellung für das Unterverzeichnis (die an + jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht + überschreibt) äquivalent mit + <code>FileETag MTime Size</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Files" id="Files"><Files></a>-<a name="files" id="files">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enthält Direktiven, die sich nur auf passende Dateinamen +beziehen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Files <var>Dateiname</var>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><Files></code> + begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen. + Sie ist vergleichbar mit den Direktiven <code class="directive"><a href="#directory"><Directory></a></code> und <code class="directive"><a href="#location"><Location></a></code>. Sie muss eine + passende <code></Files></code>-Anweisung besitzen. + Die innerhalb dieses Abschnittes angegebenen Direktiven werden auf + jedes Objekt mit einem Basisnamen (letzte Komponente des Dateinamens) + angewendet, der auf die angegebenen Dateinamen passt. <code class="directive"><Files></code>-Container werden, nachdem die + <code class="directive"><a href="#directory"><Directory></a></code>-Container + und <code>.htaccess</code>-Dateien gelesen sind, jedoch vor den + <code class="directive"><a href="#location"><Location></a></code>-Containern, + in der Reihenfolge ihres Auftretens ausgeführt. Beachten Sie, dass + <code class="directive"><Files></code>-Anweisungen innerhalb von + <code class="directive"><a href="#directory"><Directory></a></code>-Containern + auftreten können, um den Teil des Dateisystems einzuschränken, + den sie betreffen.</p> + + <p>Das Argument <var>Dateiname</var> kann einen Dateinamen oder eine + Zeichenkette mit Platzhaltern enthalten, wobei <code>?</code> auf ein + einzelnes Zeichen passt und <code>*</code> auf eine beliebige Folge von + Zeichen. Erweiterte <a class="glossarylink" href="../glossary.html#regex" title="siehe Glossar">reguläre + Ausdrücke</a> können ebenfalls verwendet werden, indem + das Zeichen <code>~</code> hinzugefügt wird. Beispielsweise + würde</p> + + <div class="example"><p><code> + <Files ~ "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>auf die gebräuchlichsten Grafikformate im Internet passen. + <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> wird + jedoch bevorzugt.</p> + + <p>Beachten Sie bitte, dass die <code class="directive"><Files></code>-Container anders als <code class="directive"><a href="#directory"><Directory></a></code>- und <code class="directive"><a href="#location"><Location></a></code>-Container innerhalb + von <code>.htaccess</code>-Dateien verwendet werden können. + Dies erlaubt den Anwendern auf Dateiebene die Kontrolle über ihre + eigenen Dateien.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a>-<a name="filesmatch" id="filesmatch">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enthält Direktiven, die für Dateinamen gelten, die + auf einen regulären Ausdruck passen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><FilesMatch <var>regex</var>> ... </FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><FilesMatch></code> + begrenzt wie die Direktive <code class="directive"><a href="#files"><Files></a></code> die enthaltenen Anweisungen auf + Dateinamen. Sie akzeptiert jedoch <a class="glossarylink" href="../glossary.html#regex" title="siehe Glossar">reguläre + Ausdrücke</a>. Beispielsweise würde</p> + + <div class="example"><p><code> + <FilesMatch "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>auf die gebräuchlichsten Grafikformate im Internet passen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxPipelined" id="FlushMaxPipelined">FlushMaxPipelined</a>-<a name="flushmaxpipelined" id="flushmaxpipelined">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FlushMaxPipelined <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>FlushMaxPipelined 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>2.4.47 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxThreshold" id="FlushMaxThreshold">FlushMaxThreshold</a>-<a name="flushmaxthreshold" id="flushmaxthreshold">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Threshold above which pending data are flushed to the +network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FlushMaxThreshold <var>number-of-bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>FlushMaxThreshold 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>2.4.47 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a>-<a name="forcetype" id="forcetype">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Erzwingt die Auslieferung aller passendenden Dateien mit dem +angegebenen MIME-Content-Type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ForceType <var>MIME-Type</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Wurde im Apache 2.0 in den Core verschoben</td></tr> +</table> + <p>Wenn sie innerhalb einer <code>.htaccess</code>-Datei, eines + <code class="directive"><a href="#directory"><Directory></a></code>-, + <code class="directive"><a href="#location"><Location></a></code>- + <code class="directive"><a href="#files"><Files></a></code>-Containers + angegeben wird, erzwingt die Direktive die Auslieferung aller + entsprechenden Dateien mit dem Content-Type, der durch + <var>MIME-Type</var> definiert wurde. Wenn Sie zum Beispiel ein + Verzeichnis voller GIF-Dateien haben, die Sie nicht alle durch + <code>.gif</code> kennzeichnen wollen, können Sie angeben:</p> + + <div class="example"><p><code> + ForceType image/gif + </code></p></div> + + <p>Beachten Sie bitte, dass die Direktive anders als <code class="directive"><a href="#defaulttype">DefaultType</a></code> alle MIME-Type-Zuordnungen + überschreibt, einschließlich Dateiendungen, die einen + Medientyp bezeichnen könnten.</p> + + <p>Sie können jede <code class="directive">ForceType</code>-Angabe + durch die Verwendung des Wertes <code>None</code> überschreiben:</p> + + <div class="example"><p><code> + # erzwinge image/gif für alle Dateien:<br /> + <Location /images><br /> + <span class="indent"> + ForceType image/gif<br /> + </span> + </Location><br /> + <br /> + # hier jedoch normale MIME-Type-Zuordnungen:<br /> + <Location /images/mixed><br /> + <span class="indent"> + ForceType None<br /> + </span> + </Location> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a>-<a name="gprofdir" id="gprofdir">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Directory to write gmon.out profiling data to. </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a>-<a name="hostnamelookups" id="hostnamelookups">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert DNS-Lookups auf Client-IP-Adressen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Diese Direktive aktiviert die DNS-Abfrage <span class="transnote">(<em>Anm.d.Ü.:</em> ein sogenannter + DNS-Lookup)</span>, so dass Hostnamen protokolliert (und in + <code>REMOTE_HOST</code> an CGIs/SSIs übergeben) werden könnnen. + Der Wert <code>Double</code> bezieht sich auf ein + Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup + durchgeführt wurde, wird dann auf dem Ergebnis ein + Forward-Lookup ausgeführt. Wenigstens eine der IP-Adressen + aus dem Forward-Lookup muss der Originaladresse entsprechen. + (In der "tcpwrappers"-Terminologie wird dies <code>PARANOID</code> + genannt.)</p> + + <p>Unabhängig von der Einstellung wird ein Double-Reverse-Lookup + durchgeführt, wenn <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> zur + Zugriffskontrolle per Hostnamen eingesetzt wird. Dies ist aus + Sicherheitsgründen notwendig. Beachten Sie, dass das Ergebnis dieses + Double-Reverse-Lookups nicht generell verfügbar ist, solange Sie + nicht <code>HostnameLookups Double</code> setzen. Wenn beispielsweise + nur <code>HostnameLookups On</code> angegeben ist und eine Anfrage + für ein Objekt erfolgt, welches durch Hostnamen-Beschränkungen + geschützt ist, dann wird CGIs nur das Ergebnis des + Singel-Reverse-Lookups in <code>REMOTE_HOST</code> übergeben, + egal ob das Doble-Reverse-Lookup fehlschlug oder nicht.</p> + + <p>Die Voreinstellung ist <code>Off</code>, um Netzwerktraffic bei den + Angeboten einzusparen, die nicht tatsächlich Reverse-Lookups + benötigen. Es ist auch für die Endanwender besser, da sie nicht + die zusätzliche Wartezeit ertragen müssen, die ein Lookup mit + sich bringt. Hoch frequentierte Angebote sollten diese Direktive auf + <code>Off</code>lassen. Das Hilfsprogramm <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, das standardmäßig in das + Unterverzeichnis <code>bin</code> Ihres Installationsverzeichnisses + kompiliert wird, kann dazu verwendet werden, um offline Hostnamen von + protokollierten IP-Adressen nachzuschlagen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a>-<a name="httpprotocoloptions" id="httpprotocoloptions">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Modify restrictions on HTTP Request Messages</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>2.2.32 or 2.4.24 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="If" id="If"><If></a>-<a name="if" id="if">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a>-<a name="ifdefine" id="ifdefine">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Schließt Direktiven ein, die nur ausgeführt werden, +wenn eine Testbedingung beim Start wahr ist</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfDefine [!]<var>Parametername</var>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Der Container <code><IfDefine <var>Test</var>>...</IfDefine> + </code> wird dazu verwendet, Direktiven als bedingt zu kennzeichnen. + Die Direktiven innerhalb eines <code class="directive"><IfDefine></code>-Abschnittes werden nur ausgeführt, + wenn <var>Test</var> wahr ist. Ist <var>Test</var> falsch, wird alles + zwischen der Start- und Endemarkierung ignoriert.</p> + + <p>In der <code class="directive"><IfDefine></code>-Anweisung kann + <var>Test</var> eine von zwei Formen annehmen:</p> + + <ul> + <li><var>Parametername</var></li> + + <li><code>!</code><var>Parametername</var></li> + </ul> + + <p>Im ersten Fall werden die Direktiven zwischen der Start- und + Endemarkierung nur ausgeführt, wenn der Parameter namens + <var>Parametername</var> definiert ist. Die zweite Form kehrt den + Test um und führt die Direktiven nur dann aus, wenn + <var>Parametername</var> <strong>nicht</strong> definiert ist.</p> + + <p>Das Argument <var>Parametername</var> ist ein sogenanntes + "Define", das beim beim Start des Servers in der + <code class="program"><a href="../programs/httpd.html">httpd</a></code>-Befehlszeile durch + <code>-D<var>Parameter</var></code> angegeben wird.</p> + + <p><code class="directive"><IfDefine></code>-Container können + ineinander verschachtelt werden, um einfache Multi-Parameter-Tests + zu implementieren. Beispiel:</p> + + <div class="example"><p><code> + httpd -DReverseProxy ...<br /> + <br /> + # httpd.conf<br /> + <IfDefine ReverseProxy><br /> + <span class="indent"> + LoadModule rewrite_module modules/mod_rewrite.so<br /> + LoadModule proxy_module modules/libproxy.so<br /> + </span> + </IfDefine> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDirective" id="IfDirective"><IfDirective></a>-<a name="ifdirective" id="ifdirective">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#ifsection"><IfSection></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfFile" id="IfFile"><IfFile></a>-<a name="iffile" id="iffile">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfFile [!]<var>filename</var>> ... + </IfFile></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a>-<a name="ifmodule" id="ifmodule">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Schließt Direktiven ein, die abhängig vom +Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt +werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfModule [!]<var>Modulname</var>|<var>Modulbezeichner</var>> + ... </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Modulbezeichner sind ab Version 2.1 + verfügbar.</td></tr> +</table> + <p>Der Container <code><IfModule + <var>Test</var>>...</IfModule></code> wird dazu verwendet, + Direktiven als abhängig von dem Vorhandensein eines speziellen + Moduls zu kennzeichnen. Die Direktiven innerhalb eines <code class="directive"><IfModule></code>-Abschnitts werden nur + ausgeführt, wenn <var>Test</var> wahr ist. Ist <var>Test</var> + falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.</p> + + <p>In der <code class="directive"><IfModule></code>-Anweisung + kann <var>Test</var> eine von zwei Formen annehmen:</p> + + <ul> + <li><var>Modul</var></li> + + <li><code>!</code><var>Modul</var></li> + </ul> + + <p>Im ersten Fall werden die Direktiven zwischen der Start- und + Endemarkierung nur ausgeführt, das Modul namens + <var>Modul</var> im Apache enthalten ist -- entweder einkompiliert + oder mittels <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> + dynamisch geladen. Die zweite Form dreht den Test um und führt die + Direktiven nur aus, wenn <var>Modul</var> <strong>nicht</strong> + enthalten ist.</p> + + <p>Das Argument <var>Modul</var> kann entweder der Modulbezeichner oder + der Dateiname des Moduls zum Zeitpunkt seiner Kompilierung sein. + <code>rewrite_module</code> beispielsweise ist der Bezeichner und + <code>mod_rewrite.c</code> ist der Dateiname. Wenn ein Modul aus mehreren + Quelltext-Dateien besteht, verwenden Sie den Namen der Datei, welche die + Zeichenfolge <code>STANDARD20_MODULE_STUFF</code> enthält.</p> + + <p><code class="directive"><IfModule></code>-Container können + inneinander verschachtelt werden, um einfache Multi-Modul-Tests + durchzuführen.</p> + + <p>Dieser Container sollte verwendet werden, wenn Sie eine + Konfigurationsdatei benötigen, die unabhängig davon funktioniert, + ob ein bestimmtes Modul verfügbar ist oder nicht. Normalerweise + ist es nicht notwendig, Direktiven in <code class="directive"><IfModule></code>-Containern unterzubringen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfSection" id="IfSection"><IfSection></a>-<a name="ifsection" id="ifsection">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfSection [!]<var>section-name</var>> ... + </IfSection></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#ifdirective"><IfDirective></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Include" id="Include">Include</a>-<a name="include" id="include">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Fügt andere Konfigurationsdateien innerhalb der +Server-Konfigurationsdatei ein</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Include <var>Dateiname</var>|<var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Die Platzhalter-Suche ist verfügbar seit +2.0.41</td></tr> +</table> + <p>Die Direktive erlaubt das Einfügen anderer Konfigurationsdateien + in die Konfigurationsdatei des Servers.</p> + + <p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen können + dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer + Reihenfolge einzufügen. Wenn <code class="directive">Include</code> + darüber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt, + liest der Apache alle Dateien in diesem Verzeichnis und allen + Unterverzeichnissen ein. Das Einfügen ganzer Verzeichnisse ist + jedoch nicht empfehlenswert, da temporäre Dateien sehr leicht + versehentlich in einem Verzeichnis zurückgelassen werden, was + <code class="program"><a href="../programs/httpd.html">httpd</a></code> scheitern lassen kann.</p> + + <p>Der angegebene Dateiname kann ein absoluter Pfad sein oder relativ zum + <code class="directive"><a href="#serverroot">ServerRoot</a></code>-Verzeichnis angegeben + werden.</p> + + <p>Beispiele:</p> + + <div class="example"><p><code> + Include /usr/local/apache2/conf/ssl.conf<br /> + Include /usr/local/apache2/conf/vhosts/*.conf + </code></p></div> + + <p>Oder Sie geben Pfade relativ zu Ihrem <code class="directive"><a href="#serverroot">ServerRoot</a></code>-Verzeichnis an:</p> + + <div class="example"><p><code> + Include conf/ssl.conf<br /> + Include conf/vhosts/*.conf + </code></p></div> + + <p>Der Aufruf von <code>apachectl configtest</code> liefert eine Liste + der Dateien, die während des Konfigurations-Tests verarbeitet + werden:</p> + + <div class="example"><p><code> + root@host# apachectl configtest<br /> + Processing config file: /usr/local/apache2/conf/ssl.conf<br /> + Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br /> + Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br /> + Syntax OK + </code></p></div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IncludeOptional" id="IncludeOptional">IncludeOptional</a>-<a name="includeoptional" id="includeoptional">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Includes other configuration files from within +the server configuration files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#include">Include</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a>-<a name="keepalive" id="keepalive">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert persistente HTTP-Verbindungen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Keep-Alive-Erweiterung von HTTP/1.0 und die + HTTP/1.1-Funktionalität persistenter Verbindungen unterstützt + langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen über + die gleich TCP-Verbindung zu senden. In einigen Fällen wurde eine + Beschleunigung der Wartezeiten von beinahe 50% für HTML-Dokumente + mit vielen Bildern festgestellt. Um Keep-Alive-Verbindungen zu aktivieren, + setzen Sie <code>KeepAlive On</code>.</p> + + <p>Bei HTTP/1.0-Clients werden Keep-Alive-Verbindungen nur dann verwendet, + wenn sie vom Client eigens angefordert werden. Desweiteren können + Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet + werden, wenn die Länge des Inhalts im Voraus bekannt ist. Dies + impliziert, dass dynamische Inhalte wie CGI-Ausgaben, SSI-Seiten und + servergenerierte Verzeichnisauflistungen im Allgemeinen keine + Keep-Alive-Verbindungen mit HTTP/1.0-Clients verwenden. Bei + HTTP/1.1-Clients sind Keep-Alive-Verbindungen Voreinstellung, solange + nichts anderes angegeben ist. Wenn der Client es anfordert, wird + Chunked-Encoding verwendet, um Inhalte mit unbekannter Länge + über persistente Verbindungen zu senden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a>-<a name="keepalivetimeout" id="keepalivetimeout">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zeitspanne, die der Server während persistenter Verbindungen +auf nachfolgende Anfragen wartet</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAliveTimeout <var>Sekunden</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Dies legt die Anzahl der Sekunden fest, die der Apache auf weitere + Anfragen wartet, bevor er die Verbindung schließt. Nachdem einmal + eine Anfrage entgegen genommen wurde, wird die durch die Direktive + <code class="directive"><a href="#timeout">Timeout</a></code> festgelegte Auszeit + angewendet.</p> + + <p>Auf stark belasteten Servern kann ein hoher + <code class="directive">KeepAliveTimeout</code>-Wert zu Durchsatzminderungen + führen. Je höher die Auszeit angegeben ist, desto länger + ist der Apache damit beschäftigt, auf untätige Clients zu + warten.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a>-<a name="limit" id="limit">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Beschränkt die eingeschlossenen Zugriffskontrollen auf +bestimmte HTTP-Methoden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Limit <var>Methode</var> [<var>Methode</var>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Zugriffskontrollen gelten normalerweise für <strong>alle</strong> + Zugriffsmethoden, was normalerweise auch das gewünschte Verhalten ist. + <strong>Im Allgemeinen sollten Zugriffskontrollen nicht in einen + <code class="directive"><Limit></code>-Container gepackt + werden.</strong></p> + + <p>Der Sinn der Direktive <code class="directive"><Limit></code> + ist es, den Effekt der Zugriffskontrollen auf die angegebenen + HTTP-Methoden zu beschränken. Bei allen anderen Methoden haben + die in der <code class="directive"><Limit></code>-Gruppe + enthaltenen Zugriffsbeschränkungen <strong>keine Wirkung</strong>. + Im folgenden Beispiel gilt die Zugriffskontrolle nur für die + Methoden <code>POST</code>, <code>PUT</code> und <code>DELETE</code>. + Alle anderen Methoden bleiben ungeschützt:</p> + + <div class="example"><p><code> + <Limit POST PUT DELETE><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </Limit> + </code></p></div> + + <p>Sie können eine oder mehrere der folgenden Methoden angeben: + <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, + <code>CONNECT</code>, <code>OPTIONS</code>, + <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>, + <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>, + <code>LOCK</code> und <code>UNLOCK</code>. <strong>Die Methodennamen + unterscheiden zwischen Groß- und Kleinschreibung.</strong> Wenn + <code>GET</code> verwendet wird, sind <code>HEAD</code>-Anfragen + ebenfalls eingeschränkt. Die <code>TRACE</code>-Methode kann nicht + limitiert werden.</p> + + <div class="warning"> + Wenn es um Zugriffsbeschränkungen geht, sollte + ein <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Container sollte immer einem <code class="directive"><a href="#limit"><Limit></a></code>-Container vorgezogen + werden, da <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> + einen Schutz gegen beliebige Methoden bietet. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a>-<a name="limitexcept" id="limitexcept">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Beschränkt Zugriffskontrollen auf alle HTTP-Methoden +außer den genannten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> und + <code></LimitExcept></code> werden dazu verwendet, eine Gruppe + von Anweisungen zur Zugriffskontrolle zusammenzufassen, die dann auf + jede HTTP-Methode angewendet werden, die <strong>nicht</strong> + als Argument angegeben ist. D.h. dies ist das Gegenteil des + <code class="directive"><a href="#limit"><Limit></a></code>-Containers + und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten + Methoden verwendet werden. Für weitere Einzelheiten lesen Sie bitte + die Beschreibung zu <code class="directive"><a href="#limit"><Limit></a></code>.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + <LimitExcept POST GET><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </LimitExcept> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a>-<a name="limitinternalrecursion" id="limitinternalrecursion">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die maximale Anzahl interner Umleitungen und + verschachtelter Unteranfragen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.0.47</td></tr> +</table> + <p>Eine interne Umleitung erfolgt beispielsweise, wenn die Direktive + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> verwendet wird, welche + die Originalanfrage intern zu einem CGI-Skript weiterleitet. Eine + Unteranfrage <span class="transnote">(<em>Anm.d.Ü.:</em> engl. Subrequest)</span> ist ein Mechanismus des + Apache, um herauszufinden, was bei einer URI geschehen würde, wäre + sie angefordert worden. <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> z.B. verwendet + Unteranfragen, um nach den Dateien zu suchen, die in der <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>-Anweisung aufgeführt + sind.</p> + + <p><code class="directive">LimitInternalRecursion</code> bewahrt den Server vor + einem Absturz, wenn er in eine Endlosschleife aus internen Umleitungen + oder Unteranfragen hineinläuft. Derartige Schleifen werden + gewöhnlich durch Fehlkonfiguration verursacht.</p> + + <p>Die Direktive setzt zwei verschiedene Begrenzungen, welche je Anfrage + ausgewertet werden. Die erste <var>Zahl</var> bestimmt die maximale + Anzahl der Umleitungen, die aufeinander folgen dürfen. Die zweite + <var>Zahl</var> legt fest, wie tief Unteranfragen ineinander + verschachtelt werden dürfen. Wenn Sie lediglich eine <var>Zahl</var> + angeben, wird sie beiden Begrenzungen zugewiesen.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + LimitInternalRecursion 5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a>-<a name="limitrequestbody" id="limitrequestbody">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Gesamtgröße des vom Client gesendeten +HTTP-Request-Body</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestBody <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestBody 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0 + (unbegrenzt) und 2147483647 (2GB) an, die im Request-Body (Datenteil der + Anfrage) erlaubt sind.</p> + + <p>Die Direktive <code class="directive">LimitRequestBody</code> erlaubt es dem + Benutzer, die Größe des HTTP-Request-Bodys in dem Kontext zu + begrenzen, in dem die Anweisung angegeben ist (Server, pro Verzeichnis, + pro Datei oder pro Adresse). Wenn die Anfrage des Clients dieses Limit + überschreitet, gibt der Server einen Fehler zurück anstatt die + Anfrage zu bearbeiten. Die Größe des Datenteils einer Anfrage + kann sehr stark variieren, abhängig von der Art der Ressource und + den für diese Ressource erlaubten Methoden. CGI-Skripte verwenden + den Datenteil üblicherweise zum Empfang von Formulardaten. Wird + die <code>PUT</code>-Methode angewendet, dann muss der Wert mindestens + so groß sein wie irgendeine Darstellungsform, die der Server + für diese Ressource akzeptieren soll.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.</p> + + <p>Wenn Sie beispielsweise das Hochladen von Dateien zu einer bestimmten + Adresse erlauben, aber die Größe der hochgeladenen Dateien + auf 100K beschränken wollen, können Sie die folgende Anweisung + verwenden:</p> + + <div class="example"><p><code> + LimitRequestBody 102400 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a>-<a name="limitrequestfields" id="limitrequestfields">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Anzahl der HTTP-Request-Header, die vom Client +entgegengenommen werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFields <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><var>Anzahl</var> ist ein Integer-Wert (eine positive Ganzzahl) + zwischen 0 (unbegrenzt) und 32767. Die Voreinstellung wird durch die + Konstante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (<code>100</code> + bei der Auslieferung) zur Kompilierungszeit gesetzt.</p> + + <p>Die Direktive <code class="directive">LimitRequestFields</code> erlaubt es + dem Serveradministrator, die maximale Anzahl der in einem HTTP-Request + erlaubten HTTP-Request-Header zu verändern. Für den Server + muss dieser Wert größer sein als die Anzahl der Headerzeilen, + die ein normaler Client senden könnte. Die Anzahl der Request-Header, + die ein gewöhnlicher Client verwendet, überschreitet selten 20 + Zeilen. Allerdings kann dies zwischen den verschiedenen + Client-Ausführungen variieren, oft abhängig vom Ausmaß, + mit dem der Anwender die genaue Content-Negotiation-Unterstützung + seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen + äußern sich oft in Form von HTTP-Headern.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann. Der Wert sollte erhöht werden, wenn normale Clients + eine Fehlermeldung vom Server erhalten, die besagt, dass mit der Anfrage + zu viele Headerzeilen gesendet wurden.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitRequestFields 50 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a>-<a name="limitrequestfieldsize" id="limitrequestfieldsize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Länge des vom Client gesendeten +HTTP-Request-Headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFieldsize <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestFieldsize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive gibt die Anzahl der <var>Bytes</var> an, die in einem + HTTP-Header erlaubt sind.</p> + + <p>Die Direktive <code class="directive">LimitRequestFieldsize</code> erlaubt es + dem Serveradministrator, die maximale Größe eines + HTTP-Request-Headers zu verringern oder erhöhen. Für den Server + muss der Wert groß genug sein, um eine beliebige Headerzeile einer + normalen Client-Anfrage vorzuhalten. Die Größe variiert stark + zwischen den verschiedenen Client-Ausführungen, oft abhängig vom + Ausmaß, mit dem der Anwender die genaue + Content-Negotiation-Unterstützung seines Browsers konfiguriert hat. + SPNEGO-Authentisierungs-Header können bis zu 12392 Bytes lang + sein.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitRequestFieldSize 4094 + </code></p></div> + + <div class="note">Unter normalen Umständen sollte die Voreinstellung nicht + verändert werden.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a>-<a name="limitrequestline" id="limitrequestline">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Länge der vom Client entgegengenommenen +HTTP-Anfragezeile</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestLine <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive legt die Anzahl der <var>Bytes</var> fest, die in der + HTTP-Anfragezeile erlaubt sind.</p> + + <p>Die Direktive <code class="directive">LimitRequestLine</code> erlaubt es dem + Serveradministrator, die maximale Größe der + HTTP-Anfragezeile zu verringern oder erhöhen. Da + die Anfragezeile aus der HTTP-Methode, der URI und der Protokollversion + besteht, bedeutet die <code class="directive">LimitRequestLine</code>-Direktive + eine Beschränkung der Länge der für eine Anfrage an den + Server erlaubten Anfrage-URI. Für den Server muss der Wert groß + genug sein, um jeden seiner Ressourcennamen vorzuhalten, + einschließlich aller Informationen, die im Query-String einer + <code>GET</code>-Anfrage übergeben werden können.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitRequestLine 4094 + </code></p></div> + + <div class="note">Unter normalen Umständen sollte die Voreinstellung nicht + verändert werden.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a>-<a name="limitxmlrequestbody" id="limitxmlrequestbody">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Größe eines XML-basierten +Request-Bodys</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitXMLRequestBody <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Dies gibt die Grenze für die maximale Größe (in Bytes) + des XML-basierten Request-Bodys an. Der Wert <code>0</code> deaktiviert + diese Prüfung.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitXMLRequestBody 0 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Location" id="Location"><Location></a>-<a name="location" id="location">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wendet die enthaltenen Direktiven nur auf die entsprechenden +URLs an</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Location + <var>URL-Pfad</var>|<var>URL</var>> ... </Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><Location></code> + begrenzt die Reichweite der enthaltenen Anweisungen auf URLs. + Sie ist der Direktive <code class="directive"><a href="#directory"><Directory></a></code> ähnlich und startet einen + Abschnitt, der mit der Anweisung <code></Location></code> + abgeschlossen wird. <code class="directive"><Location></code>-Container werden, nachdem die + <code class="directive"><a href="#directory"><Directory></a></code>-Container + und <code>.htaccess</code>-Dateien gelesen wurden, und nach den + <code class="directive"><a href="#files"><Files></a></code>-Containern, in + der Reihenfolge ausgeführt, in der sie in der Konfigurationsdatei + erscheinen.</p> + + <p><code class="directive"><Location></code>-Abschnitte operieren + vollständig außerhalb des Dateisystems. Dies hat mehrere + Konsequenzen. An Wichtigsten, <code class="directive"><Location></code>-Anweisungen sollten nicht dafür + verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da + mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems + zeigen können, könnte eine solche Zugriffskontrolle u.U. + umgangen werden.</p> + + <div class="note"><h3>Wann sollte<code class="directive"><Location></code> verwendet werden</h3> + + <p>Verwenden Sie <code class="directive"><Location></code>, um + Anweisungen auf Inhalte anzuwenden, die außerhalb des Dateisystems + abgelegt sind. Benutzen Sie <code class="directive"><a href="#directory"><Directory></a></code> und <code class="directive"><a href="#files"><Files></a></code> für Inhalte, die + innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet + <code><Location /></code>, welches ein einfacher Weg ist, um eine + Konfiguration auf den gesamten Server anzuwenden.</p> + </div> + + <p>Für alle nicht-Proxy-Anfragen ist die entsprechende URL + ein URL-Pfad in der Form <code>/path/</code>. Es dürfen weder ein + Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen + werden. Für Proxy-Anfragen hat die Vergleichs-URL die Form + <code>schema://servername/path</code>. Das Präfix muss angegeben + werden.</p> + + <p>Die URL kann Platzhalter verwenden. In einer Zeichenfolge mit + Platzhaltern entspricht <code>?</code> einem einzelnen Zeichen und + <code>*</code>einer beliebigen Zeichenfolge.</p> + + <p>Erweiterte <a class="glossarylink" href="../glossary.html#regex" title="siehe Glossar">reguläre + Ausdrücke</a> können ebenfalls verwendet werden, indem + das Zeichen <code>~</code> hinzugefügt wird. Beispielsweise + würde</p> + + <div class="example"><p><code> + <Location ~ "/(extra|special)/data"> + </code></p></div> + + <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code> + oder <code>/special/data</code> enthalten. Die Direktive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> verhält sich + genauso wie <code class="directive"><Location></code> mit + regulären Ausdrücken.</p> + + <p>Die Funktionalität von <code class="directive"><Location></code> ist insbesondere dann nützlich, + wenn sie mit der <code class="directive"><a href="#sethandler">SetHandler</a></code>-Direktive + kombiniert wird. Um zum Beispiel Statusabfragen zu aktivieren, sie aber + nur von Browsern aus <code>foo.com</code> zuzulassen, könnten Sie + schreiben:</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .foo.com<br /> + </span> + </Location> + </code></p></div> + + <div class="note"><h3>Anmerkung zu / (Schrägstrich, Slash)</h3> + <p>Das Slash-Zeichen hat eine besondere Bedeutung, je nachdem, wo es + in der URL erscheint. Manche werden sein Verhalten vom Dateisystem + gewohnt sein, wo mehrere aufeinanderfolgende Schrägstriche + häufig zu einem Schrägstrich zusammengefaßt werden + (<em>d.h.</em> <code>/home///foo</code> ist das gleiche wie + <code>/home/foo</code>). Im URL-Raum ist dies nicht notwendigerweise + genauso. Bei der Direktive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> und der <code class="directive"><Location></code>-Version mit regulären Ausdrücken + müssen Sie explizit mehrere Schrägstriche angeben, wenn Sie + genau dies beabsichtigen.</p> + + <p>Beispielsweise würde <code><LocationMatch ^/abc></code> + auf die angeforderte URL <code>/abc</code> passen, nicht aber auf + <code>//abc</code>. Die Direktive <code class="directive"><Location></code> (ohne reguläre Ausdrücke) verhält + sich ähnlich, wenn sie für Proxy-Anfragen verwendet wird. + Wenn <code class="directive"><Location></code> (ohne + reguläre Ausdrücke) jedoch für nicht-Proxy-Anfragen + verwendet wird, werden stillscheigend mehrere Schrächstriche mit + mit einem einzigen Schrägstrich gleichgesetzt. Geben Sie + beispielsweise <code><Location /abc/def></code> an und die + Anfrage lautet auf <code>/abc//def</code>, dann greift die Anweisung.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a>-<a name="locationmatch" id="locationmatch">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wendet die enthaltenen Direktiven nur auf URLs an, die auf +reguläre Ausdrücke passen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LocationMatch + <var>regex</var>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><LocationMatch></code> + begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise + wie <code class="directive"><a href="#location"><Location></a></code> auf URLs. + Sie verwendet jedoch <a class="glossarylink" href="../glossary.html#regex" title="siehe Glossar">reguläre + Ausdrücke</a> als Argument anstelle einer einfachen + Zeichenkette. Beispielsweise würde</p> + + <div class="example"><p><code> + <LocationMatch "/(extra|special)/data"> + </code></p></div> + + <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code> + oder <code>/special/data</code> enthalten.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a>-<a name="loglevel" id="loglevel">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Steuert die Ausführlichkeit des Fehlerprotokolls</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogLevel <var>Level</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive">LogLevel</code> stellt die Ausführlichkeit + der Nachrichten ein, die im Fehlerprotokoll aufgezeichnet werden (siehe + Direktive <code class="directive"><a href="#errorlog">ErrorLog</a></code>). Die folgenden, + nach absteigender Aussagekraft sortierten <var>Level</var> sind + verfügbar:</p> + + <table class="bordered"> + + <tr> + <th><strong>Level</strong> </th> + + <th><strong>Beschreibung</strong> </th> + + <th><strong>Beispiel</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>Notfall - das System ist unbenutzbar.</td> + + <td>"Child cannot open lock file. Exiting" + <span class="transnote">(<em>Anm.d.Ü.:</em> "Kindprozess kann die Lock-Datei nicht öffnen. + Beende Programm")</span></td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>Maßnahmen müssen unverzüglich ergriffen + werden.</td> + + <td>"getpwuid: couldn't determine user name from uid" + <span class="transnote">(<em>Anm.d.Ü.:</em> "getpwuid: kann keinen Benutzernamen aus der UID + ermitteln")</span></td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>Kritischer Zustand.</td> + + <td>"socket: Failed to get a socket, exiting child" + <span class="transnote">(<em>Anm.d.Ü.:</em> "socket: Socket-Zuweisung fehlgeschlagen, beende + Kindprozess")</span></td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>Fehlerbedingung.</td> + + <td>"Premature end of script headers" + <span class="transnote">(<em>Anm.d.Ü.:</em> "Vorzeitiges Ende der Skript-Header")</span></td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>Warnung.</td> + + <td>"child process 1234 did not exit, sending another SIGHUP" + <span class="transnote">(<em>Anm.d.Ü.:</em> "Kindprozess 1234 nicht beendet, sende ein weiteres + SIGHUP")</span></td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>Normaler, aber signifikanter Zustand.</td> + + <td>"httpd: caught SIGBUS, attempting to dump core in ..." + <span class="transnote">(<em>Anm.d.Ü.:</em> "httpd: SIGBUS empfangen, versuche Speicherabbild nach ... + zu schreiben")</span></td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>Information.</td> + + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..." + <span class="transnote">(<em>Anm.d.Ü.:</em> "Server scheint beschäftigt zu sein, + (möglicherweise müssen Sie StartServers oder + Min/MaxSpareServers erhöhen)")</span></td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>Debug-Level-Nachrichten</td> + + <td>"Opening config file ..." + <span class="transnote">(<em>Anm.d.Ü.:</em> "Öffne Konfigurationsdatei ...")</span></td> + </tr> + </table> + + <p>Geben Sie einen bestimmten Level an, denn werden Nachrichten von + allen höheren Leveln ebenso angezeigt. <em>Z.B.:</em> Wenn + <code>LogLevel info</code> eingestellt ist, dann werden Nachrichten der + Log-Level <code>notice</code> und <code>warn</code> ebenso eingetragen.</p> + + <p>Es wird empfohlen, mindestens den Level <code>crit</code> zu + verwenden.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LogLevel notice + </code></p></div> + + <div class="note"><h3>Hinweis</h3> + <p>Beim Protokollieren in eine reguläre Datei können + Nachrichten des Levels <code>notice</code> nicht unterdrückt + werden und werden daher immer protokolliert. Dies trifft allerdings + nicht zu, wenn mittels <code>syslog</code> protokolliert wird.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a>-<a name="maxkeepaliverequests" id="maxkeepaliverequests">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Anfragen, die bei einer persistenten Verbindung +zulässig sind</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxKeepAliveRequests <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">MaxKeepAliveRequests</code> + begrenzt die Anzahl der Anfragen, die pro Verbindung zulässig sind, + wenn <code class="directive"><a href="#keepalive">KeepAlive</a></code> eingeschaltet ist. + Bei der Einstellung <code>0</code> sind unbegrenzt viele Anfragen + erlaubt. Wir empfehlen für diese Einstellung einen hohen Wert + für eine maximale Serverleistung.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + MaxKeepAliveRequests 500 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a>-<a name="maxrangeoverlaps" id="maxrangeoverlaps">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a>-<a name="maxrangereversals" id="maxrangereversals">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxRangeReversals 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRanges" id="MaxRanges">MaxRanges</a>-<a name="maxranges" id="maxranges">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Number of ranges allowed before returning the complete +resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRanges default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxRanges 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeSlashes" id="MergeSlashes">MergeSlashes</a>-<a name="mergeslashes" id="mergeslashes">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MergeSlashes ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MergeSlashes ON</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Added in 2.4.39</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a>-<a name="mergetrailers" id="mergetrailers">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Determines whether trailers are merged into headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MergeTrailers [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MergeTrailers off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>2.4.11 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Mutex" id="Mutex">Mutex</a>-<a name="mutex" id="mutex">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Mutex default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.3.4 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a>-<a name="namevirtualhost" id="namevirtualhost">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt eine IP-Adresse für den Betrieb namensbasierter +virtueller Hosts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">NameVirtualHost</code> ist erforderlich, + wenn Sie <a href="../vhosts/">namensbasierte virtuelle Hosts</a> + konfigurieren möchten.</p> + + <p>Obwohl <var>Adresse</var> eine Hostname sein kann, wird empfohlen, + dass Sie stets eine IP-Adresse verwenden, z.B.:</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44 + </code></p></div> + + <p>Mit der <code class="directive">NameVirtualHost</code>-Anweisung geben Sie + die IP-Adresse an, unter der der Server Anfragen für + namensbasierte virtuelle Hosts entgegennimmt. Das ist üblicherweise + die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts + aufgelöst werden. Falls eine Firewall oder ein anderer Proxy die + Anfrage in Empfang nimmt und Sie zu einer weiteren IP-Adresse des Servers + weiterleitet, müssen Sie die IP-Adresse der physikalischen + Schnittstelle der Maschine angeben, welche die Anfragen bedient. + Wenn Sie mehrere namensbasierte Hosts an verschiedenen Adressen + betreiben, wiederholen Sie einfach die Anweisung für jede + Adresse.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Beachten Sie, dass der "Hauptserver" und jeder + <code>_default_</code>-Server <strong>niemals</strong> bei einer + Anfrage an einer <code class="directive">NameVirtualHost</code>-IP-Adresse + bedient wird (es sei denn, Sie geben aus irgendwelchen Gründen + <code class="directive">NameVirtualHost</code> an, definieren dann aber keine + <code class="directive">VirtualHost</code>s für diese Adresse).</p> + </div> + + <p>Optional können Sie die Nummer eines Ports angeben, an dem + namensbasierte virtuelle Hosts verwendet werden sollen. Beispiel:</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44:8080 + </code></p></div> + + <p>IPv6-Adressen müssen, wie im folgenden Beispiel angegeben, in + eckige Klammern eingeschlossen werden:</p> + + <div class="example"><p><code> + NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 + </code></p></div> + + <p>Um an allen Schnittstellen Anfragen zu empfangen, können Sie + <code>*</code> als Argument verwenden.</p> + + <div class="example"><p><code> + NameVirtualHost * + </code></p></div> + + <div class="note"><h3>Argument der Direktive <code class="directive"><VirtualHost></code></h3> + <p>Beachten Sie, dass das Argument der <code class="directive"><VirtualHost></code>-Anweisung exakt auf das Argument + der <code class="directive">NameVirtualHost</code>-Anweisung passen muss.</p> + + <div class="example"><p><code> + NameVirtualHost 1.2.3.4<br /> + <VirtualHost 1.2.3.4><br /> + # ...<br /> + </VirtualHost><br /> + </code></p></div> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Dokumentation zu virtuellen Hosts</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Options" id="Options">Options</a>-<a name="options" id="options">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Definiert, welche Eigenschaften oder Funktionen in einem +bestimmten Verzeichnis verfügbar sind</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Options + [+|-]<var>Option</var> [[+|-]<var>Option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Options All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">Options</code> steuert, welche + Eigenschaften bzw. Funktionen in einem bestimmten Verzeichnis + verfügbar sind.</p> + + <p><var>Option</var> kann auf <code>None</code> gesetzt werden, wobei + keine der besonderen Eigenschaften verfügbar sind, oder auf eines + oder mehrere der folgenden:</p> + + <dl> + <dt><code>All</code></dt> + + <dd>Alle Optionen außer <code>MultiViews</code>. Dies ist + die Voreinstellung.</dd> + + <dt><code>ExecCGI</code></dt> + + <dd>Die Ausführung von CGI-Skripten, welche <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + verwenden, ist erlaubt.</dd> + + <dt><code>FollowSymLinks</code></dt> + + <dd>Der Server folgt symbolischen Links in diesem Verzeichnis. + <div class="note"> + <p>Auch wenn der Server symbolischen Links folgt, bedeutet dies + <em>nicht</em>, dass der zum Abgleich gegen <code class="directive"><a href="#directory"><Directory></a></code>-Abschnitte verwendete Pfadname + wechselt.</p> + <p>Beachten Sie auch, dass diese Option innerhalb eines + <code class="directive"><a href="#location"><Location></a></code>-Abschnitts + <strong>ignoriert wird</strong>.</p> + </div></dd> + + <dt><code>Includes</code></dt> + + <dd> + Server Side Includes, die von <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> bereitgestellt + werden, sind erlaubt.</dd> + + <dt><code>IncludesNOEXEC</code></dt> + + <dd>Server Side Includes sind erlaubt, <code>#exec cmd</code> + und <code>#exec cgi</code> sind jedoch deaktiviert. Es ist aber noch + möglich, CGI-Skripte aus + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>-Verzeichnissen mittels + <code>#include virtual</code> einzubinden.</dd> + + <dt><code>Indexes</code></dt> + + <dd>Wenn eine URL, die auf ein Verzeichnis zeigt, in dem sich keine durch + <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> definierte + Indexdatei (<em>z.B.</em> <code>index.html</code>) befindet, dann liefert + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> eine formatierte Auflistung des + Verzeichnisses zurück.</dd> + + <dt><code>MultiViews</code></dt> + + <dd>"MultiViews" sind bei der Verwendung von + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> erlaubt (siehe <a href="../content-negotiation.html">Content-Negotiation</a>).</dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + + <dd>Der Server folgt nur symbolischen Links, bei denen die Zieldatei + bzw. das Zielverzeichnis der gleichen Benutzerkennung gehört, wie + der Link. + <div class="note"><h3>Anmerkung</h3> Diese Option wird innerhalb eines + <code class="directive"><a href="#location"><Location></a></code>-Abschnitts + ignoriert.</div></dd> + </dl> + + <p>Wenn mehrere <code class="directive">Options</code> auf ein Verzeichnis + angewandt werden können, dann wird normalerweise die + spezifischste <span class="transnote">(<em>Anm.d.Ü.:</em> Gemeint ist die zuletzt + ausgeführte Option.)</span> verwendet und alle anderen werden + ignoriert; die Optionen werden nicht vermischt. (Siehe auch <a href="../sections.html#mergin">Wie Abschnitte zusammengeführt + werden.</a>.) Wenn jedoch <em>allen</em> Optionen der + <code class="directive">Options</code>-Anweisung eines der Zeichen + <code>+</code> oder <code>-</code> vorangestellt wird, werden die Optionen + zusammengemischt. Jede Option mit vorangestelltem <code>+</code> wird + zu den momentan gültigen Optionen hinzugefügt und jede Option + mit vorangestelltem <code>-</code> wird aus den derzeit gültigen + Optionen entfernt.</p> + + <div class="warning"><h3>Warnung</h3> + <p>Die Vermischung von Optionen mit <code>+</code> oder <code>-</code> mit + Optionen ohne diese (Zeichen) ist keine gültige Syntax und führt + mit hoher Wahrscheinlichkeit zu unerwarteten Effekten.</p> + </div> + + <p>So wird zum Beispiel ohne die Zeichen <code>+</code> und + <code>-</code></p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options Includes<br /> + </span> + </Directory> + </code></p></div> + + <p>für das Verzeichnis <code>/web/docs/spec</code> wird jetzt + lediglich <code>Includes</code> gesetzt. Wenn die zweite + <code class="directive">Options</code>-Anweisung jedoch <code>+</code>- + und <code>-</code>-Zeichen verwenden würde,</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options +Includes -Indexes<br /> + </span> + </Directory> + </code></p></div> + + <p>dann würden die Optionen <code>FollowSymLinks</code> und + <code>Includes</code> für das Verzeichnis <code>/web/docs/spec</code> + gesetzt.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Die Verwendung von <code>-IncludesNOEXEC</code> oder + <code>-Includes</code> deaktiviert Server Side Includes unabhängig + von der vorigen Einstellung vollständig.</p> + </div> + + <p>Die Voreinstellung ist <code>All</code>, sofern keine anderen Angaben + gemacht wurden.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a>-<a name="protocol" id="protocol">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Protocol for a listening socket</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Protocol <var>protocol</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache 2.1.5 and later. +On Windows, from Apache 2.3.3 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#acceptfilter">AcceptFilter</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocols" id="Protocols">Protocols</a>-<a name="protocols" id="protocols">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Protocols available for a server/virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Protocols <var>protocol</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Protocols http/1.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#protocolshonororder">ProtocolsHonorOrder</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a>-<a name="protocolshonororder" id="protocolshonororder">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#protocols">Protocols</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a>-<a name="qualifyredirecturl" id="qualifyredirecturl">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>QualifyRedirectURL On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>QualifyRedirectURL Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadBufferSize" id="ReadBufferSize">ReadBufferSize</a>-<a name="readbuffersize" id="readbuffersize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Size of the buffers used to read data</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReadBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ReadBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>2.4.27 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegexDefaultOptions" id="RegexDefaultOptions">RegexDefaultOptions</a>-<a name="regexdefaultoptions" id="regexdefaultoptions">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Allow to configure global/default options for regexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>RegexDefaultOptions DOTALL DOLLAR_ENDONLY</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Only available from Apache 2.4.30 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a>-<a name="registerhttpmethod" id="registerhttpmethod">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Register non-standard HTTP methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.4.24 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#httpprotocoloptions">HTTPProtocolOptions</a></code></li> +<li><code class="directive"><a href="../mod/mod_allowmethods.html#allowmethods">AllowMethods</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a>-<a name="rlimitcpu" id="rlimitcpu">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt den CPU-Verbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitCPU <var>Sekunden</var>|max [<var>Sekunden</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als <code>root</code> läuft, zumindest in + der anfänglichen Startphase.</p> + + <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.</p> + + <p>CPU-Ressourcenbegrenzung wird in Sekunden pro Prozess + ausgedrückt.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a>-<a name="rlimitmem" id="rlimitmem">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt den Speicherverbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitMEM <var>Bytes</var>|max [<var>Bytes</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als <code>root</code> läuft, zumindest in + der anfänglichen Startphase.</p> + + <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.</p> + + <p>Die Begrenzung des Speicherverbrauchs wird in Bytes pro Prozess + ausgedrückt.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a>-<a name="rlimitnproc" id="rlimitnproc">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet +werden können, der ihrerseits von Apache-Kinprozessen gestartet +wurden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als <code>root</code> läuft, zumindest in + der anfänglichen Startphase.</p> + + <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Dies beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.</p> + + <p>Prozessbegrenzungen steuern die Anzahl der Prozesse pro Benutzer.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Wenn CGI-Prozesse nicht unter anderen Benutzerkennungen als der + User-ID des Webservers laufen, dann beschränkt diese Direktive + die Anzahl der Prozesse, die der Server selbst erstellen kann. + Kennzeichen einer solchen Situation sind + <strong><code>cannot fork</code></strong>-Meldungen + <span class="transnote">(<em>Anm.d.Ü.:</em> <code>kann nicht abspalten</code>)</span> in der + Datei <code>error_log</code>.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a>-<a name="scriptinterpretersource" id="scriptinterpretersource">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Methode zur Ermittlung des Interpreters von +CGI-Skripten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>ausschließlich Win32; +Die Option <code>Registry-Strict</code> ist verfügbar seit Apache +2.0.</td></tr> +</table> + <p>Die Direktive steuert, wie der Apache den Interpreter zur Ausführung + von CGI-Skripten bestimmt. Die Voreinstellung ist <code>Script</code>. Dies + veranlaßt den Apache, den Interpreter zu verwenden, auf den die + Shebang-Zeile (erste Zeile, beginnt mit <code>#!</code>) im Skript zeigt. + Auf Win32-Systemen sieht diese Zeile üblicherweise so aus:</p> + + <div class="example"><p><code> + #!C:/Perl/bin/perl.exe + </code></p></div> + + <p>oder, wenn <code>perl</code> im Pfad (Umgebungsvariable <code>PATH</code>) liegt, + einfach:</p> + + <div class="example"><p><code> + #!perl + </code></p></div> + + <p>Die Einstellung <code>ScriptInterpreterSource Registry</code> + veranlaßt eine Suche in <code>HKEY_CLASSES_ROOT</code> der + Windows-Registrierungsdatenbank und verwendet die Endung der Skript-Datei + (z.B. <code>.pl</code>) als Suchargument. Der durch den Unterschlüssel + <code>Shell\ExecCGI\Command</code> oder, falls dieser nicht existiert, + <code>Shell\Open\Command</code> definierte Befehl wird zum Öffnen der + Skript-Datei verwendet. Wenn der Schlüssel zur Dateiendung oder + beide Unterschlüssel fehlen, dann verwendet der Apache die Option + <code>Script</code>.</p> + + <div class="warning"><h3>Sicherheit</h3> + <p>Seien Sie vorsichtig, <code>ScriptInterpreterSource Registry</code> bei + Verzeichnissen zu verwenden, auf die eine <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>-Anweisung zeigt, denn der + Apache versucht <strong>jede</strong> Datei innerhalb des Verzeichnisses + auszuführen. Die Einstellung <code>Registry</code> kann + unerwünschte Programmaufrufe bei Dateien verursachen, die + üblicherweise nicht ausgeführt werden. Auf den meisten + Windows-Systemen beispielsweise startet der voreingestellte + Öffnen-Befehl für <code>.htm</code>-Dateien den Microsoft + Internet Explorer, so dass jede HTTP-Anfrage nach einer existierenden + <code>.htm</code>-Datei im Skript-Verzeichnis den Browser im Hintergrund + starten würde. Dies ist eine wirksame Methode, Ihr System binnen + etwa einer Minute zum Absturz zu bringen.</p> + </div> + + <p>Die seit Apache 2.0 neue Option <code>Registry-Strict</code> + macht das gleiche wie <code>Registry</code>, verwendet jedoch nur den + Unterschlüssel <code>Shell\ExecCGI\Command</code>. Der Schlüssel + <code>ExecCGI</code> ist gewöhnlich nicht voreingestellt. Er muss + manuell eingerichtet werden und schützt Ihr System so for + versehentlichen Programmaufrufen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a>-<a name="seerequesttail" id="seerequesttail">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SeeRequestTail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>SeeRequestTail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache httpd 2.2.7 and later.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a>-<a name="serveradmin" id="serveradmin">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>E-Mail-Adresse, die der Server in Fehlermeldungen einfügt, +welche an den Client gesendet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAdmin <var>E-Mail-Adresse</var>|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerAdmin</code> legt die Kontaktadresse fest, + die der Server in jede Fehlermeldung einfügt, die er an den + Client zurückschickt. Wenn <code>httpd</code> das übergebene + Argument nicht als URL erkennt, nimmt er an, dess es sich um eine + <var>E-Mail-Adresse</var> handelt und stellt in Hyperlinks + <code>mailto:</code> voran. Es ist jedoch sogar sinnvoll, eine + E-Mail-Adresse zu verwenden, da viele CGI-Skripte davon ausgehen. Wenn Sie + eine URL verwenden möchten, sollten Sie auf einem anderen unter Ihrer + Kontrolle stehenden Server verweisen. Andernfalls können Besucher Sie + im Fehlerfall möglicherweise nicht kontaktieren.</p> + + <p>Es kann sich lohnen, hierfür eine reservierte Adresse + anzugeben, z.B.</p> + + <div class="example"><p><code> + ServerAdmin www-admin@foo.example.com + </code></p></div> + + <p>da Anwender nicht unbedingt erwähnen, dass sie vom Server + sprechen!</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a>-<a name="serveralias" id="serveralias">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Alternativer Name für einen Host, der verwendet wird, wenn +Anfragen einem namensbasierten virtuellen Host zugeordnet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAlias <var>Hostname</var> [<var>Hostname</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerAlias</code> bestimmt die + alternativen Namen eines Hosts zur Verwendung mit <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.</p> + + <div class="example"><p><code> + <VirtualHost *><br /> + ServerName server.domain.com<br /> + ServerAlias server server2.domain.com server2<br /> + # ...<br /> + </VirtualHost> + </code></p></div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a>-<a name="servername" id="servername">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Rechnername und Port, die der Server dazu verwendet, sich +selbst zu identifizieren</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerName +<var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Diese Direktive löst in Version 2.0 die + Funktionalität der Direktive <code class="directive">Port</code> aus + Version 1.3 ab.</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerName</code> bestimmt den + Rechnernamen und Port, den der Server dazu verwendet, sich selbst + zu identifizieren. Diese werden bei der Erstellung von Umleitungs-URLs + benötigt. Wenn beispielsweise der Name der Maschine, die den Webserver + beherbergt, <code>simple.example.com</code> lautet, die Maschine jedoch + auch einen DNS-Alias <code>www.example.com</code> besitzt und Sie den + Webserver so identifizieren möchten, sollten Sie die folgende + Anweisung verwenden:</p> + + <div class="example"><p><code> + ServerName www.example.com:80 + </code></p></div> + + <p>Wenn kein <code class="directive">ServerName</code> angegeben wurde, + dann versucht der Server den Rechnernamen mittels eines Reverse-Lookup + herzuleiten. Wenn kein Port in der + <code class="directive">ServerName</code>-Anweisung angegeben wurde, dann + verwendet der Server den Port der eingegangenen Anfrage. Für eine + optimale Zuverlässigkeit und Berechenbarkeit sollten Sie einen + eindeutigen Rechnernamen und Port angeben, in dem Sie die Direktive + <code class="directive">ServerName</code> verwenden.</p> + + <p>Wenn Sie <a href="../vhosts/name-based.html">namensbasierte + virtuelle Hosts</a> verwenden, gibt <code class="directive">ServerName</code> + innerhalb eines <code class="directive"><a href="#virtualhost"><VirtualHost></a></code>-Abschnitts an, welcher + Hostname im <code>Host:</code>-Header der Anfrage auftauchen muss, + damit sie diesem virtuellen Host zugeordnet wird.</p> + + <p>Lesen Sie bitte die Beschreibung der Direktiven <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> und <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> für Einstellungen, die + bestimmen, ob selbstreferenzierende URLs (z.B. vom Modul + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) auf den angegebenen Port zeigen oder auf die + Portnummern die in der Anfrage des Clients angegeben ist.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../dns-caveats.html">Probleme bezüglich DNS und +Apache</a></li> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a>-<a name="serverpath" id="serverpath">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Veralteter URL-Pfad für einen namensbasierten +virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen +wird</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerPath <var>URL-Pfad</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerPath</code> legt den + veralteten <span class="transnote">(<em>Anm.d.Ü.:</em> Gemeint ist eigentlich "Altlast" aufgrund + antiquierter Clients.)</span> URL-Pfad eines Hosts zur Verwendung mit + <a href="../vhosts/">namensbasierten virtuellen Hosts</a> fest.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a>-<a name="serverroot" id="serverroot">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Basisverzeichnis der Serverinstallation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerRoot <var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerRoot</code> bestimmt das + Verzeichnis, in dem der Server installiert ist. Üblicherweise + enthält es die Unterverzeichnisse <code>conf/</code> und + <code>logs/</code>. Relative Pfadangaben anderer Direktiven (wie z.B. + <code class="directive"><a href="#include">Include</a></code> oder <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) werden relativ zu diesem + Verzeichnis betrachtet.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ServerRoot /home/httpd + </code></p></div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../invoking.html">Die <code>httpd</code>-Option + <code>-d</code></a></li> +<li><a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a> + für Informationen, wie die Rechte auf das <code class="directive">ServerRoot</code>-Verzeichnis richtig gesetzt werden</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a>-<a name="serversignature" id="serversignature">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Konfiguriert die Fußzeile von servergenerierten +Dokumenten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerSignature</code> ermöglicht + die Gestaltung einer unter servergenerierten Dokumenten (z.B. + Fehlerdokumente, FTP-Verzeichnislisten von <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, + <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>-Ausgaben, ...) angefügten + Fußzeile. Ein möglicher Grund für die Aktivierung einer + solchen Fußzeile ist, dass der Anwender bei einer Kette von + Proxy-Servern oft keine Möglichkeit hat, zu erkennen, welcher der + verketteten Server gegenwärtig die zurückgegebene Fehlermeldung + produziert hat.</p> + + <p>Die (Vor-)Einstellung <code>Off</code> unterdrückt die + Fußzeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und + früher). Die Einstellung <code>On</code> fügt schlicht eine + Zeile mit der Versionsnummer des Servers und dem Servernamen (<code class="directive"><a href="#servername">ServerName</a></code>) des bedienenden virtuellen Hosts an. + Die Einstellung <code>EMail</code> erstellt zusätzlich einen + "mailto:"-Verweis zum Serveradministrator (<code class="directive"><a href="#serveradmin">ServerAdmin</a></code>) des referenzierten Dokuments.</p> + + <p>Ab Version 2.0.44 werden die Details der angegebenen Versionsnummer des + Servers von der Direktive <code class="directive"><a href="#servertokens">ServerTokens</a></code> kontrolliert.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a>-<a name="servertokens" id="servertokens">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Konfiguriert den HTTP-Response-Header +<code>Server</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>die Direktive steuert, ob der Response-Header <code>Server</code>, + der an den Client zurückgesendet wird, eine Beschreibung des + allgemeinen Betriesbsystemtyps des Servers wie auch Informationen + über einkompilierte Module enthält.</p> + + <dl> + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache</code></dd> + + <dt><code>ServerTokens Major</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache/2.0</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache/2.0.41</code></dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41 + (Unix)</code></dd> + + <dt><code>ServerTokens Full</code> (oder nicht angegeben)</dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41 + (Unix) PHP/4.2.2 MyMod/1.2</code></dd> + </dl> + + <p>Diese Einstellung gilt für den gesamten Server und kann nicht + auf Virtual-Host-Basis aktiviert oder deaktiviert werden.</p> + + <p>Ab Version 2.0.44 steuert diese Direktive auch die Informationen, die + durch die Direktive <code class="directive"><a href="#serversignature">ServerSignature</a></code> + angeboten werden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a>-<a name="sethandler" id="sethandler">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Erzwingt die Verarbeitung aller passenden Dateien durch +einen Handler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetHandler <var>Handlername</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit Apache 2.0 im Core</td></tr> +</table> + <p>Wenn die Direktive innerhalb einer <code>.htaccess</code>-Datei + oder in einem <code class="directive"><a href="#directory"><Directory></a></code>- oder + <code class="directive"><a href="#location"><Location></a></code>-Abschnitt + angegeben wird, erzwingt sie, dass alle entsprechenden Dateien von dem + durch <var>Handlername</var> angegebenen <a href="../handler.html">Handler</a> analysiert werden. Wenn Sie + beispielsweise ein Verzeichnis haben, dessen Dateien unabhängig von + der Endung gänzlich als Image-Maps interpretiert werden sollen, + können Sie folgendes in eine <code>.htaccess</code>-Datei in + dem Verzeichnis schreiben:</p> + + <div class="example"><p><code> + SetHandler imap-file + </code></p></div> + + <p>Noch ein Beispiel: wenn Sie den Server immer, wenn die URL + <code>http://servername/status</code> aufgerufen wird, einen + Statusbericht anzeigen lassen möchten, dann können + Sie folgendes in die <code>httpd.conf</code> schreiben:</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + </span> + </Location> + </code></p></div> + <p>Sie können eine zuvor definierte + <code class="directive">SetHandler</code>-Anweisung aufheben, indem Sie den Wert + <code>None</code> verwenden.</p> + <p><strong>Hinweis:</strong> SetHandler setzt die Standard-Handler + außer Kraft und unterdrückt gewohnte Verhaltensweisen, wie + beispielsweise die Behandlung von URLs, die auf einen Schrägstrich + (/) enden als Verzeichnisse oder (die Auslieferung von) Index-Dateien.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a>-<a name="setinputfilter" id="setinputfilter">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Filter, die Client-Anfragen und POST-Eingaben +verarbeiten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetInputFilter <var>Filter</var>[;<var>Filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">SetInputFilter</code> bestimmt den oder + die Filter, die Client-Anfragen und POST-Eingaben verarbeiten, wenn + sie vom Server empfangen werden. Diese gelten zusätzlich zu + anderweitig definierten Filtern, einschließlich denen der Direktive + <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p> + + <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese + durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, + in der sie die Daten verarbeiten sollen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../filter.html">Filter</a>-Dokumentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a>-<a name="setoutputfilter" id="setoutputfilter">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Filter, die Antworten des Servers verarbeiten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetOutputFilter <var>Filter</var>[;<var>Filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">SetOutputFilter</code> bestimmt + die Filter, die Antworten des Servers verarbeiten, bevor sie an den + Client gesendet werden. Diese gelten zusätzlich zu anderweitig + definierten Filtern, einschließlich denen der Direktive + <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p> + + <p>Die folgende Konfiguration verarbeitet zum Beispiel alle Dateien + im Verzeichnis <code>/www/data</code> als Server Side Includes.</p> + + <div class="example"><p><code> + <Directory /www/data/><br /> + <span class="indent"> + SetOutputFilter INCLUDES<br /> + </span> + </Directory> + </code></p></div> + + <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese + durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, + in der sie die Daten verarbeiten sollen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../filter.html">Filter</a>-Dokumentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StrictHostCheck" id="StrictHostCheck">StrictHostCheck</a>-<a name="stricthostcheck" id="stricthostcheck">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StrictHostCheck ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>StrictHostCheck OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Added in 2.4.49</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a>-<a name="timeout" id="timeout">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zeitspanne, die der Server auf verschiedene Ereignisse wartet, +bevor er die Anfrage abbricht</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TimeOut <var>Sekunden</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>TimeOut 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">TimeOut</code> definiert derzeit die + Zeitspanne, die der Apache auf drei Dinge wartet:</p> + + <ol> + <li>Die gesamte Zeispanne, die benötigt wird, um eine GET-Anfrage + zu empfangen.</li> + + <li>Die Zeitspanne zwischen dem Empfang von TCP-Paketen einer + POST- oder PUT-Anfrage.</li> + + <li>Die Zeitspanne zwischen ACKs bei der Übermittlung der + TCP-Pakete der Antwort.</li> + </ol> + + <p>Wir haben vor, diese Zeitspannen in Zukunft separat konfigurierbar zu + machen. Vor Version 1.2 war der Zeitgeber auf 1200 voreingestellt, wurde + dann aber auf 300 herabgesetzt, was immer noch weit mehr ist, als in den + meisten Situationen benötigt wird. Die Voreinstellung wurde nicht + weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren + können, wo der Zeitgeber nicht zurückgesetzt wird, wenn ein + Paket verschickt wird. Seit Apache 2.4 ist die Voreinstellung 60.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a>-<a name="traceenable" id="traceenable">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Legt das Verhalten von <code>TRACE</code>-Anfragen fest</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 1.3.34 und 2.0.55</td></tr> +</table> + <p>Diese Direktive beeinflusst das Verhalten von <code>TRACE</code> sowohl + für den Server selbst als auch <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Die + Voreinstellung <code>TraceEnable on</code> erlaubt + <code>TRACE</code>-Anfragen gemäß RFC 2616. Dort werden + nur Anfragen ohne Datenteil zugelassen. <code>TraceEnable off</code> + sorgt dafür, dass der Serverkern und <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> den + Fehler <code>405</code> (Zugriffsmethode nicht erlaubt) an den Client + senden.</p> + + <p>Zu Test- und Diagnosezwecken können Sie auch + nicht-standardkonforme Anfragen mit Datenteil erlauben, indem Sie die + Direktive <code>TraceEnable extended</code> verwenden. Der Server (als + Ursprungsserver) beschränkt den Anfrageinhalt auf 64k. (Wenn + <code>Transfer-Encoding: chunked</code> benutzt wird, können + weitere 8k für die Chunk-Kopfzeilen verwendet werden.) Der + Server selbst reflektiert dann die vollständigen HTTP- und + Chunk-Kopfzeilen in seiner Antwort. Die Einschränkung auf 64k gilt + nicht, wenn der Server als Proxy arbeitet.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnDefine" id="UnDefine">UnDefine</a>-<a name="undefine" id="undefine">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Undefine the existence of a variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UnDefine <var>parameter-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p><h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#define">Define</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a>-<a name="usecanonicalname" id="usecanonicalname">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>UseCanonicalName Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>In vielen Situationen muss der Apache eine + <em>selbstreferenzierende</em> URL -- d.h. eine URL, die auf den selben + Server zurück verweist -- zusammenbauen. Bei <code>UseCanonicalName + On</code> verwendet der Apache den Hostnamen und Port, der in der + <code class="directive"><a href="#servername">ServerName</a></code>-Anweisung angegeben ist, + um den kanonischen Namen des Servers zu erstellen. Dieser Name wird in + allen selbstreferenzierenden URLs sowie in CGI-Skripten für die + Werte von <code>SERVER_NAME</code> und <code>SERVER_PORT</code> + verwendet.</p> + + <p>Bei <code>UseCanonicalName Off</code> bildet der Apache + selbstreferenzierende URLs, indem er den vom Client übermittelten + Hostnamen und Port verwendet, sofern diese vorhanden sind (andernfalls + wird der kanonische Name, wie oben beschrieben, benutzt). Die Werte + sind die gleichen, die zur Anwendung von <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a> + verwendet werden, und sie sind mit den gleichen Clients verfügbar + <span class="transnote">(<em>Anm.d.Ü.:</em> , die auch in der Lage sind, auf namensbasierte virtuelle Hosts + zuzugreifen, d.h. einen <code>Host</code>-Header mitschicken)</span>. + Die CGI-Variablen <code>SERVER_NAME</code> und <code>SERVER_PORT</code> + werden ebenfalls aus den vom Client angeboten Werten erstellt.</p> + + <p>Ein Intranet-Server, auf den Anwender mit kurzen Namen wie + <code>www</code> zugreifen, ist ein Beispiel, wo dies sinnvoll sein kann. + Sie werden bemerken, dass der Apache den Benutzer auf + <code>http://www.domain.com/splat/</code> umleitet, wenn dieser einen + Kurznamen und eine URL, die einem Verzeichnis entspricht, ohne + abschließenden Schrägstrich eingibt, wie z.B. + <code>http://www/splat</code>. Wenn Sie Authentisierung aktiviert haben, + bewirkt dies, dass der Benutzer sich zweimal identifizieren muss + (einmal für <code>www</code> und noch einmal für + <code>www.domain.com</code> -- lesen Sie für weitere Informationen <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">die + FAQ zu diesem Thema</a>). Wenn <code class="directive">UseCanonicalName</code> + jedoch auf <code>Off</code> gesetzt ist, denn wird der Apache zu + <code>http://www/splat/</code> umleiten.</p> + + <p>Es existiert noch eine dritte Option, <code>UseCanonicalName DNS</code>, + die für den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist, + um antiquierte Clients zu unterstützen, die keinen + <code>Host:</code>-Header bereit stellen. Um selbstreferenzierende + URLs zu ermitteln, führt der Apache bei dieser Option ein + Reverse-DNS-Lookup auf die IP-Adresse des Servers aus, zu der der Client + Verbindung aufgenommen hat.</p> + + <div class="warning"><h3>Warnung</h3> + <p>Wenn CGI-Skripte Vermutungen aufgrund des Wertes von + <code>SERVER_NAME</code> anstellen, können sie durch diese + Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert + für den Hostnamen anzugeben, wie er will. Wenn das + CGI-Skript <code>SERVER_NAME</code> jedoch lediglich dazu verwendet, + selbstreferenzierende URLs zu erstellen, sollte das gerade noch + in Ordnung sein.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a>-<a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>In vielen Situationen muss der Apache eine + <em>selbstreferenzierende</em> URL zusammenbauen, d.h. eine URL, die auf + den selben Server zurück verweist. Wenn der Apache für die + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>-Direktive den Port + bestimmt, wird mit <code>UseCanonicalPhysicalPort On</code> die + tatsächlich für die Anfrage verwendete physische Portnummer + in Betracht gezogen. Mit <code>UseCanonicalPhysicalPort Off</code> + verläßt sich der Apache nur auf die Konfiguration, um eine + gültige Portnummer zu bestimmen und läßt die + physische Portnummer außer acht.</p> + + <div class="note"><h3>Hinweis</h3> + <p>Wenn der physische Port verwendet wird, ist die Reihenfolge wie + folgt:<br /><br /> + <code>UseCanonicalName On</code></p> + <ul> + <li>Der in <code>Servername</code> angegebene Port</li> + <li>Der physische Port</li> + <li>Der Standardport</li> + </ul> + <code>UseCanonicalName Off | DNS</code> + <ul> + <li>Der Port, der aus dem <code>Host:</code>-Header gewonnen wurde</li> + <li>Der physische Port</li> + <li>Der in <code>Servername</code> angegebene Port</li> + <li>Der Standardport</li> + </ul> + + <p>Bei <code>UseCanonicalPhysicalPort Off</code> werden die physischen + Ports aus der Suchreihe entfernt.</p> + </div> + + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a>-<a name="virtualhost" id="virtualhost">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enthält Direktiven, die nur auf bestimmte Hostnamen oder +IP-Adressen angewendet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><VirtualHost + <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]] + ...> ... </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><VirtualHost></code> und + <code></VirtualHost></code> werden dazu verwendet, eine Gruppe + von Direktiven zusammenzufassen, die nur auf einen bestimmten virtuellen + Host angewendet werden. Jede Direktive, die im Virtual-Host-Kontext + zulässig ist, kann verwendet werden. Wenn der Server eine Anfrage + für ein bestimmtes Dokument eines bestimmten virtuellen Hosts + empfängt, dann benutzt er die im + <code class="directive"><VirtualHost></code>-Container enthaltenen + Konfigurationsanweisungen. <var>Adresse</var> kann sein:</p> + + <ul> + <li>Die IP-Adresse des virtuellen Hosts.</li> + + <li>Ein voll qualifizierter Domainname für die IP-Adresse des + virtuellen Hosts.</li> + + <li>Das Zeichen <code>*</code>, welches nur in Kombination mit + <code>NameVirtualHost *</code> verwendet wird, um allen IP-Adressen + zu entsprechen.</li> + + <li>Die Zeichenkette <code>_default_</code>, die nur mit IP-basierten + virtuellen Hosts verwendet wird, um nicht zugewiesene IP-Adressen + aufzufangen.</li> + </ul> + + <div class="example"><h3>Beispiel</h3><p><code> + <VirtualHost 10.1.2.3><br /> + <span class="indent"> + ServerAdmin webmaster@host.foo.com<br /> + DocumentRoot /www/docs/host.foo.com<br /> + ServerName host.foo.com<br /> + ErrorLog logs/host.foo.com-error_log<br /> + TransferLog logs/host.foo.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>IPv6-Adressen müssen in eckigen Klammern angegeben werden, da die + optionale Portnummer sonst nicht erkannt werden kann. Hier ein + IPv6-Beispiel:</p> + + <div class="example"><p><code> + <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br /> + <span class="indent"> + ServerAdmin webmaster@host.example.com<br /> + DocumentRoot /www/docs/host.example.com<br /> + ServerName host.example.com<br /> + ErrorLog logs/host.example.com-error_log<br /> + TransferLog logs/host.example.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port + oder einem anderen Hostnamen für den Server entsprechen. Im ersten + Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete + für mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere + Netzwerkkarten besitzt, kann dies mit dem Befehl <code>ifconfig + alias</code> durchgeführt werden -- sofern Ihr Betriebssystem das + unterstützt).</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Die Verwendung von <code class="directive"><VirtualHost></code> + beeinflusst <strong>nicht</strong>, an welchen Adressen der Apache + lauscht. Sie müssen mit <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> sicherstellen, dass der Apache + an der richtigen Adresse lauscht.</p> + </div> + + <p>Bei der Verwendung IP-basierter virtuellen Hosts kann der spezielle + Name <code>_default_</code> benutzt werden. In diesem Fall weist + der Apache jede IP-Adresse diesem virtuellen Host zu, die nicht explizit in + einem anderen virtuellen Host angegeben ist. Falls kein virtueller Host + <code>_default_</code> angegeben ist, wird die "Hauptserver"-Konfiguration, + die aus allen Definitionen außerhalb der Virtual-Host-Abschnitte + besteht, für nicht passende IPs verwendet. (Beachten Sie jedoch, + dass eine IP-Adressen die zu einer <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code>-Anweisung passt, weder den + "Hauptserver" noch den virtuellen Host <code>_default_</code> verwendet. + Lesen Sie für weitere Details die Dokumentation zu <a href="../vhosts/name-based.html">namensbasierten virtuell Hosts</a>.)</p> + + <p>Sie können einen speziellen <code>:Port</code> angeben, + um den entsprechenden Port zu wechseln. Falls nicht angegeben, wird + er auf den gleichen Port voreingestellt, wie die letzte + <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>-Anweisung des + Hauptservers. Sie können auch <code>:*</code> angeben, um alle + Ports dieser Adresse zu akzeptieren. (Dies wird zusammen mit + <code>_default_</code> empfohlen.)</p> + + <div class="warning"><h3>Sicherheit</h3> + <p>Lesen Sie das Dokument <a href="../misc/security_tips.html">Sicherheitshinweise</a> für + Details, warum Ihre Sicherheit gefährdet sein kann, wenn das + Verzeichnis, in dem Protokolldateien gespeichert werden, für + jemanden anderes als den Benutzer beschreibbar ist, der den Server + gestartet hat.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +<li><a href="../dns-caveats.html">Probleme bezüglich DNS und + Apache</a></li> +<li><a href="../bind.html">Bestimmen, welche Adressen und Ports + der Apache verwendet</a></li> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/core.html.en b/docs/manual/mod/core.html.en new file mode 100644 index 0000000..457edbf --- /dev/null +++ b/docs/manual/mod/core.html.en @@ -0,0 +1,5288 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Core Features</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Core Apache HTTP Server features that are always +available</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Core</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergeslashes">MergeSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readbuffersize">ReadBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stricthostcheck">StrictHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures optimizations for a Protocol's Listener Sockets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptFilter <var>protocol</var> <var>accept_filter</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive enables operating system specific optimizations for a + listening socket by the <code class="directive">Protocol</code> type. + The basic premise is for the kernel to not send a socket to the server + process until either data is received or an entire HTTP Request is buffered. + Only <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9"> + FreeBSD's Accept Filters</a>, Linux's more primitive + <code>TCP_DEFER_ACCEPT</code>, and Windows' optimized AcceptEx() + are currently supported.</p> + + <p>Using <code>none</code> for an argument will disable any accept filters + for that protocol. This is useful for protocols that require a server + send data first, such as <code>ftp:</code> or <code>nntp</code>:</p> + <pre class="prettyprint lang-config">AcceptFilter nntp none</pre> + + + <p>The default protocol names are <code>https</code> for port 443 + and <code>http</code> for all other ports. To specify that another + protocol is being used with a listening port, add the <var>protocol</var> + argument to the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> + directive.</p> + + <p>The default values on FreeBSD are:</p> + <pre class="prettyprint lang-config">AcceptFilter http httpready +AcceptFilter https dataready</pre> + + + <p>The <code>httpready</code> accept filter buffers entire HTTP requests at + the kernel level. Once an entire request is received, the kernel then + sends it to the server. See the + <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9"> + accf_http(9)</a> man page for more details. Since HTTPS requests are + encrypted, only the <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9"> + accf_data(9)</a> filter is used.</p> + + <p>The default values on Linux are:</p> + <pre class="prettyprint lang-config">AcceptFilter http data +AcceptFilter https data</pre> + + + <p>Linux's <code>TCP_DEFER_ACCEPT</code> does not support buffering http + requests. Any value besides <code>none</code> will enable + <code>TCP_DEFER_ACCEPT</code> on that listener. For more details + see the Linux + <a href="http://man7.org/linux/man-pages/man7/tcp.7.html"> + tcp(7)</a> man page.</p> + + <p>The default values on Windows are:</p> + <pre class="prettyprint lang-config">AcceptFilter http connect +AcceptFilter https connect</pre> + + + <p>Window's mpm_winnt interprets the AcceptFilter to toggle the AcceptEx() + API, and does not support http protocol buffering. <code>connect</code> + will use the AcceptEx() API, also retrieve the network endpoint + addresses, but like <code>none</code> the <code>connect</code> option + does not wait for the initial data transmission.</p> + + <p>On Windows, <code>none</code> uses accept() rather than AcceptEx() + and will not recycle sockets between connections. This is useful for + network adapters with broken driver support, as well as some virtual + network providers such as vpn drivers, or spam, virus or spyware + filters.</p> + + <div class="warning"> + <h3>The <code>data</code> AcceptFilter (Windows)</h3> + + <p>For versions 2.4.23 and prior, the Windows <code>data</code> accept + filter waited until data had been transmitted and the initial data + buffer and network endpoint addresses had been retrieved from the + single AcceptEx() invocation. This implementation was subject to a + denial of service attack and has been disabled.</p> + + <p>Current releases of httpd default to the <code>connect</code> filter + on Windows, and will fall back to <code>connect</code> if + <code>data</code> is specified. Users of prior releases are encouraged + to add an explicit setting of <code>connect</code> for their + AcceptFilter, as shown above.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#protocol">Protocol</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Resources accept trailing pathname information</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + + <p>This directive controls whether requests that contain trailing + pathname information that follows an actual filename (or + non-existent file in an existing directory) will be accepted or + rejected. The trailing pathname information can be made + available to scripts in the <code>PATH_INFO</code> environment + variable.</p> + + <p>For example, assume the location <code>/test/</code> points to + a directory that contains only the single file + <code>here.html</code>. Then requests for + <code>/test/here.html/more</code> and + <code>/test/nothere.html/more</code> both collect + <code>/more</code> as <code>PATH_INFO</code>.</p> + + <p>The three possible arguments for the + <code class="directive">AcceptPathInfo</code> directive are:</p> + <dl> + <dt><code>Off</code></dt><dd>A request will only be accepted if it + maps to a literal path that exists. Therefore a request with + trailing pathname information after the true filename such as + <code>/test/here.html/more</code> in the above example will return + a 404 NOT FOUND error.</dd> + + <dt><code>On</code></dt><dd>A request will be accepted if a + leading path component maps to a file that exists. The above + example <code>/test/here.html/more</code> will be accepted if + <code>/test/here.html</code> maps to a valid file.</dd> + + <dt><code>Default</code></dt><dd>The treatment of requests with + trailing pathname information is determined by the <a href="../handler.html">handler</a> responsible for the request. + The core handler for normal files defaults to rejecting + <code>PATH_INFO</code> requests. Handlers that serve scripts, such as <a href="mod_cgi.html">cgi-script</a> and <a href="mod_isapi.html">isapi-handler</a>, generally accept + <code>PATH_INFO</code> by default.</dd> + </dl> + + <p>The primary purpose of the <code>AcceptPathInfo</code> + directive is to allow you to override the handler's choice of + accepting or rejecting <code>PATH_INFO</code>. This override is required, + for example, when you use a <a href="../filter.html">filter</a>, such + as <a href="mod_include.html">INCLUDES</a>, to generate content + based on <code>PATH_INFO</code>. The core handler would usually reject + the request, so you can use the following configuration to enable + such a script:</p> + + <pre class="prettyprint lang-config"><Files "mypaths.shtml"> + Options +Includes + SetOutputFilter INCLUDES + AcceptPathInfo On +</Files></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the distributed configuration file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AccessFileName <var>filename</var> [<var>filename</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>While processing a request, the server looks for + the first existing configuration file from this list of names in + every directory of the path to the document, if distributed + configuration files are <a href="#allowoverride">enabled for that + directory</a>. For example:</p> + + <pre class="prettyprint lang-config">AccessFileName .acl</pre> + + + <p>Before returning the document + <code>/usr/local/web/index.html</code>, the server will read + <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code> and <code>/usr/local/web/.acl</code> + for directives unless they have been disabled with:</p> + + <pre class="prettyprint lang-config"><Directory "/"> + AllowOverride None +</Directory></pre> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default charset parameter to be added when a response +content-type is <code>text/plain</code> or <code>text/html</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddDefaultCharset On|Off|<var>charset</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive specifies a default value for the media type + charset parameter (the name of a character encoding) to be added + to a response if and only if the response's content-type is either + <code>text/plain</code> or <code>text/html</code>. This should override + any charset specified in the body of the response via a <code>META</code> + element, though the exact behavior is often dependent on the user's client + configuration. A setting of <code>AddDefaultCharset Off</code> + disables this functionality. <code>AddDefaultCharset On</code> enables + a default charset of <code>iso-8859-1</code>. Any other value is assumed + to be the <var>charset</var> to be used, which should be one of the + <a href="http://www.iana.org/assignments/character-sets">IANA registered + charset values</a> for use in Internet media types (MIME types). + For example:</p> + + <pre class="prettyprint lang-config">AddDefaultCharset utf-8</pre> + + + <p><code class="directive">AddDefaultCharset</code> should only be used when all + of the text resources to which it applies are known to be in that + character encoding and it is too inconvenient to label their charset + individually. One such example is to add the charset parameter + to resources containing generated content, such as legacy CGI + scripts, that might be vulnerable to cross-site scripting attacks + due to user-provided data being included in the output. Note, however, + that a better solution is to just fix (or delete) those scripts, since + setting a default charset does not protect users that have enabled + the "auto-detect character encoding" feature on their browser.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether encoded path separators in URLs are allowed to +be passed through</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td> +NoDecode option available in 2.3.12 and later.</td></tr> +</table> + <p>The <code class="directive">AllowEncodedSlashes</code> directive allows URLs + which contain encoded path separators (<code>%2F</code> for <code>/</code> + and additionally <code>%5C</code> for <code>\</code> on accordant systems) + to be used in the path info.</p> + + <p>With the default value, <code>Off</code>, such URLs are refused + with a 404 (Not found) error.</p> + + <p>With the value <code>On</code>, such URLs are accepted, and encoded + slashes are decoded like all other encoded characters.</p> + + <p>With the value <code>NoDecode</code>, such URLs are accepted, but + encoded slashes are not decoded but left in their encoded state.</p> + + <p>Turning <code class="directive">AllowEncodedSlashes</code> <code>On</code> is + mostly useful when used in conjunction with <code>PATH_INFO</code>.</p> + + <div class="note"><h3>Note</h3> + <p>If encoded slashes are needed in path info, use of <code>NoDecode</code> is + strongly recommended as a security measure. Allowing slashes + to be decoded could potentially allow unsafe paths.</p> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types of directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowOverride None (2.3.9 and later), AllowOverride All (2.3.8 and earlier)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>When the server finds an <code>.htaccess</code> file (as + specified by <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), + it needs to know which directives declared in that file can override + earlier configuration directives.</p> + + <div class="note"><h3>Only available in <Directory> sections</h3> + <code class="directive">AllowOverride</code> is valid only in + <code class="directive"><a href="#directory"><Directory></a></code> + sections specified without regular expressions, not in <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> or + <code class="directive"><a href="#files"><Files></a></code> sections. + </div> + + <p>When this directive is set to <code>None</code> and <code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code> is set to + <code>None</code>, <a href="#accessfilename">.htaccess</a> files are + completely ignored. In this case, the server will not even attempt + to read <code>.htaccess</code> files in the filesystem.</p> + + <p>When this directive is set to <code>All</code>, then any + directive which has the .htaccess <a href="directive-dict.html#Context">Context</a> is allowed in + <code>.htaccess</code> files.</p> + + <p>The <var>directive-type</var> can be one of the following + groupings of directives. (See the <a href="overrides.html">override class + index</a> for an up-to-date listing of which directives are enabled by each + <var>directive-type</var>.)</p> + + <dl> + <dt><a href="overrides.html#override-authconfig">AuthConfig</a></dt> + + <dd> + + Allow use of the authorization directives (<code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, <em>etc.</em>).</dd> + + <dt><a href="overrides.html#override-fileinfo">FileInfo</a></dt> + + <dd> + Allow use of the directives controlling document types + (<code class="directive"><a href="#errordocument">ErrorDocument</a></code>, + <code class="directive"><a href="#forcetype">ForceType</a></code>, + <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, + <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, + <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, and + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* and Remove* directives), + document meta data (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> directives (<code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>), + <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> directives (<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirecttemp">RedirectTemp</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectpermanent">RedirectPermanent</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>), and + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> from + <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>. + </dd> + + <dt><a href="overrides.html#override-indexes">Indexes</a></dt> + + <dd> + Allow use of the directives controlling directory indexing + (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <a href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>, + <em>etc.</em>).</dd> + + <dt><a href="overrides.html#override-limit">Limit</a></dt> + + <dd> + Allow use of the directives controlling host access (<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> and <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>).</dd> + + <dt>Nonfatal=[Override|Unknown|All]</dt> + + <dd> + Allow use of AllowOverride option to treat syntax errors in + .htaccess as nonfatal. Instead of causing an Internal Server + Error, disallowed or unrecognised directives will be ignored + and a warning logged: + <ul> + <li><strong>Nonfatal=Override</strong> treats directives + forbidden by AllowOverride as nonfatal.</li> + <li><strong>Nonfatal=Unknown</strong> treats unknown directives + as nonfatal. This covers typos and directives implemented + by a module that's not present.</li> + <li><strong>Nonfatal=All</strong> treats both the above as nonfatal.</li> + </ul> + <p>Note that a syntax error in a valid directive will still cause + an internal server error.</p> + <div class="warning"><h3>Security</h3> + Nonfatal errors may have security implications for .htaccess users. + For example, if AllowOverride disallows AuthConfig, users' + configuration designed to restrict access to a site will be disabled. + </div> + </dd> + + <dt><a href="overrides.html#override-options">Options</a>[=<var>Option</var>,...]</dt> + + <dd> + Allow use of the directives controlling specific directory + features (<code class="directive"><a href="#options">Options</a></code> and + <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). + An equal sign may be given followed by a comma-separated list, without + spaces, of options that may be set using the <code class="directive"><a href="#options">Options</a></code> command. + + <div class="note"><h3>Implicit disabling of Options</h3> + <p>Even though the list of options that may be used in .htaccess files + can be limited with this directive, as long as any <code class="directive"><a href="#options">Options</a></code> directive is allowed any + other inherited option can be disabled by using the non-relative + syntax. In other words, this mechanism cannot force a specific option + to remain <em>set</em> while allowing any others to be set. + </p></div> + + <div class="example"><p><code> + AllowOverride Options=Indexes,MultiViews + </code></p></div> + </dd> + </dl> + + <p>Example:</p> + + <pre class="prettyprint lang-config">AllowOverride AuthConfig Indexes</pre> + + + <p>In the example above, all directives that are neither in the group + <code>AuthConfig</code> nor <code>Indexes</code> cause an internal + server error.</p> + + <div class="note"><p>For security and performance reasons, do not set + <code>AllowOverride</code> to anything other than <code>None</code> + in your <code><Directory "/"></code> block. Instead, find (or + create) the <code><Directory></code> block that refers to the + directory where you're actually planning to place a + <code>.htaccess</code> file.</p> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +<li><a href="overrides.html">Override Class Index for .htaccess</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a> <a name="allowoverridelist" id="allowoverridelist">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowOverrideList None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>When the server finds an <code>.htaccess</code> file (as + specified by <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), + it needs to know which directives declared in that file can override + earlier configuration directives.</p> + + <div class="note"><h3>Only available in <Directory> sections</h3> + <code class="directive">AllowOverrideList</code> is valid only in + <code class="directive"><a href="#directory"><Directory></a></code> + sections specified without regular expressions, not in <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> or + <code class="directive"><a href="#files"><Files></a></code> sections. + </div> + + <p>When this directive is set to <code>None</code> and <code class="directive"><a href="#allowoverride">AllowOverride</a></code> is set to <code>None</code>, + then <a href="#accessfilename">.htaccess</a> files are completely + ignored. In this case, the server will not even attempt to read + <code>.htaccess</code> files in the filesystem.</p> + + <p>Example:</p> + + <pre class="prettyprint lang-config">AllowOverride None +AllowOverrideList Redirect RedirectMatch</pre> + + + <p>In the example above, only the <code>Redirect</code> and + <code>RedirectMatch</code> directives are allowed. All others will + cause an internal server error.</p> + + <p>Example:</p> + + <pre class="prettyprint lang-config">AllowOverride AuthConfig +AllowOverrideList CookieTracking CookieName</pre> + + + <p>In the example above, <code class="directive"><a href="#allowoverride">AllowOverride</a></code> + grants permission to the <code>AuthConfig</code> + directive grouping and <code class="directive">AllowOverrideList</code> grants + permission to only two directives from the <code>FileInfo</code> directive + grouping. All others will cause an internal server error.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique for locating the interpreter for CGI +scripts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIMapExtension <var>cgi-path</var> <var>.extension</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>NetWare only</td></tr> +</table> + <p>This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. For example, setting + <code>CGIMapExtension sys:\foo.nlm .foo</code> will + cause all CGI script files with a <code>.foo</code> extension to + be passed to the FOO interpreter.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a> <a name="cgipassauth" id="cgipassauth">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIPassAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CGIPassAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.13 and later</td></tr> +</table> + <p><code class="directive">CGIPassAuth</code> allows scripts access to HTTP + authorization headers such as <code>Authorization</code>, which is + required for scripts that implement HTTP Basic authentication. + Normally these HTTP headers are hidden from scripts. This is to disallow + scripts from seeing user ids and passwords used to access the server when + HTTP Basic authentication is enabled in the web server. This directive + should be used when scripts are allowed to implement HTTP Basic + authentication.</p> + + <p>This directive can be used instead of the compile-time setting + <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> which has been available + in previous versions of Apache HTTP Server.</p> + + <p>The setting is respected by any modules which use + <code>ap_add_common_vars()</code>, such as <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, + <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, + <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>, and so on. Notably, it affects + modules which don't handle the request in the usual sense but + still use this API; examples of this are <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + and <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. Third-party modules that don't + use <code>ap_add_common_vars()</code> may choose to respect the setting + as well.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIVar" id="CGIVar">CGIVar</a> <a name="cgivar" id="cgivar">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls how some CGI variables are set</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.21 and later</td></tr> +</table> + <p>This directive controls how some CGI variables are set.</p> + + <p><strong>REQUEST_URI</strong> rules:</p> + <dl> + <dt><code>original-uri</code> (default)</dt> + <dd>The value is taken from the original request line, and will not + reflect internal redirects or subrequests which change the requested + resource.</dd> + <dt><code>current-uri</code></dt> + <dd>The value reflects the resource currently being processed, + which may be different than the original request from the client + due to internal redirects or subrequests.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables the generation of <code>Content-MD5</code> HTTP Response +headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive enables the generation of + <code>Content-MD5</code> headers as defined in RFC1864 + respectively RFC2616.</p> + + <p>MD5 is an algorithm for computing a "message digest" + (sometimes called "fingerprint") of arbitrary-length data, with + a high degree of confidence that any alterations in the data + will be reflected in alterations in the message digest.</p> + + <p>The <code>Content-MD5</code> header provides an end-to-end + message integrity check (MIC) of the entity-body. A proxy or + client may check this header for detecting accidental + modification of the entity-body in transit. Example header:</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>Note that this can cause performance problems on your server + since the message digest is computed on every request (the + values are not cached).</p> + + <p><code>Content-MD5</code> is only sent for documents served + by the <code class="module"><a href="../mod/core.html">core</a></code>, and not by any module. For example, + SSI documents, output from CGI scripts, and byte range responses + do not have this header.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a> <a name="defaultruntimedir" id="defaultruntimedir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Base directory for the server run-time files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultRuntimeDir <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.2 and later</td></tr> +</table> + <p>The <code class="directive">DefaultRuntimeDir</code> directive sets the + directory in which the server will create various run-time files + (shared memory, locks, etc.). If set as a relative path, the full path + will be relative to <code class="directive">ServerRoot</code>.</p> + + <p><strong>Example</strong></p> + <pre class="prettyprint lang-config">DefaultRuntimeDir scratch/</pre> + + + <p>The default location of <code class="directive">DefaultRuntimeDir</code> may be + modified by changing the <code>DEFAULT_REL_RUNTIMEDIR</code> #define + at build time.</p> + + <p>Note: <code class="directive">ServerRoot</code> should be specified before this + directive is used. Otherwise, the default value of <code class="directive">ServerRoot</code> + would be used to set the base directory.</p> + + +<h3>See also</h3> +<ul> +<li><a href="../misc/security_tips.html#serverroot">the + security tips</a> for information on how to properly set + permissions on the <code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>This directive has no effect other than to emit warnings +if the value is not <code>none</code>. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultType <var>media-type|none</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DefaultType none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The argument <code>none</code> is available in Apache httpd 2.2.7 and later. All other choices are DISABLED for 2.3.x and later.</td></tr> +</table> + <p>This directive has been disabled. For backwards compatibility + of configuration files, it may be specified with the value + <code>none</code>, meaning no default media type. For example:</p> + + <pre class="prettyprint lang-config">DefaultType None</pre> + + + <p><code>DefaultType None</code> is only available in + httpd-2.2.7 and later.</p> + + <p>Use the mime.types configuration file and the + <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> to configure media + type assignments via file extensions, or the + <code class="directive"><a href="#forcetype">ForceType</a></code> directive to configure + the media type for specific resources. Otherwise, the server will + send the response without a Content-Type header field and the + recipient may attempt to guess the media type.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Define" id="Define">Define</a> <a name="define" id="define">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Define <var>parameter-name</var> [<var>parameter-value</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>In its one parameter form, <code class="directive">Define</code> is + equivalent to passing the <code>-D</code> argument to + <code class="program"><a href="../programs/httpd.html">httpd</a></code>. It can be used to toggle the use of + <code class="directive"><a href="#ifdefine"><IfDefine></a></code> + sections without needing to alter <code>-D</code> arguments in any + startup scripts.</p> + + <p>In addition to that, if the second parameter is given, a config variable + is set to this value. The variable can be used in the configuration using + the <code>${VAR}</code> syntax. The variable is always globally defined + and not limited to the scope of the surrounding config section.</p> + + <pre class="prettyprint lang-config"><IfDefine TEST> + Define servername test.example.com +</IfDefine> +<IfDefine !TEST> + Define servername www.example.com + Define SSL +</IfDefine> + +DocumentRoot "/var/www/${servername}/htdocs"</pre> + + + <p>Variable names may not contain colon ":" characters, to avoid clashes + with <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>'s syntax.</p> + + <div class="note"><h3>Virtual Host scope and pitfalls</h3> + <p>While this directive is supported in virtual host context, + the changes it makes are visible to any later configuration + directives, beyond any enclosing virtual host.</p> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#undefine">UnDefine</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Directory <var>directory-path</var>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Directory></code> and + <code></Directory></code> are used to enclose a group of + directives that will apply only to the named directory, + sub-directories of that directory, and the files within the respective + directories. Any directive that is allowed + in a directory context may be used. <var>Directory-path</var> is + either the full path to a directory, or a wild-card string using + Unix shell-style matching. In a wild-card string, <code>?</code> matches + any single character, and <code>*</code> matches any sequences of + characters. You may also use <code>[]</code> character ranges. None + of the wildcards match a `/' character, so <code><Directory + "/*/public_html"></code> will not match + <code>/home/user/public_html</code>, but <code><Directory + "/home/*/public_html"></code> will match. Example:</p> + + <pre class="prettyprint lang-config"><Directory "/usr/local/httpd/htdocs"> + Options Indexes FollowSymLinks +</Directory></pre> + + + <p>Directory paths <em>may</em> be quoted, if you like, however, it + <em>must</em> be quoted if the path contains spaces. This is because a + space would otherwise indicate the end of an argument.</p> + + <div class="note"> + <p>Be careful with the <var>directory-path</var> arguments: + They have to literally match the filesystem path which Apache httpd uses + to access the files. Directives applied to a particular + <code><Directory></code> will not apply to files accessed from + that same directory via a different path, such as via different symbolic + links.</p> + </div> + + <p><a class="glossarylink" href="../glossary.html#regex" title="see glossary">Regular + expressions</a> can also be used, with the addition of the + <code>~</code> character. For example:</p> + + <pre class="prettyprint lang-config"><Directory ~ "^/www/[0-9]{3}"> + +</Directory></pre> + + + <p>would match directories in <code>/www/</code> that consisted of + three numbers.</p> + + <p>If multiple (non-regular expression) <code class="directive"><Directory></code> sections + match the directory (or one of its parents) containing a document, + then the directives are applied in the order of shortest match + first, interspersed with the directives from the <a href="#accessfilename">.htaccess</a> files. For example, + with</p> + + <pre class="prettyprint lang-config"><Directory "/"> + AllowOverride None +</Directory> + +<Directory "/home"> + AllowOverride FileInfo +</Directory></pre> + + + <p>for access to the document <code>/home/web/dir/doc.html</code> + the steps are:</p> + + <ul> + <li>Apply directive <code>AllowOverride None</code> + (disabling <code>.htaccess</code> files).</li> + + <li>Apply directive <code>AllowOverride FileInfo</code> (for + directory <code>/home</code>).</li> + + <li>Apply any <code>FileInfo</code> directives in + <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> and + <code>/home/web/dir/.htaccess</code> in that order.</li> + </ul> + + <p>Regular expressions are not considered until after all of the + normal sections have been applied. Then all of the regular + expressions are tested in the order they appeared in the + configuration file. For example, with</p> + + <pre class="prettyprint lang-config"><Directory ~ "abc$"> + # ... directives here ... +</Directory></pre> + + + <p>the regular expression section won't be considered until after + all normal <code class="directive"><Directory></code>s and + <code>.htaccess</code> files have been applied. Then the regular + expression will match on <code>/home/abc/public_html/abc</code> and + the corresponding <code class="directive"><Directory></code> will + be applied.</p> + + <p><strong>Note that the default access for + <code><Directory "/"></code> is to permit all access. + This means that Apache httpd will serve any file mapped from an URL. It is + recommended that you change this with a block such + as</strong></p> + + <pre class="prettyprint lang-config"><Directory "/"> + Require all denied +</Directory></pre> + + + <p><strong>and then override this for directories you + <em>want</em> accessible. See the <a href="../misc/security_tips.html">Security Tips</a> page for more + details.</strong></p> + + <p>The directory sections occur in the <code>httpd.conf</code> file. + <code class="directive"><Directory></code> directives + cannot nest, and cannot appear in a <code class="directive"><a href="#limit"><Limit></a></code> or <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> section.</p> + +<h3>See also</h3> +<ul> +<li><a href="../sections.html">How <Directory>, + <Location> and <Files> sections work</a> for an + explanation of how these different sections are combined when a + request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose directives that apply to +the contents of file-system directories matching a regular expression.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><DirectoryMatch></code> and + <code></DirectoryMatch></code> are used to enclose a group + of directives which will apply only to the named directory (and the files within), + the same as <code class="directive"><a href="#directory"><Directory></a></code>. + However, it takes as an argument a + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>. For example:</p> + + <pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/"> + # ... +</DirectoryMatch></pre> + + + <p>matches directories in <code>/www/</code> (or any subdirectory thereof) + that consist of three numbers.</p> + + <div class="note"><h3>Compatibility</h3> + Prior to 2.3.9, this directive implicitly applied to sub-directories + (like <code class="directive"><a href="#directory"><Directory></a></code>) and + could not match the end of line symbol ($). In 2.3.9 and later, + only directories that match the expression are affected by the enclosed + directives. + </div> + + <div class="note"><h3>Trailing Slash</h3> + This directive applies to requests for directories that may or may + not end in a trailing slash, so expressions that are anchored to the + end of line ($) must be written with care. + </div> + + <p>From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of paths to be referenced + from within <a href="../expr.html">expressions</a> and modules like + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.</p> + + <pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</DirectoryMatch></pre> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#directory"><Directory></a></code> for +a description of how regular expressions are mixed in with normal +<code class="directive"><Directory></code>s</li> +<li><a href="../sections.html">How <Directory>, <Location> and +<Files> sections work</a> for an explanation of how these different +sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory that forms the main document tree visible +from the web</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DocumentRoot <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DocumentRoot "/usr/local/apache/htdocs"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive sets the directory from which <code class="program"><a href="../programs/httpd.html">httpd</a></code> + will serve files. Unless matched by a directive like <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, the server appends the + path from the requested URL to the document root to make the + path to the document. Example:</p> + + <pre class="prettyprint lang-config">DocumentRoot "/usr/web"</pre> + + + <p>then an access to + <code>http://my.example.com/index.html</code> refers to + <code>/usr/web/index.html</code>. If the <var>directory-path</var> is + not absolute then it is assumed to be relative to the <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <p>The <code class="directive">DocumentRoot</code> should be specified without + a trailing slash.</p> + +<h3>See also</h3> +<ul> +<li><a href="../urlmapping.html#documentroot">Mapping URLs to Filesystem +Locations</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Else" id="Else"><Else></a> <a name="else" id="else">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply only if the condition of a +previous <code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><a href="#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Else> ... </Else></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table> + <p>The <code class="directive"><Else></code> applies the enclosed + directives if and only if the most recent + <code class="directive"><If></code> or + <code class="directive"><ElseIf></code> section + in the same scope has not been applied. + For example: In </p> + + <pre class="prettyprint lang-config"><If "-z req('Host')"> + # ... +</If> +<Else> + # ... +</Else></pre> + + + <p> The <code class="directive"><If></code> would match HTTP/1.0 + requests without a <var>Host:</var> header and the + <code class="directive"><Else></code> would match requests + with a <var>Host:</var> header.</p> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ElseIf" id="ElseIf"><ElseIf></a> <a name="elseif" id="elseif">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table> + <p>The <code class="directive"><ElseIf></code> applies the enclosed + directives if and only if both the given condition evaluates to true and + the most recent <code class="directive"><If></code> or + <code class="directive"><ElseIf></code> section in the same scope has + not been applied. For example: In </p> + + <pre class="prettyprint lang-config"><If "-R '10.1.0.0/16'"> + #... +</If> +<ElseIf "-R '10.0.0.0/8'"> + #... +</ElseIf> +<Else> + #... +</Else></pre> + + + <p>The <code class="directive"><ElseIf></code> would match if + the remote address of a request belongs to the subnet 10.0.0.0/8 but + not to the subnet 10.1.0.0/16.</p> + + +<h3>See also</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use memory-mapping to read files during delivery</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive controls whether the <code class="program"><a href="../programs/httpd.html">httpd</a></code> may use + memory-mapping if it needs to read the contents of a file during + delivery. By default, when the handling of a request requires + access to the data within a file -- for example, when delivering a + server-parsed file using <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd + memory-maps the file if the OS supports it.</p> + + <p>This memory-mapping sometimes yields a performance improvement. + But in some environments, it is better to disable the memory-mapping + to prevent operational problems:</p> + + <ul> + <li>On some multiprocessor systems, memory-mapping can reduce the + performance of the <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li> + <li>Deleting or truncating a file while <code class="program"><a href="../programs/httpd.html">httpd</a></code> + has it memory-mapped can cause <code class="program"><a href="../programs/httpd.html">httpd</a></code> to + crash with a segmentation fault. + </li> + </ul> + + <p>For server configurations that are vulnerable to these problems, + you should disable memory-mapping of delivered files by specifying:</p> + + <pre class="prettyprint lang-config">EnableMMAP Off</pre> + + + <p>For NFS mounted files, this feature may be disabled explicitly for + the offending files by specifying:</p> + + <pre class="prettyprint lang-config"><Directory "/path-to-nfs-files"> + EnableMMAP Off +</Directory></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the kernel sendfile support to deliver files to the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>EnableSendfile Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Default changed to Off in +version 2.3.9.</td></tr> +</table> + <p>This directive controls whether <code class="program"><a href="../programs/httpd.html">httpd</a></code> may use the + sendfile support from the kernel to transmit file contents to the client. + By default, when the handling of a request requires no access + to the data within a file -- for example, when delivering a + static file -- Apache httpd uses sendfile to deliver the file contents + without ever reading the file if the OS supports it.</p> + + <p>This sendfile mechanism avoids separate read and send operations, + and buffer allocations. But on some platforms or within some + filesystems, it is better to disable this feature to avoid + operational problems:</p> + + <ul> + <li>Some platforms may have broken sendfile support that the build + system did not detect, especially if the binaries were built on + another box and moved to such a machine with broken sendfile + support.</li> + <li>On Linux the use of sendfile triggers TCP-checksum + offloading bugs on certain networking cards when using IPv6.</li> + <li>On Linux on Itanium, <code>sendfile</code> may be unable to handle + files over 2GB in size.</li> + <li>With a network-mounted <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (e.g., NFS, SMB, CIFS, FUSE), + the kernel may be unable to serve the network file through + its own cache.</li> + </ul> + + <p>For server configurations that are not vulnerable to these problems, + you may enable this feature by specifying:</p> + + <pre class="prettyprint lang-config">EnableSendfile On</pre> + + + <p>For network mounted files, this feature may be disabled explicitly + for the offending files by specifying:</p> + + <pre class="prettyprint lang-config"><Directory "/path-to-nfs-files"> + EnableSendfile Off +</Directory></pre> + + <p>Please note that the per-directory and .htaccess configuration + of <code class="directive">EnableSendfile</code> is not supported by + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. + Only global definition of <code class="directive">EnableSendfile</code> + is taken into account by the module. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Error" id="Error">Error</a> <a name="error" id="error">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Abort configuration parsing with a custom error message</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Error <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.3.9 and later</td></tr> +</table> + <p>If an error can be detected within the configuration, this + directive can be used to generate a custom error message, and halt + configuration parsing. The typical use is for reporting required + modules which are missing from the configuration.</p> + + <pre class="prettyprint lang-config"># Example +# ensure that mod_include is loaded +<IfModule !include_module> + Error "mod_include is required by mod_foo. Load it with LoadModule." +</IfModule> + +# ensure that exactly one of SSL,NOSSL is defined +<IfDefine SSL> +<IfDefine NOSSL> + Error "Both SSL and NOSSL are defined. Define only one of them." +</IfDefine> +</IfDefine> +<IfDefine !SSL> +<IfDefine !NOSSL> + Error "Either SSL or NOSSL must be defined." +</IfDefine> +</IfDefine></pre> + + + <div class="warning"><h3>Note</h3> + <p> This directive is evaluated and configuration processing time, + not at runtime. As a result, this directive cannot be conditonally + evaluated by enclosing it in an <code class="directive"><a href="#if"><If></a></code> section.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>What the server will return to the client +in case of an error</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ErrorDocument <var>error-code</var> <var>document</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>In the event of a problem or error, Apache httpd can be configured + to do one of four things,</p> + + <ol> + <li>output a simple hardcoded error message</li> + + <li>output a customized message</li> + + <li>internally redirect to a local <var>URL-path</var> to handle the + problem/error</li> + + <li>redirect to an external <var>URL</var> to handle the + problem/error</li> + </ol> + + <p>The first option is the default, while options 2-4 are + configured using the <code class="directive">ErrorDocument</code> + directive, which is followed by the HTTP response code and a URL + or a message. Apache httpd will sometimes offer additional information + regarding the problem/error.</p> + + <p>From 2.4.13, <a href="../expr.html">expression syntax</a> can be + used inside the directive to produce dynamic strings and URLs.</p> + + <p>URLs can begin with a slash (/) for local web-paths (relative + to the <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), or be a + full URL which the client can resolve. Alternatively, a message + can be provided to be displayed by the browser. Note that deciding + whether the parameter is an URL, a path or a message is performed + before any expression is parsed. Examples:</p> + + <pre class="prettyprint lang-config">ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi +ErrorDocument 404 /errors/bad_urls.php +ErrorDocument 401 /subscription_info.html +ErrorDocument 403 "Sorry, can't allow you access today" +ErrorDocument 403 Forbidden! +ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}</pre> + + + <p>Additionally, the special value <code>default</code> can be used + to specify Apache httpd's simple hardcoded message. While not required + under normal circumstances, <code>default</code> will restore + Apache httpd's simple hardcoded message for configurations that would + otherwise inherit an existing <code class="directive">ErrorDocument</code>.</p> + + <pre class="prettyprint lang-config">ErrorDocument 404 /cgi-bin/bad_urls.pl + +<Directory "/web/docs"> + ErrorDocument 404 default +</Directory></pre> + + + <p>Note that when you specify an <code class="directive">ErrorDocument</code> + that points to a remote URL (ie. anything with a method such as + <code>http</code> in front of it), Apache HTTP Server will send a redirect to the + client to tell it where to find the document, even if the + document ends up being on the same server. This has several + implications, the most important being that the client will not + receive the original error status code, but instead will + receive a redirect status code. This in turn can confuse web + robots and other clients which try to determine if a URL is + valid using the status code. In addition, if you use a remote + URL in an <code>ErrorDocument 401</code>, the client will not + know to prompt the user for a password since it will not + receive the 401 status code. Therefore, <strong>if you use an + <code>ErrorDocument 401</code> directive, then it must refer to a local + document.</strong></p> + + <p>Microsoft Internet Explorer (MSIE) will by default ignore + server-generated error messages when they are "too small" and substitute + its own "friendly" error messages. The size threshold varies depending on + the type of error, but in general, if you make your error document + greater than 512 bytes, then MSIE will show the server-generated + error rather than masking it. More information is available in + Microsoft Knowledge Base article <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p> + + <p>Although most error messages can be overridden, there are certain + circumstances where the internal messages are used regardless of the + setting of <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. In + particular, if a malformed request is detected, normal request processing + will be immediately halted and the internal error message returned. + This is necessary to guard against security problems caused by + bad requests.</p> + + <p>If you are using mod_proxy, you may wish to enable + <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> so that you can provide + custom error messages on behalf of your Origin servers. If you don't enable ProxyErrorOverride, + Apache httpd will not generate custom error documents for proxied content.</p> + +<h3>See also</h3> +<ul> +<li><a href="../custom-error.html">documentation of + customizable responses</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location where the server will log errors</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ErrorLog</code> directive sets the name of + the file to which the server will log any errors it encounters. If + the <var>file-path</var> is not absolute then it is assumed to be + relative to the <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <pre class="prettyprint lang-config">ErrorLog "/var/log/httpd/error_log"</pre> + + + <p>If the <var>file-path</var> + begins with a pipe character "<code>|</code>" then it is assumed to be a + command to spawn to handle the error log.</p> + + <pre class="prettyprint lang-config">ErrorLog "|/usr/local/bin/httpd_errors"</pre> + + + <p>See the notes on <a href="../logs.html#piped">piped logs</a> for + more information.</p> + + <p>Using <code>syslog</code> instead of a filename enables logging + via syslogd(8) if the system supports it. The default is to use + syslog facility <code>local7</code>, but you can override this by + using the <code>syslog:<var>facility</var></code> syntax where + <var>facility</var> can be one of the names usually documented in + syslog(1). The facility is effectively global, and if it is changed + in individual virtual hosts, the final facility specified affects the + entire server. Same rules apply for the syslog tag, which by default + uses the Apache binary name, <code>httpd</code> in most cases. You can + also override this by using the <code>syslog::<var>tag</var></code> + syntax.</p> + + <pre class="prettyprint lang-config">ErrorLog syslog:user +ErrorLog syslog:user:httpd.srv1 +ErrorLog syslog::httpd.srv2</pre> + + + <p>SECURITY: See the <a href="../misc/security_tips.html#serverroot">security tips</a> + document for details on why your security could be compromised + if the directory where log files are stored is writable by + anyone other than the user that starts the server.</p> + <div class="warning"><h3>Note</h3> + <p>When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashes are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.</p> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a> <a name="errorlogformat" id="errorlogformat">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Format specification for error log entries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> ErrorLogFormat [connection|request] <var>format</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ErrorLogFormat</code> allows to specify what + supplementary information is logged in the error log in addition to the + actual log message.</p> + + <pre class="prettyprint lang-config">#Simple example +ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"</pre> + + + <p>Specifying <code>connection</code> or <code>request</code> as first + parameter allows to specify additional formats, causing additional + information to be logged when the first message is logged for a specific + connection or request, respectively. This additional information is only + logged once per connection/request. If a connection or request is processed + without causing any log message, the additional information is not logged + either.</p> + + <p>It can happen that some format string items do not produce output. For + example, the Referer header is only present if the log message is + associated to a request and the log message happens at a time when the + Referer header has already been read from the client. If no output is + produced, the default behavior is to delete everything from the preceding + space character to the next space character. This means the log line is + implicitly divided into fields on non-whitespace to whitespace transitions. + If a format string item does not produce output, the whole field is + omitted. For example, if the remote address <code>%a</code> in the log + format <code>[%t] [%l] [%a] %M </code> is not available, the surrounding + brackets are not logged either. Space characters can be escaped with a + backslash to prevent them from delimiting a field. The combination '% ' + (percent space) is a zero-width field delimiter that does not produce any + output.</p> + + <p>The above behavior can be changed by adding modifiers to the format + string item. A <code>-</code> (minus) modifier causes a minus to be logged if the + respective item does not produce any output. In once-per-connection/request + formats, it is also possible to use the <code>+</code> (plus) modifier. If an + item with the plus modifier does not produce any output, the whole line is + omitted.</p> + + <p>A number as modifier can be used to assign a log severity level to a + format item. The item will only be logged if the severity of the log + message is not higher than the specified log severity level. The number can + range from 1 (alert) over 4 (warn) and 7 (debug) to 15 (trace8).</p> + + <p>For example, here's what would happen if you added modifiers to + the <code>%{Referer}i</code> token, which logs the + <code>Referer</code> request header.</p> + + <table class="bordered"><tr class="header"><th>Modified Token</th><th>Meaning</th></tr> +<tr> + <td><code>%-{Referer}i</code></td> + <td>Logs a <code>-</code> if <code>Referer</code> is not set.</td> + </tr> +<tr class="odd"> + <td><code>%+{Referer}i</code></td> + <td>Omits the entire line if <code>Referer</code> is not set.</td> + </tr> +<tr> + <td><code>%4{Referer}i</code></td> + <td>Logs the <code>Referer</code> only if the log message severity + is higher than 4.</td> + </tr> +</table> + + <p>Some format string items accept additional parameters in braces.</p> + + <table class="bordered"><tr class="header"><th>Format String</th> <th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>The percent sign</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>Client IP address and port of the request</td></tr> +<tr><td><code>%{c}a</code></td> + <td>Underlying peer IP address and port of the connection (see the + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> module)</td></tr> +<tr class="odd"><td><code>%A</code></td> + <td>Local IP-address and port</td></tr> +<tr><td><code>%{<em>name</em>}e</code></td> + <td>Request environment variable <em>name</em></td></tr> +<tr class="odd"><td><code>%E</code></td> + <td>APR/OS error status code and string</td></tr> +<tr><td><code>%F</code></td> + <td>Source file name and line number of the log call</td></tr> +<tr class="odd"><td><code>%{<em>name</em>}i</code></td> + <td>Request header <em>name</em></td></tr> +<tr><td><code>%k</code></td> + <td>Number of keep-alive requests on this connection</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>Loglevel of the message</td></tr> +<tr><td><code>%L</code></td> + <td>Log ID of the request</td></tr> +<tr class="odd"><td><code>%{c}L</code></td> + <td>Log ID of the connection</td></tr> +<tr><td><code>%{C}L</code></td> + <td>Log ID of the connection if used in connection scope, empty otherwise</td></tr> +<tr class="odd"><td><code>%m</code></td> + <td>Name of the module logging the message</td></tr> +<tr><td><code>%M</code></td> + <td>The actual log message</td></tr> +<tr class="odd"><td><code>%{<em>name</em>}n</code></td> + <td>Request note <em>name</em></td></tr> +<tr><td><code>%P</code></td> + <td>Process ID of current process</td></tr> +<tr class="odd"><td><code>%T</code></td> + <td>Thread ID of current thread</td></tr> +<tr><td><code>%{g}T</code></td> + <td>System unique thread ID of current thread (the same ID as + displayed by e.g. <code>top</code>; currently Linux only)</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>The current time</td></tr> +<tr><td><code>%{u}t</code></td> + <td>The current time including micro-seconds</td></tr> +<tr class="odd"><td><code>%{cu}t</code></td> + <td>The current time in compact ISO 8601 format, including + micro-seconds</td></tr> +<tr><td><code>%v</code></td> + <td>The canonical <code class="directive"><a href="#servername">ServerName</a></code> + of the current server.</td></tr> +<tr class="odd"><td><code>%V</code></td> + <td>The server name of the server serving the request according to the + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> + setting.</td></tr> +<tr><td><code>\ </code> (backslash space)</td> + <td>Non-field delimiting space</td></tr> +<tr class="odd"><td><code>% </code> (percent space)</td> + <td>Field delimiter (no output)</td></tr> +</table> + + <p>The log ID format <code>%L</code> produces a unique id for a connection + or request. This can be used to correlate which log lines belong to the + same connection or request, which request happens on which connection. + A <code>%L</code> format string is also available in + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> to allow to correlate access log entries + with error log lines. If <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> is loaded, its + unique id will be used as log ID for requests.</p> + + <pre class="prettyprint lang-config">#Example (default format for threaded MPMs) +ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre> + + + <p>This would result in error messages such as:</p> + + <div class="example"><p><code> + [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico + </code></p></div> + + <p>Notice that, as discussed above, some fields are omitted + entirely because they are not defined.</p> + + <pre class="prettyprint lang-config">#Example (similar to the 2.2.x format) +ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre> + + + <pre class="prettyprint lang-config">#Advanced example with request/connection log IDs +ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M" +ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T" +ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'" +ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'" +ErrorLogFormat connection "[%{uc}t] [C:%{c}L] remote\ %a local\ %A"</pre> + + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a> <a name="extendedstatus" id="extendedstatus">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Keep track of extended status information for each +request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExtendedStatus On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ExtendedStatus Off[*]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This option tracks additional data per worker about the + currently executing request and creates a utilization summary. + You can see these variables during runtime by configuring + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Note that other modules may + rely on this scoreboard.</p> + + <p>This setting applies to the entire server and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis. + The collection of extended status information can slow down + the server. Also note that this setting cannot be changed + during a graceful restart.</p> + + <div class="note"> + <p>Note that loading <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> will change + the default behavior to ExtendedStatus On, while other + third party modules may do the same. Such modules rely on + collecting detailed information about the state of all workers. + The default is changed by <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> beginning + with version 2.3.6. The previous default was always Off.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File attributes used to create the ETag +HTTP response header for static files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FileETag <var>component</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FileETag MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The default used to be "INode MTime Size" in 2.3.14 and +earlier.</td></tr> +</table> + <p> + The <code class="directive">FileETag</code> directive configures the file + attributes that are used to create the <code>ETag</code> (entity + tag) response header field when the document is based on a static file. + (The <code>ETag</code> value is used in cache management to save + network bandwidth.) The + <code class="directive">FileETag</code> directive allows you to choose + which of these -- if any -- should be used. The recognized keywords are: + </p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>The file's i-node number will be included in the calculation</dd> + <dt><strong>MTime</strong></dt> + <dd>The date and time the file was last modified will be included</dd> + <dt><strong>Size</strong></dt> + <dd>The number of bytes in the file will be included</dd> + <dt><strong>All</strong></dt> + <dd>All available fields will be used. This is equivalent to: + <pre class="prettyprint lang-config">FileETag INode MTime Size</pre> +</dd> + <dt><strong>Digest</strong></dt> + <dd>If a document is file-based, the <code>ETag</code> field will be + calculated by taking the digest over the file.</dd> + <dt><strong>None</strong></dt> + <dd>If a document is file-based, no <code>ETag</code> field will be + included in the response</dd> + </dl> + + <p>The <code>INode</code>, <code>MTime</code>, <code>Size</code> and + <code>Digest</code> keywords may be prefixed with either <code>+</code> + or <code>-</code>, which allow changes to be made to the default setting + inherited from a broader scope. Any keyword appearing without such a prefix + immediately and completely cancels the inherited setting.</p> + + <p>If a directory's configuration includes + <code>FileETag INode MTime Size</code>, and a + subdirectory's includes <code>FileETag -INode</code>, + the setting for that subdirectory (which will be inherited by + any sub-subdirectories that don't override it) will be equivalent to + <code>FileETag MTime Size</code>.</p> + <div class="note"><h3>Server Side Includes</h3> + An ETag is not generated for responses parsed by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + since the response entity can change without a change of the INode, MTime, + Size or Digest of the static file with embedded SSI directives. + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Files" id="Files"><Files></a> <a name="files" id="files">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply to matched +filenames</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Files <var>filename</var>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><Files></code> directive + limits the scope of the enclosed directives by filename. It is comparable + to the <code class="directive"><a href="#directory"><Directory></a></code> + and <code class="directive"><a href="#location"><Location></a></code> + directives. It should be matched with a <code></Files></code> + directive. The directives given within this section will be applied to + any object with a basename (last component of filename) matching the + specified filename. <code class="directive"><Files></code> + sections are processed in the order they appear in the + configuration file, after the <code class="directive"><a href="#directory"><Directory></a></code> sections and + <code>.htaccess</code> files are read, but before <code class="directive"><a href="#location"><Location></a></code> sections. Note + that <code class="directive"><Files></code> can be nested + inside <code class="directive"><a href="#directory"><Directory></a></code> sections to restrict the + portion of the filesystem they apply to.</p> + + <p>The <var>filename</var> argument should include a filename, or + a wild-card string, where <code>?</code> matches any single character, + and <code>*</code> matches any sequences of characters.</p> + <pre class="prettyprint lang-config"><Files "cat.html"> + # Insert stuff that applies to cat.html here +</Files> + +<Files "?at.*"> + # This would apply to cat.html, bat.html, hat.php and so on. +</Files></pre> + + <p><a class="glossarylink" href="../glossary.html#regex" title="see glossary">Regular expressions</a> + can also be used, with the addition of the + <code>~</code> character. For example:</p> + + <pre class="prettyprint lang-config"><Files ~ "\.(gif|jpe?g|png)$"> + #... +</Files></pre> + + + <p>would match most common Internet graphics formats. <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> is preferred, + however.</p> + + <p>Note that unlike <code class="directive"><a href="#directory"><Directory></a></code> and <code class="directive"><a href="#location"><Location></a></code> sections, <code class="directive"><Files></code> sections can be used inside + <code>.htaccess</code> files. This allows users to control access to + their own files, at a file-by-file level.</p> + + +<h3>See also</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a> <a name="filesmatch" id="filesmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply to regular-expression matched +filenames</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><FilesMatch <var>regex</var>> ... </FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><FilesMatch></code> directive + limits the scope of the enclosed directives by filename, just as the + <code class="directive"><a href="#files"><Files></a></code> directive + does. However, it accepts a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular + expression</a>. For example:</p> + + <pre class="prettyprint lang-config"><FilesMatch ".+\.(gif|jpe?g|png)$"> + # ... +</FilesMatch></pre> + + + <p>would match most common Internet graphics formats.</p> + + <div class="note">The <code>.+</code> at the start of the regex ensures that + files named <code>.png</code>, or <code>.gif</code>, for example, + are not matched.</div> + + <p>From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of files to be referenced + from within <a href="../expr.html">expressions</a> and modules like + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.</p> + + <pre class="prettyprint lang-config"><FilesMatch "^(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</FilesMatch></pre> + + +<h3>See also</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxPipelined" id="FlushMaxPipelined">FlushMaxPipelined</a> <a name="flushmaxpipelined" id="flushmaxpipelined">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FlushMaxPipelined <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FlushMaxPipelined 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.47 and later</td></tr> +</table> + <p>This directive allows to configure the maximum number of pipelined + responses, which remain pending so long as pipelined request are received. + When the limit is reached, responses are forcibly flushed to the network in + blocking mode, until passing under the limit again.</p> + + <p><code class="directive">FlushMaxPipelined</code> helps constraining memory + usage. When set to <code>0</code> pipelining is disabled, when set to + <code>-1</code> there is no limit (<code class="directive"><a href="#flushmaxthreshold">FlushMaxThreshold</a></code> + still applies).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxThreshold" id="FlushMaxThreshold">FlushMaxThreshold</a> <a name="flushmaxthreshold" id="flushmaxthreshold">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Threshold above which pending data are flushed to the +network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FlushMaxThreshold <var>number-of-bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FlushMaxThreshold 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.47 and later</td></tr> +</table> + <p>This directive allows to configure the threshold for pending output + data (in bytes). When the limit is reached, data are forcibly flushed to + the network in blocking mode, until passing under the limit again.</p> + + <p><code class="directive">FlushMaxThreshold</code> helps constraining memory + usage. When set to <code>0</code> or a too small value there are actually + no pending data, but for threaded MPMs there can be more threads busy + waiting for the network thus less ones available to handle the other + simultaneous connections.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ForceType <var>media-type</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>When placed into an <code>.htaccess</code> file or a + <code class="directive"><a href="#directory"><Directory></a></code>, or + <code class="directive"><a href="#location"><Location></a></code> or + <code class="directive"><a href="#files"><Files></a></code> + section, this directive forces all matching files to be served + with the content type identification given by + <var>media-type</var>. For example, if you had a directory full of + GIF files, but did not want to label them all with <code>.gif</code>, + you might want to use:</p> + + <pre class="prettyprint lang-config">ForceType image/gif</pre> + + + <p>Note that this directive overrides other indirect media type + associations defined in mime.types or via the + <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p> + + <p>You can also override more general + <code class="directive">ForceType</code> settings + by using the value of <code>None</code>:</p> + + <pre class="prettyprint lang-config"># force all files to be image/gif: +<Location "/images"> + ForceType image/gif +</Location> + +# but normal mime-type associations here: +<Location "/images/mixed"> + ForceType None +</Location></pre> + + + <p>This directive primarily overrides the content types generated for + static files served out of the filesystem. For resources other than + static files, where the generator of the response typically specifies + a Content-Type, this directive has no effect.</p> + + <div class="note"><h3>Note</h3> + <p>When explicit directives such as + <code class="directive"><a href="#sethandler">SetHandler</a></code> or + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> do not apply + to the current request, the internal handler name normally set by those + directives is set to match the content type specified by this directive. + This is a historical behavior that some third-party modules + (such as mod_php) may use "magic" content types used only to signal the + module to take responsibility for the matching request. Configurations + that rely on such "magic" types should be avoided by the use of + <code class="directive"><a href="#sethandler">SetHandler</a></code> or + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>. </p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory to write gmon.out profiling data to. </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>When the server has been compiled with gprof profiling support, + <code class="directive">GprofDir</code> causes <code>gmon.out</code> files to + be written to the specified directory when the process exits. If the + argument ends with a percent symbol ('%'), subdirectories are created + for each process id.</p> + + <p>This directive currently only works with the <code class="module"><a href="../mod/prefork.html">prefork</a></code> + MPM.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables DNS lookups on client IP addresses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive enables DNS lookups so that host names can be + logged (and passed to CGIs/SSIs in <code>REMOTE_HOST</code>). + The value <code>Double</code> refers to doing double-reverse + DNS lookup. That is, after a reverse lookup is performed, a forward + lookup is then performed on that result. At least one of the IP + addresses in the forward lookup must match the original + address. (In "tcpwrappers" terminology this is called + <code>PARANOID</code>.)</p> + + <p>Regardless of the setting, when <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> is + used for controlling access by hostname, a double reverse lookup + will be performed. This is necessary for security. Note that the + result of this double-reverse isn't generally available unless you + set <code>HostnameLookups Double</code>. For example, if only + <code>HostnameLookups On</code> and a request is made to an object + that is protected by hostname restrictions, regardless of whether + the double-reverse fails or not, CGIs will still be passed the + single-reverse result in <code>REMOTE_HOST</code>.</p> + + <p>The default is <code>Off</code> in order to save the network + traffic for those sites that don't truly need the reverse + lookups done. It is also better for the end users because they + don't have to suffer the extra latency that a lookup entails. + Heavily loaded sites should leave this directive + <code>Off</code>, since DNS lookups can take considerable + amounts of time. The utility <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compiled by + default to the <code>bin</code> subdirectory of your installation + directory, can be used to look up host names from logged IP addresses + offline.</p> + + <p>Finally, if you have <a href="mod_authz_host.html#reqhost">hostname-based Require + directives</a>, a hostname lookup will be performed regardless of + the setting of <code class="directive">HostnameLookups</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a> <a name="httpprotocoloptions" id="httpprotocoloptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modify restrictions on HTTP Request Messages</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.2.32 or 2.4.24 and later</td></tr> +</table> + <p>This directive changes the rules applied to the HTTP Request Line + (<a href="https://tools.ietf.org/html/rfc7230#section-3.1.1">RFC 7230 §3.1.1</a>) and the HTTP Request Header Fields + (<a href="https://tools.ietf.org/html/rfc7230#section-3.2">RFC 7230 §3.2</a>), which are now applied by default or using + the <code>Strict</code> option. Due to legacy modules, applications or + custom user-agents which must be deprecated the <code>Unsafe</code> + option has been added to revert to the legacy behaviors.</p> + + <p>These rules are applied prior to request processing, + so must be configured at the global or default (first) matching + virtual host section, by IP/port interface (and not by name) + to be honored.</p> + + <p>The directive accepts three parameters from the following list + of choices, applying the default to the ones not specified:</p> + + <dl> + <dt>Strict|Unsafe</dt> + <dd> + <p>Prior to the introduction of this directive, the Apache HTTP Server + request message parsers were tolerant of a number of forms of input + which did not conform to the protocol. + <a href="https://tools.ietf.org/html/rfc7230#section-9.4">RFC 7230 §9.4 Request Splitting</a> and + <a href="https://tools.ietf.org/html/rfc7230#section-9.5">§9.5 Response Smuggling</a> call out only two of the potential + risks of accepting non-conformant request messages, while + <a href="https://tools.ietf.org/html/rfc7230#section-3.5">RFC 7230 §3.5</a> "Message Parsing Robustness" identify the + risks of accepting obscure whitespace and request message formatting. + As of the introduction of this directive, all grammar rules of the + specification are enforced in the default <code>Strict</code> operating + mode, and the strict whitespace suggested by section 3.5 is enforced + and cannot be relaxed.</p> + + <div class="warning"><h3>Security risks of Unsafe</h3> + <p>Users are strongly cautioned against toggling the <code>Unsafe</code> + mode of operation, particularly on outward-facing, publicly accessible + server deployments. If an interface is required for faulty monitoring + or other custom service consumers running on an intranet, users should + toggle the Unsafe option only on a specific virtual host configured + to service their internal private network.</p> + </div> + + <div class="example"><h3>Example of a request leading to HTTP 400 with Strict mode</h3><p><code> + + # Missing CRLF<br /> + GET / HTTP/1.0\n\n + </code></p></div> + <div class="warning"><h3>Command line tools and CRLF</h3> + <p>Some tools need to be forced to use CRLF, otherwise httpd will return + a HTTP 400 response like described in the above use case. For example, + the <strong>OpenSSL s_client needs the -crlf parameter to work + properly</strong>.</p> + <p>The <code class="directive"><a href="../mod/mod_dumpio.html#dumpioinput">DumpIOInput</a></code> directive + can help while reviewing the HTTP request to identify issues like the + absence of CRLF.</p> + </div> + </dd> + <dt>RegisteredMethods|LenientMethods</dt> + <dd> + <p><a href="https://tools.ietf.org/html/rfc7231#section-4.1">RFC 7231 §4.1</a> "Request Methods" "Overview" requires that + origin servers shall respond with a HTTP 501 status code when an + unsupported method is encountered in the request line. + This already happens when the <code>LenientMethods</code> option is used, + but administrators may wish to toggle the <code>RegisteredMethods</code> + option and register any non-standard methods using the + <code class="directive"><a href="#registerhttpmethod">RegisterHttpMethod</a></code> + directive, particularly if the <code>Unsafe</code> + option has been toggled.</p> + + <div class="warning"><h3>Forward Proxy compatibility</h3> + <p>The <code>RegisteredMethods</code> option should <strong>not</strong> + be toggled for forward proxy hosts, as the methods supported by the + origin servers are unknown to the proxy server.</p> + </div> + + <div class="example"><h3>Example of a request leading to HTTP 501 with LenientMethods mode</h3><p><code> + + # Unknown HTTP method<br /> + WOW / HTTP/1.0\r\n\r\n<br /><br /> + # Lowercase HTTP method<br /> + get / HTTP/1.0\r\n\r\n<br /> + </code></p></div> + </dd> + <dt>Allow0.9|Require1.0</dt> + <dd> + <p><a href="https://tools.ietf.org/html/rfc2616#section-19.6">RFC 2616 §19.6</a> "Compatibility With Previous Versions" had + encouraged HTTP servers to support legacy HTTP/0.9 requests. RFC 7230 + supersedes this with "The expectation to support HTTP/0.9 requests has + been removed" and offers additional comments in + <a href="https://tools.ietf.org/html/rfc7230#appendix-A">RFC 7230 Appendix A</a>. The <code>Require1.0</code> option allows + the user to remove support of the default <code>Allow0.9</code> option's + behavior.</p> + + <div class="example"><h3>Example of a request leading to HTTP 400 with Require1.0 mode</h3><p><code> + + # Unsupported HTTP version<br /> + GET /\r\n\r\n + </code></p></div> + </dd> + </dl> + <p>Reviewing the messages logged to the + <code class="directive"><a href="#errorlog">ErrorLog</a></code>, configured with + <code class="directive"><a href="#loglevel">LogLevel</a></code> <code>debug</code> level, + can help identify such faulty requests along with their origin. + Users should pay particular attention to the 400 responses in the access + log for invalid requests which were unexpectedly rejected.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="If" id="If"><If></a> <a name="if" id="if">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table> + <p>The <code class="directive"><If></code> directive + evaluates an expression at runtime, and applies the enclosed + directives if and only if the expression evaluates to true. + For example:</p> + + <pre class="prettyprint lang-config"><If "-z req('Host')"></pre> + + + <p>would match HTTP/1.0 requests without a <var>Host:</var> header. + Expressions may contain various shell-like operators for string + comparison (<code>==</code>, <code>!=</code>, <code><</code>, ...), + integer comparison (<code>-eq</code>, <code>-ne</code>, ...), + and others (<code>-n</code>, <code>-z</code>, <code>-f</code>, ...). + It is also possible to use regular expressions, </p> + + <pre class="prettyprint lang-config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></pre> + + + <p>shell-like pattern matches and many other operations. These operations + can be done on request headers (<code>req</code>), environment variables + (<code>env</code>), and a large number of other properties. The full + documentation is available in <a href="../expr.html">Expressions in + Apache HTTP Server</a>.</p> + + <p>Only directives that support the <a href="directive-dict.html#Context">directory context</a> can be used within this configuration section.</p> + + <div class="warning"> + Certain variables, such as <code>CONTENT_TYPE</code> and other + response headers, are set after <If> conditions have already + been evaluated, and so will not be available to use in this + directive. + </div> + + <div class="warning"> + Directives that take affect during configuration parsing, such as + <code class="directive">Define</code>, <code class="directive">Include</code>, and + <code class="directive">Error</code> cannot be made conditional by enclosing + them in an if <code class="directive"><If></code> configuration + section. These sections are always part of the configuration, + regardless of how they evaluate at runtime. + </div> + + + +<h3>See also</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a> <a name="ifdefine" id="ifdefine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that will be processed only +if a test is true at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code><IfDefine <var>test</var>>...</IfDefine> + </code> section is used to mark directives that are conditional. The + directives within an <code class="directive"><IfDefine></code> + section are only processed if the <var>test</var> is true. If <var> + test</var> is false, everything between the start and end markers is + ignored.</p> + + <p>The <var>test</var> in the <code class="directive"><IfDefine></code> section directive can be one of two forms:</p> + + <ul> + <li><var>parameter-name</var></li> + + <li><code>!</code><var>parameter-name</var></li> + </ul> + + <p>In the former case, the directives between the start and end + markers are only processed if the parameter named + <var>parameter-name</var> is defined. The second format reverses + the test, and only processes the directives if + <var>parameter-name</var> is <strong>not</strong> defined.</p> + + <p>The <var>parameter-name</var> argument is a define as given on the + <code class="program"><a href="../programs/httpd.html">httpd</a></code> command line via <code>-D<var>parameter</var> + </code> at the time the server was started or by the <code class="directive"><a href="#define">Define</a></code> directive.</p> + + <p><code class="directive"><IfDefine></code> sections are + nest-able, which can be used to implement simple + multiple-parameter tests. Example:</p> + + <div class="example"><p><code>httpd -DReverseProxy -DUseCache -DMemCache ...</code></p></div> + <pre class="prettyprint lang-config"><IfDefine ReverseProxy> + LoadModule proxy_module modules/mod_proxy.so + LoadModule proxy_http_module modules/mod_proxy_http.so + <IfDefine UseCache> + LoadModule cache_module modules/mod_cache.so + <IfDefine MemCache> + LoadModule mem_cache_module modules/mod_mem_cache.so + </IfDefine> + <IfDefine !MemCache> + LoadModule cache_disk_module modules/mod_cache_disk.so + </IfDefine> + </IfDefine> +</IfDefine></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDirective" id="IfDirective"><IfDirective></a> <a name="ifdirective" id="ifdirective">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table> + <p>The <code><IfDirective <var>test</var>>...</IfDirective></code> + section is used to mark directives that are conditional on the presence of + a specific directive. The directives within an <code class="directive"><IfDirective></code> section are only processed if the <var>test</var> + is true. If <var>test</var> is false, everything between the start and + end markers is ignored.</p> + + <p>The <var>test</var> in the <code class="directive"><IfDirective></code> section can be one of two forms:</p> + + <ul> + <li><var>directive-name</var></li> + + <li>!<var>directive-name</var></li> + </ul> + + <p>In the former case, the directives between the start and end + markers are only processed if a directive of the given name is + available at the time of processing. The second format reverses the test, + and only processes the directives if <var>directive-name</var> is + <strong>not</strong> available.</p> + + <div class="note">This section should only be used if you need to have one + configuration file that works across multiple versions of + <code class="program"><a href="../programs/httpd.html">httpd</a></code>, regardless of whether a particular + directive is available. In normal operation, directives need not + be placed in <code class="directive"><IfDirective></code> + sections.</div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#ifsection"><IfSection></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfFile" id="IfFile"><IfFile></a> <a name="iffile" id="iffile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfFile [!]<var>filename</var>> ... + </IfFile></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table> + <p>The <code><IfFile <var>filename</var>>...</IfFile> + </code> section is used to mark directives that are conditional on + the existence of a file on disk. The directives within an + <code class="directive"><IfFile></code> section are only + processed if <var>filename</var> exists. If <var>filename</var> + doesn't exist, everything between the start and end markers is + ignored. <var>filename</var> can be an absolute path or a path + relative to the server root.</p> + + <p>The <var>filename</var> in the <code class="directive"><IfFile></code> section directive can take the same forms as the + <var>test</var> variable in the <code class="directive"><a href="#ifdefine"><IfDefine></a></code> section, i.e. the test can be negated if the <code> + !</code> character is placed directly before <var>filename</var>. + </p> + + <p>If a relative <var>filename</var> is supplied, the check is + <code class="directive"><a href="#serverroot">ServerRoot</a></code> relative. In the case where + this directive occurs before the <code class="directive"><a href="#serverroot">ServerRoot</a></code>, + the path will be checked relative to the compiled-in server root or + the server root passed in on the command line via the <code>-d</code> + parameter.</p> + + <div class="warning"><h3>Warning</h3> + In 2.4.34, it is not possible to specify a <var>filename</var> + with surrounding quotes. This would generate a parsing error at start-up. + The main impact is that filenames with spaces can't be used. + This behavior is fixed in 2.4.35.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a> <a name="ifmodule" id="ifmodule">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific module</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Module identifiers are available in version 2.1 and +later.</td></tr> +</table> + <p>The <code><IfModule <var>test</var>>...</IfModule></code> + section is used to mark directives that are conditional on the presence of + a specific module. The directives within an <code class="directive"><IfModule></code> section are only processed if the <var>test</var> + is true. If <var>test</var> is false, everything between the start and + end markers is ignored.</p> + + <p>The <var>test</var> in the <code class="directive"><IfModule></code> section directive can be one of two forms:</p> + + <ul> + <li><var>module</var></li> + + <li>!<var>module</var></li> + </ul> + + <p>In the former case, the directives between the start and end + markers are only processed if the module named <var>module</var> + is included in Apache httpd -- either compiled in or + dynamically loaded using <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. The second format reverses the test, + and only processes the directives if <var>module</var> is + <strong>not</strong> included.</p> + + <p>The <var>module</var> argument can be either the module identifier or + the file name of the module, at the time it was compiled. For example, + <code>rewrite_module</code> is the identifier and + <code>mod_rewrite.c</code> is the file name. If a module consists of + several source files, use the name of the file containing the string + <code>STANDARD20_MODULE_STUFF</code>.</p> + + <p><code class="directive"><IfModule></code> sections are + nest-able, which can be used to implement simple multiple-module + tests.</p> + + <div class="note">This section should only be used if you need to have one + configuration file that works whether or not a specific module + is available. In normal operation, directives need not be + placed in <code class="directive"><IfModule></code> + sections.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfSection" id="IfSection"><IfSection></a> <a name="ifsection" id="ifsection">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfSection [!]<var>section-name</var>> ... + </IfSection></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table> + <p>The <code><IfSection + <var>test</var>>...</IfSection></code> section is used + to mark directives that are conditional on the presence of a + specific section directive. A section directive is any directive + such as <code class="directive"><VirtualHost></code> which + encloses other directives, and has a directive name with a leading + "<".</p> + + <p>The directives within an <code class="directive"><IfSection></code> section are only processed if the <var>test</var> + is true. If <var>test</var> is false, everything between the start and + end markers is ignored.</p> + + <p>The <var>section-name</var> must be specified without either + the leading "<" or closing ">". The <var>test</var> in the + <code class="directive"><IfSection></code> section can be one + of two forms:</p> + + <ul> + <li><var>section-name</var></li> + <li>!<var>section-name</var></li> + </ul> + + <p>In the former case, the directives between the start and end + markers are only processed if a section directive of the given + name is available at the time of processing. The second format + reverses the test, and only processes the directives if + <var>section-name</var> is <strong>not</strong> an available + section directive.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config"><IfSection VirtualHost> + ... +</IfSection></pre> + + + <div class="note">This section should only be used if you need to have one + configuration file that works across multiple versions of <code class="program"><a href="../programs/httpd.html">httpd</a></code>, + regardless of whether a particular section directive is + available. In normal operation, directives need not be placed in + <code class="directive"><IfSection></code> sections.</div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#ifdirective"><IfDirective></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Includes other configuration files from within +the server configuration files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Include <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Directory +wildcard matching available in 2.3.6 and later</td></tr> +</table> + <p>This directive allows inclusion of other configuration files + from within the server configuration files.</p> + + <p>Shell-style (<code>fnmatch()</code>) wildcard characters can be used + in the filename or directory parts of the path to include several files + at once, in alphabetical order. In addition, if + <code class="directive">Include</code> points to a directory, rather than a file, + Apache httpd will read all files in that directory and any subdirectory. + However, including entire directories is not recommended, because it is + easy to accidentally leave temporary files in a directory that can cause + <code class="program"><a href="../programs/httpd.html">httpd</a></code> to fail. Instead, we encourage you to use the + wildcard syntax shown below, to include files that match a particular + pattern, such as *.conf, for example.</p> + + <p>The <code class="directive"><a href="#include">Include</a></code> directive will + <strong>fail with an error</strong> if a wildcard expression does not + match any file. The <code class="directive"><a href="#includeoptional">IncludeOptional</a></code> + directive can be used if non-matching wildcards should be ignored.</p> + + <p>The file path specified may be an absolute path, or may be relative + to the <code class="directive"><a href="#serverroot">ServerRoot</a></code> directory.</p> + + <p>Examples:</p> + + <pre class="prettyprint lang-config">Include /usr/local/apache2/conf/ssl.conf +Include /usr/local/apache2/conf/vhosts/*.conf</pre> + + + <p>Or, providing paths relative to your <code class="directive"><a href="#serverroot">ServerRoot</a></code> directory:</p> + + <pre class="prettyprint lang-config">Include conf/ssl.conf +Include conf/vhosts/*.conf</pre> + + + <p>Wildcards may be included in the directory or file portion of the + path. This example will fail if there is no subdirectory in conf/vhosts + that contains at least one *.conf file:</p> + + <pre class="prettyprint lang-config">Include conf/vhosts/*/*.conf</pre> + + + <p>Alternatively, the following command will just be ignored in case of + missing files or directories:</p> + + <pre class="prettyprint lang-config">IncludeOptional conf/vhosts/*/*.conf</pre> + + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#includeoptional">IncludeOptional</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IncludeOptional" id="IncludeOptional">IncludeOptional</a> <a name="includeoptional" id="includeoptional">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Includes other configuration files from within +the server configuration files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30</td></tr> +</table> + <p>This directive allows inclusion of other configuration files + from within the server configuration files. It works identically to the + <code class="directive"><a href="#include">Include</a></code> directive, but it will be + silently ignored (instead of causing an error) if wildcards are used and + they do not match any file or directory or if a file path does not exist + on the file system.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#include">Include</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables HTTP persistent connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The Keep-Alive extension to HTTP/1.0 and the persistent + connection feature of HTTP/1.1 provide long-lived HTTP sessions + which allow multiple requests to be sent over the same TCP + connection. In some cases this has been shown to result in an + almost 50% speedup in latency times for HTML documents with + many images. To enable Keep-Alive connections, set + <code>KeepAlive On</code>.</p> + + <p>For HTTP/1.0 clients, Keep-Alive connections will only be + used if they are specifically requested by a client. In + addition, a Keep-Alive connection with an HTTP/1.0 client can + only be used when the length of the content is known in + advance. This implies that dynamic content such as CGI output, + SSI pages, and server-generated directory listings will + generally not use Keep-Alive connections to HTTP/1.0 clients. + For HTTP/1.1 clients, persistent connections are the default + unless otherwise specified. If the client requests it, chunked + encoding will be used in order to send content of unknown + length over persistent connections.</p> + + <p>When a client uses a Keep-Alive connection, it will be counted + as a single "request" for the <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> directive, regardless + of how many requests are sent using the connection.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Amount of time the server will wait for subsequent +requests on a persistent connection</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAliveTimeout <var>num</var>[ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The number of seconds Apache httpd will wait for a subsequent + request before closing the connection. By adding a postfix of ms the + timeout can be also set in milliseconds. Once a request has been + received, the timeout value specified by the + <code class="directive"><a href="#timeout">Timeout</a></code> directive applies.</p> + + <p>Setting <code class="directive">KeepAliveTimeout</code> to a high value + may cause performance problems in heavily loaded servers. The + higher the timeout, the more server processes will be kept + occupied waiting on connections with idle clients.</p> + + <p>If <code class="directive">KeepAliveTimeout</code> is <strong>not</strong> + set for a name-based virtual host, the value of the first defined + virtual host best matching the local IP and port will be used.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a> <a name="limit" id="limit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Access controls are normally effective for + <strong>all</strong> access methods, and this is the usual + desired behavior. <strong>In the general case, access control + directives should not be placed within a + <code class="directive"><Limit></code> section.</strong></p> + + <p>The purpose of the <code class="directive"><Limit></code> + directive is to restrict the effect of the access controls to the + nominated HTTP methods. For all other methods, the access + restrictions that are enclosed in the <code class="directive"><Limit></code> bracket <strong>will have no + effect</strong>. The following example applies the access control + only to the methods <code>POST</code>, <code>PUT</code>, and + <code>DELETE</code>, leaving all other methods unprotected:</p> + + <pre class="prettyprint lang-config"><Limit POST PUT DELETE> + Require valid-user +</Limit></pre> + + + <p>The method names listed can be one or more of: <code>GET</code>, + <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, + <code>CONNECT</code>, <code>OPTIONS</code>, + <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>, + <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>, + <code>LOCK</code>, and <code>UNLOCK</code>. <strong>The method name is + case-sensitive.</strong> If <code>GET</code> is used, it will also + restrict <code>HEAD</code> requests. The <code>TRACE</code> method + cannot be limited (see <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p> + + <div class="warning">A <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> section should always be + used in preference to a <code class="directive"><Limit></code> + section when restricting access, since a <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> section provides protection + against arbitrary methods.</div> + + <p>The <code class="directive"><Limit></code> and + <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> + directives may be nested. In this case, each successive level of + <code class="directive"><Limit></code> or <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> directives must + further restrict the set of methods to which access controls apply.</p> + + <div class="warning">When using + <code class="directive"><Limit></code> or + <code class="directive"><LimitExcept></code> directives with + the <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive, + note that the first <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + to succeed authorizes the request, regardless of the presence of other + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directives.</div> + + <p>For example, given the following configuration, all users will + be authorized for <code>POST</code> requests, and the + <code>Require group editors</code> directive will be ignored + in all cases:</p> + + <pre class="prettyprint lang-config"><LimitExcept GET> + Require valid-user +</LimitExcept> +<Limit POST> + Require group editors +</Limit></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a> <a name="limitexcept" id="limitexcept">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> and + <code></LimitExcept></code> are used to enclose + a group of access control directives which will then apply to any + HTTP access method <strong>not</strong> listed in the arguments; + i.e., it is the opposite of a <code class="directive"><a href="#limit"><Limit></a></code> section and can be used to control + both standard and nonstandard/unrecognized methods. See the + documentation for <code class="directive"><a href="#limit"><Limit></a></code> for more details.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config"><LimitExcept POST GET> + Require valid-user +</LimitExcept></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine maximum number of internal redirects and nested +subrequests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitInternalRecursion <var>number</var> [<var>number</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>An internal redirect happens, for example, when using the <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> directive, which internally + redirects the original request to a CGI script. A subrequest is Apache httpd's + mechanism to find out what would happen for some URI if it were requested. + For example, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> uses subrequests to look for the + files listed in the <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + directive.</p> + + <p><code class="directive">LimitInternalRecursion</code> prevents the server + from crashing when entering an infinite loop of internal redirects or + subrequests. Such loops are usually caused by misconfigurations.</p> + + <p>The directive stores two different limits, which are evaluated on + per-request basis. The first <var>number</var> is the maximum number of + internal redirects that may follow each other. The second <var>number</var> + determines how deeply subrequests may be nested. If you specify only one + <var>number</var>, it will be assigned to both limits.</p> + + <pre class="prettyprint lang-config">LimitInternalRecursion 5</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restricts the total size of the HTTP request body sent +from the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestBody <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestBody 1073741824</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>In Apache HTTP Server 2.4.53 and earlier, the default value +was 0 (unlimited)</td></tr> +</table> + <p>This directive specifies the number of <var>bytes</var> + that are allowed in a request body. A value of <var>0</var> means unlimited.</p> + + <p>The <code class="directive">LimitRequestBody</code> directive allows + the user to set a limit on the allowed size of an HTTP request + message body within the context in which the directive is given + (server, per-directory, per-file or per-location). If the client + request exceeds that limit, the server will return an error + response instead of servicing the request. The size of a normal + request message body will vary greatly depending on the nature of + the resource and the methods allowed on that resource. CGI scripts + typically use the message body for retrieving form information. + Implementations of the <code>PUT</code> method will require + a value at least as large as any representation that the server + wishes to accept for that resource.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service + attacks.</p> + + <p>If, for example, you are permitting file upload to a particular + location and wish to limit the size of the uploaded file to 100K, + you might use the following directive:</p> + + <pre class="prettyprint lang-config">LimitRequestBody 102400</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the number of HTTP request header fields that +will be accepted from the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFields <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Setting <var>number</var> at 0 means unlimited. + The default value is defined by the compile-time + constant <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 as + distributed).</p> + + <p>The <code class="directive">LimitRequestFields</code> directive allows + the server administrator to modify the limit on the number of + request header fields allowed in an HTTP request. A server needs + this value to be larger than the number of fields that a normal + client request might include. The number of request header fields + used by a client rarely exceeds 20, but this may vary among + different client implementations, often depending upon the extent + to which a user has configured their browser to support detailed + content negotiation. Optional HTTP extensions are often expressed + using request header fields.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks. + The value should be increased if normal clients see an error + response from the server that indicates too many fields were + sent in the request.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">LimitRequestFields 50</pre> + + + <div class="warning"><h3>Warning</h3> + <p> When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + local IP and port combination.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the size of the HTTP request header allowed from the +client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFieldSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive specifies the number of <var>bytes</var> + that will be allowed in an HTTP request header.</p> + + <p>The <code class="directive">LimitRequestFieldSize</code> directive + allows the server administrator to set the limit + on the allowed size of an HTTP request header field. A server + needs this value to be large enough to hold any one header field + from a normal client request. The size of a normal request header + field will vary greatly among different client implementations, + often depending upon the extent to which a user has configured + their browser to support detailed content negotiation. SPNEGO + authentication headers can be up to 12392 bytes.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">LimitRequestFieldSize 4094</pre> + + + <div class="note">Under normal conditions, the value should not be changed from + the default.</div> + + <div class="warning"><h3>Warning</h3> + <p> When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host best + matching the current IP address and port combination.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limit the size of the HTTP request line that will be accepted +from the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestLine <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive sets the number of <var>bytes</var> that will be + allowed on the HTTP request-line.</p> + + <p>The <code class="directive">LimitRequestLine</code> directive allows + the server administrator to set the limit on the allowed size + of a client's HTTP request-line. Since the request-line consists of the + HTTP method, URI, and protocol version, the + <code class="directive">LimitRequestLine</code> directive places a + restriction on the length of a request-URI allowed for a request + on the server. A server needs this value to be large enough to + hold any of its resource names, including any information that + might be passed in the query part of a <code>GET</code> request.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">LimitRequestLine 4094</pre> + + + <div class="note">Under normal conditions, the value should not be changed from + the default.</div> + + <div class="warning"><h3>Warning</h3> + <p> When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host best + matching the current IP address and port combination.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the size of an XML-based request body</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitXMLRequestBody <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Limit (in bytes) on the maximum size of an XML-based request + body. A value of <code>0</code> will apply a hard limit (depending on + 32bit vs 64bit system) allowing for XML escaping within the bounds of + the system addressable memory, but it exists for compatibility only + and is not recommended since it does not account for memory consumed + elsewhere or concurrent requests, which might result in an overall + system out-of-memory. + </p> + <p>Example:</p> + + <pre class="prettyprint lang-config"># Limit of 1 MiB +LimitXMLRequestBody 1073741824</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Location" id="Location"><Location></a> <a name="location" id="location">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applies the enclosed directives only to matching +URLs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><Location></code> directive + limits the scope of the enclosed directives by URL. It is similar to the + <code class="directive"><a href="#directory"><Directory></a></code> + directive, and starts a subsection which is terminated with a + <code></Location></code> directive. <code class="directive"><Location></code> sections are processed in the + order they appear in the configuration file, after the <code class="directive"><a href="#directory"><Directory></a></code> sections and + <code>.htaccess</code> files are read, and after the <code class="directive"><a href="#files"><Files></a></code> sections.</p> + + <p><code class="directive"><Location></code> sections operate + completely outside the filesystem. This has several consequences. + Most importantly, <code class="directive"><Location></code> + directives should not be used to control access to filesystem + locations. Since several different URLs may map to the same + filesystem location, such access controls may by circumvented.</p> + + <p>The enclosed directives will be applied to the request if the path component + of the URL meets <em>any</em> of the following criteria: + </p> + <ul> + <li>The specified location matches exactly the path component of the URL. + </li> + <li>The specified location, which ends in a forward slash, is a prefix + of the path component of the URL (treated as a context root). + </li> + <li>The specified location, with the addition of a trailing slash, is a + prefix of the path component of the URL (also treated as a context root). + </li> + </ul> + <p> + In the example below, where no trailing slash is used, requests to + /private1, /private1/ and /private1/file.txt will have the enclosed + directives applied, but /private1other would not. + </p> + <pre class="prettyprint lang-config"><Location "/private1"> + # ... +</Location></pre> + + <p> + In the example below, where a trailing slash is used, requests to + /private2/ and /private2/file.txt will have the enclosed + directives applied, but /private2 and /private2other would not. + </p> + <pre class="prettyprint lang-config"><Location "/private2<em>/</em>"> + # ... +</Location></pre> + + + <div class="note"><h3>When to use <code class="directive"><Location></code></h3> + + <p>Use <code class="directive"><Location></code> to apply + directives to content that lives outside the filesystem. For + content that lives in the filesystem, use <code class="directive"><a href="#directory"><Directory></a></code> and <code class="directive"><a href="#files"><Files></a></code>. An exception is + <code><Location "/"></code>, which is an easy way to + apply a configuration to the entire server.</p> + </div> + + <p>For all origin (non-proxy) requests, the URL to be matched is a + URL-path of the form <code>/path/</code>. <em>No scheme, hostname, + port, or query string may be included.</em> For proxy requests, the + URL to be matched is of the form + <code>scheme://servername/path</code>, and you must include the + prefix.</p> + + <p>The URL may use wildcards. In a wild-card string, <code>?</code> matches + any single character, and <code>*</code> matches any sequences of + characters. Neither wildcard character matches a / in the URL-path.</p> + + <p><a class="glossarylink" href="../glossary.html#regex" title="see glossary">Regular expressions</a> + can also be used, with the addition of the <code>~</code> + character. For example:</p> + + <pre class="prettyprint lang-config"><Location ~ "/(extra|special)/data"> + #... +</Location></pre> + + + <p>would match URLs that contained the substring <code>/extra/data</code> + or <code>/special/data</code>. The directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> behaves + identical to the regex version of <code class="directive"><Location></code>, and is preferred, for the + simple reason that <code>~</code> is hard to distinguish from + <code>-</code> in many fonts.</p> + + <p>The <code class="directive"><Location></code> + functionality is especially useful when combined with the + <code class="directive"><a href="#sethandler">SetHandler</a></code> + directive. For example, to enable status requests but allow them + only from browsers at <code>example.com</code>, you might use:</p> + + <pre class="prettyprint lang-config"><Location "/status"> + SetHandler server-status + Require host example.com +</Location></pre> + + + <div class="note"><h3>Note about / (slash)</h3> + <p>The slash character has special meaning depending on where in a + URL it appears. People may be used to its behavior in the filesystem + where multiple adjacent slashes are frequently collapsed to a single + slash (<em>i.e.</em>, <code>/home///foo</code> is the same as + <code>/home/foo</code>). In URL-space this is not necessarily true if + directive <code class="directive"><a href="#mergeslashes">MergeSlashes</a></code> has been set + to "OFF". + The <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + directive and the regex version of <code class="directive"><Location></code> require you to explicitly specify multiple + slashes if the slashes are not being merged.</p> + + <p>For example, <code><LocationMatch "^/abc"></code> would match + the request URL <code>/abc</code> but not the request URL <code> + //abc</code>. The (non-regex) <code class="directive"><Location></code> directive behaves similarly when used for + proxy requests. But when (non-regex) <code class="directive"><Location></code> is used for non-proxy requests it will + implicitly match multiple slashes with a single slash. For example, + if you specify <code><Location "/abc/def"></code> and the + request is to <code>/abc//def</code> then it will match.</p> + </div> + +<h3>See also</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received.</li> +<li><code class="directive"><a href="#locationmatch">LocationMatch</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a> <a name="locationmatch" id="locationmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applies the enclosed directives only to regular-expression +matching URLs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LocationMatch + <var>regex</var>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><LocationMatch></code> directive + limits the scope of the enclosed directives by URL, in an identical manner + to <code class="directive"><a href="#location"><Location></a></code>. However, + it takes a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a> + as an argument instead of a simple string. For example:</p> + + <pre class="prettyprint lang-config"><LocationMatch "/(extra|special)/data"> + # ... +</LocationMatch></pre> + + + <p>would match URLs that contained the substring <code>/extra/data</code> + or <code>/special/data</code>.</p> + + <div class="note"><p>If the intent is that a URL <strong>starts with</strong> + <code>/extra/data</code>, rather than merely + <strong>contains</strong> <code>/extra/data</code>, prefix the + regular expression with a <code>^</code> to require this.</p> + + <pre class="prettyprint lang-config"><LocationMatch "^/(extra|special)/data"></pre> + + </div> + + <p>From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of URLs to be referenced + from within <a href="../expr.html">expressions</a> and modules like + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.</p> + + <pre class="prettyprint lang-config"><LocationMatch "^/combined/(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</LocationMatch></pre> + + + <div class="note"><h3>Note about / (slash)</h3> + <p>The slash character has special meaning depending on where in a + URL it appears. People may be used to its behavior in the filesystem + where multiple adjacent slashes are frequently collapsed to a single + slash (<em>i.e.</em>, <code>/home///foo</code> is the same as + <code>/home/foo</code>). In URL-space this is not necessarily true if + directive <code class="directive"><a href="#mergeslashes">MergeSlashes</a></code> has been set + to "OFF". + The <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + directive and the regex version of <code class="directive"><Location></code> require you to explicitly specify multiple + slashes if the slashes are not being merged.</p> + + <p>For example, <code><LocationMatch "^/abc"></code> would match + the request URL <code>/abc</code> but not the request URL <code> + //abc</code>. The (non-regex) <code class="directive"><Location></code> directive behaves similarly when used for + proxy requests. But when (non-regex) <code class="directive"><Location></code> is used for non-proxy requests it will + implicitly match multiple slashes with a single slash. For example, + if you specify <code><Location "/abc/def"></code> and the + request is to <code>/abc//def</code> then it will match.</p> + </div> + +<h3>See also</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls the verbosity of the ErrorLog</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogLevel [<var>module</var>:]<var>level</var> + [<var>module</var>:<var>level</var>] ... +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Per-module and per-directory configuration is available in + Apache HTTP Server 2.3.6 and later</td></tr> +</table> + <p><code class="directive">LogLevel</code> adjusts the verbosity of the + messages recorded in the error logs (see <code class="directive"><a href="#errorlog">ErrorLog</a></code> directive). The following + <var>level</var>s are available, in order of decreasing + significance:</p> + + <table class="bordered"> + + <tr> + <th><strong>Level</strong> </th> + + <th><strong>Description</strong> </th> + + <th><strong>Example</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>Emergencies - system is unusable.</td> + + <td>"Child cannot open lock file. Exiting"</td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>Action must be taken immediately.</td> + + <td>"getpwuid: couldn't determine user name from uid"</td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>Critical Conditions.</td> + + <td>"socket: Failed to get a socket, exiting child"</td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>Error conditions.</td> + + <td>"Premature end of script headers"</td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>Warning conditions.</td> + + <td>"child process 1234 did not exit, sending another + SIGHUP"</td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>Normal but significant condition.</td> + + <td>"httpd: caught SIGBUS, attempting to dump core in + ..."</td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>Informational.</td> + + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."</td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>Debug-level messages</td> + + <td>"Opening config file ..."</td> + </tr> + <tr> + <td><code>trace1</code> </td> + + <td>Trace messages</td> + + <td>"proxy: FTP: control connection complete"</td> + </tr> + <tr> + <td><code>trace2</code> </td> + + <td>Trace messages</td> + + <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td> + </tr> + <tr> + <td><code>trace3</code> </td> + + <td>Trace messages</td> + + <td>"openssl: Handshake: start"</td> + </tr> + <tr> + <td><code>trace4</code> </td> + + <td>Trace messages</td> + + <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td> + </tr> + <tr> + <td><code>trace5</code> </td> + + <td>Trace messages</td> + + <td>"map lookup FAILED: map=rewritemap key=keyname"</td> + </tr> + <tr> + <td><code>trace6</code> </td> + + <td>Trace messages</td> + + <td>"cache lookup FAILED, forcing new map lookup"</td> + </tr> + <tr> + <td><code>trace7</code> </td> + + <td>Trace messages, dumping large amounts of data</td> + + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + <tr> + <td><code>trace8</code> </td> + + <td>Trace messages, dumping large amounts of data</td> + + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + </table> + + <p>When a particular level is specified, messages from all + other levels of higher significance will be reported as well. + <em>E.g.</em>, when <code>LogLevel info</code> is specified, + then messages with log levels of <code>notice</code> and + <code>warn</code> will also be posted.</p> + + <p>Using a level of at least <code>crit</code> is + recommended.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">LogLevel notice</pre> + + + <div class="note"><h3>Note</h3> + <p>When logging to a regular file, messages of the level + <code>notice</code> cannot be suppressed and thus are always + logged. However, this doesn't apply when logging is done + using <code>syslog</code>.</p> + </div> + + <p>Specifying a level without a module name will reset the level + for all modules to that level. Specifying a level with a module + name will set the level for that module only. It is possible to + use the module source file name, the module identifier, or the + module identifier with the trailing <code>_module</code> omitted + as module specification. This means the following three specifications + are equivalent:</p> + + <pre class="prettyprint lang-config">LogLevel info ssl:warn +LogLevel info mod_ssl.c:warn +LogLevel info ssl_module:warn</pre> + + + <p>It is also possible to change the level per directory:</p> + + <pre class="prettyprint lang-config">LogLevel info +<Directory "/usr/local/apache/htdocs/app"> + LogLevel debug +</Directory></pre> + + + <div class="note"> + Per directory loglevel configuration only affects messages that are + logged after the request has been parsed and that are associated with + the request. Log messages which are associated with the connection or + the server are not affected. + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#errorlogformat">ErrorLogFormat</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of requests allowed on a persistent +connection</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxKeepAliveRequests <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">MaxKeepAliveRequests</code> directive + limits the number of requests allowed per connection when + <code class="directive"><a href="#keepalive">KeepAlive</a></code> is on. If it is + set to <code>0</code>, unlimited requests will be allowed. We + recommend that this setting be kept to a high value for maximum + server performance.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">MaxKeepAliveRequests 500</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a> <a name="maxrangeoverlaps" id="maxrangeoverlaps">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table> + <p>The <code class="directive">MaxRangeOverlaps</code> directive + limits the number of overlapping HTTP ranges the server is willing to + return to the client. If more overlapping ranges than permitted are requested, + the complete resource is returned instead.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Limits the number of overlapping ranges to a compile-time default of 20.</dd> + + <dt><strong>none</strong></dt> + <dd>No overlapping Range headers are allowed.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>The server does not limit the number of overlapping ranges it is + willing to satisfy.</dd> + + <dt><var>number-of-ranges</var></dt> + <dd>A positive number representing the maximum number of overlapping ranges the + server is willing to satisfy.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a> <a name="maxrangereversals" id="maxrangereversals">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxRangeReversals 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table> + <p>The <code class="directive">MaxRangeReversals</code> directive + limits the number of HTTP Range reversals the server is willing to + return to the client. If more ranges reversals than permitted are requested, + the complete resource is returned instead.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Limits the number of range reversals to a compile-time default of 20.</dd> + + <dt><strong>none</strong></dt> + <dd>No Range reversals headers are allowed.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>The server does not limit the number of range reversals it is + willing to satisfy.</dd> + + <dt><var>number-of-ranges</var></dt> + <dd>A positive number representing the maximum number of range reversals the + server is willing to satisfy.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRanges" id="MaxRanges">MaxRanges</a> <a name="maxranges" id="maxranges">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of ranges allowed before returning the complete +resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRanges default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxRanges 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table> + <p>The <code class="directive">MaxRanges</code> directive + limits the number of HTTP ranges the server is willing to + return to the client. If more ranges than permitted are requested, + the complete resource is returned instead.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Limits the number of ranges to a compile-time default of 200.</dd> + + <dt><strong>none</strong></dt> + <dd>Range headers are ignored.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>The server does not limit the number of ranges it is + willing to satisfy.</dd> + + <dt><var>number-of-ranges</var></dt> + <dd>A positive number representing the maximum number of ranges the + server is willing to satisfy.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeSlashes" id="MergeSlashes">MergeSlashes</a> <a name="mergeslashes" id="mergeslashes">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MergeSlashes ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MergeSlashes ON</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Added in 2.4.39</td></tr> +</table> + <p>By default, the server merges (or collapses) multiple consecutive slash + ('/') characters in the path component of the request URL.</p> + + <p>When mapping URL's to the filesystem, these multiple slashes are not + significant. However, URL's handled other ways, such as by CGI or proxy, + might prefer to retain the significance of multiple consecutive slashes. + In these cases <code class="directive">MergeSlashes</code> can be set to + <em>OFF</em> to retain the multiple consecutive slashes, which is the legacy behavior.</p> + <p> + When set to "OFF", regular expressions used in the configuration file that match + the path component of the URL (<code class="directive">LocationMatch</code>, + <code class="directive">RewriteRule</code>, ...) need to take into account multiple + consecutive slashes. Non regular expression based <code class="directive">Location</code> always + operate against a URL with merged slashes and cannot differentiate between multiple slashes.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a> <a name="mergetrailers" id="mergetrailers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether trailers are merged into headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MergeTrailers [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MergeTrailers off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.11 and later</td></tr> +</table> + <p>This directive controls whether HTTP trailers are copied into the + internal representation of HTTP headers. This merging occurs when the + request body has been completely consumed, long after most header + processing would have a chance to examine or modify request headers.</p> + <p>This option is provided for compatibility with releases prior to 2.4.11, + where trailers were always merged.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Mutex" id="Mutex">Mutex</a> <a name="mutex" id="mutex">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Mutex default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.4 and later</td></tr> +</table> + <p>The <code class="directive">Mutex</code> directive sets the mechanism, + and optionally the lock file location, that httpd and modules use + to serialize access to resources. Specify <code>default</code> as + the second argument to change the settings for all mutexes; specify + a mutex name (see table below) as the second argument to override + defaults only for that mutex.</p> + + <p>The <code class="directive">Mutex</code> directive is typically used in + the following exceptional situations:</p> + + <ul> + <li>change the mutex mechanism when the default mechanism selected + by <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a> has a functional or performance + problem</li> + + <li>change the directory used by file-based mutexes when the + default directory does not support locking</li> + </ul> + + <div class="note"><h3>Supported modules</h3> + <p>This directive only configures mutexes which have been registered + with the core server using the <code>ap_mutex_register()</code> API. + All modules bundled with httpd support the <code class="directive">Mutex</code> + directive, but third-party modules may not. Consult the documentation + of the third-party module, which must indicate the mutex name(s) which + can be configured if this directive is supported.</p> + </div> + + <p>The following mutex <em>mechanisms</em> are available:</p> + <ul> + <li><code>default | yes</code> + <p>This selects the default locking implementation, as determined by + <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>. The default locking implementation can + be displayed by running <code class="program"><a href="../programs/httpd.html">httpd</a></code> with the + <code>-V</code> option.</p></li> + + <li><code>none | no</code> + <p>This effectively disables the mutex, and is only allowed for a + mutex if the module indicates that it is a valid choice. Consult the + module documentation for more information.</p></li> + + <li><code>posixsem</code> + <p>This is a mutex variant based on a Posix semaphore.</p> + + <div class="warning"><h3>Warning</h3> + <p>The semaphore ownership is not recovered if a thread in the process + holding the mutex segfaults, resulting in a hang of the web server.</p> + </div> + </li> + + <li><code>sysvsem</code> + <p>This is a mutex variant based on a SystemV IPC semaphore.</p> + + <div class="warning"><h3>Warning</h3> + <p>It is possible to "leak" SysV semaphores if processes crash + before the semaphore is removed.</p> + </div> + + <div class="warning"><h3>Security</h3> + <p>The semaphore API allows for a denial of service attack by any + CGIs running under the same uid as the webserver (<em>i.e.</em>, + all CGIs, unless you use something like <code class="program"><a href="../programs/suexec.html">suexec</a></code> + or <code>cgiwrapper</code>).</p> + </div> + </li> + + <li><code>sem</code> + <p>This selects the "best" available semaphore implementation, choosing + between Posix and SystemV IPC semaphores, in that order.</p></li> + + <li><code>pthread</code> + <p>This is a mutex variant based on cross-process Posix thread + mutexes.</p> + + <div class="warning"><h3>Warning</h3> + <p>On most systems, if a child process terminates abnormally while + holding a mutex that uses this implementation, the server will deadlock + and stop responding to requests. When this occurs, the server will + require a manual restart to recover.</p> + <p>Solaris and Linux are notable exceptions as they provide a mechanism which + usually allows the mutex to be recovered after a child process + terminates abnormally while holding a mutex.</p> + <p>If your system is POSIX compliant or if it implements the + <code>pthread_mutexattr_setrobust_np()</code> function, you may be able + to use the <code>pthread</code> option safely.</p> + </div> + </li> + + <li><code>fcntl:/path/to/mutex</code> + <p>This is a mutex variant where a physical (lock-)file and the + <code>fcntl()</code> function are used as the mutex.</p> + + <div class="warning"><h3>Warning</h3> + <p>When multiple mutexes based on this mechanism are used within + multi-threaded, multi-process environments, deadlock errors (EDEADLK) + can be reported for valid mutex operations if <code>fcntl()</code> + is not thread-aware, such as on Solaris.</p> + </div> + </li> + + <li><code>flock:/path/to/mutex</code> + <p>This is similar to the <code>fcntl:/path/to/mutex</code> method + with the exception that the <code>flock()</code> function is used to + provide file locking.</p></li> + + <li><code>file:/path/to/mutex</code> + <p>This selects the "best" available file locking implementation, + choosing between <code>fcntl</code> and <code>flock</code>, in that + order.</p></li> + </ul> + + <p>Most mechanisms are only available on selected platforms, where the + underlying platform and <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a> support it. Mechanisms + which aren't available on all platforms are <em>posixsem</em>, + <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>, + <em>flock</em>, and <em>file</em>.</p> + + <p>With the file-based mechanisms <em>fcntl</em> and <em>flock</em>, + the path, if provided, is a directory where the lock file will be created. + The default directory is httpd's run-time file directory relative to + <code class="directive"><a href="#serverroot">ServerRoot</a></code>. Always use a local disk + filesystem for <code>/path/to/mutex</code> and never a directory residing + on a NFS- or AFS-filesystem. The basename of the file will be the mutex + type, an optional instance string provided by the module, and unless the + <code>OmitPID</code> keyword is specified, the process id of the httpd + parent process will be appended to make the file name unique, avoiding + conflicts when multiple httpd instances share a lock file directory. For + example, if the mutex name is <code>mpm-accept</code> and the lock file + directory is <code>/var/httpd/locks</code>, the lock file name for the + httpd instance with parent process id 12345 would be + <code>/var/httpd/locks/mpm-accept.12345</code>.</p> + + <div class="warning"><h3>Security</h3> + <p>It is best to <em>avoid</em> putting mutex files in a world-writable + directory such as <code>/var/tmp</code> because someone could create + a denial of service attack and prevent the server from starting by + creating a lockfile with the same name as the one the server will try + to create.</p> + </div> + + <p>The following table documents the names of mutexes used by httpd + and bundled modules.</p> + + <table class="bordered"><tr class="header"> + <th>Mutex name</th> + <th>Module(s)</th> + <th>Protected resource</th> + </tr> +<tr> + <td><code>mpm-accept</code></td> + <td><code class="module"><a href="../mod/prefork.html">prefork</a></code> and <code class="module"><a href="../mod/worker.html">worker</a></code> MPMs</td> + <td>incoming connections, to avoid the thundering herd problem; + for more information, refer to the + <a href="../misc/perf-tuning.html">performance tuning</a> + documentation</td> + </tr> +<tr class="odd"> + <td><code>authdigest-client</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>client list in shared memory</td> + </tr> +<tr> + <td><code>authdigest-opaque</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>counter in shared memory</td> + </tr> +<tr class="odd"> + <td><code>ldap-cache</code></td> + <td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td> + <td>LDAP result cache</td> + </tr> +<tr> + <td><code>rewrite-map</code></td> + <td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td> + <td>communication with external mapping programs, to avoid + intermixed I/O from multiple requests</td> + </tr> +<tr class="odd"> + <td><code>ssl-cache</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>SSL session cache</td> + </tr> +<tr> + <td><code>ssl-stapling</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>OCSP stapling response cache</td> + </tr> +<tr class="odd"> + <td><code>watchdog-callback</code></td> + <td><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code></td> + <td>callback function of a particular client module</td> + </tr> +</table> + + <p>The <code>OmitPID</code> keyword suppresses the addition of the httpd + parent process id from the lock file name.</p> + + <p>In the following example, the mutex mechanism for the MPM accept + mutex will be changed from the compiled-in default to <code>fcntl</code>, + with the associated lock file created in directory + <code>/var/httpd/locks</code>. The mutex mechanism for all other mutexes + will be changed from the compiled-in default to <code>sysvsem</code>.</p> + + <pre class="prettyprint lang-config">Mutex sysvsem default +Mutex fcntl:/var/httpd/locks mpm-accept</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>DEPRECATED: Designates an IP address for name-virtual +hosting</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NameVirtualHost <var>addr</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + +<p>Prior to 2.3.11, <code class="directive">NameVirtualHost</code> was required +to instruct the server that a particular IP address and port combination +was usable as a name-based virtual host. In 2.3.11 and later, +any time an IP address and port combination is used in multiple virtual +hosts, name-based virtual hosting is automatically enabled for that address.</p> + +<p>This directive currently has no effect.</p> + +<h3>See also</h3> +<ul> +<li><a href="../vhosts/">Virtual Hosts +documentation</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures what features are available in a particular +directory</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Options FollowSymlinks</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The default was changed from All to FollowSymlinks in 2.3.11</td></tr> +</table> + <p>The <code class="directive">Options</code> directive controls which + server features are available in a particular directory.</p> + + <p><var>option</var> can be set to <code>None</code>, in which + case none of the extra features are enabled, or one or more of + the following:</p> + + <dl> + <dt><code>All</code></dt> + + <dd>All options except for <code>MultiViews</code>.</dd> + + <dt><code>ExecCGI</code></dt> + + <dd> + Execution of CGI scripts using <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + is permitted.</dd> + + <dt><code>FollowSymLinks</code></dt> + + <dd> + The server will follow symbolic links in this directory. This is + the default setting. + <div class="note"> + <p>Even though the server follows the symlink it does <em>not</em> + change the pathname used to match against <code class="directive"><a href="#directory"><Directory></a></code> sections.</p> + + <p>The <code>FollowSymLinks</code> and + <code>SymLinksIfOwnerMatch</code> <code class="directive"><a href="#options">Options</a></code> work only in <code class="directive"><a href="#directory"><Directory></a></code> sections or + <code>.htaccess</code> files.</p> + + <p>Omitting this option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.</p> + </div></dd> + + <dt><code>Includes</code></dt> + + <dd> + Server-side includes provided by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + are permitted.</dd> + + <dt><code>IncludesNOEXEC</code></dt> + + <dd> + + Server-side includes are permitted, but the <code>#exec + cmd</code> and <code>#exec cgi</code> are disabled. It is still + possible to <code>#include virtual</code> CGI scripts from + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>ed + directories.</dd> + + <dt><code>Indexes</code></dt> + + <dd> + If a URL which maps to a directory is requested and there + is no <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + (<em>e.g.</em>, <code>index.html</code>) in that directory, then + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> will return a formatted listing + of the directory.</dd> + + <dt><code>MultiViews</code></dt> + + <dd> + <a href="../content-negotiation.html">Content negotiated</a> + "MultiViews" are allowed using + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>. + <div class="note"><h3>Note</h3> <p>This option gets ignored if set + anywhere other than <code class="directive"><a href="#directory"><Directory></a></code>, as <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> + needs real resources to compare against and evaluate from.</p></div> + </dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + + <dd>The server will only follow symbolic links for which the + target file or directory is owned by the same user id as the + link. + + <div class="note"><h3>Note</h3> + <p>The <code>FollowSymLinks</code> and + <code>SymLinksIfOwnerMatch</code> <code class="directive"><a href="#options">Options</a></code> work only in <code class="directive"><a href="#directory"><Directory></a></code> sections or + <code>.htaccess</code> files.</p> + + <p>This option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.</p> + </div> </dd> + </dl> + + <p>Normally, if multiple <code class="directive">Options</code> could + apply to a directory, then the most specific one is used and + others are ignored; the options are not merged. (See <a href="../sections.html#merging">how sections are merged</a>.) + However if <em>all</em> the options on the + <code class="directive">Options</code> directive are preceded by a + <code>+</code> or <code>-</code> symbol, the options are + merged. Any options preceded by a <code>+</code> are added to the + options currently in force, and any options preceded by a + <code>-</code> are removed from the options currently in + force. </p> + + <div class="note"><h3>Note</h3> + <p>Mixing <code class="directive">Options</code> with a <code>+</code> or + <code>-</code> with those without is not valid syntax and will be + rejected during server startup by the syntax check with an abort.</p> + </div> + + <p>For example, without any <code>+</code> and <code>-</code> symbols:</p> + + <pre class="prettyprint lang-config"><Directory "/web/docs"> + Options Indexes FollowSymLinks +</Directory> + +<Directory "/web/docs/spec"> + Options Includes +</Directory></pre> + + + <p>then only <code>Includes</code> will be set for the + <code>/web/docs/spec</code> directory. However if the second + <code class="directive">Options</code> directive uses the <code>+</code> and + <code>-</code> symbols:</p> + + <pre class="prettyprint lang-config"><Directory "/web/docs"> + Options Indexes FollowSymLinks +</Directory> + +<Directory "/web/docs/spec"> + Options +Includes -Indexes +</Directory></pre> + + + <p>then the options <code>FollowSymLinks</code> and + <code>Includes</code> are set for the <code>/web/docs/spec</code> + directory.</p> + + <div class="note"><h3>Note</h3> + <p>Using <code>-IncludesNOEXEC</code> or + <code>-Includes</code> disables server-side includes completely + regardless of the previous setting.</p> + </div> + + <p>The default in the absence of any other settings is + <code>FollowSymlinks</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocol for a listening socket</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Protocol <var>protocol</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1.5 and later. +On Windows, from Apache 2.3.3 and later.</td></tr> +</table> + <p>This directive specifies the protocol used for a specific listening socket. + The protocol is used to determine which module should handle a request and + to apply protocol specific optimizations with the <code class="directive">AcceptFilter</code> + directive.</p> + + <p>This directive not required for most + configurations. If not specified, <code>https</code> is the default for + port 443 and <code>http</code> the default for all other ports. The + protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the + <code class="directive"><a href="#acceptfilter">AcceptFilter</a></code> directive.</p> + + <p>For example, if you are running <code>https</code> on a non-standard port, + specify the protocol explicitly:</p> + + <pre class="prettyprint lang-config">Protocol https</pre> + + + <p>You can also specify the protocol using the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> directive.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#acceptfilter">AcceptFilter</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocols" id="Protocols">Protocols</a> <a name="protocols" id="protocols">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocols available for a server/virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Protocols <var>protocol</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Protocols http/1.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table> + <p>This directive specifies the list of protocols supported for a + server/virtual host. The list determines the allowed protocols + a client may negotiate for this server/host.</p> + + <p>You need to set protocols if you want to extend the available + protocols for a server/host. By default, only the http/1.1 protocol + (which includes the compatibility with 1.0 and 0.9 clients) is + allowed.</p> + + <p>For example, if you want to support HTTP/2 for a server with TLS, + specify:</p> + + <pre class="prettyprint lang-config">Protocols h2 http/1.1</pre> + + + <p>Valid protocols are <code>http/1.1</code> for http and https connections, + <code>h2</code> on https connections and <code>h2c</code> for http + connections. Modules may enable more protocols.</p> + + <p>It is safe to specify protocols that are unavailable/disabled. Such + protocol names will simply be ignored.</p> + + <p>Protocols specified in base servers are inherited for virtual hosts + only if the virtual host has no own Protocols directive. Or, the other + way around, Protocols directives in virtual hosts replace any + such directive in the base server. + </p> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#protocolshonororder">ProtocolsHonorOrder</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a> <a name="protocolshonororder" id="protocolshonororder">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table> + <p>This directive specifies if the server should honor the order in which + the <code class="directive">Protocols</code> directive lists protocols.</p> + + <p>If configured Off, the client supplied list order of protocols has + precedence over the order in the server configuration.</p> + + <p>With <code class="directive">ProtocolsHonorOrder</code> set to <code>on</code> + (default), the client ordering does not matter and only the ordering + in the server settings influences the outcome of the protocol + negotiation.</p> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#protocols">Protocols</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a> <a name="qualifyredirecturl" id="qualifyredirecturl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>QualifyRedirectURL On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>QualifyRedirectURL Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.</td></tr> +</table> + <p>This directive controls whether the server will ensure that the + REDIRECT_URL environment variable is fully qualified. By default, + the variable contains the verbatim URL requested by the client, + such as "/index.html". With <code class="directive">QualifyRedirectURL On</code>, the same request would result in a + value such as "http://www.example.com/index.html".</p> + <p>Even without this directive set, when a request is issued against a + fully qualified URL, REDIRECT_URL will remain fully qualified. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadBufferSize" id="ReadBufferSize">ReadBufferSize</a> <a name="readbuffersize" id="readbuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Size of the buffers used to read data</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReadBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ReadBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.27 and later</td></tr> +</table> + <p>This directive allows to configure the size (in bytes) of the memory + buffer used to read data from the network or files.</p> + + <p>A larger buffer can increase peformances with larger data, but consumes + more memory per connection. The minimum configurable size is + <var>1024</var>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegexDefaultOptions" id="RegexDefaultOptions">RegexDefaultOptions</a> <a name="regexdefaultoptions" id="regexdefaultoptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allow to configure global/default options for regexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>RegexDefaultOptions DOTALL DOLLAR_ENDONLY</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Only available from Apache 2.4.30 and later.</td></tr> +</table> + <p>This directive adds some default behavior to ANY regular expression + used afterwards.</p> + + <p>Any option preceded by a '+' is added to the already set options.<br /> + Any option preceded by a '-' is removed from the already set options.<br /> + Any option without a '+' or a '-' will be set, removing any other + already set option.<br /> + The <code>none</code> keyword resets any already set options.</p> + + <p><var>option</var> can be:</p> + <dl> + <dt><code>ICASE</code></dt> + <dd>Use a case-insensitive match.</dd> + + <dt><code>EXTENDED</code></dt> + <dd>Perl's /x flag, ignore (unescaped-)spaces and comments in the pattern.</dd> + + <dt><code>DOTALL</code></dt> + <dd>Perl's /s flag, '.' matches newline characters.</dd> + + <dt><code>DOLLAR_ENDONLY</code></dt> + <dd>'$' matches at end of subject string only.</dd> + </dl> + <pre class="prettyprint lang-config"># Add the ICASE option for all regexes by default +RegexDefaultOptions +ICASE +... +# Remove the default DOLLAR_ENDONLY option, but keep any other one +RegexDefaultOptions -DOLLAR_ENDONLY +... +# Set the DOTALL option only, resetting any other one +RegexDefaultOptions DOTALL +... +# Reset all defined options +RegexDefaultOptions none +...</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a> <a name="registerhttpmethod" id="registerhttpmethod">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Register non-standard HTTP methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.24 and later</td></tr> +</table> +<p>This directive may be used to register additional HTTP methods. This is +necessary if non-standard methods need to be used with directives that accept +method names as parameters, or to allow particular non-standard methods to be +used via proxy or CGI script when the server has been configured to only pass +recognized methods to modules.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#httpprotocoloptions">HTTPProtocolOptions</a></code></li> +<li><code class="directive"><a href="../mod/mod_allowmethods.html#allowmethods">AllowMethods</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the CPU consumption of processes launched +by Apache httpd children</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or <code>max</code> to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as <code>root</code> or in the initial startup + phase.</p> + + <p>This applies to processes forked from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked from the Apache httpd parent, such as piped + logs.</p> + + <p>CPU resource limits are expressed in seconds per + process.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the memory consumption of processes launched +by Apache httpd children</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or <code>max</code> to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as <code>root</code> or in the initial startup + phase.</p> + + <p>This applies to processes forked from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked from the Apache httpd parent, such as piped + logs.</p> + + <p>Memory resource limits are expressed in bytes per + process.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the number of processes that can be launched by +processes launched by Apache httpd children</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes, and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or <code>max</code> to indicate to the server that the limit + should be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as <code>root</code> or in the initial startup + phase.</p> + + <p>This applies to processes forked from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked from the Apache httpd parent, such as piped + logs.</p> + + <p>Process limits control the number of processes per user.</p> + + <div class="note"><h3>Note</h3> + <p>If CGI processes are <strong>not</strong> running + under user ids other than the web server user id, this directive + will limit the number of processes that the server itself can + create. Evidence of this situation will be indicated by + <strong><code>cannot fork</code></strong> messages in the + <code>error_log</code>.</p> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique for locating the interpreter for CGI +scripts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Win32 only.</td></tr> +</table> + <p>This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. The default setting is + <code>Script</code>. This causes Apache httpd to use the interpreter pointed to + by the shebang line (first line, starting with <code>#!</code>) in the + script. On Win32 systems this line usually looks like:</p> + + <pre class="prettyprint lang-perl">#!C:/Perl/bin/perl.exe</pre> + + + <p>or, if <code>perl</code> is in the <code>PATH</code>, simply:</p> + + <pre class="prettyprint lang-perl">#!perl</pre> + + + <p>Setting <code>ScriptInterpreterSource Registry</code> will + cause the Windows Registry tree <code>HKEY_CLASSES_ROOT</code> to be + searched using the script file extension (e.g., <code>.pl</code>) as a + search key. The command defined by the registry subkey + <code>Shell\ExecCGI\Command</code> or, if it does not exist, by the subkey + <code>Shell\Open\Command</code> is used to open the script file. If the + registry keys cannot be found, Apache httpd falls back to the behavior of the + <code>Script</code> option.</p> + + <div class="warning"><h3>Security</h3> + <p>Be careful when using <code>ScriptInterpreterSource + Registry</code> with <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>'ed directories, because + Apache httpd will try to execute <strong>every</strong> file within this + directory. The <code>Registry</code> setting may cause undesired + program calls on files which are typically not executed. For + example, the default open command on <code>.htm</code> files on + most Windows systems will execute Microsoft Internet Explorer, so + any HTTP request for an <code>.htm</code> file existing within the + script directory would start the browser in the background on the + server. This is a good way to crash your system within a minute or + so.</p> + </div> + + <p>The option <code>Registry-Strict</code> + does the same thing as <code>Registry</code> but uses only the + subkey <code>Shell\ExecCGI\Command</code>. The + <code>ExecCGI</code> key is not a common one. It must be + configured manually in the windows registry and hence prevents + accidental program calls on your system.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a> <a name="seerequesttail" id="seerequesttail">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SeeRequestTail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SeeRequestTail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache httpd 2.2.7 and later.</td></tr> +</table> + <p><code class="module"><a href="../mod/mod_status.html">mod_status</a></code> with <code>ExtendedStatus On</code> + displays the actual request being handled. + For historical purposes, only 63 characters of the request + are actually stored for display purposes. This directive + controls whether the first 63 characters are stored (the previous + behavior and the default) or if the last 63 characters are. This + is only applicable, of course, if the length of the request is + 64 characters or greater.</p> + + <p>If Apache httpd is handling <code>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</code> <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> displays as follows: + </p> + + <table class="bordered"> + <tr> + <th>Off (default)</th> + <td>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples</td> + </tr> + <tr> + <th>On</th> + <td>orage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</td> + </tr> + </table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Email address that the server includes in error +messages sent to the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAdmin <var>email-address</var>|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerAdmin</code> sets the contact address + that the server includes in any error messages it returns to the + client. If the <code>httpd</code> doesn't recognize the supplied argument + as an URL, it + assumes, that it's an <var>email-address</var> and prepends it with + <code>mailto:</code> in hyperlink targets. However, it's recommended to + actually use an email address, since there are a lot of CGI scripts that + make that assumption. If you want to use an URL, it should point to another + server under your control. Otherwise users may not be able to contact you in + case of errors.</p> + + <p>It may be worth setting up a dedicated address for this, e.g.</p> + + <pre class="prettyprint lang-config">ServerAdmin www-admin@foo.example.com</pre> + + <p>as users do not always mention that they are talking about the + server!</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Alternate names for a host used when matching requests +to name-virtual hosts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerAlias</code> directive sets the + alternate names for a host, for use with <a href="../vhosts/name-based.html">name-based virtual hosts</a>. The + <code class="directive">ServerAlias</code> may include wildcards, if appropriate.</p> + + <pre class="prettyprint lang-config"><VirtualHost *:80> + ServerName server.example.com + ServerAlias server server2.example.com server2 + ServerAlias *.example.com + UseCanonicalName Off + # ... +</VirtualHost></pre> + + + <p>Name-based virtual hosts for the best-matching set of <code class="directive"><a href="#virtualhost"><virtualhost></a></code>s are processed + in the order they appear in the configuration. The first matching <code class="directive"><a href="#servername">ServerName</a></code> or <code class="directive"><a href="#serveralias">ServerAlias</a></code> is used, with no different precedence for wildcards + (nor for ServerName vs. ServerAlias). </p> + + <p>The complete list of names in the <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> + directive are treated just like a (non wildcard) + <code class="directive">ServerAlias</code>.</p> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/">Apache HTTP Server Virtual Host documentation</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Hostname and port that the server uses to identify +itself</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerName [<var>scheme</var>://]<var>domain-name</var>|<var>ip-address</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerName</code> directive sets the + request scheme, hostname and port that the server uses to identify itself. + </p> + + <p><code class="directive">ServerName</code> is used (possibly + in conjunction with <code class="directive"><a href="#serveralias">ServerAlias</a></code>) to uniquely + identify a virtual host, when using <a href="../vhosts/name-based.html">name-based virtual hosts</a>.</p> + + <p>Additionally, this is used when + creating self-referential redirection URLs when + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> is set to a non-default + value.</p> + + <p>For example, if the name of the + machine hosting the web server is <code>simple.example.com</code>, + but the machine also has the DNS alias <code>www.example.com</code> + and you wish the web server to be so identified, the following + directive should be used:</p> + + <pre class="prettyprint lang-config">ServerName www.example.com</pre> + + + <p>The <code class="directive">ServerName</code> directive + may appear anywhere within the definition of a server. However, + each appearance overrides the previous appearance (within that + server).</p> + + <p>If no <code class="directive">ServerName</code> is specified, the + server attempts to deduce the client visible hostname by first asking + the operating system for the system hostname, and if that fails, + performing a reverse lookup on an IP address present on the system.</p> + + <p>If no port is specified in the + <code class="directive">ServerName</code>, then the server will use the + port from the incoming request. For optimal reliability and + predictability, you should specify an explicit hostname and port + using the <code class="directive">ServerName</code> directive.</p> + + <p>If you are using <a href="../vhosts/name-based.html">name-based virtual hosts</a>, + the <code class="directive">ServerName</code> inside a + <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> + section specifies what hostname must appear in the request's + <code>Host:</code> header to match this virtual host.</p> + + <p>Sometimes, the server runs behind a device that processes SSL, + such as a reverse proxy, load balancer or SSL offload + appliance. When this is the case, specify the + <code>https://</code> scheme and the port number to which the + clients connect in the <code class="directive">ServerName</code> directive + to make sure that the server generates the correct + self-referential URLs. + </p> + + <p>See the description of the + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> and + <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> directives for + settings which determine whether self-referential URLs (e.g., by the + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> module) will refer to the + specified port, or to the port number given in the client's request. + </p> + + <div class="warning"> + <p>Failure to set <code class="directive">ServerName</code> to a name that + your server can resolve to an IP address will result in a startup + warning. <code>httpd</code> will then use whatever hostname it can + determine, using the system's <code>hostname</code> command. This + will almost never be the hostname you actually want.</p> + <div class="example"><p><code> + httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName + </code></p></div> + </div> + + +<h3>See also</h3> +<ul> +<li><a href="../dns-caveats.html">Issues Regarding DNS and + Apache HTTP Server</a></li> +<li><a href="../vhosts/">Apache HTTP Server virtual host + documentation</a></li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerPath <var>URL-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerPath</code> directive sets the legacy + URL pathname for a host, for use with <a href="../vhosts/">name-based virtual hosts</a>.</p> + +<h3>See also</h3> +<ul> +<li><a href="../vhosts/">Apache HTTP Server Virtual Host documentation</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Base directory for the server installation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerRoot <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerRoot</code> directive sets the + directory in which the server lives. Typically it will contain the + subdirectories <code>conf/</code> and <code>logs/</code>. Relative + paths in other configuration directives (such as <code class="directive"><a href="#include">Include</a></code> or <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, for example) are taken as + relative to this directory.</p> + + <pre class="prettyprint lang-config">ServerRoot "/home/httpd"</pre> + + + <p>The default location of <code class="directive">ServerRoot</code> may be + modified by using the <code>--prefix</code> argument to + <a href="../programs/configure.html"><code>configure</code></a>, and + most third-party distributions of the server have a different + default location from the one listed above.</p> + + +<h3>See also</h3> +<ul> +<li><a href="../invoking.html">the <code>-d</code> + option to <code>httpd</code></a></li> +<li><a href="../misc/security_tips.html#serverroot">the + security tips</a> for information on how to properly set + permissions on the <code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the footer on server-generated documents</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerSignature</code> directive allows the + configuration of a trailing footer line under server-generated + documents (error messages, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ftp directory + listings, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> output, ...). The reason why you + would want to enable such a footer line is that in a chain of proxies, + the user often has no possibility to tell which of the chained servers + actually produced a returned error message.</p> + + <p>The <code>Off</code> + setting, which is the default, suppresses the footer line. + The <code>On</code> setting simply adds a line with the + server version number and <code class="directive"><a href="#servername">ServerName</a></code> of the serving virtual host, + and the <code>EMail</code> setting additionally creates a + "mailto:" reference to the <code class="directive"><a href="#serveradmin">ServerAdmin</a></code> of the referenced + document.</p> + + <p>The details of the server version number + presented are controlled by the <code class="directive"><a href="#servertokens">ServerTokens</a></code> directive.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the <code>Server</code> HTTP response +header</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive controls whether <code>Server</code> response + header field which is sent back to clients includes a + description of the generic OS-type of the server as well as + information about compiled-in modules.</p> + + <dl> + <dt><code>ServerTokens Full</code> (or not specified)</dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/2.4.2 + (Unix) PHP/4.2.2 MyMod/1.2</code></dd> + + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache</code></dd> + + <dt><code>ServerTokens Major</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2.4</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2.4.2</code></dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/2.4.2 + (Unix)</code></dd> + + </dl> + + <p>This setting applies to the entire server, and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis.</p> + + <p>This directive also controls the + information presented by the <code class="directive"><a href="#serversignature">ServerSignature</a></code> directive.</p> + + <div class="note">Setting <code class="directive">ServerTokens</code> to less than + <code>minimal</code> is not recommended because it makes it more + difficult to debug interoperational problems. Also note that + disabling the Server: header does nothing at all to make your + server more secure. The idea of "security through obscurity" + is a myth and leads to a false sense of safety.</div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Forces all matching files to be processed by a +handler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetHandler <var>handler-name</var>|none|<var>expression</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>expression argument 2.4.19 and later</td></tr> +</table> + <p>When placed into an <code>.htaccess</code> file or a + <code class="directive"><a href="#directory"><Directory></a></code> or + <code class="directive"><a href="#location"><Location></a></code> + section, this directive forces all matching files to be parsed + through the <a href="../handler.html">handler</a> given by + <var>handler-name</var>. For example, if you had a directory you + wanted to be parsed entirely as imagemap rule files, regardless + of extension, you might put the following into an + <code>.htaccess</code> file in that directory:</p> + + <pre class="prettyprint lang-config">SetHandler imap-file</pre> + + + <p>Another example: if you wanted to have the server display a + status report whenever a URL of + <code>http://servername/status</code> was called, you might put + the following into <code>httpd.conf</code>:</p> + + <pre class="prettyprint lang-config"><Location "/status"> + SetHandler server-status +</Location></pre> + + + <p>You could also use this directive to configure a particular + handler for files with a particular file extension. For example:</p> + + <pre class="prettyprint lang-config"><FilesMatch "\.php$"> + SetHandler application/x-httpd-php +</FilesMatch></pre> + + + <p>String-valued expressions can be used to reference per-request + variables, including backreferences to named regular expressions:</p> + + <pre class="prettyprint lang-config"><LocationMatch ^/app/(?<sub>[^/]+)/> + SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080" +</LocationMatch></pre> + + + <p>You can override an earlier defined <code class="directive">SetHandler</code> + directive by using the value <code>None</code>.</p> + + <div class="note"><h3>Note</h3> + <p>Because <code class="directive">SetHandler</code> overrides default handlers, + normal behavior such as handling of URLs ending in a slash (/) as + directories or index files is suppressed.</p></div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the filters that will process client requests and POST +input</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetInputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">SetInputFilter</code> directive sets the + filter or filters which will process client requests and POST + input when they are received by the server. This is in addition to + any filters defined elsewhere, including the + <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> + directive.</p> + + <p>If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.</p> + +<h3>See also</h3> +<ul> +<li><a href="../filter.html">Filters</a> documentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the filters that will process responses from the +server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">SetOutputFilter</code> directive sets the filters + which will process responses from the server before they are + sent to the client. This is in addition to any filters defined + elsewhere, including the + <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> + directive.</p> + + <p>For example, the following configuration will process all files + in the <code>/www/data/</code> directory for server-side + includes.</p> + + <pre class="prettyprint lang-config"><Directory "/www/data/"> + SetOutputFilter INCLUDES +</Directory></pre> + + + <p>If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.</p> + +<h3>See also</h3> +<ul> +<li><a href="../filter.html">Filters</a> documentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StrictHostCheck" id="StrictHostCheck">StrictHostCheck</a> <a name="stricthostcheck" id="stricthostcheck">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StrictHostCheck ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>StrictHostCheck OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Added in 2.4.49</td></tr> +</table> + <p>By default, the server will respond to requests for any hostname, + including requests addressed to unexpected or unconfigured hostnames. + While this is convenient, it is sometimes desirable to limit what hostnames + a backend application handles since it will often generate self-referential + responses.</p> + + <p>By setting <code class="directive">StrictHostCheck</code> to <em>ON</em>, + the server will return an HTTP 400 error if the requested hostname + hasn't been explicitly listed by either <code class="directive"><a href="#servername">ServerName</a></code> or <code class="directive"><a href="#serveralias">ServerAlias</a></code> in the virtual host that best matches the + details of the incoming connection.</p> + + <p>This directive also allows matching of the requested hostname to hostnames + specified within the opening <code class="directive"><a href="#virtualhost">VirtualHost</a></code> + tag, which is a relatively obscure configuration mechanism that acts like + additional <code class="directive"><a href="#serveralias">ServerAlias</a></code> entries.</p> + + <p>This directive has no affect in non-default virtual hosts. The value + inherited from the global server configuration, or the default virtualhost + for the ip:port the underlying connection, determine the effective value.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Amount of time the server will wait for +certain events before failing a request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TimeOut <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TimeOut 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">TimeOut</code> directive defines the length + of time Apache httpd will wait for I/O in various circumstances:</p> + + <ul> + <li><p>When reading data from the client, the length of time to + wait for a TCP packet to arrive if the read buffer is + empty.</p> + <p> For initial data on a new connection, this directive doesn't + take effect until after any configured <code class="directive"><a href="#acceptfilter"> + AcceptFilter</a></code> has passed the new connection to the server.</p> + </li> + + <li>When writing data to the client, the length of time to wait + for an acknowledgement of a packet if the send buffer is + full.</li> + + <li>In <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> and <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, + the length of time to wait for any individual block of output + from a CGI script.</li> + + <li>In <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, the length of time to + wait for output from a filtering process.</li> + + <li>In <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, the default timeout value if + <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> is not + configured.</li> + </ul> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a> <a name="traceenable" id="traceenable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines the behavior on <code>TRACE</code> requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>This directive overrides the behavior of <code>TRACE</code> for both + the core server and <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. The default + <code>TraceEnable on</code> permits <code>TRACE</code> requests per + RFC 2616, which disallows any request body to accompany the request. + <code>TraceEnable off</code> causes the core server and + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> to return a <code>405</code> (Method not + allowed) error to the client.</p> + + <p>Finally, for testing and diagnostic purposes only, request + bodies may be allowed using the non-compliant <code>TraceEnable + extended</code> directive. The core (as an origin server) will + restrict the request body to 64Kb (plus 8Kb for chunk headers if + <code>Transfer-Encoding: chunked</code> is used). The core will + reflect the full headers and all chunk headers with the response + body. As a proxy server, the request body is not restricted to 64Kb.</p> + + <div class="note"><h3>Note</h3> + + <p>Despite claims to the contrary, enabling the <code>TRACE</code> + method does not expose any security vulnerability in Apache httpd. + The <code>TRACE</code> method is defined by the HTTP/1.1 + specification and implementations are expected to support it.</p> + + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnDefine" id="UnDefine">UnDefine</a> <a name="undefine" id="undefine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Undefine the existence of a variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UnDefine <var>parameter-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Undoes the effect of a <code class="directive"><a href="#define">Define</a></code> or + of passing a <code>-D</code> argument to <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p> + <p>This directive can be used to toggle the use of <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sections without needing to alter + <code>-D</code> arguments in any startup scripts.</p> + + <p>Variable names may not contain colon ":" characters, to avoid clashes + with <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>'s syntax.</p> + + <div class="note"><h3>Virtual Host scope and pitfalls</h3> + <p>While this directive is supported in virtual host context, + the changes it makes are visible to any later configuration + directives, beyond any enclosing virtual host.</p> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#define">Define</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures how the server determines its own name and +port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>UseCanonicalName Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>In many situations Apache httpd must construct a <em>self-referential</em> + URL -- that is, a URL that refers back to the same server. With + <code>UseCanonicalName On</code> Apache httpd will use the hostname and port + specified in the <code class="directive"><a href="#servername">ServerName</a></code> + directive to construct the canonical name for the server. This name + is used in all self-referential URLs, and for the values of + <code>SERVER_NAME</code> and <code>SERVER_PORT</code> in CGIs.</p> + + <p>With <code>UseCanonicalName Off</code> Apache httpd will form + self-referential URLs using the hostname and port supplied by + the client if any are supplied (otherwise it will use the + canonical name, as defined above). These values are the same + that are used to implement <a href="../vhosts/name-based.html">name-based virtual hosts</a> + and are available with the same clients. The CGI variables + <code>SERVER_NAME</code> and <code>SERVER_PORT</code> will be + constructed from the client supplied values as well.</p> + + <p>An example where this may be useful is on an intranet server + where you have users connecting to the machine using short + names such as <code>www</code>. You'll notice that if the users + type a shortname and a URL which is a directory, such as + <code>http://www/splat</code>, <em>without the trailing + slash</em>, then Apache httpd will redirect them to + <code>http://www.example.com/splat/</code>. If you have + authentication enabled, this will cause the user to have to + authenticate twice (once for <code>www</code> and once again + for <code>www.example.com</code> -- see <a href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F"> + the FAQ on this subject for more information</a>). But if + <code class="directive">UseCanonicalName</code> is set <code>Off</code>, then + Apache httpd will redirect to <code>http://www/splat/</code>.</p> + + <p>There is a third option, <code>UseCanonicalName DNS</code>, + which is intended for use with mass IP-based virtual hosting to + support ancient clients that do not provide a + <code>Host:</code> header. With this option, Apache httpd does a + reverse DNS lookup on the server IP address that the client + connected to in order to work out self-referential URLs.</p> + + <div class="warning"><h3>Warning</h3> + <p>If CGIs make assumptions about the values of <code>SERVER_NAME</code>, + they may be broken by this option. The client is essentially free + to give whatever value they want as a hostname. But if the CGI is + only using <code>SERVER_NAME</code> to construct self-referential URLs, + then it should be just fine.</p> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures how the server determines its own port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>In many situations Apache httpd must construct a <em>self-referential</em> + URL -- that is, a URL that refers back to the same server. With + <code>UseCanonicalPhysicalPort On</code>, Apache httpd will, when + constructing the canonical port for the server to honor + the <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> directive, + provide the actual physical port number being used by this request + as a potential port. With <code>UseCanonicalPhysicalPort Off</code>, + Apache httpd will not ever use the actual physical port number, instead + relying on all configured information to construct a valid port number.</p> + + <div class="note"><h3>Note</h3> + <p>The ordering of the lookup when the physical port is used is as + follows:</p> + <dl> + <dt><code>UseCanonicalName On</code></dt> + <dd> + <ol> + <li>Port provided in <code class="directive"><a href="#servername">Servername</a></code></li> + <li>Physical port</li> + <li>Default port</li> + </ol> + </dd> + <dt><code>UseCanonicalName Off | DNS</code></dt> + <dd> + <ol> + <li>Parsed port from <code>Host:</code> header</li> + <li>Physical port</li> + <li>Port provided in <code class="directive"><a href="#servername">Servername</a></code></li> + <li>Default port</li> + </ol> + </dd> + </dl> + + <p>With <code>UseCanonicalPhysicalPort Off</code>, the + physical ports are removed from the ordering.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a> <a name="virtualhost" id="virtualhost">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply only to a specific +hostname or IP address</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><VirtualHost></code> and + <code></VirtualHost></code> are used to enclose a group of + directives that will apply only to a particular virtual host. Any + directive that is allowed in a virtual host context may be + used. When the server receives a request for a document on a + particular virtual host, it uses the configuration directives + enclosed in the <code class="directive"><VirtualHost></code> + section. <var>Addr</var> can be any of the following, optionally followed by + a colon and a port number (or *):</p> + + <ul> + <li>The IP address of the virtual host;</li> + + <li>A fully qualified domain name for the IP address of the + virtual host (not recommended);</li> + + <li>The character <code>*</code>, which acts as a wildcard and matches + any IP address.</li> + + <li>The string <code>_default_</code>, which is an alias for <code>*</code></li> + + </ul> + + <pre class="prettyprint lang-config"><VirtualHost 10.1.2.3:80> + ServerAdmin webmaster@host.example.com + DocumentRoot "/www/docs/host.example.com" + ServerName host.example.com + ErrorLog "logs/host.example.com-error_log" + TransferLog "logs/host.example.com-access_log" +</VirtualHost></pre> + + + + <p>IPv6 addresses must be specified in square brackets because + the optional port number could not be determined otherwise. An + IPv6 example is shown below:</p> + + <pre class="prettyprint lang-config"><VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80> + ServerAdmin webmaster@host.example.com + DocumentRoot "/www/docs/host.example.com" + ServerName host.example.com + ErrorLog "logs/host.example.com-error_log" + TransferLog "logs/host.example.com-access_log" +</VirtualHost></pre> + + + <p>Each Virtual Host must correspond to a different IP address, + different port number, or a different host name for the server, + in the former case the server machine must be configured to + accept IP packets for multiple addresses. (If the machine does + not have multiple network interfaces, then this can be + accomplished with the <code>ifconfig alias</code> command -- if + your OS supports it).</p> + + <div class="note"><h3>Note</h3> + <p>The use of <code class="directive"><VirtualHost></code> does + <strong>not</strong> affect what addresses Apache httpd listens on. You + may need to ensure that Apache httpd is listening on the correct addresses + using <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + </div> + + <p>A <code class="directive"><a href="#servername">ServerName</a></code> should be + specified inside each <code class="directive"><VirtualHost></code> block. If it is absent, the + <code class="directive"><a href="#servername">ServerName</a></code> from the "main" + server configuration will be inherited.</p> + + <p>When a request is received, the server first maps it to the best matching + <code class="directive"><VirtualHost></code> based on the local + IP address and port combination only. Non-wildcards have a higher + precedence. If no match based on IP and port occurs at all, the + "main" server configuration is used.</p> + + <p>If multiple virtual hosts contain the best matching IP address and port, + the server selects from these virtual hosts the best match based on the + requested hostname. If no matching name-based virtual host is found, + then the first listed virtual host that matched the IP address will be + used. As a consequence, the first listed virtual host for a given IP address + and port combination is the default virtual host for that IP and port + combination.</p> + + <div class="warning"><h3>Security</h3> + <p>See the <a href="../misc/security_tips.html">security tips</a> + document for details on why your security could be compromised if the + directory where log files are stored is writable by anyone other + than the user that starts the server.</p> + </div> + +<h3>See also</h3> +<ul> +<li><a href="../vhosts/">Apache HTTP Server Virtual Host documentation</a></li> +<li><a href="../dns-caveats.html">Issues Regarding DNS and + Apache HTTP Server</a></li> +<li><a href="../bind.html">Setting + which addresses and ports Apache HTTP Server uses</a></li> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/core.html.es b/docs/manual/mod/core.html.es new file mode 100644 index 0000000..584c38e --- /dev/null +++ b/docs/manual/mod/core.html.es @@ -0,0 +1,4602 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Servidor HTTP Apache Versión 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p> +<p class="apache">Versión 2.4 del Servidor HTTP Apache</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.4</a> > <a href="./">Módulos</a></div> +<div id="page-content"> +<div id="preamble"><h1>Funcionalidad Básica de Apache</h1> +<div class="toplang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Descripción:</a></th><td>Funcionalides básicas del Servidor HTTP Apache que siempre están presentes.</td></tr> +<tr><th><a href="module-dict.html#Status">Estado:</a></th><td>Core</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directivas</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergeslashes">MergeSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readbuffersize">ReadBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stricthostcheck">StrictHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +<h3>Lista de comprobación de errores corregidos</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd historial de cambios</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Problemas Conocidos</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Reportar un error</a></li></ul><h3>Consulte también</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comentarios</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="acceptfilter" id="acceptfilter">Directiva</a> <a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configura mejoras para un Protocolo de Escucha de Sockets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AcceptFilter <var>protocol</var> <var>accept_filter</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en Apache httpd 2.1.5 y posteriores. +En Windows desde Apache httpd 2.3.3 y posteriores.</td></tr> +</table> + <p>Esta directiva hace posible mejoras específicas a nivel de sistema operativo + y a través del tipo de Protocolo para un socket que escucha. + La premisa básica es que el kernel no envíe un socket al servidor + hasta que o bien los datos se hayan recibido o bien se haya almacenado + en el buffer una Respuesta HTTP completa. + Actualmente sólo están soportados + <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9"> + Accept Filters</a> sobre FreeBSD, <code>TCP_DEFER_ACCEPT</code> sobre Linux, + y AcceptEx() sobre Windows.</p> + + <p>El uso de <code>none</code> para un argumento desactiva cualquier filtro + aceptado para ese protocolo. Esto es útil para protocolos que requieren que un + servidor envíe datos primeros, tales como <code>ftp:</code> o <code>nntp</code>:</p> + <div class="example"><p><code>AcceptFilter nntp none</code></p></div> + + <p>Los nombres de protocolo por defecto son <code>https</code> para el puerto 443 + y <code>http</code> para todos los demás puertos. Para especificar que se está + utilizando otro protocolo con un puerto escuchando, añade el argumento <var>protocol</var> + a la directiva <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + + <p>Sobre FreeBDS los valores por defecto:</p> + <div class="example"><p><code> + AcceptFilter http httpready <br /> + AcceptFilter https dataready + </code></p></div> + + <p>El filtro <code>httpready</code> almacena en el buffer peticiones HTTP completas + a nivel de kernel. Una vez que la petición es recibida, el kernel la envía al servidor. + Consulta la página man de + <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9"> + accf_http(9)</a> para más detalles. Puesto que las peticiones HTTPS + están encriptadas, sólo se utiliza el filtro + <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9">accf_data(9)</a>.</p> + + <p>Sobre Linux los valores por defecto son:</p> + <div class="example"><p><code> + AcceptFilter http data <br /> + AcceptFilter https data + </code></p></div> + + <p>En Linux, <code>TCP_DEFER_ACCEPT</code> no soporta el buffering en peticiones http. + Cualquier valor además de <code>none</code> habilitará + <code>TCP_DEFER_ACCEPT</code> en ese socket. Para más detalles + ver la página man de Linux + <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html"> + tcp(7)</a>.</p> + + <p>Sobre Windows los valores por defecto son:</p> + <div class="example"><p><code> + AcceptFilter http data <br /> + AcceptFilter https data + </code></p></div> + + <p>Sobre Windows mpm_winnt interpreta el argumento AcceptFilter para conmutar la API + AcceptEx(), y no soporta el buffering sobre el protocolo http. Hay dos valores + que utilizan la API Windows AcceptEx() y que recuperan sockets de red + entre conexciones. <code>data</code> espera hasta que los datos han sido + transmitidos como se comentaba anteriormente, y el buffer inicial de datos y las + direcciones de red son recuperadas a partir de una única llamada AcceptEx(). + <code>connect</code> utiliza la API AcceptEx() API, y recupera también + las direcciones de red, pero a diferencia de <code>none</code> + la opción <code>connect</code> no espera a la transmisión inicial de los datos.</p> + + <p>Sobre Windows, <code>none</code> prefiere accept() antes que AcceptEx() + y no recuperará sockets entre las conexiones. Lo que es útil para los adaptadores de + red con un soporte precario de drivers, así como para algunos proveedores de red + tales como drivers vpn, o filtros de spam, de virus o de spyware.</p> + + +<h3>Consulte también</h3> +<ul> +<li><code class="directive">Protocol</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="acceptpathinfo" id="acceptpathinfo">Directiva</a> <a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Los recursos aceptan información sobre su ruta</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en Apache httpd 2.0.30 y posteriores</td></tr> +</table> + + <p>Esta directiva controla si las peticiones que contienen información sobre la ruta + que sigue un fichero que existe (o un fichero que no existe pero en un directorio que + sí existe) serán aceptadas o denegadas. La información de ruta puede estar disponible + para los scripts en la variable de entorno <code>PATH_INFO</code>.</p> + + <p>Por ejemplo, asumamos que la ubicación <code>/test/</code> apunta a + un directorio que contiene únicamente el fichero + <code>here.html</code>. Entonces, las peticiones tanto para + <code>/test/here.html/more</code> como para + <code>/test/nothere.html/more</code> recogen + <code>/more</code> como <code>PATH_INFO</code>.</p> + + <p>Los tres posibles argumentos para la directiva + <code class="directive">AcceptPathInfo</code> son los siguientes:</p> + <dl> + <dt><code>Off</code></dt><dd>Una petición sólo será aceptada si + se corresponde con una ruta literal que existe. Por lo tanto, una petición + con una información de ruta después del nombre de fichero tal como + <code>/test/here.html/more</code> en el ejemplo anterior devolverá + un error 404 NOT FOUND.</dd> + + <dt><code>On</code></dt><dd>Una petición será aceptada si una + ruta principal de acceso se corresponde con un fichero que existe. El ejemplo + anterior <code>/test/here.html/more</code> será aceptado si + <code>/test/here.html</code> corresponde a un fichero válido.</dd> + + <dt><code>Default</code></dt><dd>La gestión de las peticiones + con información de ruta está determinada por el <a href="../handler.html">controlador</a> responsable de la petición. + El controlador principal para para ficheros normales rechaza por defecto + peticiones <code>PATH_INFO</code>. Los controladores que sirven scripts, tales como <a href="mod_cgi.html">cgi-script</a> e <a href="mod_isapi.html">isapi-handler</a>, normalmente aceptan + <code>PATH_INFO</code> por defecto.</dd> + </dl> + + <p>El objetivo principal de la directiva <code>AcceptPathInfo</code> + es permitirte sobreescribir la opción del controlador + de aceptar or rechazar <code>PATH_INFO</code>. Este tipo de sobreescritura se necesita, + por ejemplo, cuando utilizas un <a href="../filter.html">filtro</a>, tal como + <a href="mod_include.html">INCLUDES</a>, para generar contenido + basado en <code>PATH_INFO</code>. El controlador principal normalmente rechazaría + la petición, de modo que puedes utilizar la siguiente configuración para habilitarla + como script:</p> + + <div class="example"><p><code> + <Files "mypaths.shtml"><br /> + <span class="indent"> + Options +Includes<br /> + SetOutputFilter INCLUDES<br /> + AcceptPathInfo On<br /> + </span> + </Files> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="accessfilename" id="accessfilename">Directiva</a> <a name="AccessFileName" id="AccessFileName">AccessFileName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Nombre del fichero distribuido de configuración</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AccessFileName <var>filename</var> [<var>filename</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Mientras que procesa una petición el servidor busca + el primer fichero de configuración existente dentro de un listado de nombres en + cada directorio de la ruta del documento, si los ficheros distribuidos + de configuración están <a href="#allowoverride">habilitados para ese + directorio</a>. Por ejemplo:</p> + + <div class="example"><p><code> + AccessFileName .acl + </code></p></div> + + <p>antes de servir el documento + <code>/usr/local/web/index.html</code>, el servidor leerá + <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code> and <code>/usr/local/web/.acl</code> + para las directivas, salvo que estén deshabilitadas with</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory> + </code></p></div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="adddefaultcharset" id="adddefaultcharset">Directiva</a> <a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Default charset parameter to be added when a response +content-type is <code>text/plain</code> or <code>text/html</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AddDefaultCharset On|Off|<var>charset</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive specifies a default value for the media type + charset parameter (the name of a character encoding) to be added + to a response if and only if the response's content-type is either + <code>text/plain</code> or <code>text/html</code>. This should override + any charset specified in the body of the response via a <code>META</code> + element, though the exact behavior is often dependent on the user's client + configuration. A setting of <code>AddDefaultCharset Off</code> + disables this functionality. <code>AddDefaultCharset On</code> enables + a default charset of <code>iso-8859-1</code>. Any other value is assumed + to be the <var>charset</var> to be used, which should be one of the + <a href="http://www.iana.org/assignments/character-sets">IANA registered + charset values</a> for use in Internet media types (MIME types). + For example:</p> + + <div class="example"><p><code> + AddDefaultCharset utf-8 + </code></p></div> + + <p><code class="directive">AddDefaultCharset</code> should only be used when all + of the text resources to which it applies are known to be in that + character encoding and it is too inconvenient to label their charset + individually. One such example is to add the charset parameter + to resources containing generated content, such as legacy CGI + scripts, that might be vulnerable to cross-site scripting attacks + due to user-provided data being included in the output. Note, however, + that a better solution is to just fix (or delete) those scripts, since + setting a default charset does not protect users that have enabled + the "auto-detect character encoding" feature on their browser.</p> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowencodedslashes" id="allowencodedslashes">Directiva</a> <a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Determines whether encoded path separators in URLs are allowed to +be passed through</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache httpd 2.0.46 and later</td></tr> +</table> + <p>The <code class="directive">AllowEncodedSlashes</code> directive allows URLs + which contain encoded path separators (<code>%2F</code> for <code>/</code> + and additionally <code>%5C</code> for <code>\</code> on according systems) + to be used. Normally such URLs are refused with a 404 (Not found) error.</p> + + <p>Turning <code class="directive">AllowEncodedSlashes</code> <code>On</code> is + mostly useful when used in conjunction with <code>PATH_INFO</code>.</p> + + <div class="note"><h3>Note</h3> + <p>Allowing encoded slashes does <em>not</em> imply <em>decoding</em>. + Occurrences of <code>%2F</code> or <code>%5C</code> (<em>only</em> on + according systems) will be left as such in the otherwise decoded URL + string.</p> + </div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowoverride" id="allowoverride">Directiva</a> <a name="AllowOverride" id="AllowOverride">AllowOverride</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Types of directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>AllowOverride None (2.3.9 and later), AllowOverride All (2.3.8 and earlier)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>When the server finds an <code>.htaccess</code> file (as + specified by <code class="directive"><a href="#accessfilename">AccessFileName</a></code>) + it needs to know which directives declared in that file can override + earlier configuration directives.</p> + + <div class="note"><h3>Only available in <Directory> sections</h3> + <code class="directive">AllowOverride</code> is valid only in + <code class="directive"><a href="#directory"><Directory></a></code> + sections specified without regular expressions, not in <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> or + <code class="directive"><a href="#files"><Files></a></code> sections. + </div> + + <p>When this directive is set to <code>None</code>, then + <a href="#accessfilename">.htaccess</a> files are completely ignored. + In this case, the server will not even attempt to read + <code>.htaccess</code> files in the filesystem.</p> + + <p>When this directive is set to <code>All</code>, then any + directive which has the .htaccess <a href="directive-dict.html#Context">Context</a> is allowed in + <code>.htaccess</code> files.</p> + + <p>The <var>directive-type</var> can be one of the following + groupings of directives.</p> + + <dl> + <dt>AuthConfig</dt> + + <dd> + + Allow use of the authorization directives (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, <em>etc.</em>).</dd> + + <dt>FileInfo</dt> + + <dd> + Allow use of the directives controlling document types + (<code class="directive"><a href="#errordocument">ErrorDocument</a></code>, + <code class="directive"><a href="#forcetype">ForceType</a></code>, + <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, + <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, + <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, and + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* and Remove* directives), + document meta data (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) and + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> from + <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>. + </dd> + + <dt>Indexes</dt> + + <dd> + Allow use of the directives controlling directory indexing + (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>, + <em>etc.</em>).</dd> + + <dt>Limit</dt> + + <dd> + Allow use of the directives controlling host access (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> and <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd> + + <dt>Options[=<var>Option</var>,...]</dt> + + <dd> + Allow use of the directives controlling specific directory + features (<code class="directive"><a href="#options">Options</a></code> and + <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). + An equal sign may be given followed by a comma (but no spaces) + separated lists of options that may be set using the <code class="directive"><a href="#options">Options</a></code> command.</dd> + </dl> + + <p>Example:</p> + + <div class="example"><p><code> + AllowOverride AuthConfig Indexes + </code></p></div> + + <p>In the example above all directives that are neither in the group + <code>AuthConfig</code> nor <code>Indexes</code> cause an internal + server error.</p> + + <div class="note"><p>For security and performance reasons, do not set + <code>AllowOverride</code> to anything other than <code>None</code> + in your <code><Directory /></code> block. Instead, find (or + create) the <code><Directory></code> block that refers to the + directory where you're actually planning to place a + <code>.htaccess</code> file.</p> + </div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowoverridelist" id="allowoverridelist">Directiva</a> <a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>AllowOverrideList None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cgimapextension" id="cgimapextension">Directiva</a> <a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Technique for locating the interpreter for CGI +scripts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>CGIMapExtension <var>cgi-path</var> <var>.extension</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>NetWare only</td></tr> +</table> + <p>This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. For example, setting + <code>CGIMapExtension sys:\foo.nlm .foo</code> will + cause all CGI script files with a <code>.foo</code> extension to + be passed to the FOO interpreter.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cgipassauth" id="cgipassauth">Directiva</a> <a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>CGIPassAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>CGIPassAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.4.13 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cgivar" id="cgivar">Directiva</a> <a name="CGIVar" id="CGIVar">CGIVar</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Controls how some CGI variables are set</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.4.21 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="contentdigest" id="contentdigest">Directiva</a> <a name="ContentDigest" id="ContentDigest">ContentDigest</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Enables the generation of <code>Content-MD5</code> HTTP Response +headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive enables the generation of + <code>Content-MD5</code> headers as defined in RFC1864 + respectively RFC2616.</p> + + <p>MD5 is an algorithm for computing a "message digest" + (sometimes called "fingerprint") of arbitrary-length data, with + a high degree of confidence that any alterations in the data + will be reflected in alterations in the message digest.</p> + + <p>The <code>Content-MD5</code> header provides an end-to-end + message integrity check (MIC) of the entity-body. A proxy or + client may check this header for detecting accidental + modification of the entity-body in transit. Example header:</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>Note that this can cause performance problems on your server + since the message digest is computed on every request (the + values are not cached).</p> + + <p><code>Content-MD5</code> is only sent for documents served + by the <code class="module"><a href="../mod/core.html">core</a></code>, and not by any module. For example, + SSI documents, output from CGI scripts, and byte range responses + do not have this header.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="defaultruntimedir" id="defaultruntimedir">Directiva</a> <a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Base directory for the server run-time files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>DefaultRuntimeDir <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache 2.4.2 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><a href="../misc/security_tips.html#serverroot">the + security tips</a> for information on how to properly set + permissions on the <code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="defaulttype" id="defaulttype">Directiva</a> <a name="DefaultType" id="DefaultType">DefaultType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>This directive has no effect other than to emit warnings +if the value is not <code>none</code>. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>DefaultType <var>media-type|none</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>DefaultType none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>The argument <code>none</code> is available in Apache httpd 2.2.7 and later. All other choices are DISABLED for 2.3.x and later.</td></tr> +</table> + <p>This directive has been disabled. For backwards compatibility + of configuration files, it may be specified with the value + <code>none</code>, meaning no default media type. For example:</p> + + <div class="example"><p><code> + DefaultType None + </code></p></div> + + <p><code>DefaultType None</code> is only available in + httpd-2.2.7 and later.</p> + + <p>Use the mime.types configuration file and the + <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> to configure media + type assignments via file extensions, or the + <code class="directive"><a href="#forcetype">ForceType</a></code> directive to configure + the media type for specific resources. Otherwise, the server will + send the response without a Content-Type header field and the + recipient may attempt to guess the media type.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="define" id="define">Directiva</a> <a name="Define" id="Define">Define</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Define the existence of a variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Define <var>parameter-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Equivalent to passing the <code>-D</code> argument to <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p> + <p>This directive can be used to toggle the use of <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sections without needing to alter + <code>-D</code> arguments in any startup scripts.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directory" id="directory">Directiva</a> <a name="Directory" id="Directory"><Directory></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><Directory <var>directory-path</var>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Directory></code> and + <code></Directory></code> are used to enclose a group of + directives that will apply only to the named directory, + sub-directories of that directory, and the files within the respective + directories. Any directive that is allowed + in a directory context may be used. <var>Directory-path</var> is + either the full path to a directory, or a wild-card string using + Unix shell-style matching. In a wild-card string, <code>?</code> matches + any single character, and <code>*</code> matches any sequences of + characters. You may also use <code>[]</code> character ranges. None + of the wildcards match a `/' character, so <code><Directory + /*/public_html></code> will not match + <code>/home/user/public_html</code>, but <code><Directory + /home/*/public_html></code> will match. Example:</p> + + <div class="example"><p><code> + <Directory /usr/local/httpd/htdocs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory> + </code></p></div> + + <div class="note"> + <p>Be careful with the <var>directory-path</var> arguments: + They have to literally match the filesystem path which Apache httpd uses + to access the files. Directives applied to a particular + <code><Directory></code> will not apply to files accessed from + that same directory via a different path, such as via different symbolic + links.</p> + </div> + + <p><a class="glossarylink" href="../glossary.html#regex" title="ver glosario">Regular + expressions</a> can also be used, with the addition of the + <code>~</code> character. For example:</p> + + <div class="example"><p><code> + <Directory ~ "^/www/.*/[0-9]{3}"> + </code></p></div> + + <p>would match directories in <code>/www/</code> that consisted of + three numbers.</p> + + <p>If multiple (non-regular expression) <code class="directive"><Directory></code> sections + match the directory (or one of its parents) containing a document, + then the directives are applied in the order of shortest match + first, interspersed with the directives from the <a href="#accessfilename">.htaccess</a> files. For example, + with</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory><br /> + <br /> + <Directory /home/><br /> + <span class="indent"> + AllowOverride FileInfo<br /> + </span> + </Directory> + </code></p></div> + + <p>for access to the document <code>/home/web/dir/doc.html</code> + the steps are:</p> + + <ul> + <li>Apply directive <code>AllowOverride None</code> + (disabling <code>.htaccess</code> files).</li> + + <li>Apply directive <code>AllowOverride FileInfo</code> (for + directory <code>/home</code>).</li> + + <li>Apply any <code>FileInfo</code> directives in + <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> and + <code>/home/web/dir/.htaccess</code> in that order.</li> + </ul> + + <p>Regular expressions are not considered until after all of the + normal sections have been applied. Then all of the regular + expressions are tested in the order they appeared in the + configuration file. For example, with</p> + + <div class="example"><p><code> + <Directory ~ abc$><br /> + <span class="indent"> + # ... directives here ...<br /> + </span> + </Directory> + </code></p></div> + + <p>the regular expression section won't be considered until after + all normal <code class="directive"><Directory></code>s and + <code>.htaccess</code> files have been applied. Then the regular + expression will match on <code>/home/abc/public_html/abc</code> and + the corresponding <code class="directive"><Directory></code> will + be applied.</p> + + <p><strong>Note that the default access for + <code><Directory /></code> is <code>Allow from All</code>. + This means that Apache httpd will serve any file mapped from an URL. It is + recommended that you change this with a block such + as</strong></p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from All<br /> + </span> + </Directory> + </code></p></div> + + <p><strong>and then override this for directories you + <em>want</em> accessible. See the <a href="../misc/security_tips.html">Security Tips</a> page for more + details.</strong></p> + + <p>The directory sections occur in the <code>httpd.conf</code> file. + <code class="directive"><Directory></code> directives + cannot nest, and cannot appear in a <code class="directive"><a href="#limit"><Limit></a></code> or <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> section.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../sections.html">How <Directory>, + <Location> and <Files> sections work</a> for an + explanation of how these different sections are combined when a + request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directorymatch" id="directorymatch">Directiva</a> <a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Enclose directives that apply to +the contents of file-system directories matching a regular expression.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><DirectoryMatch></code> and + <code></DirectoryMatch></code> are used to enclose a group + of directives which will apply only to the named directory (and the files within), + the same as <code class="directive"><a href="#directory"><Directory></a></code>. + However, it takes as an argument a + <a class="glossarylink" href="../glossary.html#regex" title="ver glosario">regular expression</a>. For example:</p> + + <div class="example"><p><code> + <DirectoryMatch "^/www/(.+/)?[0-9]{3}"> + </code></p></div> + + <p>would match directories in <code>/www/</code> that consisted of three + numbers.</p> + + <div class="note"><h3>Compatability</h3> + Prior to 2.3.9, this directive implicitly applied to sub-directories + (like <code class="directive"><a href="#directory"><Directory></a></code>) and + could not match the end of line symbol ($). In 2.3.9 and later, + only directories that match the expression are affected by the enclosed + directives. + </div> + + <div class="note"><h3>Trailing Slash</h3> + This directive applies to requests for directories that may or may + not end in a trailing slash, so expressions that are anchored to the + end of line ($) must be written with care. + </div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#directory"><Directory></a></code> for +a description of how regular expressions are mixed in with normal +<code class="directive"><Directory></code>s</li> +<li><a href="../sections.html">How <Directory>, <Location> and +<Files> sections work</a> for an explanation of how these different +sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="documentroot" id="documentroot">Directiva</a> <a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directory that forms the main document tree visible +from the web</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>DocumentRoot <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive sets the directory from which <code class="program"><a href="../programs/httpd.html">httpd</a></code> + will serve files. Unless matched by a directive like <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, the server appends the + path from the requested URL to the document root to make the + path to the document. Example:</p> + + <div class="example"><p><code> + DocumentRoot /usr/web + </code></p></div> + + <p>then an access to + <code>http://www.my.host.com/index.html</code> refers to + <code>/usr/web/index.html</code>. If the <var>directory-path</var> is + not absolute then it is assumed to be relative to the <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <p>The <code class="directive">DocumentRoot</code> should be specified without + a trailing slash.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../urlmapping.html#documentroot">Mapping URLs to Filesystem +Locations</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="else" id="else">Directiva</a> <a name="Else" id="Else"><Else></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Contains directives that apply only if the condition of a +previous <code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><a href="#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><Else> ... </Else></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="elseif" id="elseif">Directiva</a> <a name="ElseIf" id="ElseIf"><ElseIf></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="enablemmap" id="enablemmap">Directiva</a> <a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Use memory-mapping to read files during delivery</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive controls whether the <code class="program"><a href="../programs/httpd.html">httpd</a></code> may use + memory-mapping if it needs to read the contents of a file during + delivery. By default, when the handling of a request requires + access to the data within a file -- for example, when delivering a + server-parsed file using <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd + memory-maps the file if the OS supports it.</p> + + <p>This memory-mapping sometimes yields a performance improvement. + But in some environments, it is better to disable the memory-mapping + to prevent operational problems:</p> + + <ul> + <li>On some multiprocessor systems, memory-mapping can reduce the + performance of the <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li> + <li>Deleting or truncating a file while <code class="program"><a href="../programs/httpd.html">httpd</a></code> + has it memory-mapped can cause <code class="program"><a href="../programs/httpd.html">httpd</a></code> to + crash with a segmentation fault. + </li> + </ul> + + <p>For server configurations that are vulnerable to these problems, + you should disable memory-mapping of delivered files by specifying:</p> + + <div class="example"><p><code> + EnableMMAP Off + </code></p></div> + + <p>For NFS mounted files, this feature may be disabled explicitly for + the offending files by specifying:</p> + + <div class="example"><p><code> + <Directory "/path-to-nfs-files"> + <span class="indent"> + EnableMMAP Off + </span> + </Directory> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="enablesendfile" id="enablesendfile">Directiva</a> <a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Use the kernel sendfile support to deliver files to the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>EnableSendfile Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in version 2.0.44 and later. Default changed to Off in +version 2.3.9.</td></tr> +</table> + <p>This directive controls whether <code class="program"><a href="../programs/httpd.html">httpd</a></code> may use the + sendfile support from the kernel to transmit file contents to the client. + By default, when the handling of a request requires no access + to the data within a file -- for example, when delivering a + static file -- Apache httpd uses sendfile to deliver the file contents + without ever reading the file if the OS supports it.</p> + + <p>This sendfile mechanism avoids separate read and send operations, + and buffer allocations. But on some platforms or within some + filesystems, it is better to disable this feature to avoid + operational problems:</p> + + <ul> + <li>Some platforms may have broken sendfile support that the build + system did not detect, especially if the binaries were built on + another box and moved to such a machine with broken sendfile + support.</li> + <li>On Linux the use of sendfile triggers TCP-checksum + offloading bugs on certain networking cards when using IPv6.</li> + <li>On Linux on Itanium, sendfile may be unable to handle files + over 2GB in size.</li> + <li>With a network-mounted <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (e.g., NFS, SMB, CIFS, FUSE), + the kernel may be unable to serve the network file through + its own cache.</li> + </ul> + + <p>For server configurations that are not vulnerable to these problems, + you may enable this feature by specifying:</p> + + <div class="example"><p><code> + EnableSendfile On + </code></p></div> + + <p>For network mounted files, this feature may be disabled explicitly + for the offending files by specifying:</p> + + <div class="example"><p><code> + <Directory "/path-to-nfs-files"> + <span class="indent"> + EnableSendfile Off + </span> + </Directory> + </code></p></div> + <p>Please note that the per-directory and .htaccess configuration + of <code class="directive">EnableSendfile</code> is not supported by + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. + Only global definition of <code class="directive">EnableSendfile</code> + is taken into account by the module. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="error" id="error">Directiva</a> <a name="Error" id="Error">Error</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Abort configuration parsing with a custom error message</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Error <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.3.9 and later</td></tr> +</table> + <p>If an error can be detected within the configuration, this + directive can be used to generate a custom error message, and halt + configuration parsing. The typical use is for reporting required + modules which are missing from the configuration.</p> + + <div class="example"><h3>Example</h3><p><code> + # ensure that mod_include is loaded<br /> + <IfModule !include_module><br /> + Error mod_include is required by mod_foo. Load it with LoadModule.<br /> + </IfModule><br /> + <br /> + # ensure that exactly one of SSL,NOSSL is defined<br /> + <IfDefine SSL><br /> + <IfDefine NOSSL><br /> + Error Both SSL and NOSSL are defined. Define only one of them.<br /> + </IfDefine><br /> + </IfDefine><br /> + <IfDefine !SSL><br /> + <IfDefine !NOSSL><br /> + Error Either SSL or NOSSL must be defined.<br /> + </IfDefine><br /> + </IfDefine><br /> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="errordocument" id="errordocument">Directiva</a> <a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>What the server will return to the client +in case of an error</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ErrorDocument <var>error-code</var> <var>document</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>In the event of a problem or error, Apache httpd can be configured + to do one of four things,</p> + + <ol> + <li>output a simple hardcoded error message</li> + + <li>output a customized message</li> + + <li>redirect to a local <var>URL-path</var> to handle the + problem/error</li> + + <li>redirect to an external <var>URL</var> to handle the + problem/error</li> + </ol> + + <p>The first option is the default, while options 2-4 are + configured using the <code class="directive">ErrorDocument</code> + directive, which is followed by the HTTP response code and a URL + or a message. Apache httpd will sometimes offer additional information + regarding the problem/error.</p> + + <p>URLs can begin with a slash (/) for local web-paths (relative + to the <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), or be a + full URL which the client can resolve. Alternatively, a message + can be provided to be displayed by the browser. Examples:</p> + + <div class="example"><p><code> + ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br /> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /> + ErrorDocument 401 /subscription_info.html<br /> + ErrorDocument 403 "Sorry can't allow you access today" + </code></p></div> + + <p>Additionally, the special value <code>default</code> can be used + to specify Apache httpd's simple hardcoded message. While not required + under normal circumstances, <code>default</code> will restore + Apache httpd's simple hardcoded message for configurations that would + otherwise inherit an existing <code class="directive">ErrorDocument</code>.</p> + + <div class="example"><p><code> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br /> + <Directory /web/docs><br /> + <span class="indent"> + ErrorDocument 404 default<br /> + </span> + </Directory> + </code></p></div> + + <p>Note that when you specify an <code class="directive">ErrorDocument</code> + that points to a remote URL (ie. anything with a method such as + <code>http</code> in front of it), Apache HTTP Server will send a redirect to the + client to tell it where to find the document, even if the + document ends up being on the same server. This has several + implications, the most important being that the client will not + receive the original error status code, but instead will + receive a redirect status code. This in turn can confuse web + robots and other clients which try to determine if a URL is + valid using the status code. In addition, if you use a remote + URL in an <code>ErrorDocument 401</code>, the client will not + know to prompt the user for a password since it will not + receive the 401 status code. Therefore, <strong>if you use an + <code>ErrorDocument 401</code> directive then it must refer to a local + document.</strong></p> + + <p>Microsoft Internet Explorer (MSIE) will by default ignore + server-generated error messages when they are "too small" and substitute + its own "friendly" error messages. The size threshold varies depending on + the type of error, but in general, if you make your error document + greater than 512 bytes, then MSIE will show the server-generated + error rather than masking it. More information is available in + Microsoft Knowledge Base article <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p> + + <p>Although most error messages can be overriden, there are certain + circumstances where the internal messages are used regardless of the + setting of <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. In + particular, if a malformed request is detected, normal request processing + will be immediately halted and the internal error message returned. + This is necessary to guard against security problems caused by + bad requests.</p> + + <p>If you are using mod_proxy, you may wish to enable + <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> so that you can provide + custom error messages on behalf of your Origin servers. If you don't enable ProxyErrorOverride, + Apache httpd will not generate custom error documents for proxied content.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../custom-error.html">documentation of + customizable responses</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="errorlog" id="errorlog">Directiva</a> <a name="ErrorLog" id="ErrorLog">ErrorLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Location where the server will log errors</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ErrorLog</code> directive sets the name of + the file to which the server will log any errors it encounters. If + the <var>file-path</var> is not absolute then it is assumed to be + relative to the <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <div class="example"><h3>Example</h3><p><code> + ErrorLog /var/log/httpd/error_log + </code></p></div> + + <p>If the <var>file-path</var> + begins with a pipe character "<code>|</code>" then it is assumed to be a + command to spawn to handle the error log.</p> + + <div class="example"><h3>Example</h3><p><code> + ErrorLog "|/usr/local/bin/httpd_errors" + </code></p></div> + + <p>See the notes on <a href="../logs.html#piped">piped logs</a> for + more information.</p> + + <p>Using <code>syslog</code> instead of a filename enables logging + via syslogd(8) if the system supports it. The default is to use + syslog facility <code>local7</code>, but you can override this by + using the <code>syslog:<var>facility</var></code> syntax where + <var>facility</var> can be one of the names usually documented in + syslog(1). The facility is effectively global, and if it is changed + in individual virtual hosts, the final facility specified affects the + entire server.</p> + + <div class="example"><h3>Example</h3><p><code> + ErrorLog syslog:user + </code></p></div> + + <p>SECURITY: See the <a href="../misc/security_tips.html#serverroot">security tips</a> + document for details on why your security could be compromised + if the directory where log files are stored is writable by + anyone other than the user that starts the server.</p> + <div class="warning"><h3>Note</h3> + <p>When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashed are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.</p> + </div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="errorlogformat" id="errorlogformat">Directiva</a> <a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Format specification for error log entries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code> ErrorLog [connection|request] <var>format</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache httpd 2.3.9 and later</td></tr> +</table> + <p><code class="directive">ErrorLogFormat</code> allows to specify what + supplementary information is logged in the error log in addition to the + actual log message.</p> + + <div class="example"><h3>Simple example</h3><p><code> + ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M" + </code></p></div> + + <p>Specifying <code>connection</code> or <code>request</code> as first + paramter allows to specify additional formats, causing additional + information to be logged when the first message is logged for a specific + connection or request, respectivly. This additional information is only + logged once per connection/request. If a connection or request is processed + without causing any log message, the additional information is not logged + either.</p> + + <p>It can happen that some format string items do not produce output. For + example, the Referer header is only present if the log message is + associated to a request and the log message happens at a time when the + Referer header has already been read from the client. If no output is + produced, the default behaviour is to delete everything from the preceeding + space character to the next space character. This means the log line is + implicitly divided into fields on non-whitespace to whitespace transitions. + If a format string item does not produce output, the whole field is + ommitted. For example, if the remote address <code>%a</code> in the log + format <code>[%t] [%l] [%a] %M </code> is not available, the surrounding + brackets are not logged either. Space characters can be escaped with a + backslash to prevent them from delimiting a field. The combination '% ' + (percent space) is a zero-witdh field delimiter that does not produce any + output.</p> + + <p>The above behaviour can be changed by adding modifiers to the format + string item. A <code>-</code> (minus) modifier causes a minus to be logged if the + respective item does not produce any output. In once-per-connection/request + formats, it is also possible to use the <code>+</code> (plus) modifier. If an + item with the plus modifier does not produce any output, the whole line is + ommitted.</p> + + <p>A number as modifier can be used to assign a log severity level to a + format item. The item will only be logged if the severity of the log + message is not higher than the specified log severity level. The number can + range from 1 (alert) over 4 (warn) and 7 (debug) to 15 (trace8).</p> + + <p>Some format string items accept additional parameters in braces.</p> + + <table class="bordered"><tr class="header"><th>Format String</th> <th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>The percent sign</td></tr> +<tr class="odd"><td><code>%...a</code></td> + <td>Remote IP-address and port</td></tr> +<tr><td><code>%...A</code></td> + <td>Local IP-address and port</td></tr> +<tr class="odd"><td><code>%...{name}e</code></td> + <td>Request environment variable <code>name</code></td></tr> +<tr><td><code>%...E</code></td> + <td>APR/OS error status code and string</td></tr> +<tr class="odd"><td><code>%...F</code></td> + <td>Source file name and line number of the log call</td></tr> +<tr><td><code>%...{name}i</code></td> + <td>Request header <code>name</code></td></tr> +<tr class="odd"><td><code>%...k</code></td> + <td>Number of keep-alive requests on this connection</td></tr> +<tr><td><code>%...l</code></td> + <td>Loglevel of the message</td></tr> +<tr class="odd"><td><code>%...L</code></td> + <td>Log ID of the request</td></tr> +<tr><td><code>%...{c}L</code></td> + <td>Log ID of the connection</td></tr> +<tr class="odd"><td><code>%...{C}L</code></td> + <td>Log ID of the connection if used in connection scope, empty otherwise</td></tr> +<tr><td><code>%...m</code></td> + <td>Name of the module logging the message</td></tr> +<tr class="odd"><td><code>%M</code></td> + <td>The actual log message</td></tr> +<tr><td><code>%...{name}n</code></td> + <td>Request note <code>name</code></td></tr> +<tr class="odd"><td><code>%...P</code></td> + <td>Process ID of current process</td></tr> +<tr><td><code>%...T</code></td> + <td>Thread ID of current thread</td></tr> +<tr class="odd"><td><code>%...t</code></td> + <td>The current time</td></tr> +<tr><td><code>%...{u}t</code></td> + <td>The current time including micro-seconds</td></tr> +<tr class="odd"><td><code>%...{cu}t</code></td> + <td>The current time in compact ISO 8601 format, including + micro-seconds</td></tr> +<tr><td><code>%...v</code></td> + <td>The canonical <code class="directive"><a href="#servername">ServerName</a></code> + of the current server.</td></tr> +<tr class="odd"><td><code>%...V</code></td> + <td>The server name of the server serving the request according to the + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> + setting.</td></tr> +<tr><td><code>\ </code> (backslash space)</td> + <td>Non-field delimiting space</td></tr> +<tr class="odd"><td><code>% </code> (percent space)</td> + <td>Field delimiter (no output)</td></tr> +</table> + + <p>The log ID format <code>%L</code> produces a unique id for a connection + or request. This can be used to correlate which log lines belong to the + same connection or request, which request happens on which connection. + A <code>%L</code> format string is also available in + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>, to allow to correlate access log entries + with error log lines. If <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> is loaded, its + unique id will be used as log ID for requests.</p> + + <div class="example"><h3>Example (somewhat similar to default format)</h3><p><code> + ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P] %7F: %E: [client\ %a] + %M% ,\ referer\ %{Referer}i" + </code></p></div> + + <div class="example"><h3>Example (similar to the 2.2.x format)</h3><p><code> + ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] + %M% ,\ referer\ %{Referer}i" + </code></p></div> + + <div class="example"><h3>Advanced example with request/connection log IDs</h3><p><code> + ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"<br /> + ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"<br /> + ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"<br /> + ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"<br /> + ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"<br /> + </code></p></div> + + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="extendedstatus" id="extendedstatus">Directiva</a> <a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Keep track of extended status information for each +request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ExtendedStatus On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ExtendedStatus Off[*]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This option tracks additional data per worker about the + currently executing request, and a utilization summary; you + can see these variables during runtime by configuring + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Note that other modules may + rely on this scoreboard.</p> + + <p>This setting applies to the entire server, and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis. + The collection of extended status information can slow down + the server. Also note that this setting cannot be changed + during a graceful restart.</p> + + <div class="note"> + <p>Note that loading <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> will change + the default behavior to ExtendedStatus On, while other + third party modules may do the same. Such modules rely on + collecting detailed information about the state of all workers. + The default is changed by <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> beginning + with version 2.3.6; the previous default was always Off.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="fileetag" id="fileetag">Directiva</a> <a name="FileETag" id="FileETag">FileETag</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>File attributes used to create the ETag +HTTP response header for static files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>FileETag <var>component</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>FileETag INode MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p> + The <code class="directive">FileETag</code> directive configures the file + attributes that are used to create the <code>ETag</code> (entity + tag) response header field when the document is based on a static file. + (The <code>ETag</code> value is used in cache management to save + network bandwidth.) The + <code class="directive">FileETag</code> directive allows you to choose + which of these -- if any -- should be used. The recognized keywords are: + </p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>The file's i-node number will be included in the calculation</dd> + <dt><strong>MTime</strong></dt> + <dd>The date and time the file was last modified will be included</dd> + <dt><strong>Size</strong></dt> + <dd>The number of bytes in the file will be included</dd> + <dt><strong>All</strong></dt> + <dd>All available fields will be used. This is equivalent to: + <div class="example"><p><code>FileETag INode MTime Size</code></p></div></dd> + <dt><strong>None</strong></dt> + <dd>If a document is file-based, no <code>ETag</code> field will be + included in the response</dd> + </dl> + + <p>The <code>INode</code>, <code>MTime</code>, and <code>Size</code> + keywords may be prefixed with either <code>+</code> or <code>-</code>, + which allow changes to be made to the default setting inherited + from a broader scope. Any keyword appearing without such a prefix + immediately and completely cancels the inherited setting.</p> + + <p>If a directory's configuration includes + <code>FileETag INode MTime Size</code>, and a + subdirectory's includes <code>FileETag -INode</code>, + the setting for that subdirectory (which will be inherited by + any sub-subdirectories that don't override it) will be equivalent to + <code>FileETag MTime Size</code>.</p> + <div class="warning"><h3>Warning</h3> + Do not change the default for directories or locations that have WebDAV + enabled and use <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> as a storage provider. + <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> uses <code>INode MTime Size</code> + as a fixed format for <code>ETag</code> comparisons on conditional requests. + These conditional requests will break if the <code>ETag</code> format is + changed via <code class="directive">FileETag</code>. + </div> + <div class="note"><h3>Server Side Includes</h3> + An ETag is not generated for responses parsed by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, + since the response entity can change without a change of the INode, MTime, or Size + of the static file with embedded SSI directives. + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="files" id="files">Directiva</a> <a name="Files" id="Files"><Files></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Contains directives that apply to matched +filenames</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><Files <var>filename</var>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><Files></code> directive + limits the scope of the enclosed directives by filename. It is comparable + to the <code class="directive"><a href="#directory"><Directory></a></code> + and <code class="directive"><a href="#location"><Location></a></code> + directives. It should be matched with a <code></Files></code> + directive. The directives given within this section will be applied to + any object with a basename (last component of filename) matching the + specified filename. <code class="directive"><Files></code> + sections are processed in the order they appear in the + configuration file, after the <code class="directive"><a href="#directory"><Directory></a></code> sections and + <code>.htaccess</code> files are read, but before <code class="directive"><a href="#location"><Location></a></code> sections. Note + that <code class="directive"><Files></code> can be nested + inside <code class="directive"><a href="#directory"><Directory></a></code> sections to restrict the + portion of the filesystem they apply to.</p> + + <p>The <var>filename</var> argument should include a filename, or + a wild-card string, where <code>?</code> matches any single character, + and <code>*</code> matches any sequences of characters. + <a class="glossarylink" href="../glossary.html#regex" title="ver glosario">Regular expressions</a> + can also be used, with the addition of the + <code>~</code> character. For example:</p> + + <div class="example"><p><code> + <Files ~ "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>would match most common Internet graphics formats. <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> is preferred, + however.</p> + + <p>Note that unlike <code class="directive"><a href="#directory"><Directory></a></code> and <code class="directive"><a href="#location"><Location></a></code> sections, <code class="directive"><Files></code> sections can be used inside + <code>.htaccess</code> files. This allows users to control access to + their own files, at a file-by-file level.</p> + + +<h3>Consulte también</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="filesmatch" id="filesmatch">Directiva</a> <a name="FilesMatch" id="FilesMatch"><FilesMatch></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Contains directives that apply to regular-expression matched +filenames</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><FilesMatch <var>regex</var>> ... </FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><FilesMatch></code> directive + limits the scope of the enclosed directives by filename, just as the + <code class="directive"><a href="#files"><Files></a></code> directive + does. However, it accepts a <a class="glossarylink" href="../glossary.html#regex" title="ver glosario">regular + expression</a>. For example:</p> + + <div class="example"><p><code> + <FilesMatch "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>would match most common Internet graphics formats.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="flushmaxpipelined" id="flushmaxpipelined">Directiva</a> <a name="FlushMaxPipelined" id="FlushMaxPipelined">FlushMaxPipelined</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>FlushMaxPipelined <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>FlushMaxPipelined 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.4.47 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="flushmaxthreshold" id="flushmaxthreshold">Directiva</a> <a name="FlushMaxThreshold" id="FlushMaxThreshold">FlushMaxThreshold</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Threshold above which pending data are flushed to the +network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>FlushMaxThreshold <var>number-of-bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>FlushMaxThreshold 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.4.47 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="forcetype" id="forcetype">Directiva</a> <a name="ForceType" id="ForceType">ForceType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ForceType <var>media-type</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Moved to the core in Apache httpd 2.0</td></tr> +</table> + <p>When placed into an <code>.htaccess</code> file or a + <code class="directive"><a href="#directory"><Directory></a></code>, or + <code class="directive"><a href="#location"><Location></a></code> or + <code class="directive"><a href="#files"><Files></a></code> + section, this directive forces all matching files to be served + with the content type identification given by + <var>media-type</var>. For example, if you had a directory full of + GIF files, but did not want to label them all with <code>.gif</code>, + you might want to use:</p> + + <div class="example"><p><code> + ForceType image/gif + </code></p></div> + + <p>Note that this directive overrides other indirect media type + associations defined in mime.types or via the + <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p> + + <p>You can also override more general + <code class="directive">ForceType</code> settings + by using the value of <code>None</code>:</p> + + <div class="example"><p><code> + # force all files to be image/gif:<br /> + <Location /images><br /> + <span class="indent"> + ForceType image/gif<br /> + </span> + </Location><br /> + <br /> + # but normal mime-type associations here:<br /> + <Location /images/mixed><br /> + <span class="indent"> + ForceType None<br /> + </span> + </Location> + </code></p></div> + + <p>This directive primarily overrides the content types generated for + static files served out of the filesystem. For resources other than + static files, where the generator of the response typically specifies + a Content-Type, this directive has no effect.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="gprofdir" id="gprofdir">Directiva</a> <a name="GprofDir" id="GprofDir">GprofDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directory to write gmon.out profiling data to. </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>When the server has been compiled with gprof profiling support, + <code class="directive">GprofDir</code> causes <code>gmon.out</code> files to + be written to the specified directory when the process exits. If the + argument ends with a percent symbol ('%'), subdirectories are created + for each process id.</p> + + <p>This directive currently only works with the <code class="module"><a href="../mod/prefork.html">prefork</a></code> + MPM.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="hostnamelookups" id="hostnamelookups">Directiva</a> <a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Enables DNS lookups on client IP addresses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive enables DNS lookups so that host names can be + logged (and passed to CGIs/SSIs in <code>REMOTE_HOST</code>). + The value <code>Double</code> refers to doing double-reverse + DNS lookup. That is, after a reverse lookup is performed, a forward + lookup is then performed on that result. At least one of the IP + addresses in the forward lookup must match the original + address. (In "tcpwrappers" terminology this is called + <code>PARANOID</code>.)</p> + + <p>Regardless of the setting, when <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> is + used for controlling access by hostname, a double reverse lookup + will be performed. This is necessary for security. Note that the + result of this double-reverse isn't generally available unless you + set <code>HostnameLookups Double</code>. For example, if only + <code>HostnameLookups On</code> and a request is made to an object + that is protected by hostname restrictions, regardless of whether + the double-reverse fails or not, CGIs will still be passed the + single-reverse result in <code>REMOTE_HOST</code>.</p> + + <p>The default is <code>Off</code> in order to save the network + traffic for those sites that don't truly need the reverse + lookups done. It is also better for the end users because they + don't have to suffer the extra latency that a lookup entails. + Heavily loaded sites should leave this directive + <code>Off</code>, since DNS lookups can take considerable + amounts of time. The utility <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compiled by + default to the <code>bin</code> subdirectory of your installation + directory, can be used to look up host names from logged IP addresses + offline.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="httpprotocoloptions" id="httpprotocoloptions">Directiva</a> <a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Modify restrictions on HTTP Request Messages</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.2.32 or 2.4.24 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="if" id="if">Directiva</a> <a name="If" id="If"><If></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><If></code> directive + evaluates an expression at runtime, and applies the enclosed + directives if and only if the expression evaluates to true. + For example:</p> + + <div class="example"><p><code> + <If "$req{Host} = ''"> + </code></p></div> + + <p>would match HTTP/1.0 requests without a <var>Host:</var> header.</p> + + <p>You may compare the value of any variable in the request headers + ($req), response headers ($resp) or environment ($env) in your + expression.</p> + + <p>Apart from <code>=</code>, <code>If</code> can use the <code>IN</code> + operator to compare if the expression is in a given range:</p> + + <div class="example"><p><code> + <If %{REQUEST_METHOD} IN GET,HEAD,OPTIONS> + </code></p></div> + + +<h3>Consulte también</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code> has the same precedence + and usage as <code class="directive"><Files></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifdefine" id="ifdefine">Directiva</a> <a name="IfDefine" id="IfDefine"><IfDefine></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Encloses directives that will be processed only +if a test is true at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code><IfDefine <var>test</var>>...</IfDefine> + </code> section is used to mark directives that are conditional. The + directives within an <code class="directive"><IfDefine></code> + section are only processed if the <var>test</var> is true. If <var> + test</var> is false, everything between the start and end markers is + ignored.</p> + + <p>The <var>test</var> in the <code class="directive"><IfDefine></code> section directive can be one of two forms:</p> + + <ul> + <li><var>parameter-name</var></li> + + <li><code>!</code><var>parameter-name</var></li> + </ul> + + <p>In the former case, the directives between the start and end + markers are only processed if the parameter named + <var>parameter-name</var> is defined. The second format reverses + the test, and only processes the directives if + <var>parameter-name</var> is <strong>not</strong> defined.</p> + + <p>The <var>parameter-name</var> argument is a define as given on the + <code class="program"><a href="../programs/httpd.html">httpd</a></code> command line via <code>-D<var>parameter</var> + </code> at the time the server was started or by the <code class="directive"><a href="#define">Define</a></code> directive.</p> + + <p><code class="directive"><IfDefine></code> sections are + nest-able, which can be used to implement simple + multiple-parameter tests. Example:</p> + + <div class="example"><p><code> + httpd -DReverseProxy -DUseCache -DMemCache ...<br /> + <br /> + # httpd.conf<br /> + <IfDefine ReverseProxy><br /> + <span class="indent"> + LoadModule proxy_module modules/mod_proxy.so<br /> + LoadModule proxy_http_module modules/mod_proxy_http.so<br /> + <IfDefine UseCache><br /> + <span class="indent"> + LoadModule cache_module modules/mod_cache.so<br /> + <IfDefine MemCache><br /> + <span class="indent"> + LoadModule mem_cache_module modules/mod_mem_cache.so<br /> + </span> + </IfDefine><br /> + <IfDefine !MemCache><br /> + <span class="indent"> + LoadModule cache_disk_module modules/mod_cache_disk.so<br /> + </span> + </IfDefine> + </span> + </IfDefine> + </span> + </IfDefine> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifdirective" id="ifdirective">Directiva</a> <a name="IfDirective" id="IfDirective"><IfDirective></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#ifsection"><IfSection></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="iffile" id="iffile">Directiva</a> <a name="IfFile" id="IfFile"><IfFile></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><IfFile [!]<var>filename</var>> ... + </IfFile></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifmodule" id="ifmodule">Directiva</a> <a name="IfModule" id="IfModule"><IfModule></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific module</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Module identifiers are available in version 2.1 and +later.</td></tr> +</table> + <p>The <code><IfModule <var>test</var>>...</IfModule></code> + section is used to mark directives that are conditional on the presence of + a specific module. The directives within an <code class="directive"><IfModule></code> section are only processed if the <var>test</var> + is true. If <var>test</var> is false, everything between the start and + end markers is ignored.</p> + + <p>The <var>test</var> in the <code class="directive"><IfModule></code> section directive can be one of two forms:</p> + + <ul> + <li><var>module</var></li> + + <li>!<var>module</var></li> + </ul> + + <p>In the former case, the directives between the start and end + markers are only processed if the module named <var>module</var> + is included in Apache httpd -- either compiled in or + dynamically loaded using <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. The second format reverses the test, + and only processes the directives if <var>module</var> is + <strong>not</strong> included.</p> + + <p>The <var>module</var> argument can be either the module identifier or + the file name of the module, at the time it was compiled. For example, + <code>rewrite_module</code> is the identifier and + <code>mod_rewrite.c</code> is the file name. If a module consists of + several source files, use the name of the file containing the string + <code>STANDARD20_MODULE_STUFF</code>.</p> + + <p><code class="directive"><IfModule></code> sections are + nest-able, which can be used to implement simple multiple-module + tests.</p> + + <div class="note">This section should only be used if you need to have one + configuration file that works whether or not a specific module + is available. In normal operation, directives need not be + placed in <code class="directive"><IfModule></code> + sections.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifsection" id="ifsection">Directiva</a> <a name="IfSection" id="IfSection"><IfSection></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><IfSection [!]<var>section-name</var>> ... + </IfSection></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#ifdirective"><IfDirective></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="include" id="include">Directiva</a> <a name="Include" id="Include">Include</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Includes other configuration files from within +the server configuration files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Include [<var>optional</var>|<var>strict</var>] <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Wildcard matching available in 2.0.41 and later, directory +wildcard matching available in 2.3.6 and later</td></tr> +</table> + <p>This directive allows inclusion of other configuration files + from within the server configuration files.</p> + + <p>Shell-style (<code>fnmatch()</code>) wildcard characters can be used + in the filename or directory parts of the path to include several files + at once, in alphabetical order. In addition, if + <code class="directive">Include</code> points to a directory, rather than a file, + Apache httpd will read all files in that directory and any subdirectory. + However, including entire directories is not recommended, because it is + easy to accidentally leave temporary files in a directory that can cause + <code class="program"><a href="../programs/httpd.html">httpd</a></code> to fail. Instead, we encourage you to use the + wildcard syntax shown below, to include files that match a particular + pattern, such as *.conf, for example.</p> + + <p>When a wildcard is specified for a <strong>file</strong> component of + the path, and no file matches the wildcard, the + <code class="directive"><a href="#include">Include</a></code> + directive will be <strong>silently ignored</strong>. When a wildcard is + specified for a <strong>directory</strong> component of the path, and + no directory matches the wildcard, the + <code class="directive"><a href="#include">Include</a></code> directive will + <strong>fail with an error</strong> saying the directory cannot be found. + </p> + + <p>For further control over the behaviour of the server when no files or + directories match, prefix the path with the modifiers <var>optional</var> + or <var>strict</var>. If <var>optional</var> is specified, any wildcard + file or directory that does not match will be silently ignored. If + <var>strict</var> is specified, any wildcard file or directory that does + not match at least one file will cause server startup to fail.</p> + + <p>When a directory or file component of the path is + specified exactly, and that directory or file does not exist, + <code class="directive"><a href="#include">Include</a></code> directive will fail with an + error saying the file or directory cannot be found.</p> + + <p>The file path specified may be an absolute path, or may be relative + to the <code class="directive"><a href="#serverroot">ServerRoot</a></code> directory.</p> + + <p>Examples:</p> + + <div class="example"><p><code> + Include /usr/local/apache2/conf/ssl.conf<br /> + Include /usr/local/apache2/conf/vhosts/*.conf + </code></p></div> + + <p>Or, providing paths relative to your <code class="directive"><a href="#serverroot">ServerRoot</a></code> directory:</p> + + <div class="example"><p><code> + Include conf/ssl.conf<br /> + Include conf/vhosts/*.conf + </code></p></div> + + <p>Wildcards may be included in the directory or file portion of the + path. In the following example, the server will fail to load if no + directories match conf/vhosts/*, but will load successfully if no + files match *.conf.</p> + + <div class="example"><p><code> + Include conf/vhosts/*/vhost.conf<br /> + Include conf/vhosts/*/*.conf + </code></p></div> + + <p>In this example, the server will fail to load if either + conf/vhosts/* matches no directories, or if *.conf matches no files:</p> + + <div class="example"><p><code> + Include strict conf/vhosts/*/*.conf + </code></p></div> + + <p>In this example, the server load successfully if either conf/vhosts/* + matches no directories, or if *.conf matches no files:</p> + + <div class="example"><p><code> + Include optional conf/vhosts/*/*.conf + </code></p></div> + + +<h3>Consulte también</h3> +<ul> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="includeoptional" id="includeoptional">Directiva</a> <a name="IncludeOptional" id="IncludeOptional">IncludeOptional</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Includes other configuration files from within +the server configuration files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#include">Include</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="keepalive" id="keepalive">Directiva</a> <a name="KeepAlive" id="KeepAlive">KeepAlive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Enables HTTP persistent connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The Keep-Alive extension to HTTP/1.0 and the persistent + connection feature of HTTP/1.1 provide long-lived HTTP sessions + which allow multiple requests to be sent over the same TCP + connection. In some cases this has been shown to result in an + almost 50% speedup in latency times for HTML documents with + many images. To enable Keep-Alive connections, set + <code>KeepAlive On</code>.</p> + + <p>For HTTP/1.0 clients, Keep-Alive connections will only be + used if they are specifically requested by a client. In + addition, a Keep-Alive connection with an HTTP/1.0 client can + only be used when the length of the content is known in + advance. This implies that dynamic content such as CGI output, + SSI pages, and server-generated directory listings will + generally not use Keep-Alive connections to HTTP/1.0 clients. + For HTTP/1.1 clients, persistent connections are the default + unless otherwise specified. If the client requests it, chunked + encoding will be used in order to send content of unknown + length over persistent connections.</p> + + <p>When a client uses a Keep-Alive connection it will be counted + as a single "request" for the <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> directive, regardless + of how many requests are sent using the connection.</p> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="keepalivetimeout" id="keepalivetimeout">Directiva</a> <a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Amount of time the server will wait for subsequent +requests on a persistent connection</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>KeepAliveTimeout <var>num</var>[ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Specifying a value in milliseconds is available in +Apache httpd 2.3.2 and later</td></tr> +</table> + <p>The number of seconds Apache httpd will wait for a subsequent + request before closing the connection. By adding a postfix of ms the + timeout can be also set in milliseconds. Once a request has been + received, the timeout value specified by the + <code class="directive"><a href="#timeout">Timeout</a></code> directive applies.</p> + + <p>Setting <code class="directive">KeepAliveTimeout</code> to a high value + may cause performance problems in heavily loaded servers. The + higher the timeout, the more server processes will be kept + occupied waiting on connections with idle clients.</p> + + <p>In a name-based virtual host context, the value of the first + defined virtual host (the default host) in a set of <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> will be used. + The other values will be ignored.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limit" id="limit">Directiva</a> <a name="Limit" id="Limit"><Limit></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Access controls are normally effective for + <strong>all</strong> access methods, and this is the usual + desired behavior. <strong>In the general case, access control + directives should not be placed within a + <code class="directive"><Limit></code> section.</strong></p> + + <p>The purpose of the <code class="directive"><Limit></code> + directive is to restrict the effect of the access controls to the + nominated HTTP methods. For all other methods, the access + restrictions that are enclosed in the <code class="directive"><Limit></code> bracket <strong>will have no + effect</strong>. The following example applies the access control + only to the methods <code>POST</code>, <code>PUT</code>, and + <code>DELETE</code>, leaving all other methods unprotected:</p> + + <div class="example"><p><code> + <Limit POST PUT DELETE><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </Limit> + </code></p></div> + + <p>The method names listed can be one or more of: <code>GET</code>, + <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, + <code>CONNECT</code>, <code>OPTIONS</code>, + <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>, + <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>, + <code>LOCK</code>, and <code>UNLOCK</code>. <strong>The method name is + case-sensitive.</strong> If <code>GET</code> is used it will also + restrict <code>HEAD</code> requests. The <code>TRACE</code> method + cannot be limited (see <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p> + + <div class="warning">A <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> section should always be + used in preference to a <code class="directive"><Limit></code> + section when restricting access, since a <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> section provides protection + against arbitrary methods.</div> + + <p>The <code class="directive"><Limit></code> and + <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> + directives may be nested. In this case, each successive level of + <code class="directive"><Limit></code> or <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> directives must + further restrict the set of methods to which access controls apply.</p> + + <div class="warning">When using + <code class="directive"><Limit></code> or + <code class="directive"><LimitExcept></code> directives with + the <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive, + note that the first <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + to succeed authorizes the request, regardless of the presence of other + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directives.</div> + + <p>For example, given the following configuration, all users will + be authorized for <code>POST</code> requests, and the + <code>Require group editors</code> directive will be ignored + in all cases:</p> + + <div class="example"><p><code> + <LimitExcept GET> + <span class="indent"> + Require valid-user + </span> + </LimitExcept><br /> + <Limit POST> + <span class="indent"> + Require group editors + </span> + </Limit> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitexcept" id="limitexcept">Directiva</a> <a name="LimitExcept" id="LimitExcept"><LimitExcept></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> and + <code></LimitExcept></code> are used to enclose + a group of access control directives which will then apply to any + HTTP access method <strong>not</strong> listed in the arguments; + i.e., it is the opposite of a <code class="directive"><a href="#limit"><Limit></a></code> section and can be used to control + both standard and nonstandard/unrecognized methods. See the + documentation for <code class="directive"><a href="#limit"><Limit></a></code> for more details.</p> + + <p>For example:</p> + + <div class="example"><p><code> + <LimitExcept POST GET><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </LimitExcept> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitinternalrecursion" id="limitinternalrecursion">Directiva</a> <a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Determine maximum number of internal redirects and nested +subrequests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>LimitInternalRecursion <var>number</var> [<var>number</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache httpd 2.0.47 and later</td></tr> +</table> + <p>An internal redirect happens, for example, when using the <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> directive, which internally + redirects the original request to a CGI script. A subrequest is Apache httpd's + mechanism to find out what would happen for some URI if it were requested. + For example, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> uses subrequests to look for the + files listed in the <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + directive.</p> + + <p><code class="directive">LimitInternalRecursion</code> prevents the server + from crashing when entering an infinite loop of internal redirects or + subrequests. Such loops are usually caused by misconfigurations.</p> + + <p>The directive stores two different limits, which are evaluated on + per-request basis. The first <var>number</var> is the maximum number of + internal redirects, that may follow each other. The second <var>number</var> + determines, how deep subrequests may be nested. If you specify only one + <var>number</var>, it will be assigned to both limits.</p> + + <div class="example"><h3>Example</h3><p><code> + LimitInternalRecursion 5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestbody" id="limitrequestbody">Directiva</a> <a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Restricts the total size of the HTTP request body sent +from the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>LimitRequestBody <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>LimitRequestBody 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive specifies the number of <var>bytes</var> from 0 + (meaning unlimited) to 2147483647 (2GB) that are allowed in a + request body. See the note below for the limited applicability + to proxy requests.</p> + + <p>The <code class="directive">LimitRequestBody</code> directive allows + the user to set a limit on the allowed size of an HTTP request + message body within the context in which the directive is given + (server, per-directory, per-file or per-location). If the client + request exceeds that limit, the server will return an error + response instead of servicing the request. The size of a normal + request message body will vary greatly depending on the nature of + the resource and the methods allowed on that resource. CGI scripts + typically use the message body for retrieving form information. + Implementations of the <code>PUT</code> method will require + a value at least as large as any representation that the server + wishes to accept for that resource.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service + attacks.</p> + + <p>If, for example, you are permitting file upload to a particular + location, and wish to limit the size of the uploaded file to 100K, + you might use the following directive:</p> + + <div class="example"><p><code> + LimitRequestBody 102400 + </code></p></div> + + <div class="note"><p>For a full description of how this directive is interpreted by + proxy requests, see the <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> documentation.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestfields" id="limitrequestfields">Directiva</a> <a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Limits the number of HTTP request header fields that +will be accepted from the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>LimitRequestFields <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p><var>Number</var> is an integer from 0 (meaning unlimited) to + 32767. The default value is defined by the compile-time + constant <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 as + distributed).</p> + + <p>The <code class="directive">LimitRequestFields</code> directive allows + the server administrator to modify the limit on the number of + request header fields allowed in an HTTP request. A server needs + this value to be larger than the number of fields that a normal + client request might include. The number of request header fields + used by a client rarely exceeds 20, but this may vary among + different client implementations, often depending upon the extent + to which a user has configured their browser to support detailed + content negotiation. Optional HTTP extensions are often expressed + using request header fields.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks. + The value should be increased if normal clients see an error + response from the server that indicates too many fields were + sent in the request.</p> + + <p>For example:</p> + + <div class="example"><p><code> + LimitRequestFields 50 + </code></p></div> + + <div class="warning"><h3>Warning</h3> + <p> When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + <code class="directive">NameVirtualHost</code> the connection was mapped to.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestfieldsize" id="limitrequestfieldsize">Directiva</a> <a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Limits the size of the HTTP request header allowed from the +client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>LimitRequestFieldSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive specifies the number of <var>bytes</var> + that will be allowed in an HTTP request header.</p> + + <p>The <code class="directive">LimitRequestFieldSize</code> directive + allows the server administrator to reduce or increase the limit + on the allowed size of an HTTP request header field. A server + needs this value to be large enough to hold any one header field + from a normal client request. The size of a normal request header + field will vary greatly among different client implementations, + often depending upon the extent to which a user has configured + their browser to support detailed content negotiation. SPNEGO + authentication headers can be up to 12392 bytes.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.</p> + + <p>For example:</p> + + <div class="example"><p><code> + LimitRequestFieldSize 4094 + </code></p></div> + + <div class="note">Under normal conditions, the value should not be changed from + the default.</div> + + <div class="warning"><h3>Warning</h3> + <p> When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + <code class="directive">NameVirtualHost</code> the connection was mapped to.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestline" id="limitrequestline">Directiva</a> <a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Limit the size of the HTTP request line that will be accepted +from the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>LimitRequestLine <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive sets the number of <var>bytes</var> that will be + allowed on the HTTP request-line.</p> + + <p>The <code class="directive">LimitRequestLine</code> directive allows + the server administrator to reduce or increase the limit on the allowed size + of a client's HTTP request-line. Since the request-line consists of the + HTTP method, URI, and protocol version, the + <code class="directive">LimitRequestLine</code> directive places a + restriction on the length of a request-URI allowed for a request + on the server. A server needs this value to be large enough to + hold any of its resource names, including any information that + might be passed in the query part of a <code>GET</code> request.</p> + + <p>This directive gives the server administrator greater + control over abnormal client request behavior, which may be + useful for avoiding some forms of denial-of-service attacks.</p> + + <p>For example:</p> + + <div class="example"><p><code> + LimitRequestLine 4094 + </code></p></div> + + <div class="note">Under normal conditions, the value should not be changed from + the default.</div> + + <div class="warning"><h3>Warning</h3> + <p> When name-based virtual hosting is used, the value for this + directive is taken from the default (first-listed) virtual host for the + <code class="directive">NameVirtualHost</code> the connection was mapped to.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitxmlrequestbody" id="limitxmlrequestbody">Directiva</a> <a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Limits the size of an XML-based request body</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>LimitXMLRequestBody <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Limit (in bytes) on maximum size of an XML-based request + body. A value of <code>0</code> will disable any checking.</p> + + <p>Example:</p> + + <div class="example"><p><code> + LimitXMLRequestBody 0 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="location" id="location">Directiva</a> <a name="Location" id="Location"><Location></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Applies the enclosed directives only to matching +URLs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><Location></code> directive + limits the scope of the enclosed directives by URL. It is similar to the + <code class="directive"><a href="#directory"><Directory></a></code> + directive, and starts a subsection which is terminated with a + <code></Location></code> directive. <code class="directive"><Location></code> sections are processed in the + order they appear in the configuration file, after the <code class="directive"><a href="#directory"><Directory></a></code> sections and + <code>.htaccess</code> files are read, and after the <code class="directive"><a href="#files"><Files></a></code> sections.</p> + + <p><code class="directive"><Location></code> sections operate + completely outside the filesystem. This has several consequences. + Most importantly, <code class="directive"><Location></code> + directives should not be used to control access to filesystem + locations. Since several different URLs may map to the same + filesystem location, such access controls may by circumvented.</p> + + <p>The enclosed directives will be applied to the request if the path component + of the URL meets <em>any</em> of the following criteria: + </p> + <ul> + <li>The specified location matches exactly the path component of the URL. + </li> + <li>The specified location, which ends in a forward slash, is a prefix + of the path component of the URL (treated as a context root). + </li> + <li>The specified location, with the addition of a trailing slash, is a + prefix of the path component of the URL (also treated as a context root). + </li> + </ul> + <p> + In the example below, where no trailing slash is used, requests to + /private1, /private1/ and /private1/file.txt will have the enclosed + directives applied, but /private1other would not. + </p> + <div class="example"><p><code> + <Location /private1> + ... + </code></p></div> + <p> + In the example below, where a trailing slash is used, requests to + /private2/ and /private2/file.txt will have the enclosed + directives applied, but /private2 and /private2other would not. + </p> + <div class="example"><p><code> + <Location /private2<em>/</em>> + ... + </code></p></div> + + <div class="note"><h3>When to use <code class="directive"><Location></code></h3> + + <p>Use <code class="directive"><Location></code> to apply + directives to content that lives outside the filesystem. For + content that lives in the filesystem, use <code class="directive"><a href="#directory"><Directory></a></code> and <code class="directive"><a href="#files"><Files></a></code>. An exception is + <code><Location /></code>, which is an easy way to + apply a configuration to the entire server.</p> + </div> + + <p>For all origin (non-proxy) requests, the URL to be matched is a + URL-path of the form <code>/path/</code>. <em>No scheme, hostname, + port, or query string may be included.</em> For proxy requests, the + URL to be matched is of the form + <code>scheme://servername/path</code>, and you must include the + prefix.</p> + + <p>The URL may use wildcards. In a wild-card string, <code>?</code> matches + any single character, and <code>*</code> matches any sequences of + characters. Neither wildcard character matches a / in the URL-path.</p> + + <p><a class="glossarylink" href="../glossary.html#regex" title="ver glosario">Regular expressions</a> + can also be used, with the addition of the <code>~</code> + character. For example:</p> + + <div class="example"><p><code> + <Location ~ "/(extra|special)/data"> + </code></p></div> + + <p>would match URLs that contained the substring <code>/extra/data</code> + or <code>/special/data</code>. The directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> behaves + identical to the regex version of <code class="directive"><Location></code>, and is preferred, for the + simple reason that <code>~</code> is hard to distinguish from + <code>-</code> in many fonts.</p> + + <p>The <code class="directive"><Location></code> + functionality is especially useful when combined with the + <code class="directive"><a href="#sethandler">SetHandler</a></code> + directive. For example, to enable status requests, but allow them + only from browsers at <code>example.com</code>, you might use:</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + Require host example.com<br /> + </span> + </Location> + </code></p></div> + + <div class="note"><h3>Note about / (slash)</h3> + <p>The slash character has special meaning depending on where in a + URL it appears. People may be used to its behavior in the filesystem + where multiple adjacent slashes are frequently collapsed to a single + slash (<em>i.e.</em>, <code>/home///foo</code> is the same as + <code>/home/foo</code>). In URL-space this is not necessarily true. + The <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + directive and the regex version of <code class="directive"><Location></code> require you to explicitly specify multiple + slashes if that is your intention.</p> + + <p>For example, <code><LocationMatch ^/abc></code> would match + the request URL <code>/abc</code> but not the request URL <code> + //abc</code>. The (non-regex) <code class="directive"><Location></code> directive behaves similarly when used for + proxy requests. But when (non-regex) <code class="directive"><Location></code> is used for non-proxy requests it will + implicitly match multiple slashes with a single slash. For example, + if you specify <code><Location /abc/def></code> and the + request is to <code>/abc//def</code> then it will match.</p> + </div> + +<h3>Consulte también</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received.</li> +<li><code class="directive"><a href="#locationmatch">LocationMatch</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="locationmatch" id="locationmatch">Directiva</a> <a name="LocationMatch" id="LocationMatch"><LocationMatch></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Applies the enclosed directives only to regular-expression +matching URLs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><LocationMatch + <var>regex</var>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive"><LocationMatch></code> directive + limits the scope of the enclosed directives by URL, in an identical manner + to <code class="directive"><a href="#location"><Location></a></code>. However, + it takes a <a class="glossarylink" href="../glossary.html#regex" title="ver glosario">regular expression</a> + as an argument instead of a simple string. For example:</p> + + <div class="example"><p><code> + <LocationMatch "/(extra|special)/data"> + </code></p></div> + + <p>would match URLs that contained the substring <code>/extra/data</code> + or <code>/special/data</code>.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="loglevel" id="loglevel">Directiva</a> <a name="LogLevel" id="LogLevel">LogLevel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Controls the verbosity of the ErrorLog</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>LogLevel [<var>module</var>:]<var>level</var> + [<var>module</var>:<var>level</var>] ... +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Per-module and per-directory configuration is available in + Apache HTTP Server 2.3.6 and later</td></tr> +</table> + <p><code class="directive">LogLevel</code> adjusts the verbosity of the + messages recorded in the error logs (see <code class="directive"><a href="#errorlog">ErrorLog</a></code> directive). The following + <var>level</var>s are available, in order of decreasing + significance:</p> + + <table class="bordered"> + + <tr> + <th><strong>Level</strong> </th> + + <th><strong>Description</strong> </th> + + <th><strong>Example</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>Emergencies - system is unusable.</td> + + <td>"Child cannot open lock file. Exiting"</td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>Action must be taken immediately.</td> + + <td>"getpwuid: couldn't determine user name from uid"</td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>Critical Conditions.</td> + + <td>"socket: Failed to get a socket, exiting child"</td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>Error conditions.</td> + + <td>"Premature end of script headers"</td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>Warning conditions.</td> + + <td>"child process 1234 did not exit, sending another + SIGHUP"</td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>Normal but significant condition.</td> + + <td>"httpd: caught SIGBUS, attempting to dump core in + ..."</td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>Informational.</td> + + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."</td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>Debug-level messages</td> + + <td>"Opening config file ..."</td> + </tr> + <tr> + <td><code>trace1</code> </td> + + <td>Trace messages</td> + + <td>"proxy: FTP: control connection complete"</td> + </tr> + <tr> + <td><code>trace2</code> </td> + + <td>Trace messages</td> + + <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td> + </tr> + <tr> + <td><code>trace3</code> </td> + + <td>Trace messages</td> + + <td>"openssl: Handshake: start"</td> + </tr> + <tr> + <td><code>trace4</code> </td> + + <td>Trace messages</td> + + <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td> + </tr> + <tr> + <td><code>trace5</code> </td> + + <td>Trace messages</td> + + <td>"map lookup FAILED: map=rewritemap key=keyname"</td> + </tr> + <tr> + <td><code>trace6</code> </td> + + <td>Trace messages</td> + + <td>"cache lookup FAILED, forcing new map lookup"</td> + </tr> + <tr> + <td><code>trace7</code> </td> + + <td>Trace messages, dumping large amounts of data</td> + + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + <tr> + <td><code>trace8</code> </td> + + <td>Trace messages, dumping large amounts of data</td> + + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + </table> + + <p>When a particular level is specified, messages from all + other levels of higher significance will be reported as well. + <em>E.g.</em>, when <code>LogLevel info</code> is specified, + then messages with log levels of <code>notice</code> and + <code>warn</code> will also be posted.</p> + + <p>Using a level of at least <code>crit</code> is + recommended.</p> + + <p>For example:</p> + + <div class="example"><p><code> + LogLevel notice + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>When logging to a regular file messages of the level + <code>notice</code> cannot be suppressed and thus are always + logged. However, this doesn't apply when logging is done + using <code>syslog</code>.</p> + </div> + + <p>Specifying a level without a module name will reset the level + for all modules to that level. Specifying a level with a module + name will set the level for that module only. It is possible to + use the module source file name, the module identifier, or the + module identifier with the trailing <code>_module</code> omitted + as module specification. This means the following three specifications + are equivalent:</p> + + <div class="example"><p><code> + LogLevel info ssl:warn<br /> + LogLevel info mod_ssl.c:warn<br /> + LogLevel info ssl_module:warn<br /> + </code></p></div> + + <p>It is also possible to change the level per directory:</p> + + <div class="example"><p><code> + LogLevel info<br /> + <Directory /usr/local/apache/htdocs/app><br /> + LogLevel debug<br /> + </Files> + </code></p></div> + + <div class="note"> + Per directory loglevel configuration only affects messages that are + logged after the request has been parsed and that are associated with + the request. Log messages which are associated with the connection or + the server are not affected. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxkeepaliverequests" id="maxkeepaliverequests">Directiva</a> <a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Number of requests allowed on a persistent +connection</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>MaxKeepAliveRequests <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">MaxKeepAliveRequests</code> directive + limits the number of requests allowed per connection when + <code class="directive"><a href="#keepalive">KeepAlive</a></code> is on. If it is + set to <code>0</code>, unlimited requests will be allowed. We + recommend that this setting be kept to a high value for maximum + server performance.</p> + + <p>For example:</p> + + <div class="example"><p><code> + MaxKeepAliveRequests 500 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxrangeoverlaps" id="maxrangeoverlaps">Directiva</a> <a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxrangereversals" id="maxrangereversals">Directiva</a> <a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>MaxRangeReversals 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxranges" id="maxranges">Directiva</a> <a name="MaxRanges" id="MaxRanges">MaxRanges</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Number of ranges allowed before returning the complete +resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>MaxRanges default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>MaxRanges 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mergeslashes" id="mergeslashes">Directiva</a> <a name="MergeSlashes" id="MergeSlashes">MergeSlashes</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>MergeSlashes ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>MergeSlashes ON</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Added in 2.4.39</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mergetrailers" id="mergetrailers">Directiva</a> <a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Determines whether trailers are merged into headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>MergeTrailers [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>MergeTrailers off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.4.11 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mutex" id="mutex">Directiva</a> <a name="Mutex" id="Mutex">Mutex</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>Mutex default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.3.4 and later</td></tr> +</table> + <p>The <code class="directive">Mutex</code> directive sets the mechanism, + and optionally the lock file location, that httpd and modules use + to serialize access to resources. Specify <code>default</code> as + the first argument to change the settings for all mutexes; specify + a mutex name (see table below) as the first argument to override + defaults only for that mutex.</p> + + <p>The <code class="directive">Mutex</code> directive is typically used in + the following exceptional situations:</p> + + <ul> + <li>change the mutex mechanism when the default mechanism selected + by <a class="glossarylink" href="../glossary.html#apr" title="ver glosario">APR</a> has a functional or performance + problem</li> + + <li>change the directory used by file-based mutexes when the + default directory does not support locking</li> + </ul> + + <div class="note"><h3>Supported modules</h3> + <p>This directive only configures mutexes which have been registered + with the core server using the <code>ap_mutex_register()</code> API. + All modules bundled with httpd support the <code class="directive">Mutex</code> + directive, but third-party modules may not. Consult the documentation + of the third-party module, which must indicate the mutex name(s) which + can be configured if this directive is supported.</p> + </div> + + <p>The following mutex <em>mechanisms</em> are available:</p> + <ul> + <li><code>default | yes</code> + <p>This selects the default locking implementation, as determined by + <a class="glossarylink" href="../glossary.html#apr" title="ver glosario">APR</a>. The default locking implementation can + be displayed by running <code class="program"><a href="../programs/httpd.html">httpd</a></code> with the + <code>-V</code> option.</p></li> + + <li><code>none | no</code> + <p>This effectively disables the mutex, and is only allowed for a + mutex if the module indicates that it is a valid choice. Consult the + module documentation for more information.</p></li> + + <li><code>posixsem</code> + <p>This is a mutex variant based on a Posix semaphore.</p> + + <div class="warning"><h3>Warning</h3> + <p>The semaphore ownership is not recovered if a thread in the process + holding the mutex segfaults, resulting in a hang of the web server.</p> + </div> + </li> + + <li><code>sysvsem</code> + <p>This is a mutex variant based on a SystemV IPC semaphore.</p> + + <div class="warning"><h3>Warning</h3> + <p>It is possible to "leak" SysV semaphores if processes crash + before the semaphore is removed.</p> + </div> + + <div class="warning"><h3>Security</h3> + <p>The semaphore API allows for a denial of service attack by any + CGIs running under the same uid as the webserver (<em>i.e.</em>, + all CGIs, unless you use something like <code class="program"><a href="../programs/suexec.html">suexec</a></code> + or <code>cgiwrapper</code>).</p> + </div> + </li> + + <li><code>sem</code> + <p>This selects the "best" available semaphore implementation, choosing + between Posix and SystemV IPC semaphores, in that order.</p></li> + + <li><code>pthread</code> + <p>This is a mutex variant based on cross-process Posix thread + mutexes.</p> + + <div class="warning"><h3>Warning</h3> + <p>On most systems, if a child process terminates abnormally while + holding a mutex that uses this implementation, the server will deadlock + and stop responding to requests. When this occurs, the server will + require a manual restart to recover.</p> + <p>Solaris is a notable exception as it provides a mechanism which + usually allows the mutex to be recovered after a child process + terminates abnormally while holding a mutex.</p> + <p>If your system implements the + <code>pthread_mutexattr_setrobust_np()</code> function, you may be able + to use the <code>pthread</code> option safely.</p> + </div> + </li> + + <li><code>fcntl:/path/to/mutex</code> + <p>This is a mutex variant where a physical (lock-)file and the + <code>fcntl()</code> function are used as the mutex.</p> + + <div class="warning"><h3>Warning</h3> + <p>When multiple mutexes based on this mechanism are used within + multi-threaded, multi-process environments, deadlock errors (EDEADLK) + can be reported for valid mutex operations if <code>fcntl()</code> + is not thread-aware, such as on Solaris.</p> + </div> + </li> + + <li><code>flock:/path/to/mutex</code> + <p>This is similar to the <code>fcntl:/path/to/mutex</code> method + with the exception that the <code>flock()</code> function is used to + provide file locking.</p></li> + + <li><code>file:/path/to/mutex</code> + <p>This selects the "best" available file locking implementation, + choosing between <code>fcntl</code> and <code>flock</code>, in that + order.</p></li> + </ul> + + <p>Most mechanisms are only available on selected platforms, where the + underlying platform and <a class="glossarylink" href="../glossary.html#apr" title="ver glosario">APR</a> support it. Mechanisms + which aren't available on all platforms are <em>posixsem</em>, + <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>, + <em>flock</em>, and <em>file</em>.</p> + + <p>With the file-based mechanisms <em>fcntl</em> and <em>flock</em>, + the path, if provided, is a directory where the lock file will be created. + The default directory is httpd's run-time file directory relative to + <code class="directive"><a href="#serverroot">ServerRoot</a></code>. Always use a local disk + filesystem for <code>/path/to/mutex</code> and never a directory residing + on a NFS- or AFS-filesystem. The basename of the file will be the mutex + type, an optional instance string provided by the module, and unless the + <code>OmitPID</code> keyword is specified, the process id of the httpd + parent process will be appended to to make the file name unique, avoiding + conflicts when multiple httpd instances share a lock file directory. For + example, if the mutex name is <code>mpm-accept</code> and the lock file + directory is <code>/var/httpd/locks</code>, the lock file name for the + httpd instance with parent process id 12345 would be + <code>/var/httpd/locks/mpm-accept.12345</code>.</p> + + <div class="warning"><h3>Security</h3> + <p>It is best to <em>avoid</em> putting mutex files in a world-writable + directory such as <code>/var/tmp</code> because someone could create + a denial of service attack and prevent the server from starting by + creating a lockfile with the same name as the one the server will try + to create.</p> + </div> + + <p>The following table documents the names of mutexes used by httpd + and bundled modules.</p> + + <table class="bordered"><tr class="header"> + <th>Mutex name</th> + <th>Module(s)</th> + <th>Protected resource</th> + </tr> +<tr> + <td><code>mpm-accept</code></td> + <td><code class="module"><a href="../mod/prefork.html">prefork</a></code> and <code class="module"><a href="../mod/worker.html">worker</a></code> MPMs</td> + <td>incoming connections, to avoid the thundering herd problem; + for more information, refer to the + <a href="../misc/perf-tuning.html">performance tuning</a> + documentation</td> + </tr> +<tr class="odd"> + <td><code>authdigest-client</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>client list in shared memory</td> + </tr> +<tr> + <td><code>authdigest-opaque</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>counter in shared memory</td> + </tr> +<tr class="odd"> + <td><code>ldap-cache</code></td> + <td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td> + <td>LDAP result cache</td> + </tr> +<tr> + <td><code>rewrite-map</code></td> + <td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td> + <td>communication with external mapping programs, to avoid + intermixed I/O from multiple requests</td> + </tr> +<tr class="odd"> + <td><code>ssl-cache</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>SSL session cache</td> + </tr> +<tr> + <td><code>ssl-stapling</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>OCSP stapling response cache</td> + </tr> +<tr class="odd"> + <td><code>watchdog-callback</code></td> + <td><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code></td> + <td>callback function of a particular client module</td> + </tr> +</table> + + <p>The <code>OmitPID</code> keyword suppresses the addition of the httpd + parent process id from the lock file name.</p> + + <p>In the following example, the mutex mechanism for the MPM accept + mutex will be changed from the compiled-in default to <code>fcntl</code>, + with the associated lock file created in directory + <code>/var/httpd/locks</code>. The mutex mechanism for all other mutexes + will be changed from the compiled-in default to <code>sysvsem</code>.</p> + + <div class="example"><p><code> + Mutex default sysvsem<br /> + Mutex mpm-accept fcntl:/var/httpd/locks + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="namevirtualhost" id="namevirtualhost">Directiva</a> <a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Designates an IP address for name-virtual +hosting</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>NameVirtualHost <var>addr</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + +<p>A single <code class="directive">NameVirtualHost</code> directive +identifies a set of identical virtual hosts on which the server will +further select from on the basis of the <em>hostname</em> +requested by the client. The <code class="directive">NameVirtualHost</code> +directive is a required directive if you want to configure +<a href="../vhosts/">name-based virtual hosts</a>.</p> + +<p>This directive, and the corresponding <code class="directive">VirtualHost</code>, +<em>must</em> be qualified with a port number if the server supports both HTTP +and HTTPS connections.</p> + +<p>Although <var>addr</var> can be a hostname, it is recommended +that you always use an IP address or a wildcard. A wildcard +NameVirtualHost matches only virtualhosts that also have a literal wildcard +as their argument.</p> + +<p>In cases where a firewall or other proxy receives the requests and +forwards them on a different IP address to the server, you must specify the +IP address of the physical interface on the machine which will be +servicing the requests. </p> + +<p> In the example below, requests received on interface 192.0.2.1 and port 80 +will only select among the first two virtual hosts. Requests received on +port 80 on any other interface will only select among the third and fourth +virtual hosts. In the common case where the interface isn't important +to the mapping, only the "*:80" NameVirtualHost and VirtualHost directives +are necessary.</p> + + <div class="example"><p><code> + NameVirtualHost 192.0.2.1:80<br /> + NameVirtualHost *:80<br /><br /> + + <VirtualHost 192.0.2.1:80><br /> + ServerName namebased-a.example.com<br /> + </VirtualHost><br /> + <br /> + <VirtualHost 192.0.2.1:80><br /> + Servername namebased-b.example.com<br /> + </VirtualHost><br /> + <br /> + <VirtualHost *:80><br /> + ServerName namebased-c.example.com <br /> + </VirtualHost><br /> + <br /> + <VirtualHost *:80><br /> + ServerName namebased-d.example.com <br /> + </VirtualHost><br /> + <br /> + + </code></p></div> + + <p>If no matching virtual host is found, then the first listed + virtual host that matches the IP address and port will be used.</p> + + + <p>IPv6 addresses must be enclosed in square brackets, as shown + in the following example:</p> + + <div class="example"><p><code> + NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 + </code></p></div> + + <div class="note"><h3>Argument to <code class="directive"><VirtualHost></code> + directive</h3> + <p>Note that the argument to the <code class="directive"><VirtualHost></code> directive must + exactly match the argument to the <code class="directive">NameVirtualHost</code> directive.</p> + + <div class="example"><p><code> + NameVirtualHost 192.0.2.2:80<br /> + <VirtualHost 192.0.2.2:80><br /> + # ...<br /> + </VirtualHost><br /> + </code></p></div> + </div> + +<h3>Consulte también</h3> +<ul> +<li><a href="../vhosts/">Virtual Hosts +documentation</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="options" id="options">Directiva</a> <a name="Options" id="Options">Options</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configures what features are available in a particular +directory</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>Options All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">Options</code> directive controls which + server features are available in a particular directory.</p> + + <p><var>option</var> can be set to <code>None</code>, in which + case none of the extra features are enabled, or one or more of + the following:</p> + + <dl> + <dt><code>All</code></dt> + + <dd>All options except for <code>MultiViews</code>. This is the default + setting.</dd> + + <dt><code>ExecCGI</code></dt> + + <dd> + Execution of CGI scripts using <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + is permitted.</dd> + + <dt><code>FollowSymLinks</code></dt> + + <dd> + + The server will follow symbolic links in this directory. + <div class="note"> + <p>Even though the server follows the symlink it does <em>not</em> + change the pathname used to match against <code class="directive"><a href="#directory"><Directory></a></code> sections.</p> + <p>Note also, that this option <strong>gets ignored</strong> if set + inside a <code class="directive"><a href="#location"><Location></a></code> + section.</p> + <p>Omitting this option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.</p> + </div></dd> + + <dt><code>Includes</code></dt> + + <dd> + Server-side includes provided by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + are permitted.</dd> + + <dt><code>IncludesNOEXEC</code></dt> + + <dd> + + Server-side includes are permitted, but the <code>#exec + cmd</code> and <code>#exec cgi</code> are disabled. It is still + possible to <code>#include virtual</code> CGI scripts from + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>ed + directories.</dd> + + <dt><code>Indexes</code></dt> + + <dd> + If a URL which maps to a directory is requested, and there + is no <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + (<em>e.g.</em>, <code>index.html</code>) in that directory, then + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> will return a formatted listing + of the directory.</dd> + + <dt><code>MultiViews</code></dt> + + <dd> + <a href="../content-negotiation.html">Content negotiated</a> + "MultiViews" are allowed using + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>. + <div class="note"><h3>Note</h3> <p>This option gets ignored if set + anywhere other than <code class="directive"><a href="#directory"><Directory></a></code>, as <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> + needs real resources to compare against and evaluate from.</p></div> + </dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + + <dd>The server will only follow symbolic links for which the + target file or directory is owned by the same user id as the + link. + + <div class="note"><h3>Note</h3> <p>This option gets ignored if + set inside a <code class="directive"><a href="#location"><Location></a></code> section.</p> + <p>This option should not be considered a security restriction, + since symlink testing is subject to race conditions that make it + circumventable.</p></div> + </dd> + </dl> + + <p>Normally, if multiple <code class="directive">Options</code> could + apply to a directory, then the most specific one is used and + others are ignored; the options are not merged. (See <a href="../sections.html#mergin">how sections are merged</a>.) + However if <em>all</em> the options on the + <code class="directive">Options</code> directive are preceded by a + <code>+</code> or <code>-</code> symbol, the options are + merged. Any options preceded by a <code>+</code> are added to the + options currently in force, and any options preceded by a + <code>-</code> are removed from the options currently in + force. </p> + + <div class="warning"><h3>Warning</h3> + <p>Mixing <code class="directive">Options</code> with a <code>+</code> or + <code>-</code> with those without is not valid syntax, and is likely + to cause unexpected results.</p> + </div> + + <p>For example, without any <code>+</code> and <code>-</code> symbols:</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options Includes<br /> + </span> + </Directory> + </code></p></div> + + <p>then only <code>Includes</code> will be set for the + <code>/web/docs/spec</code> directory. However if the second + <code class="directive">Options</code> directive uses the <code>+</code> and + <code>-</code> symbols:</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options +Includes -Indexes<br /> + </span> + </Directory> + </code></p></div> + + <p>then the options <code>FollowSymLinks</code> and + <code>Includes</code> are set for the <code>/web/docs/spec</code> + directory.</p> + + <div class="note"><h3>Note</h3> + <p>Using <code>-IncludesNOEXEC</code> or + <code>-Includes</code> disables server-side includes completely + regardless of the previous setting.</p> + </div> + + <p>The default in the absence of any other settings is + <code>All</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="protocol" id="protocol">Directiva</a> <a name="Protocol" id="Protocol">Protocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Protocol for a listening socket</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Protocol <var>protocol</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache 2.1.5 and later. +On Windows from Apache 2.3.3 and later.</td></tr> +</table> + <p>This directive specifies the protocol used for a specific listening socket. + The protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the <code class="directive">AcceptFilter</code> + directive.</p> + + <p>You only need to set the protocol if you are running on non-standard ports, otherwise <code>http</code> is assumed for port 80 and <code>https</code> for port 443.</p> + + <p>For example, if you are running <code>https</code> on a non-standard port, specify the protocol explicitly:</p> + + <div class="example"><p><code> + Protocol https + </code></p></div> + + <p>You can also specify the protocol using the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> directive.</p> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive">AcceptFilter</code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="protocols" id="protocols">Directiva</a> <a name="Protocols" id="Protocols">Protocols</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Protocols available for a server/virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Protocols <var>protocol</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>Protocols http/1.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#protocolshonororder">ProtocolsHonorOrder</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="protocolshonororder" id="protocolshonororder">Directiva</a> <a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#protocols">Protocols</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="qualifyredirecturl" id="qualifyredirecturl">Directiva</a> <a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>QualifyRedirectURL On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>QualifyRedirectURL Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="readbuffersize" id="readbuffersize">Directiva</a> <a name="ReadBufferSize" id="ReadBufferSize">ReadBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Size of the buffers used to read data</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ReadBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ReadBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.4.27 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="regexdefaultoptions" id="regexdefaultoptions">Directiva</a> <a name="RegexDefaultOptions" id="RegexDefaultOptions">RegexDefaultOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Allow to configure global/default options for regexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>RegexDefaultOptions DOTALL DOLLAR_ENDONLY</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Only available from Apache 2.4.30 and later.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="registerhttpmethod" id="registerhttpmethod">Directiva</a> <a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Register non-standard HTTP methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.4.24 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p><h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#httpprotocoloptions">HTTPProtocolOptions</a></code></li> +<li><code class="directive"><a href="../mod/mod_allowmethods.html#allowmethods">AllowMethods</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rlimitcpu" id="rlimitcpu">Directiva</a> <a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Limits the CPU consumption of processes launched +by Apache httpd children</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or <code>max</code> to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as <code>root</code>, or in the initial startup + phase.</p> + + <p>This applies to processes forked off from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked off from the Apache httpd parent such as piped + logs.</p> + + <p>CPU resource limits are expressed in seconds per + process.</p> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rlimitmem" id="rlimitmem">Directiva</a> <a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Limits the memory consumption of processes launched +by Apache httpd children</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or <code>max</code> to indicate to the server that the limit should + be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as <code>root</code>, or in the initial startup + phase.</p> + + <p>This applies to processes forked off from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked off from the Apache httpd parent such as piped + logs.</p> + + <p>Memory resource limits are expressed in bytes per + process.</p> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rlimitnproc" id="rlimitnproc">Directiva</a> <a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Limits the number of processes that can be launched by +processes launched by Apache httpd children</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Takes 1 or 2 parameters. The first parameter sets the soft + resource limit for all processes and the second parameter sets + the maximum resource limit. Either parameter can be a number, + or <code>max</code> to indicate to the server that the limit + should be set to the maximum allowed by the operating system + configuration. Raising the maximum resource limit requires that + the server is running as <code>root</code>, or in the initial startup + phase.</p> + + <p>This applies to processes forked off from Apache httpd children + servicing requests, not the Apache httpd children themselves. This + includes CGI scripts and SSI exec commands, but not any + processes forked off from the Apache httpd parent such as piped + logs.</p> + + <p>Process limits control the number of processes per user.</p> + + <div class="note"><h3>Note</h3> + <p>If CGI processes are <strong>not</strong> running + under user ids other than the web server user id, this directive + will limit the number of processes that the server itself can + create. Evidence of this situation will be indicated by + <strong><code>cannot fork</code></strong> messages in the + <code>error_log</code>.</p> + </div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptinterpretersource" id="scriptinterpretersource">Directiva</a> <a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Technique for locating the interpreter for CGI +scripts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Win32 only; +option <code>Registry-Strict</code> is available in Apache HTTP Server 2.0 and +later</td></tr> +</table> + <p>This directive is used to control how Apache httpd finds the + interpreter used to run CGI scripts. The default setting is + <code>Script</code>. This causes Apache httpd to use the interpreter pointed to + by the shebang line (first line, starting with <code>#!</code>) in the + script. On Win32 systems this line usually looks like:</p> + + <div class="example"><p><code> + #!C:/Perl/bin/perl.exe + </code></p></div> + + <p>or, if <code>perl</code> is in the <code>PATH</code>, simply:</p> + + <div class="example"><p><code> + #!perl + </code></p></div> + + <p>Setting <code>ScriptInterpreterSource Registry</code> will + cause the Windows Registry tree <code>HKEY_CLASSES_ROOT</code> to be + searched using the script file extension (e.g., <code>.pl</code>) as a + search key. The command defined by the registry subkey + <code>Shell\ExecCGI\Command</code> or, if it does not exist, by the subkey + <code>Shell\Open\Command</code> is used to open the script file. If the + registry keys cannot be found, Apache httpd falls back to the behavior of the + <code>Script</code> option.</p> + + <div class="warning"><h3>Security</h3> + <p>Be careful when using <code>ScriptInterpreterSource + Registry</code> with <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>'ed directories, because + Apache httpd will try to execute <strong>every</strong> file within this + directory. The <code>Registry</code> setting may cause undesired + program calls on files which are typically not executed. For + example, the default open command on <code>.htm</code> files on + most Windows systems will execute Microsoft Internet Explorer, so + any HTTP request for an <code>.htm</code> file existing within the + script directory would start the browser in the background on the + server. This is a good way to crash your system within a minute or + so.</p> + </div> + + <p>The option <code>Registry-Strict</code> which is new in Apache HTTP Server + 2.0 does the same thing as <code>Registry</code> but uses only the + subkey <code>Shell\ExecCGI\Command</code>. The + <code>ExecCGI</code> key is not a common one. It must be + configured manually in the windows registry and hence prevents + accidental program calls on your system.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="seerequesttail" id="seerequesttail">Directiva</a> <a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SeeRequestTail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SeeRequestTail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache httpd 2.2.7 and later.</td></tr> +</table> + <p>mod_status with <code>ExtendedStatus On</code> + displays the actual request being handled. + For historical purposes, only 63 characters of the request + are actually stored for display purposes. This directive + controls whether the 1st 63 characters are stored (the previous + behavior and the default) or if the last 63 characters are. This + is only applicable, of course, if the length of the request is + 64 characters or greater.</p> + + <p>If Apache httpd is handling <code>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</code> mod_status displays as follows: + </p> + + <table class="bordered"> + <tr> + <th>Off (default)</th> + <td>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples</td> + </tr> + <tr> + <th>On</th> + <td>orage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</td> + </tr> + </table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serveradmin" id="serveradmin">Directiva</a> <a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Email address that the server includes in error +messages sent to the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ServerAdmin <var>email-address</var>|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerAdmin</code> sets the contact address + that the server includes in any error messages it returns to the + client. If the <code>httpd</code> doesn't recognize the supplied argument + as an URL, it + assumes, that it's an <var>email-address</var> and prepends it with + <code>mailto:</code> in hyperlink targets. However, it's recommended to + actually use an email address, since there are a lot of CGI scripts that + make that assumption. If you want to use an URL, it should point to another + server under your control. Otherwise users may not be able to contact you in + case of errors.</p> + + <p>It may be worth setting up a dedicated address for this, e.g.</p> + + <div class="example"><p><code> + ServerAdmin www-admin@foo.example.com + </code></p></div> + <p>as users do not always mention that they are talking about the + server!</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serveralias" id="serveralias">Directiva</a> <a name="ServerAlias" id="ServerAlias">ServerAlias</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Alternate names for a host used when matching requests +to name-virtual hosts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerAlias</code> directive sets the + alternate names for a host, for use with <a href="../vhosts/name-based.html">name-based virtual hosts</a>. The + <code class="directive">ServerAlias</code> may include wildcards, if appropriate.</p> + + <div class="example"><p><code> + <VirtualHost *:80><br /> + ServerName server.domain.com<br /> + ServerAlias server server2.domain.com server2<br /> + ServerAlias *.example.com<br /> + UseCanonicalName Off<br /> + # ...<br /> + </VirtualHost> + </code></p></div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/">Apache HTTP Server Virtual Host documentation</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="servername" id="servername">Directiva</a> <a name="ServerName" id="ServerName">ServerName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Hostname and port that the server uses to identify +itself</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerName</code> directive sets the + request scheme, hostname and + port that the server uses to identify itself. This is used when + creating redirection URLs.</p> + + <p>Additionally, <code class="directive">ServerName</code> is used (possibly + in conjunction with <code class="directive">ServerAlias</code>) to uniquely + identify a virtual host, when using <a href="../vhosts/name-based.html">name-based virtual hosts</a>.</p> + + <p>For example, if the name of the + machine hosting the web server is <code>simple.example.com</code>, + but the machine also has the DNS alias <code>www.example.com</code> + and you wish the web server to be so identified, the following + directive should be used:</p> + + <div class="example"><p><code> + ServerName www.example.com:80 + </code></p></div> + + <p>The <code class="directive">ServerName</code> directive + may appear anywhere within the definition of a server. However, + each appearance overrides the previous appearance (within that + server).</p> + + <p>If no <code class="directive">ServerName</code> is specified, then the + server attempts to deduce the hostname by performing a reverse + lookup on the IP address. If no port is specified in the + <code class="directive">ServerName</code>, then the server will use the + port from the incoming request. For optimal reliability and + predictability, you should specify an explicit hostname and port + using the <code class="directive">ServerName</code> directive.</p> + + <p>If you are using <a href="../vhosts/name-based.html">name-based virtual hosts</a>, + the <code class="directive">ServerName</code> inside a + <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> + section specifies what hostname must appear in the request's + <code>Host:</code> header to match this virtual host.</p> + + <p>Sometimes, the server runs behind a device that processes SSL, + such as a reverse proxy, load balancer or SSL offload + appliance. When this is the case, specify the + <code>https://</code> scheme and the port number to which the + clients connect in the <code class="directive">ServerName</code> directive + to make sure that the server generates the correct + self-referential URLs. + </p> + + <p>See the description of the + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> and + <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> directives for + settings which determine whether self-referential URLs (e.g., by the + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> module) will refer to the + specified port, or to the port number given in the client's request. + </p> + + <div class="warning"> + <p>Failure to set <code class="directive">ServerName</code> to a name that + your server can resolve to an IP address will result in a startup + warning. <code>httpd</code> will then use whatever hostname it can + determine, using the system's <code>hostname</code> command. This + will almost never be the hostname you actually want.</p> + <div class="example"><p><code> + httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName + </code></p></div> + </div> + + +<h3>Consulte también</h3> +<ul> +<li><a href="../dns-caveats.html">Issues Regarding DNS and + Apache HTTP Server</a></li> +<li><a href="../vhosts/">Apache HTTP Server virtual host + documentation</a></li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serverpath" id="serverpath">Directiva</a> <a name="ServerPath" id="ServerPath">ServerPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ServerPath <var>URL-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerPath</code> directive sets the legacy + URL pathname for a host, for use with <a href="../vhosts/">name-based virtual hosts</a>.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../vhosts/">Apache HTTP Server Virtual Host documentation</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serverroot" id="serverroot">Directiva</a> <a name="ServerRoot" id="ServerRoot">ServerRoot</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Base directory for the server installation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ServerRoot <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerRoot</code> directive sets the + directory in which the server lives. Typically it will contain the + subdirectories <code>conf/</code> and <code>logs/</code>. Relative + paths in other configuration directives (such as <code class="directive"><a href="#include">Include</a></code> or <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, for example) are taken as + relative to this directory.</p> + + <div class="example"><h3>Example</h3><p><code> + ServerRoot /home/httpd + </code></p></div> + + +<h3>Consulte también</h3> +<ul> +<li><a href="../invoking.html">the <code>-d</code> + option to <code>httpd</code></a></li> +<li><a href="../misc/security_tips.html#serverroot">the + security tips</a> for information on how to properly set + permissions on the <code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serversignature" id="serversignature">Directiva</a> <a name="ServerSignature" id="ServerSignature">ServerSignature</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configures the footer on server-generated documents</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">ServerSignature</code> directive allows the + configuration of a trailing footer line under server-generated + documents (error messages, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ftp directory + listings, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> output, ...). The reason why you + would want to enable such a footer line is that in a chain of proxies, + the user often has no possibility to tell which of the chained servers + actually produced a returned error message.</p> + + <p>The <code>Off</code> + setting, which is the default, suppresses the footer line (and is + therefore compatible with the behavior of Apache-1.2 and + below). The <code>On</code> setting simply adds a line with the + server version number and <code class="directive"><a href="#servername">ServerName</a></code> of the serving virtual host, + and the <code>EMail</code> setting additionally creates a + "mailto:" reference to the <code class="directive"><a href="#serveradmin">ServerAdmin</a></code> of the referenced + document.</p> + + <p>After version 2.0.44, the details of the server version number + presented are controlled by the <code class="directive"><a href="#servertokens">ServerTokens</a></code> directive.</p> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="servertokens" id="servertokens">Directiva</a> <a name="ServerTokens" id="ServerTokens">ServerTokens</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configures the <code>Server</code> HTTP response +header</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>This directive controls whether <code>Server</code> response + header field which is sent back to clients includes a + description of the generic OS-type of the server as well as + information about compiled-in modules.</p> + + <dl> + <dt><code>ServerTokens Full</code> (or not specified)</dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/2.4.1 + (Unix) PHP/4.2.2 MyMod/1.2</code></dd> + + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache</code></dd> + + <dt><code>ServerTokens Major</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2.4</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2.4.1</code></dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/2.4.1 + (Unix)</code></dd> + + </dl> + + <p>This setting applies to the entire server, and cannot be + enabled or disabled on a virtualhost-by-virtualhost basis.</p> + + <p>After version 2.0.44, this directive also controls the + information presented by the <code class="directive"><a href="#serversignature">ServerSignature</a></code> directive.</p> + + <div class="note">Setting <code class="directive">ServerTokens</code> to less than + <code>minimal</code> is not recommended because it makes it more + difficult to debug interoperational problems. Also note that + disabling the Server: header does nothing at all to make your + server more secure; the idea of "security through obscurity" + is a myth and leads to a false sense of safety.</div> + + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sethandler" id="sethandler">Directiva</a> <a name="SetHandler" id="SetHandler">SetHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Forces all matching files to be processed by a +handler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SetHandler <var>handler-name</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Moved into the core in Apache httpd 2.0</td></tr> +</table> + <p>When placed into an <code>.htaccess</code> file or a + <code class="directive"><a href="#directory"><Directory></a></code> or + <code class="directive"><a href="#location"><Location></a></code> + section, this directive forces all matching files to be parsed + through the <a href="../handler.html">handler</a> given by + <var>handler-name</var>. For example, if you had a directory you + wanted to be parsed entirely as imagemap rule files, regardless + of extension, you might put the following into an + <code>.htaccess</code> file in that directory:</p> + + <div class="example"><p><code> + SetHandler imap-file + </code></p></div> + + <p>Another example: if you wanted to have the server display a + status report whenever a URL of + <code>http://servername/status</code> was called, you might put + the following into <code>httpd.conf</code>:</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + </span> + </Location> + </code></p></div> + + <p>You can override an earlier defined <code class="directive">SetHandler</code> + directive by using the value <code>None</code>.</p> + <p><strong>Note:</strong> because SetHandler overrides default handlers, + normal behaviour such as handling of URLs ending in a slash (/) as + directories or index files is suppressed.</p> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setinputfilter" id="setinputfilter">Directiva</a> <a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Sets the filters that will process client requests and POST +input</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SetInputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">SetInputFilter</code> directive sets the + filter or filters which will process client requests and POST + input when they are received by the server. This is in addition to + any filters defined elsewhere, including the + <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> + directive.</p> + + <p>If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../filter.html">Filters</a> documentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setoutputfilter" id="setoutputfilter">Directiva</a> <a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Sets the filters that will process responses from the +server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">SetOutputFilter</code> directive sets the filters + which will process responses from the server before they are + sent to the client. This is in addition to any filters defined + elsewhere, including the + <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> + directive.</p> + + <p>For example, the following configuration will process all files + in the <code>/www/data/</code> directory for server-side + includes.</p> + + <div class="example"><p><code> + <Directory /www/data/><br /> + <span class="indent"> + SetOutputFilter INCLUDES<br /> + </span> + </Directory> + </code></p></div> + + <p>If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content.</p> + +<h3>Consulte también</h3> +<ul> +<li><a href="../filter.html">Filters</a> documentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="stricthostcheck" id="stricthostcheck">Directiva</a> <a name="StrictHostCheck" id="StrictHostCheck">StrictHostCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>StrictHostCheck ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>StrictHostCheck OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Added in 2.4.49</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="timeout" id="timeout">Directiva</a> <a name="TimeOut" id="TimeOut">TimeOut</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Amount of time the server will wait for +certain events before failing a request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>TimeOut <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>TimeOut 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>The <code class="directive">TimeOut</code> directive defines the length + of time Apache httpd will wait for I/O in various circumstances:</p> + + <ol> + <li>When reading data from the client, the length of time to + wait for a TCP packet to arrive if the read buffer is + empty.</li> + + <li>When writing data to the client, the length of time to wait + for an acknowledgement of a packet if the send buffer is + full.</li> + + <li>In <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, the length of time to wait for + output from a CGI script.</li> + + <li>In <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, the length of time to + wait for output from a filtering process.</li> + + <li>In <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, the default timeout value if + <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> is not + configured.</li> + </ol> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="traceenable" id="traceenable">Directiva</a> <a name="TraceEnable" id="TraceEnable">TraceEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Determines the behaviour on <code>TRACE</code> requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 1.3.34, 2.0.55 and later</td></tr> +</table> + <p>This directive overrides the behavior of <code>TRACE</code> for both + the core server and <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. The default + <code>TraceEnable on</code> permits <code>TRACE</code> requests per + RFC 2616, which disallows any request body to accompany the request. + <code>TraceEnable off</code> causes the core server and + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> to return a <code>405</code> (Method not + allowed) error to the client.</p> + + <p>Finally, for testing and diagnostic purposes only, request + bodies may be allowed using the non-compliant <code>TraceEnable + extended</code> directive. The core (as an origin server) will + restrict the request body to 64k (plus 8k for chunk headers if + <code>Transfer-Encoding: chunked</code> is used). The core will + reflect the full headers and all chunk headers with the response + body. As a proxy server, the request body is not restricted to 64k.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="undefine" id="undefine">Directiva</a> <a name="UnDefine" id="UnDefine">UnDefine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Undefine the existence of a variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>UnDefine <var>parameter-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>Undoes the effect of a <code class="directive"><a href="#define">Define</a></code> or + of passing a <code>-D</code> argument to <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p> + <p>This directive can be used to toggle the use of <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sections without needing to alter + <code>-D</code> arguments in any startup scripts.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="usecanonicalname" id="usecanonicalname">Directiva</a> <a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configures how the server determines its own name and +port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>UseCanonicalName Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>In many situations Apache httpd must construct a <em>self-referential</em> + URL -- that is, a URL that refers back to the same server. With + <code>UseCanonicalName On</code> Apache httpd will use the hostname and port + specified in the <code class="directive"><a href="#servername">ServerName</a></code> + directive to construct the canonical name for the server. This name + is used in all self-referential URLs, and for the values of + <code>SERVER_NAME</code> and <code>SERVER_PORT</code> in CGIs.</p> + + <p>With <code>UseCanonicalName Off</code> Apache httpd will form + self-referential URLs using the hostname and port supplied by + the client if any are supplied (otherwise it will use the + canonical name, as defined above). These values are the same + that are used to implement <a href="../vhosts/name-based.html">name-based virtual hosts</a>, + and are available with the same clients. The CGI variables + <code>SERVER_NAME</code> and <code>SERVER_PORT</code> will be + constructed from the client supplied values as well.</p> + + <p>An example where this may be useful is on an intranet server + where you have users connecting to the machine using short + names such as <code>www</code>. You'll notice that if the users + type a shortname, and a URL which is a directory, such as + <code>http://www/splat</code>, <em>without the trailing + slash</em> then Apache httpd will redirect them to + <code>http://www.domain.com/splat/</code>. If you have + authentication enabled, this will cause the user to have to + authenticate twice (once for <code>www</code> and once again + for <code>www.domain.com</code> -- see <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">the + FAQ on this subject for more information</a>). But if + <code class="directive">UseCanonicalName</code> is set <code>Off</code>, then + Apache httpd will redirect to <code>http://www/splat/</code>.</p> + + <p>There is a third option, <code>UseCanonicalName DNS</code>, + which is intended for use with mass IP-based virtual hosting to + support ancient clients that do not provide a + <code>Host:</code> header. With this option Apache httpd does a + reverse DNS lookup on the server IP address that the client + connected to in order to work out self-referential URLs.</p> + + <div class="warning"><h3>Warning</h3> + <p>If CGIs make assumptions about the values of <code>SERVER_NAME</code> + they may be broken by this option. The client is essentially free + to give whatever value they want as a hostname. But if the CGI is + only using <code>SERVER_NAME</code> to construct self-referential URLs + then it should be just fine.</p> + </div> + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directiva</a> <a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configures how the server determines its own name and +port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p>In many situations Apache httpd must construct a <em>self-referential</em> + URL -- that is, a URL that refers back to the same server. With + <code>UseCanonicalPhysicalPort On</code> Apache httpd will, when + constructing the canonical port for the server to honor + the <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> directive, + provide the actual physical port number being used by this request + as a potential port. With <code>UseCanonicalPhysicalPort Off</code> + Apache httpd will not ever use the actual physical port number, instead + relying on all configured information to construct a valid port number.</p> + + <div class="note"><h3>Note</h3> + <p>The ordering of when the physical port is used is as follows:<br /><br /> + <code>UseCanonicalName On</code></p> + <ul> + <li>Port provided in <code>Servername</code></li> + <li>Physical port</li> + <li>Default port</li> + </ul> + <code>UseCanonicalName Off | DNS</code> + <ul> + <li>Parsed port from <code>Host:</code> header</li> + <li>Physical port</li> + <li>Port provided in <code>Servername</code></li> + <li>Default port</li> + </ul> + + <p>With <code>UseCanonicalPhysicalPort Off</code>, the + physical ports are removed from the ordering.</p> + </div> + + +<h3>Consulte también</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="virtualhost" id="virtualhost">Directiva</a> <a name="VirtualHost" id="VirtualHost"><VirtualHost></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Contains directives that apply only to a specific +hostname or IP address</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><VirtualHost></code> and + <code></VirtualHost></code> are used to enclose a group of + directives that will apply only to a particular virtual host. Any + directive that is allowed in a virtual host context may be + used. When the server receives a request for a document on a + particular virtual host, it uses the configuration directives + enclosed in the <code class="directive"><VirtualHost></code> + section. <var>Addr</var> can be:</p> + + <ul> + <li>The IP address of the virtual host;</li> + + <li>A fully qualified domain name for the IP address of the + virtual host (not recommended);</li> + + <li>The character <code>*</code>, which is used only in combination with + <code>NameVirtualHost *</code> to match all IP addresses; or</li> + + <li>The string <code>_default_</code>, which is used only + with IP virtual hosting to catch unmatched IP addresses.</li> + </ul> + + <div class="example"><h3>Example</h3><p><code> + <VirtualHost 10.1.2.3><br /> + <span class="indent"> + ServerAdmin webmaster@host.example.com<br /> + DocumentRoot /www/docs/host.example.com<br /> + ServerName host.example.com<br /> + ErrorLog logs/host.example.com-error_log<br /> + TransferLog logs/host.example.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + + <p>IPv6 addresses must be specified in square brackets because + the optional port number could not be determined otherwise. An + IPv6 example is shown below:</p> + + <div class="example"><p><code> + <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br /> + <span class="indent"> + ServerAdmin webmaster@host.example.com<br /> + DocumentRoot /www/docs/host.example.com<br /> + ServerName host.example.com<br /> + ErrorLog logs/host.example.com-error_log<br /> + TransferLog logs/host.example.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>Each Virtual Host must correspond to a different IP address, + different port number or a different host name for the server, + in the former case the server machine must be configured to + accept IP packets for multiple addresses. (If the machine does + not have multiple network interfaces, then this can be + accomplished with the <code>ifconfig alias</code> command -- if + your OS supports it).</p> + + <div class="note"><h3>Note</h3> + <p>The use of <code class="directive"><VirtualHost></code> does + <strong>not</strong> affect what addresses Apache httpd listens on. You + may need to ensure that Apache httpd is listening on the correct addresses + using <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + </div> + + <p>When using IP-based virtual hosting, the special name + <code>_default_</code> can be specified in + which case this virtual host will match any IP address that is + not explicitly listed in another virtual host. In the absence + of any <code>_default_</code> virtual host the "main" server config, + consisting of all those definitions outside any VirtualHost + section, is used when no IP-match occurs.</p> + + <p>You can specify a <code>:port</code> to change the port that is + matched. If unspecified then it defaults to the same port as the + most recent <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> + statement of the main server. You may also specify <code>:*</code> + to match all ports on that address. (This is recommended when used + with <code>_default_</code>.)</p> + + <p>A <code class="directive"><a href="#servername">ServerName</a></code> should be + specified inside each <code class="directive"><VirtualHost></code> block. If it is absent, the + <code class="directive"><a href="#servername">ServerName</a></code> from the "main" + server configuration will be inherited.</p> + + <p>If no matching virtual host is found, then the first listed + virtual host that matches the IP address will be used. As a + consequence, the first listed virtual host is the default virtual + host.</p> + + <div class="warning"><h3>Security</h3> + <p>See the <a href="../misc/security_tips.html">security tips</a> + document for details on why your security could be compromised if the + directory where log files are stored is writable by anyone other + than the user that starts the server.</p> + </div> + +<h3>Consulte también</h3> +<ul> +<li><a href="../vhosts/">Apache HTTP Server Virtual Host documentation</a></li> +<li><a href="../dns-caveats.html">Issues Regarding DNS and + Apache HTTP Server</a></li> +<li><a href="../bind.html">Setting + which addresses and ports Apache HTTP Server uses</a></li> +<li><a href="../sections.html">How <Directory>, <Location> + and <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comentarios</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/core.html.fr.utf8 b/docs/manual/mod/core.html.fr.utf8 new file mode 100644 index 0000000..0e9abf2 --- /dev/null +++ b/docs/manual/mod/core.html.fr.utf8 @@ -0,0 +1,5669 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Fonctionalités de Base Apache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours +disponibles</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergeslashes">MergeSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readbuffersize">ReadBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stricthostcheck">StrictHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="acceptfilter" id="acceptfilter">Directive</a> <a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'optimiser la configuration d'une socket pour +l'écoute d'un protocole</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptFilter <var>protocole</var> <var>filtre +d'acceptation</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet d'effectuer une optimisation de la socket + d'écoute d'un type de protocole en fonction du système + d'exploitation. Le but premier est de faire en sorte que le noyau + n'envoie pas de socket au processus du serveur jusqu'à ce que + des données soient reçues, ou qu'une requête HTTP complète soit mise + en tampon. Seuls les <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter& sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus + primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version + optimisée d'AcceptEx() de Windows sont actuellement supportés.</p> + + <p>L'utilisation de l'argument <code>none</code> va désactiver tout + filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les + protocoles qui nécessitent l'envoi de données par le serveur en + premier, comme <code>ftp:</code> ou <code>nntp</code>:</p> + <pre class="prettyprint lang-config">AcceptFilter nntp none</pre> + + + <p>Les noms de protocoles par défaut sont <code>https</code> pour le + port 443 et <code>http</code> pour tous les autres ports. Pour + spécifier un autre protocole à utiliser avec un port en écoute, + ajoutez l'argument <var>protocol</var> à la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + + <p>Sous FreeBSD, les valeurs par défaut sont :</p> + <pre class="prettyprint lang-config">AcceptFilter http httpready +AcceptFilter https dataready</pre> + + + <p>Le filtre d'acceptation <code>httpready</code> met en tampon des + requêtes HTTP entières au niveau du noyau. Quand une requête + entière a été reçue, le noyau l'envoie au serveur. Voir la page de + manuel de <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http& sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes + HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data& sektion=9">accf_data(9)</a>.</p> + + <p>Sous Linux, les valeurs par défaut sont :</p> + <pre class="prettyprint lang-config">AcceptFilter http data +AcceptFilter https data</pre> + + + <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas + la mise en tampon des requêtes http. Toute valeur autre que + <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code> + pour ce protocole. Pour plus de détails, voir la page de + manuel Linux de <a href="http://man7.org/linux/man-pages/man7/tcp.7.html">tcp(7)</a>.</p> + + <p>Sous Windows, les valeurs par défaut sont :</p> + <pre class="prettyprint lang-config">AcceptFilter http connect +AcceptFilter https connect</pre> + + + <p>Le module MPM pour Windows mpm_winnt utilise la directive + AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte + pas la mise en tampon du protocole http. <code>connect</code> + utilise l'API AcceptEx(), extrait aussi les adresses réseau finales, + mais à l'instar de <code>none</code>, la valeur <code>connect</code> + n'attend pas la transmission des données initiales.</p> + + <p>Sous Windows, <code>none</code> utilise accept() au lieu + d'AcceptEx(), et ne recycle pas les sockets entre les connexions. + Ceci s'avère utile pour les interfaces réseau dont le pilote est + défectueux, ainsi que pour certains fournisseurs de réseau comme les + pilotes vpn, ou les filtres anti-spam, anti-virus ou + anti-spyware.</p> + + <div class="warning"> + <h3>L'AcceptFilter <code>data</code> (Windows)</h3> + + <p>Jusqu'à la version 2.4.23, le filtre d'acceptation <code>data</code> + attendait que des données aient été transmises et que le tampon de données + initial et l'adresse réseau finale aient été déterminés par l'invocation + AcceptEx(). Cette implémentation étant vulnérable à une attaque de type + denial of service, elle a été désactivée.</p> + + <p>La version actuelle de httpd prend par défaut le filtre + <code>connect</code> sous Windows, et reprendra la valeur + <code>data</code> si <code>data</code> est spécifié. Il est fortement + conseillé aux utilisateurs des versions plus anciennes de définir + explicitement le filtre <code>connect</code> pour leurs AcceptFilter + comme indiqué plus haut.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#protocol">Protocol</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="acceptpathinfo" id="acceptpathinfo">Directive</a> <a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + + <p>Cette directive permet de définir si les requêtes contenant des + informations sous forme d'un nom de chemin suivant le nom d'un + fichier réel (ou un fichier qui n'existe pas dans un répertoire qui + existe) doivent être acceptées ou rejetées. Les scripts peuvent + accéder à cette information via la variable d'environnement + <code>PATH_INFO</code>.</p> + + <p>Supposons par exemple que <code>/test/</code> pointe vers un + répertoire qui ne contient que le fichier <code>here.html</code>. + Les requêtes pour <code>/test/here.html/more</code> et + <code>/test/nothere.html/more</code> vont affecter la valeur + <code>/more</code> à la variable d'environnement + <code>PATH_INFO</code>.</p> + + <p>L'argument de la directive <code class="directive">AcceptPathInfo</code> + possède trois valeurs possibles :</p> + <dl> + <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si + elle correspond à un chemin qui existe. Par conséquent, une requête + contenant une information de chemin après le nom de fichier réel + comme <code>/test/here.html/more</code> dans l'exemple ci-dessus + renverra une erreur "404 NOT FOUND".</dd> + + <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie + principale du chemin correspond à un fichier existant. Dans + l'exemple ci-dessus <code>/test/here.html/more</code>, la requête + sera acceptée si <code>/test/here.html</code> correspond à un nom de + fichier valide.</dd> + + <dt><code>Default</code></dt><dd>Le traitement des requêtes est + déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête. + Le gestionnaire de base pour les fichiers normaux rejette par défaut + les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui + servent des scripts, comme<a href="mod_cgi.html">cgi-script</a> et <a href="mod_isapi.html">isapi-handler</a>, acceptent en général par + défaut les requêtes avec <code>PATH_INFO</code>.</dd> + </dl> + + <p>Le but premier de la directive <code>AcceptPathInfo</code> est de + vous permettre de remplacer le choix du gestionnaire d'accepter ou + de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire + par exemple, lorsque vous utilisez un <a href="../filter.html">filtre</a>, comme <a href="mod_include.html">INCLUDES</a>, pour générer un contenu basé + sur <code>PATH_INFO</code>. Le gestionnaire de base va en général + rejeter la requête, et vous pouvez utiliser la configuration + suivante pour utiliser un tel script :</p> +<pre class="prettyprint lang-config"><Files "mypaths.shtml"> + Options +Includes + SetOutputFilter INCLUDES + AcceptPathInfo On +</Files></pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="accessfilename" id="accessfilename">Directive</a> <a name="AccessFileName" id="AccessFileName">AccessFileName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AccessFileName <var>nom-du-fichier</var> +[<var>nom-du-fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Au cours du traitement d'une requête, le serveur recherche le + premier fichier de configuration existant à partir de la liste + de noms dans chaque répertoire composant le chemin du document, à + partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple + :</p> + + <pre class="prettyprint lang-config">AccessFileName .acl</pre> + + + <p>avant de renvoyer le document + <code>/usr/local/web/index.html</code>, le serveur va rechercher les + fichiers <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code> + pour y lire d'éventuelles directives, à moins quelles n'aient été + désactivées avec</p> + + <pre class="prettyprint lang-config"><Directory "/"> + AllowOverride None +</Directory></pre> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Fichiers de configuration</a></li> +<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="adddefaultcharset" id="adddefaultcharset">Directive</a> <a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est <code>text/plain</code> ou +<code>text/html</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDefaultCharset On|Off|<var>jeu de caractères</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive spécifie une valeur par défaut pour le paramètre + jeu de caractères du type de média (le nom d'un codage de + caractères) à ajouter à une réponse, si et seulement si le type de + contenu de la réponse est soit <code>text/plain</code>, soit + <code>text/html</code>. Ceci va remplacer + tout jeu de caractères spécifié dans le corps de la réponse via un + élément <code>META</code>, bien que cet effet dépende en fait + souvent de la configuration du client de l'utilisateur. La + définition de <code>AddDefaultCharset Off</code> désactive cette + fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de + caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur + peut être définie via le paramètre <var>jeu de caractères</var>, qui + doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de + jeux de caractères enregistrés par l'IANA</a> à utiliser dans les + types de média Internet (types MIME). + Par exemple :</p> + + <pre class="prettyprint lang-config">AddDefaultCharset utf-8</pre> + + + <p>La directive <code class="directive">AddDefaultCharset</code> ne doit + être utilisée que lorsque toutes les ressources textes auxquelles + elle s'applique possèdent le jeu de caractère spécifié, et qu'il est + trop contraignant de définir leur jeu de caractères + individuellement. Un exemple de ce type est l'ajout du paramètre jeu + de caractères aux ressources comportant un contenu généré, comme les + scripts CGI hérités qui peuvent être vulnérables à des attaques de + type cross-site scripting à cause des données utilisateurs incluses + dans leur sortie. Notez cependant qu'une meilleur solution consiste + à corriger (ou supprimer) ces scripts, car la définition d'un jeu de + caractères par défaut ne protège pas les utilisateurs qui ont activé + la fonctionnalité "Détection automatique de l'encodage des + caractères" dans leur navigateur.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowencodedslashes" id="allowencodedslashes">Directive</a> <a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont +autorisés à transiter dans les URLs tels quels</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'option NoDecode est disponible depuis la version +2.3.12.</td></tr> +</table> + <p>La directive <code class="directive">AllowEncodedSlashes</code> permet + l'utilisation des URLs contenant des séparateurs de chemin + encodés dans la partie chemin + (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour + <code>\</code> sur les systèmes concernés).</p> + + <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont + refusées et provoquent le renvoi d'une erreur 404 (Not found).</p> + + <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les + slashes encodés sont décodés comme tout autre caractère codé.</p> + + <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées, + mais les slashes codés ne sont pas décodés et laissés dans leur état + codé.</p> + + <p>Définir <code class="directive">AllowEncodedSlashes</code> à + <code>On</code> est surtout utile en association avec + <code>PATH_INFO</code>.</p> + + <div class="note"><h3>Note</h3> + <p>Si le codage des slashes dans la partie chemin est nécessaire, + l'utilisation de l'option <code>NoDecode</code> est fortement + recommandée par mesure de sécurité. Permettre le décodage des + slashes pourrait éventuellement induire l'autorisation de chemins + non sûrs.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowoverride" id="allowoverride">Directive</a> <a name="AllowOverride" id="AllowOverride">AllowOverride</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers +<code>.htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>type directive</var> +[<var>type directive</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride None à partir de la version 2.3.9, AllowOverride +All pour les versions antérieures</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont + le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles + des directives placées dans ce fichier sont autorisées à modifier la + configuration préexistante.</p> + + <div class="note"><h3>Valable seulement dans les sections + <Directory></h3> + La directive <code class="directive">AllowOverride</code> ne peut être + utilisée que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> définies sans expressions + rationnelles, et non dans les sections <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> ou + <code class="directive"><a href="#files"><Files></a></code>. + </div> + + <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code> sont définies à <code>None</code>, les + fichiers <a href="#accessfilename">.htaccess</a> sont totalement + ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les + fichiers <code>.htaccess</code> du système de fichiers.</p> + + <p>Lorsque cette directive est définie à <code>All</code>, toute + directive valable dans le <a href="directive-dict.html#Context">Contexte</a> .htaccess sera + autorisée dans les fichiers <code>.htaccess</code>.</p> + + <p>L'argument <var>type directive</var> peut contenir les + groupements de directives suivants (voir <a href="overrides.html">ce + document</a> pour obtenir la liste à jour des directives activées pour + chaque type de directive) :</p> + + <dl> + <dt><a href="overrides.html#override-authconfig">AuthConfig</a></dt> + + <dd> + + Permet l'utilisation des directives d'autorisation (<code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, <em>etc...</em>).</dd> + + <dt><a href="overrides.html#override-fileinfo">FileInfo</a></dt> + + <dd> + Permet l'utilisation des directives qui contrôlent les types de + documents (directives <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, et directives du + module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*), des metadonnées + des documents (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), des directives du + module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> directives (<code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>), des directives du + module <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> directives (<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirecttemp">RedirectTemp</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectpermanent">RedirectPermanent</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>), et de la directive + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> du module + <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>. + </dd> + + <dt><a href="overrides.html#override-indexes">Indexes</a></dt> + + <dd> + Permet l'utilisation des directives qui contrôlent l'indexation + des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <a href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>, + <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>, + <em>etc...</em>).</dd> + + <dt><a href="overrides.html#override-limit">Limit</a></dt> + + <dd> + Permet l'utilisation des directives contrôlant l'accès au serveur + (<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>).</dd> + + <dt>Nonfatal=[Override|Unknown|All]</dt> + + <dd> + Permet d'utiliser l'option AllowOverride pour rendre les erreurs + de syntaxe non fatales dans les fichiers .htaccess : au lieu de + causer une Internal Server Error, les directives non autorisées ou + non reconnues seront ignorées et un avertissement enregistré dans + le journal : + <ul> + <li><strong>Nonfatal=Override</strong> rend les directives + interdite par AllowOverride non fatales.</li> + <li><strong>Nonfatal=Unknown</strong> rend les directives + inconnues non fatales. Sont concernées les erreurs de frappe + et les directives implémentées par un module non chargé.</li> + <li><strong>Nonfatal=All</strong> rend toutes les directives + précédentes non fatales.</li> + </ul> + <p>Notez qu'une erreur de syntaxe dans une directive valide + causera toujours une internal server error.</p> + <div class="warning"><h3>Sécurité</h3> + Les erreurs non fatales peuvent être à l'origine de problèmes + de sécurité pour les utilisateurs de fichiers .htaccess. Par + exemple, si AllowOverride interdit AuthConfig, toute + configuration utilisateur destinée à restreindre l'accès à un + site ne sera pas prise en compte. + </div> + </dd> + + <dt><a href="overrides.html#override-options">Options</a>[=<var>Option</var>,...]</dt> + + <dd> + Permet l'utilisation des directives contrôlant les fonctionnalités + spécifiques d'un répertoire (<code class="directive"><a href="#options">Options</a></code> et <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). "Options" doit être + suivi d'un signe "égal", puis d'une liste d'options séparées par des + virgules (pas d'espaces) ; ces options doivent être définies à + l'aide de la commande <code class="directive"><a href="#options">Options</a></code>. + + <div class="note"><h3>Désactivation implicite des options</h3> + <p>Bien que la liste des options disponibles dans les fichiers + .htaccess puisse être limitée par cette directive, tant qu'un + directive <code class="directive"><a href="#options">Options</a></code> est + autorisée, toute autre option héritée peut être désactivée en + utilisant la syntaxe non-relative. En d'autres termes, ce + mécanisme ne peut pas forcer une option spécifique à rester + <em>activée</em> tout en permettant à toute autre option d'être + activée. + </p></div> + + <div class="example"><p><code> + AllowOverride Options=Indexes,MultiViews + </code></p></div> + + </dd> + </dl> + + <p>Exemple :</p> + + <pre class="prettyprint lang-config">AllowOverride AuthConfig Indexes</pre> + + + <p>Dans l'exemple ci-dessus, toutes les directives qui ne font + partie ni du groupe <code>AuthConfig</code>, ni du groupe + <code>Indexes</code>, provoquent une erreur "internal + server error".</p> + + <div class="note"><p>Pour des raisons de sécurité et de performance, ne + définissez pas <code>AllowOverride</code> à autre chose que + <code>None</code> dans votre bloc <code><Directory "/"></code>. + Recherchez plutôt (ou créez) le bloc <code><Directory></code> + qui se réfère au répertoire où vous allez précisément placer un + fichier <code>.htaccess</code>.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code></li> +<li><a href="../configuring.html">Fichiers de configuration</a></li> +<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li> +<li><a href="overrides.html">Override Class Index for .htaccess</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowoverridelist" id="allowoverridelist">Directive</a> <a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directives autorisées dans les fichiers <code>.htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverrideList None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> + (comme spécifié par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles + des directives déclarées dans ce fichier peuvent remplacer des + directives des fichiers de configuration du serveur.</p> + + <div class="note"><h3>Seulement disponible dans les sections <Directory></h3> + La directive <code class="directive">AllowOverrideList</code> n'est + disponible que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> spécifiées sans expressions + rationnelles. + </div> + + <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> sont définies à + <code>None</code>, les fichiers <a href="#accessfilename">.htaccess</a> sont totalement ignorés. Dans + ce cas, le serveur ne cherchera même pas à lire des fichiers + <code>.htaccess</code> dans le système de fichiers.</p> + + <p>Example:</p> + + <pre class="prettyprint lang-config">AllowOverride None +AllowOverrideList Redirect RedirectMatch</pre> + + + <p>Dans l'exemple ci-dessus, seules les directives + <code>Redirect</code> et <code>RedirectMatch</code> sont autorisées. + Toutes les autres provoqueront une erreur interne du serveur.</p> + + <p>Example:</p> + + <pre class="prettyprint lang-config">AllowOverride AuthConfig +AllowOverrideList CookieTracking CookieName</pre> + + + <p>Dans l'exemple ci-dessus, la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> autorise les directives du + groupement <code>AuthConfig</code>, et + <code class="directive">AllowOverrideList</code> n'autorise que deux directives du + groupement <code>FileInfo</code>. Toutes les autres provoqueront une erreur + interne du serveur.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Fichiers de configuration</a></li> +<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cgimapextension" id="cgimapextension">Directive</a> <a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des +scripts CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr> +</table> + <p>Cette directive permet de contrôler la manière dont Apache httpd trouve + l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec + la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous + les fichiers scripts CGI possédant une extension <code>.foo</code> + seront passés à l'interpréteur FOO.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cgipassauth" id="cgipassauth">Directive</a> <a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la transmission d'en-têtes d'autorisation HTTP aux scripts en +tant que variables CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIPassAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CGIPassAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">CGIPassAuth</code> permet aux + scripts d'accéder aux en-têtes d'autorisation HTTP tels que + <code>Authorization</code>, en-tête nécessaire aux scripts qui + implémente une authentification HTTP de base. Normalement, ces + en-têtes HTTP sont invisibles pour les scripts car ils leurs + permettraient de voir les identifiants et mots de passe + utilisés pour accéder au serveur lorsque l'authentification HTTP de + base est activée au niveau du serveur web. Cette directive doit être + définie à "On" lorsque des scripts sont autorisés à implémenter une + authentification HTTP de base.</p> + + <p>Cette directive constitue une alternative à l'option de + compilation <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> qui était + déjà disponible dans les versions précédentes du serveur HTTP + Apache.</p> + + <p>Cette option est prise en compte par tout module qui utilise + <code>ap_add_common_vars()</code>, comme <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, + <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, + <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>, etc... En particulier, elle affecte + les modules qui ne traitent pas à proprement parler les requêtes, + mais utilisent quand-même cette API, comme + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ou <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. Les + modules tiers qui n'utilisent pas <code>ap_add_common_vars()</code> + peuvent aussi choisir de prendre en compte cette option.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cgivar" id="cgivar">Directive</a> <a name="CGIVar" id="CGIVar">CGIVar</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la manière dont certaines variables CGI sont définies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr> +</table> + <p>Cette directive permet de contrôler la manière dont certaines variables CGI + sont définies.</p> + + <p>règles <strong>REQUEST_URI</strong> :</p> + <dl> + <dt><code>original-uri</code> (valeur par défaut)</dt> + <dd>La valeur est extraite de la requête originale, et ne tient pas compte + des redirections internes ou des sous-requêtes qui pourraient modifier la + ressource demandée.</dd> + <dt><code>current-uri</code></dt> + <dd>La valeur reflète la ressource en cours de traitement ; elle peut être + différente de la ressource demandée dans la requête initiale du client suite à + d'éventuelles redirections internes ou sous-requêtes.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="contentdigest" id="contentdigest">Directive</a> <a name="ContentDigest" id="ContentDigest">ContentDigest</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'un en-tête <code>Content-MD5</code> +dans la réponse HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive active la génération d'un en-tête + <code>Content-MD5</code> selon les définitions des RFC 1864 et + 2616.</p> + + <p>MD5 est un algorithme permettant de générer un condensé (parfois + appelé "empreinte") à partir de données d'une taille aléatoire ; le + degré de précision est tel que la moindre altération des données + d'origine entraîne une altération de l'empreinte.</p> + + <p>L'en-tête <code>Content-MD5</code> permet de vérifier + l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire + ou un client peut utiliser cet en-tête pour rechercher une + éventuelle modification accidentelle de la réponse au cours de sa + transmission. Exemple d'en-tête :</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>Notez que des problèmes de performances peuvent affecter votre + serveur, car l'empreinte est générée pour chaque requête (il n'y a + pas de mise en cache).</p> + + <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les + documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion + de tout autre module. Ainsi, les documents SSI, les sorties de + scripts CGI, et les réponses à des requêtes partielles (byte range) + ne comportent pas cet en-tête.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="defaultruntimedir" id="defaultruntimedir">Directive</a> <a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire de base des fichiers créés au cours de l'exécution du serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultRuntimeDir <var>chemin-répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.2 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">DefaultRuntimeDir</code> permet de + définir le répertoire dans lequel le serveur va créer les différents + fichiers relatifs à son exécution (mémoire partagée, verrous, + etc...). Si le chemin spécifié est relatif, le chemin absolu sera + généré relativement à la valeur de la directive + <code class="directive">ServerRoot</code></p> + + <p><strong>Example</strong></p> + <pre class="prettyprint lang-config">DefaultRuntimeDir scratch/</pre> + + + <p>La valeur par défaut de la directive + <code class="directive">DefaultRuntimeDir</code> peut être modifiée en + changeant la valeur de la macro <code>DEFAULT_REL_RUNTIMEDIR</code> + définie à la compilation.</p> + + <p>Note: si la valeur de <code class="directive">ServerRoot</code> n'a pas + été spécifiée avant d'utiliser cette directive, c'est la valeur par + défaut de <code class="directive">ServerRoot</code> qui sera utilisée pour + définir la base du répertoire.</p> + + +<h3>Voir aussi</h3> +<ul> +<li>Voir les <a href="../misc/security_tips.html#serverroot">conseils à propos de +sésurité</a> pour plus d'informations en vue de définir correctement les +permissions sur la racine du serveur <code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="defaulttype" id="defaulttype">Directive</a> <a name="DefaultType" id="DefaultType">DefaultType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les seuls effets de cette directive sont des émissions +d'avertissements si sa valeur est différente de <code>none</code>. Dans +les versions précédentes, DefaultType permettait de spécifier un type de +média à assigner par défaut au contenu d'une réponse pour lequel aucun +autre type de média n'avait été trouvé. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type média|none</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>none</code> est disponible dans les +versions d'Apache httpd 2.2.7 et supérieures. Tous les autres choix sont +DESACTIVÉS à partir des version 2.3.x.</td></tr> +</table> + <p>Cette directive a été désactivée. Pour la compatibilité + ascendante avec les anciens fichiers de configuration, elle peut + être spécifiée avec la valeur <code>none</code>, c'est à dire sans + type de médium par défaut. Par exemple :</p> + + <pre class="prettyprint lang-config">DefaultType None</pre> + + + <p><code>DefaultType None</code> n'est disponible que dans les + versions d'Apache 2.2.7 et supérieures.</p> + + <p>Utilisez le fichier de configuration mime.types et la directive + <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> pour configurer + l'assignement d'un type de médium via les extensions de fichiers, ou + la directive <code class="directive"><a href="#forcetype">ForceType</a></code> pour + attribuer un type de médium à des ressources spécifiques. Dans le + cas contraire, le serveur enverra sa réponse sans champ d'en-tête + Content-Type, et le destinataire devra déterminer lui-même le type + de médium.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="define" id="define">Directive</a> <a name="Define" id="Define">Define</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de définir une variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Avec un seul paramètre, l'effet de la directive + <code class="directive">Define</code> est identique à celui de l'argument + <code>-D</code> du programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Il permet de + modifier le comportement des sections <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sans avoir à ajouter d'argument + <code>-D</code> au sein des scripts de démarrage.</p> + + <p>De plus, le second paramètre permet d'affecter une valeur à la + variable définie par le premier. Cette variable peut être référencée + dans le fichier de configuration via la syntaxe <code>${VAR}</code>. + La portée de la variable est toujours globale, et n'est jamais + limitée à la section de configuration courante.</p> + + <pre class="prettyprint lang-config"><IfDefine TEST> + Define servername test.example.com +</IfDefine> +<IfDefine !TEST> + Define servername www.example.com + Define SSL +</IfDefine> + +DocumentRoot "/var/www/${servername}/htdocs"</pre> + + + <p>Le caractère ":" est interdit dans les noms de variables afin + d'éviter les conflits avec la syntaxe de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p> + + <div class="note"><h3>Portée de la directive et pièges à éviter</h3> + <p>Si cette directive est définie au sein d'un bloc VirtualHost, les + changements qu'elle induit sont visibles de toute directive + ultérieure, au delà de tout bloc VirtualHost.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#undefine">UnDefine</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directory" id="directory">Directive</a> <a name="Directory" id="Directory"><Directory></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui ne s'appliquent +qu'au répertoire concerné du système de fichiers, à ses +sous-répertoires, et à leur contenu.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Directory <var>chemin répertoire</var>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les balises <code class="directive"><Directory></code> et + <code></Directory></code> permettent de regrouper un ensemble + de directives qui ne s'appliquent qu'au répertoire précisé, + à ses sous-répertoires, et aux fichiers situés dans ces + sous-répertoires. Toute directive + autorisée dans un contexte de répertoire peut être utilisée. + <var>chemin répertoire</var> est soit le chemin absolu d'un + répertoire, soit une chaîne de caractères avec caractères génériques + utilisant la comparaison Unix de style shell. Dans une chaîne de + caractères avec caractères génériques, <code>?</code> correspond à + un caractère quelconque, et <code>*</code> à toute chaîne de + caractères. Les intervalles de caractères <code>[]</code> sont aussi + autorisés. Aucun caractère générique ne peut remplacer le caractère + `/', si bien que l'expression <code><Directory + "/*/public_html"></code> ne conviendra pas pour le chemin + * <code>/home/user/public_html</code>, alors que <code><Directory + "/home/*/public_html"></code> conviendra. Exemple :</p> + + <pre class="prettyprint lang-config"><Directory "/usr/local/httpd/htdocs"> + Options Indexes FollowSymLinks +</Directory></pre> + + + <p>Les chemins de répertoires contenant des espaces <em>doivent</em> être + entourés de guillemets afin d'empêcher l'interprétation de ces + espaces comme fins d'arguments.</p> + + <div class="note"> + <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il + doit correspondre exactement au chemin du système de fichier + qu'Apache httpd utilise pour accéder aux fichiers. Les directives + comprises dans une section <code><Directory></code> ne + s'appliqueront pas aux fichiers du même répertoire auxquels on + aura accédé via un chemin différent, per exemple via un lien + symbolique.</p> + </div> + + <p> Les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> + peuvent aussi être utilisées en ajoutant le caractère + <code>~</code>. Par exemple :</p> + + <pre class="prettyprint lang-config"><Directory ~ "^/www/[0-9]{3}"> + +</Directory></pre> + + + <p>pourra correspondre à tout répertoire situé dans /www/ et dont le + nom se compose de trois chiffres.</p> + + <p>Si plusieurs sections <code class="directive"><Directory></code> (sans expression rationnelle) + correspondent au répertoire (ou à un de ses parents) qui contient le + document, les directives de la section <code class="directive"><Directory></code> dont le chemin est le plus + court sont appliquées en premier, en s'intercalant avec les + directives des fichiers <a href="#accessfilename">.htaccess</a>. Par + exemple, avec</p> + + <pre class="prettyprint lang-config"><Directory "/"> + AllowOverride None +</Directory> + +<Directory "/home"> + AllowOverride FileInfo +</Directory></pre> + + + <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte + le chemin suivant :</p> + + <ul> + <li>Aplication de la directive <code>AllowOverride None</code> + (qui désactive les fichiers <code>.htaccess</code>).</li> + + <li>Application de la directive <code>AllowOverride + FileInfo</code> (pour le répertoire <code>/home</code>).</li> + + <li>Application de toute directive <code>FileInfo</code> qui se + trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>, + <code>/home/web/.htaccess</code> ou + <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li> + </ul> + + <p>Les directives associées aux répertoires sous forme d'expressions + rationnelles ne sont prises en compte qu'une fois toutes les + directives des sections sans expressions rationnelles appliquées. + Alors, tous les répertoires avec expressions rationnelles sont + testés selon l'ordre dans lequel ils apparaissent dans le fichier de + configuration. Par exemple, avec</p> + + <pre class="prettyprint lang-config"><Directory ~ "abc$"> + # ... directives ici ... +</Directory></pre> + + + <p>la section avec expression rationnelle ne sera prise en compte + qu'après les sections <code class="directive"><Directory></code> sans expression rationnelle + et les fichiers <code>.htaccess</code>. Alors, l'expression + rationnelle conviendra pour <code>/home/abc/public_html/abc</code> + et la section <code class="directive"><Directory></code> + correspondante s'appliquera.</p> + + <p><strong>Notez que la politique d'accès par défaut + dans les sections <code><Directory "/"></code> consiste à + autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier + correspondant à une URL. Il est recommandé de modifier cette + situation à l'aide d'un bloc du style</strong></p> + + <pre class="prettyprint lang-config"><Directory "/"> + Require all denied +</Directory></pre> + + + <p><strong>puis d'affiner la configuration pour les répertoires que vous + voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de sécurité</a> + pour plus de détails.</strong></p> + + <p>Les sections <code class="directive"><Directory></code> se situent + dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées + et ne sont pas autorisées dans les sections <code class="directive"><a href="#limit"><Limit></a></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour des +explications à propos de la manière dont ces différentes sections se +combinent entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directorymatch" id="directorymatch">Directive</a> <a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent au contenu de répertoires +du système de fichiers correspondant à une expression rationnelle</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les balises <code class="directive"><DirectoryMatch></code> + et <code></DirectoryMatch></code> permettent de regrouper un + ensemble de directives qui ne s'appliqueront qu'au répertoire + précisé (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le + répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p> + + <pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/"> + # ... +</DirectoryMatch></pre> + + + <p>convient pour les sous-répertoires de <code>/www/</code> dont + le nom se compose de trois chiffres.</p> + + <div class="note"><h3>Compatibilité</h3> + Avant la version 2.3.9, cette directive s'appliquait aussi aux + sous-répertoires (comme la directive <code class="directive"><a href="#directory"><Directory></a></code>), et ne tenait pas compte du + symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les + répertoires qui correspondent à l'expression sont affectés par les + directives contenues dans la section. + </div> + + <div class="note"><h3>slash de fin</h3> + Cette directive s'applique aux requêtes pour des répertoires avec + ou sans slash de fin ; les expressions contenant un symbole de fin + de ligne ($) doivent donc faire l'objet d'une attention + particulière. + </div> + + <p>A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé + par "MATCH_". Ceci permet + de référencer des URLs dans des <a href="../expr.html">expressions</a> + ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.</p> + +<pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</DirectoryMatch></pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#directory"><Directory></a></code> +pour une description de la manière dont les expressions rationnelles +sont traitées en présence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication à propos de la manière dont ces différentes sections se +combinent entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="documentroot" id="documentroot">Directive</a> <a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine principale de l'arborescence des documents visible +depuis Internet</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot "/usr/local/apache/htdocs"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir le répertoire à partir duquel + <code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond + pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin + de l'URL sera ajouté par le serveur à la racine des documents afin + de construire le chemin du document recherché. Exemple :</p> + + <pre class="prettyprint lang-config">DocumentRoot "/usr/web"</pre> + + + <p>un accès à <code>http://my.example.com/index.html</code> se + réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin + répertoire</var> n'est pas un chemin absolu, il est considéré comme + relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <p>Le répertoire défini par la directive + <code class="directive">DocumentRoot</code> ne doit pas comporter de slash + final.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../urlmapping.html#documentroot">Mise en +correspondance des URLs avec le système de fichiers</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="else" id="else">Directive</a> <a name="Else" id="Else"><Else></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la +condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><a href="#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la +requête à l'exécution</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Else> ... </Else></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version +2.4.26 du serveur HTTP Apache</td></tr> +</table> + <p>La section <code class="directive"><Else></code> applique + les directives qu'elle contient si et seulement si les conditions + correspondant à la section <code class="directive"><If></code> + ou <code class="directive"><ElseIf></code> immédiatement + supérieure et dans la même portée n'ont pas été satisfaites. Par + exemple, dans :</p> + + <pre class="prettyprint lang-config"><If "-z req('Host')"> + # ... +</If> +<Else> + # ... +</Else></pre> + + + <p>La condition de la section <code class="directive"><If></code> serait satisfaite pour les requêtes + HTTP/1.0 sans en-tête <var>Host:</var>, alors que celle de la section + <code class="directive"><Else></code> le serait pour les + requêtes comportant un en-tête <var>Host:</var>.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>, + <Files></a> pour une explication de la manière dont ces + différentes section se combinent entre elles lorsqu'une requête est + reçue. Les directives <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="elseif" id="elseif">Directive</a> <a name="ElseIf" id="ElseIf"><ElseIf></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la +condition correspondante est satisfaite par une requête à l'exécution, +alors que la condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version +2.4.26 du serveur HTTP Apache</td></tr> +</table> + <p>La section <code class="directive"><ElseIf></code> applique + les directives qu'elle contient si et seulement si d'une part la + condition correspondante est satisfaite, et d'autre part la condition + correspondant à la section <code class="directive"><If></code> + ou <code class="directive"><ElseIf></code> de la même portée ne + l'est pas. Par exemple, dans :</p> + + <pre class="prettyprint lang-config"><If "-R '10.1.0.0/16'"> + #... +</If> +<ElseIf "-R '10.0.0.0/8'"> + #... +</ElseIf> +<Else> + #... +</Else></pre> + + + <p>La condition correspondant à la section <code class="directive"><ElseIf></code> est satisfaite si l'adresse + distante de la requête appartient au sous-réseau 10.0.0.0/8, mais + pas si elle appartient au sous-réseau 10.1.0.0/16.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../expr.html">Les expressions dans le serveur HTTP +Apache</a>, pour une référence complète et d'autres exemples.</li> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>, + <Files></a> pour une explication de la manière dont ces + différentes section se combinent entre elles lorsqu'une requête est + reçue. Les directives <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="enablemmap" id="enablemmap">Directive</a> <a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser + la projection en mémoire (Memory-Mapping) quand il doit lire le contenu + d'un fichier pendant qu'il est servi. Par défaut, lorsque le + traitement d'une requête requiert l'accès aux données contenues dans + un fichier -- par exemple, pour servir un fichier interprété par le + serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd projette + le fichier en mémoire si le système d'exploitation le permet.</p> + + <p>Cette projection en mémoire induit parfois une amélioration des + performances. Sur certains systèmes cependant, il est préférable de + désactiver la projection en mémoire afin d'éviter certains problèmes + opérationnels :</p> + + <ul> + <li>Sur certains systèmes multi-processeurs, la projection en + mémoire peut dégrader les performances du programme + <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li> + <li>S'il fait l'objet d'une projection en mémoire par + <code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un + fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une + erreur de segmentation.</li> + </ul> + + <p>Pour les configurations de serveur sujettes à ce genre de + problème, il est préférable de désactiver la projection en mémoire + des fichiers servis en spécifiant :</p> + + <pre class="prettyprint lang-config">EnableMMAP Off</pre> + + + <p>Pour les montages NFS, cette fonctionnalité peut être + explicitement désactivée pour les fichiers concernés en spécifiant + :</p> + + <pre class="prettyprint lang-config"><Directory "/path-to-nfs-files"> + EnableMMAP Off +</Directory></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="enablesendfile" id="enablesendfile">Directive</a> <a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les +fichiers aux clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Par défaut à Off depuis la version 2.3.9.</td></tr> +</table> + <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code> + peut utiliser le support sendfile du noyau pour transmettre le + contenu des fichiers aux clients. Par défaut, lorsque le traitement + d'une requête ne requiert pas l'accès aux données contenues dans un + fichier -- par exemple, pour la transmission d'un fichier statique + -- Apache httpd utilise sendfile pour transmettre le contenu du fichier + sans même lire ce dernier, si le système d'exploitation le + permet.</p> + + <p>Ce mécanisme sendfile évite la séparation des opérations de + lecture et d'envoi, ainsi que les réservations de tampons. sur + certains systèmes cependant, ou sous certains systèmes de fichiers, + il est préférable de désactiver cette fonctionnalité afin d'éviter + certains problèmes opérationnels :</p> + + <ul> + <li>Certains systèmes peuvent présenter un support sendfile + défectueux que le système de compilation n'a pas détecté, en + particulier si les exécutables ont été compilés sur une autre + machine, puis copiés sur la première avec un support sendfile + défectueux.</li> + <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de + la récupération des paquets de vérification TCP (TCP-checksum) avec + certaines cartes réseau lorsqu'on utilise IPv6.</li> + <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'avérer incapable de + traiter les fichiers de plus de 2 Go.</li> + <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS, SMB, CIFS, + FUSE), le + noyau peut s'avérer incapable de servir un fichier de ce montage + réseau en passant par son propre cache.</li> + </ul> + + <p>Pour les configurations de serveur non sujettes à ce genre de + problème, vous pouvez activer cette fonctionnalité en + spécifiant :</p> + + <pre class="prettyprint lang-config">EnableSendfile On</pre> + + + <p>Pour les montages réseau, cette fonctionnalité peut être + explicitement désactivée pour les fichiers concernés en spécifiant + :</p> + + <pre class="prettyprint lang-config"><Directory "/path-to-nfs-files"> + EnableSendfile Off +</Directory></pre> + + <p>Veuillez noter que la configuration de la directive + <code class="directive">EnableSendfile</code> dans un contexte de répertoire + ou de fichier .htaccess n'est pas supportée par + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. Le module ne prend en compte la + définition de <code class="directive">EnableSendfile</code> que dans un + contexte global. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="error" id="error">Directive</a> <a name="Error" id="Error">Error</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrompt la lecture de la configuration avec un message +d'erreur personnalisé</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Error <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>à partir de la version 2.3.9</td></tr> +</table> + <p>Si une erreur peut être détectée dans la configuration, souvent + un module manquant, cette + directive peut être utilisée pour générer un message d'erreur + personnalisé, et interrompre la lecture de la configuration. </p> + + <pre class="prettyprint lang-config"># Exemple +# vérification du chargement de mod_include +<IfModule !include_module> + Error "mod_include is required by mod_foo. Load it with LoadModule." +</IfModule> + +# vérification de la définition de SSL ou (exclusif) NOSSL +<IfDefine SSL> +<IfDefine NOSSL> + Error "Both SSL and NOSSL are defined. Define only one of them." +</IfDefine> +</IfDefine> +<IfDefine !SSL> +<IfDefine !NOSSL> + Error "Either SSL or NOSSL must be defined." +</IfDefine> +</IfDefine></pre> + + + <div class="warning"><h3>Note</h3> + <p>Cette directive est évaluée lors du traitement de la configuration, + et non à l'exécution. Par conséquent, elle ne peut pas être évaluée de + manière conditionnelle en l'incluant dans une section <code class="directive"><a href="#if"><If></a></code>.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="errordocument" id="errordocument">Directive</a> <a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas +d'erreur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Apache httpd peut traiter les problèmes et les erreurs de quatre + manières,</p> + + <ol> + <li>afficher un simple message d'erreur au contenu fixe</li> + + <li>afficher un message personnalisé</li> + + <li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter + le problème ou l'erreur</li> + + <li>rediriger vers une <var>URL</var> externe pour traiter + le problème ou l'erreur</li> + </ol> + + <p>La première option constitue le comportement par défaut; pour + choisir une des trois autres options, il faut configurer Apache à + l'aide de la directive <code class="directive">ErrorDocument</code>, suivie + du code de la réponse HTTP et d'une URL ou d'un message. Apache + httpd fournit parfois des informations supplémentaires à propos du + problème ou de l'erreur.</p> + + <p>A partir de la version 2.4.13, il est possible d'utiliser la <a href="../expr.html">syntaxe des expressions</a> dans cette directive + afin de générer des chaînes et URLs dynamiques.</p> + + <p>Les URLs peuvent commencer par un slash (/) pour les chemins web + locaux (relatifs au répertoire défini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se présenter sous la + forme d'une URL complète que le client pourra résoudre. + Alternativement, un message à afficher par le navigateur pourra être + fourni. Notez que la décision de considérer le paramètre comme URL, + chemin ou message intervient avant toute interprètation + d'expression. Exemples :</p> + + <pre class="prettyprint lang-config">ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi +ErrorDocument 404 /errors/bad_urls.php +ErrorDocument 401 /subscription_info.html +ErrorDocument 403 "Sorry can't allow you access today" +ErrorDocument 403 Forbidden! +ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}</pre> + + + <p>De plus, on peut spécifier la valeur spéciale <code>default</code> + pour indiquer l'utilisation d'un simple message d'Apache httpd codé en + dur. Bien que non nécessaire dans des circonstances normales, la + spécification de la valeur <code>default</code> va permettre de + rétablir l'utilisation du simple message d'Apache httpd codé en dur pour + les configurations qui sans cela, hériteraient d'une directive + <code class="directive">ErrorDocument</code> existante.</p> + + <pre class="prettyprint lang-config">ErrorDocument 404 /cgi-bin/bad_urls.pl + +<Directory "/web/docs"> + ErrorDocument 404 default +</Directory></pre> + + + <p>Notez que lorsque vous spécifiez une directive + <code class="directive">ErrorDocument</code> pointant vers une URL distante + (c'est à dire tout ce qui commence par le préfixe http), le serveur + HTTP Apache va + envoyer une redirection au client afin de lui indiquer où trouver le + document, même dans le cas où ce document se trouve sur le serveur + local. Ceci a de nombreuses conséquences dont la plus importante + réside dans le fait que le client ne recevra pas le code d'erreur + original, mais au contraire un code de statut de redirection. Ceci + peut en retour semer la confusion chez les robots web et divers + clients qui tentent de déterminer la validité d'une URL en examinant + le code de statut. De plus, si vous utilisez une URL distante avec + <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit + demander un mot de passe à l'utilisateur car il ne recevra pas le + code de statut 401. C'est pourquoi, <strong>si vous utilisez une + directive <code>ErrorDocument 401</code>, elle devra faire référence + à un document par le biais d'un chemin local.</strong></p> + + <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages + d'erreur générés par le serveur lorsqu'ils sont trop courts et + remplacent ses propres messages d'erreur "amicaux". Le seuil de + taille varie en fonction du type d'erreur, mais en général, si la + taille de votre message d'erreur est supérieure à 512 octets, il y a + peu de chances pour que MSIE l'occulte, et il sera affiché par ce + dernier. Vous trouverez d'avantage d'informations dans l'article de + la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p> + + <p>Bien que la plupart des messages d'erreur internes originaux + puissent être remplacés, ceux-ci sont cependant conservés dans + certaines circonstances sans tenir compte de la définition de la + directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En + particulier, en cas de détection d'une requête mal formée, le + processus de traitement normal des requêtes est immédiatement + interrompu, et un message d'erreur interne est renvoyé, ceci afin de + se prémunir contre les problèmes de sécurité liés aux requêtes mal + formées.</p> + + <p>Si vous utilisez mod_proxy, il est en général préférable + d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'être en + mesure de produire des messages d'erreur personnalisés pour le + compte de votre serveur d'origine. Si vous n'activez pas + ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur + personnalisés pour le contenu mandaté.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../custom-error.html">documentation sur la +personnalisation des réponses</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="errorlog" id="errorlog">Directive</a> <a name="ErrorLog" id="ErrorLog">ErrorLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ErrorLog</code> permet de définir le + nom du fichier dans lequel le serveur va journaliser toutes les + erreurs qu'il rencontre. Si le <var>file-path</var> n'est pas + absolu, il est considéré comme relatif au chemin défini par la + directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <pre class="prettyprint lang-config">ErrorLog "/var/log/httpd/error_log"</pre> + + + <p>Si le <var>file-path</var> commence par une barre verticale + "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la + journalisation de l'erreur.</p> + + <pre class="prettyprint lang-config">ErrorLog "|/usr/local/bin/httpd_errors"</pre> + + + <p>Voir les notes à propos des <a href="../logs.html#piped">journaux + redirigés</a> pour plus d'informations.</p> + + <p>L'utilisation de <code>syslog</code> à la place d'un nom de + fichier active la journalisation via syslogd(8) si le système le + supporte. Le dispositif syslog par défaut est <code>local7</code>, + mais vous pouvez le modifier à l'aide de la syntaxe + <code>syslog:<var>facility</var></code>, où <var>facility</var> peut + être remplacé par un des noms habituellement documentés dans la page + de man syslog(1). Le dispositif syslog <code>local7</code> est + global, et si il est modifié dans un serveur virtuel, le dispositif + final spécifié affecte l'ensemble du serveur. La même règle s'applique au + tag syslog qui utilise par défaut le nom du binaire du serveur HTTP Apache + <code>httpd</code> dans la plupart des cas. Vous pouvez aussi modifier cette + valeur en utilisant la syntaxe <code>syslog::<var>tag</var></code>.</p> + + <pre class="prettyprint lang-config">ErrorLog syslog:user +ErrorLog syslog:user:httpd.srv1 +ErrorLog syslog::httpd.srv2</pre> + + + <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de + sécurité</a> pour des détails sur les raisons pour lesquelles votre + sécurité peut être compromise si le répertoire contenant les + fichiers journaux présente des droits en écriture pour tout autre + utilisateur que celui sous lequel le serveur est démarré.</p> + <div class="warning"><h3>Note</h3> + <p>Lors de la spécification d'un chemin de fichier sur les + plates-formes non-Unix, on doit veiller à n'utiliser que des + slashes (/), même si la plate-forme autorise l'utilisation des + anti-slashes (\). Et d'une manière générale, il est recommandé de + n'utiliser que des slashes (/) dans les fichiers de + configuration.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="errorlogformat" id="errorlogformat">Directive</a> <a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécification du format des entrées du journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLogFormat [connection|request] <var>format</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ErrorLogFormat</code> permet de + spécifier quelles informations supplémentaires vont être enregistrées + dans le journal des erreurs en plus du message habituel.</p> + + <pre class="prettyprint lang-config"># Exemple simple +ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"</pre> + + + <p>La spécification de <code>connection</code> ou + <code>request</code> comme premier paramètre permet de définir des + formats supplémentaires, ce qui a pour effet de journaliser des + informations additionnelles lorsque le premier message est + enregistré respectivement pour une connexion ou une requête + spécifique. Ces informations additionnelles ne sont enregistrées + qu'une seule fois par connexion/requête. Si le traitement d'une + connexion ou d'une requête ne génère aucun message dans le journal, + alors aucune information additionnelle n'est enregistrée.</p> + + <p>Il peut arriver que certains items de la chaîne de format ne + produisent aucune sortie. Par exemple, l'en-tête Referer n'est + présent que si le message du journal est associé à une requête et s'il + est généré à un moment où l'en-tête Referer a déjà été lu par le + client. Si aucune sortie n'est générée, le comportement par défaut + consiste à supprimer tout ce qui se trouve entre l'espace précédent + et le suivant. Ceci implique que la ligne de journalisation est + divisée en champs ne contenant pas d'espace séparés par des espaces. + Si un item de la chaîne de format ne génère aucune sortie, + l'ensemble du champ est omis. Par exemple, si l'adresse distante + <code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est + pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas + enregistrés. Il est possible d'échapper les espaces par un anti-slash + afin qu'ils ne soient pas considérés comme séparateurs de champs. + La combinaison '% ' (pourcentage espace) est un délimiteur de + champ de taille nulle qui ne génère aucune sortie.</p> + + <p>Ce comportement peut être changé en ajoutant des modificateurs à + l'item de la chaîne de format. Le modificateur <code>-</code> + (moins) provoque l'enregistrement d'un signe moins si l'item + considéré ne génère aucune sortie. Pour les formats à enregistrement + unique par connexion/requête, il est aussi possible d'utiliser le + modificateur <code>+</code> (plus). Si un item ne générant aucune + sortie possède le modificateur plus, la ligne dans son ensemble est + omise.</p> + + <p>Un modificateur de type entier permet d'assigner un niveau de + sévérité à un item de format. L'item considéré ne + sera journalisé que si la sévérité du message n'est pas + plus haute que le niveau de sévérité spécifié. Les + valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4 + (warn) ou 7 (debug).</p> + + <p>Par exemple, voici ce qui arriverait si vous ajoutiez des + modificateurs à l'item <code>%{Referer}i</code> qui enregistre le + contenu de l'en-tête <code>Referer</code>.</p> + + <table class="bordered"><tr class="header"><th>Item modifié</th><th>Signification</th></tr> +<tr> + <td><code>%-{Referer}i</code></td> + <td>Enregistre le caractère <code>-</code> si l'en-tête + <code>Referer</code> n'est pas défini.</td> + </tr> +<tr class="odd"> + <td><code>%+{Referer}i</code></td> + <td>N'enregistre rien si l'en-tête + <code>Referer</code> n'est pas défini.</td> + </tr> +<tr> + <td><code>%4{Referer}i</code></td> + <td>N'enregistre le contenu de l'en-tête <code>Referer</code> que si + la sévérité du message de journalisation est supérieure à 4.</td> + </tr> +</table> + + <p>Certains items de format acceptent des paramètres supplémentaires + entre accolades.</p> + + <table class="bordered"><tr class="header"><th>Chaîne de format</th> <th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>Le signe pourcentage</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>Adresse IP et port clients</td></tr> +<tr><td><code>%{c}a</code></td> + <td>Port et adresse IP sous-jacents du correspondant pour la + connexion (voir le module + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>)</td></tr> +<tr class="odd"><td><code>%A</code></td> + <td>Adresse IP et port locaux</td></tr> +<tr><td><code>%{<em>name</em>}e</code></td> + <td>Variable d'environnement de requête <em>name</em></td></tr> +<tr class="odd"><td><code>%E</code></td> + <td>Etat d'erreur APR/OS et chaîne</td></tr> +<tr><td><code>%F</code></td> + <td>Nom du fichier source et numéro de ligne de l'appel du + journal</td></tr> +<tr class="odd"><td><code>%{<em>name</em>}i</code></td> + <td>En-tête de requête <em>name</em></td></tr> +<tr><td><code>%k</code></td> + <td>Nombre de requêtes persistantes pour cette connexion</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>Sévérité du message</td></tr> +<tr><td><code>%L</code></td> + <td>Identifiant journal de la requête</td></tr> +<tr class="odd"><td><code>%{c}L</code></td> + <td>Identifiant journal de la connexion</td></tr> +<tr><td><code>%{C}L</code></td> + <td>Identifiant journal de la connexion si utilisé dans la + portée de la connexion, vide sinon</td></tr> +<tr class="odd"><td><code>%m</code></td> + <td>Nom du module qui effectue la journalisation du message</td></tr> +<tr><td><code>%M</code></td> + <td>Le message effectif</td></tr> +<tr class="odd"><td><code>%{<em>name</em>}n</code></td> + <td>Note de requête <em>name</em></td></tr> +<tr><td><code>%P</code></td> + <td>Identifiant du processus courant</td></tr> +<tr class="odd"><td><code>%T</code></td> + <td>Identifiant du thread courant</td></tr> +<tr><td><code>%{g}T</code></td> + <td>Identifiant unique de thread système du thread courant + (l'identifiant affiché par la commande <code>top</code> par + exemple ; seulement sous Linux pour l'instant)</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>L'heure courante</td></tr> +<tr><td><code>%{u}t</code></td> + <td>L'heure courante avec les microsecondes</td></tr> +<tr class="odd"><td><code>%{cu}t</code></td> + <td>L'heure courante au format compact ISO 8601, avec les + microsecondes</td></tr> +<tr><td><code>%v</code></td> + <td>Le nom de serveur canonique <code class="directive"><a href="#servername">ServerName</a></code> du serveur courant.</td></tr> +<tr class="odd"><td><code>%V</code></td> + <td>Le nom de serveur du serveur qui sert la requête en accord + avec la définition de la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>.</td></tr> +<tr><td><code>\ </code> (anti-slash espace)</td> + <td>Espace non délimiteur</td></tr> +<tr class="odd"><td><code>% </code> (pourcentage espace)</td> + <td>Délimiteur de champ (aucune sortie)</td></tr> +</table> + + <p>L'item de format identifiant journal <code>%L</code> génère un + identifiant unique pour une connexion ou une requête. Il peut servir + à déterminer quelles lignes correspondent à la même connexion ou + requête ou quelle requête est associée à tel connexion. Un item de + format <code>%L</code> est aussi disponible dans le module + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>, mais il permet dans ce contexte de + corréler les entrées du journal des accès avec celles du journal des + erreurs. Si le module <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> est chargé, + c'est son identifiant unique qui sera utilisé comme identifiant de + journal pour les requêtes.</p> + + <pre class="prettyprint lang-config"># Exemple (format par défaut pour les MPMs threadés) +ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre> + + + <p>Cet exemple renverrait un message d'erreur du style :</p> + + <div class="example"><p><code> + [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico + </code></p></div> + + <p>Notez que, comme indiqué plus haut, certains champs sont + totalement supprimés s'ils n'ont pas été définis.</p> + + <pre class="prettyprint lang-config"># Exemple (similaire au format 2.2.x) +ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre> + + + <pre class="prettyprint lang-config"># Exemple avancé avec identifiants journal de requête/connexion +ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M" +ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T" +ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'" +ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'" +ErrorLogFormat connection "[%{uc}t] [C:%{c}L] remote\ %a local\ %A"</pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="extendedstatus" id="extendedstatus">Directive</a> <a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait des informations d'état étendues pour chaque +requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtendedStatus On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtendedStatus Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + + <p>Cette option permet d'extraire des données supplémentaires + concernant la requête en cours de traitement pour un processus + donné, et crée un résumé d'utilisation ; vous pouvez accéder à + ces variables pendant l'exécution en configurant + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Notez que d'autres modules sont + susceptibles de s'appuyer sur ce tableau de bord.</p> + + <p>Cette directive s'applique au serveur dans son ensemble, et ne + peut pas être activée/désactivée pour un serveur virtuel + particulier. Notez que l'extraction des informations d'état étendues + peut ralentir le serveur. Notez aussi que cette définition ne peut + pas être modifiée au cours d'un redémarrage graceful.</p> + + <div class="note"> + <p>Notez que le chargement de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> définit + automatiquement ExtendedStatus à On, et que d'autres modules tiers + sont susceptibles d'en faire de même. De tels modules ont besoin + d'informations détaillées à propos de l'état de tous les processus. + Depuis la version 2.3.6, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> a définit la + valeur par défaut à On, alors qu'elle était à Off dans les versions + antérieures.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="fileetag" id="fileetag">Directive</a> <a name="FileETag" id="FileETag">FileETag</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisées lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FileETag MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La valeur par défaut était "INode MTime Size" +dans les versions 2.3.14 et antérieures.</td></tr> +</table> + <p> + La directive <code class="directive">FileETag</code> définit les + caractéristiques de fichier utilisées lors de la génération de + l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le + document est contenu dans un fichier statique (la valeur de + <code>ETag</code> + est utilisée dans le cadre de la gestion du cache pour préserver la + bande passante réseau). La directive + <code class="directive">FileETag</code> vous permet maintenant de choisir + quelles caractéristiques du fichier vont être utilisées, le cas + échéant. Les mots-clés reconnus sont : + </p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>Le numéro d'i-node du fichier sera inclus dans le processus de + génération</dd> + <dt><strong>MTime</strong></dt> + <dd>La date et l'heure auxquelles le fichier a été modifié la + dernière fois seront incluses</dd> + <dt><strong>Size</strong></dt> + <dd>La taille du fichier en octets sera incluse</dd> + <dt><strong>All</strong></dt> + <dd>Tous les champs disponibles seront utilisés. Cette définition + est équivalente à : + <pre class="prettyprint lang-config">FileETag INode MTime Size</pre> +</dd> + <dt><strong>Digest</strong></dt> + <dd>Si un document est à base de fichier, le champ <code>ETag</code> sera + généré à partir du condensé du fichier.</dd> + <dt><strong>None</strong></dt> + <dd>Si le document se compose d'un fichier, aucun champ + <code>ETag</code> ne sera inclus dans la réponse</dd> + </dl> + + <p>Les mots-clés <code>INode</code>, <code>MTime</code>, + <code>Size</code> et <code>Digest</code> peuvent être préfixés par <code>+</code> ou + <code>-</code>, ce qui permet de modifier les valeurs par défaut + héritées d'un niveau de configuration plus général. Tout mot-clé + apparaissant sans aucun préfixe annule entièrement et immédiatement + les configurations héritées.</p> + + <p>Si la configuration d'un répertoire contient + <code>FileETag INode MTime Size</code>, et si un de + ses sous-répertoires contient <code>FileETag -INode</code>, la + configuration de ce sous-répertoire (qui sera propagée vers tout + sous-répertoire qui ne la supplante pas), sera équivalente à + <code>FileETag MTime Size</code>.</p> + <div class="note"><h3>Inclusions côté serveur</h3> + Aucun champ ETag n'est généré pour les réponses interprétées par + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entité de la réponse peut + changer sans modification de l'INode, MTime, Size ou Digest du + fichier statique contenant les directives SSI. + </div> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="files" id="files">Directive</a> <a name="Files" id="Files"><Files></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers +précisés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Files <var>nom fichier</var>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive"><Files></code> limite + la portée des directives qu'elle contient aux fichiers précisés. + Elle est comparable aux directives <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>. Elle doit se terminer par une + balise <code></Files></code>. Les directives contenues dans + cette section s'appliqueront à tout objet dont le nom de base (la + dernière partie du nom de fichier) correspond au fichier spécifié. + Les sections <code class="directive"><Files></code> sont + traitées selon l'ordre dans lequel elles apparaissent dans le + fichier de configuration, après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers + <code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location"><Location></a></code>. Notez que les + sections <code class="directive"><Files></code> peuvent être + imbriquées dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion + du système de fichiers à laquelle ces dernières vont + s'appliquer.</p> + + <p>L'argument <var>filename</var> peut contenir un nom de fichier + ou une chaîne de caractères avec caractères génériques, où + <code>?</code> remplace un caractère, et <code>*</code> toute chaîne + de caractères.</p> + <pre class="prettyprint lang-config"><Files "cat.html"> + # Insérer ici des directives qui s'appliquent au fichier cat.html +</Files> + +<Files "?at.*"> + # Les directives insérées ici s'appliqueront aux fichiers + # cat.html, bat.html, hat.php, et ainsi de suite. +</Files></pre> + + + <p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la + caractère <code>~</code>. Par exemple :</p> + + <pre class="prettyprint lang-config"><Files ~ "\.(gif|jpe?g|png)$"> + #... +</Files></pre> + + + <p>correspondrait à la plupart des formats graphiques de l'Internet. + Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p> + + <p>Notez qu'à la différence des sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>, les sections <code class="directive"><Files></code> peuvent être utilisées dans les + fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de + contrôler l'accès à leurs propres ressources, fichier par + fichier.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="filesmatch" id="filesmatch">Directive</a> <a name="FilesMatch" id="FilesMatch"><FilesMatch></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><FilesMatch <var>expression rationnelle</var>> ... +</FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La section <code class="directive"><FilesMatch></code> + limite la portée des directives qu'elle contient aux fichiers + spécifiés, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par + exemple :</p> + + <pre class="prettyprint lang-config"><FilesMatch ".+\.(gif|jpe?g|png)$"> + # ... +</FilesMatch></pre> + + + <p>correspondrait à la plupart des formats graphiques de + l'Internet.</p> + + <div class="note">Les caractères <code>.+</code> au début de l'expression + rationnelle permettent de s'assurer que les fichiers de nom + <code>.png</code>, ou <code>.gif</code>, par exemple, ne seront pas + pris en compte.</div> + + <p>A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé + par "MATCH_". Ceci permet + de référencer des URLs dans des <a href="../expr.html">expressions</a> + ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.</p> + +<pre class="prettyprint lang-config"><FilesMatch "^(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</FilesMatch></pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="flushmaxpipelined" id="flushmaxpipelined">Directive</a> <a name="FlushMaxPipelined" id="FlushMaxPipelined">FlushMaxPipelined</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de réponses en attente (pipelined) au-delà duquel +elles sont envoyées sur le réseau</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FlushMaxPipelined <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FlushMaxPipelined 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.47 du serveur HTTP Apache</td></tr> +</table> + <p>Cette directive permet de définir le nombre maximal de réponses + "pipelinées" qui restent en attente tant que des requêtes "pipelinées" sont + reçues. Lorsque cette limite est dépassée, l'envoi des réponses sur le + réseau est forcé en mode bloqué jusqu'à ce que leur nombre repasse en + dessous de la limite.</p> + + <p>La directive <code class="directive">FlushMaxPipelined</code> permet de limiter + la consommation de mémoire. Lorsqu'elle est définie à <code>0</code>, le + pipelining est désactivé, et lorsqu'elle est définie à <code>-1</code>, il n'y + a plus de limite (mais la directive <code class="directive"><a href="#flushmaxthreshold">FlushMaxThreshold</a></code> + s'applique quand-même).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="flushmaxthreshold" id="flushmaxthreshold">Directive</a> <a name="FlushMaxThreshold" id="FlushMaxThreshold">FlushMaxThreshold</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Seuil au-delà duquel les données en attente sont envoyées sur le +réseau</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FlushMaxThreshold <var>number-of-bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FlushMaxThreshold 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.47 du serveur HTTP Apache</td></tr> +</table> + <p>Cette directive permet de définir le seuil maximal de données en attente + d'envoi (en octets). Lorsque cette limite est dépassée, l'envoi des données sur le + réseau est forcé en mode bloqué jusqu'à ce que leur quantité repasse en + dessous du seuil spécifié.</p> + + <p>La directive <code class="directive">FlushMaxThreshold</code> permet de limiter + la consommation de mémoire. Lorsqu'elle est définie à <code>0</code> ou à une + valeur trop petite, aucune donnée n'est mise en attente, mais dans le cas + des MPMs threadés, il peut alors y avoir plus de threads occupés en attente du + réseau, ce qui diminue d'autant le nombre de threads disponibles pour + traiter les autres connexions simultanées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="forcetype" id="forcetype">Directive</a> <a name="ForceType" id="ForceType">ForceType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le type de médium spécifié dans le champ d'en-tête +HTTP Content-Type pour les fichiers correspondants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type médium</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou + une section <code class="directive"><a href="#directory"><Directory></a></code>, <code class="directive"><a href="#location"><Location></a></code>, ou <code class="directive"><a href="#files"><Files></a></code>, cette directive force + l'identification du type MIME des fichiers spécifiés à la valeur de + l'argument <var>type médium</var>. Par exemple, si vous possédez un + répertoire ne contenant que des fichiers GIF, et si vous ne voulez + pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser + :</p> + + <pre class="prettyprint lang-config">ForceType image/gif</pre> + + + <p>Notez que cette directive l'emporte sur d'autres associations de + type de médium indirectes définies dans mime.types ou via la + directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p> + + <p>Vous pouvez aussi annuler toute définition plus générale de + <code class="directive">ForceType</code> en affectant la valeur + <code>None</code> à l'argument <var>type médium</var> :</p> + + <pre class="prettyprint lang-config"># force le type MIME de tous les fichiers à image/gif: +<Location "/images"> + ForceType image/gif +</Location> + +# mais utilise les méthodes classiques d'attribution du type MIME +# dans le sous-répertoire suivant : +<Location "/images/mixed"> + ForceType None +</Location></pre> + + + <p>A la base, cette directive écrase le type de contenu généré pour + les fichiers statiques servis à partir du sytème de fichiers. Pour + les ressources autres que les fichiers statiques pour lesquels le + générateur de réponse spécifie en général un type de contenu, cette + directive est ignorée.</p> + + <div class="note"><h3>Note</h3> + <p>Lorsque des directives explicites comme <code class="directive"><a href="#sethandler">SetHandler</a></code> ou + <code class="directive">module="mod_mime">AddHandler</code> ne s'appliquent + pas à la requête courante, le nom du gestionnaire interne + normalement défini par ces directives correspondra alors au type de + contenu spécifié par cette directive. Il s'agit d'un + comportement historique que certains modules + tiers, comme mod_php, peuvent interpréter comme un type de contenu + artificiel ne servant qu'à indiquer le module qui doit prendre en + compte la requête considérée. Dans la mesure du + possible, il est conseillé d'éviter les + configurations qui comportent de tels types artificiels en utilisant + les directives <code class="directive"><a href="#sethandler">SetHandler</a></code> ou + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="gprofdir" id="gprofdir">Directive</a> <a name="GprofDir" id="GprofDir">GprofDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel écrire les données de profiling +gmon.out.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Lorsque le serveur a été compilé avec le support du profiling + gprof, la directive <code class="directive">GprofDir</code> permet de + spécifier dans quel répertoire les fichiers <code>gmon.out</code> + doivent être écrits lorsque le processus s'arrête. Si l'argument se + termine par un caractère pourcentage ('%'), des sous-répertoires + sont créés pour chaque identifiant de processus.</p> + + <p>Cette directive ne fonctionne actuellement qu'avec le MPM + <code class="module"><a href="../mod/prefork.html">prefork</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="hostnamelookups" id="hostnamelookups">Directive</a> <a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la recherche DNS sur les adresses IP des +clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive active la recherche DNS afin de pouvoir + journaliser les nom d'hôtes (et les passer aux programmes CGI et aux + inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur + <code>Double</code> déclenche une double recherche DNS inverse. En + d'autres termes, une fois la recherche inverse effectuée, on lance + une recherche directe sur le résultat de cette dernière. Au moins + une des adresses IP fournies par la recherche directe doit + correspondre à l'adresse originale (ce que l'on nomme + <code>PARANOID</code> dans la terminologie "tcpwrappers").</p> + + <p>Quelle que soit la configuration, lorsqu'on utilise + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction + du nom d'hôte, une double recherche DNS inverse est effectuée, + sécurité oblige. Notez cependant que le résultat de cette double + recherche n'est en général pas accessible, à moins que vous n'ayez + spécifié <code>HostnameLookups Double</code>. Par exemple, si vous + n'avez spécifié que <code>HostnameLookups On</code>, et si une + requête concerne un objet protégé par des restrictions en fonction + du nom d'hôte, quel que soit le résultat de la double recherche + inverse, les programmes CGI ne recevront que le résultat de la + recherche inverse simple dans la variable + <code>REMOTE_HOST</code>.</p> + + <p>La valeur par défaut est <code>Off</code> afin de préserver le + traffic réseau des sites pour lesquels la recherche inverse n'est + pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique + pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps + d'attente supplémentaires dus aux recherches DNS. Les sites + fortement chargés devraient laisser cette directive à + <code>Off</code>, car les recherches DNS peuvent prendre des temps + très longs. Vous pouvez éventuellement utiliser hors ligne + l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans + le sous-répertoire <code>bin</code> de votre répertoire + d'installation, afin de déterminer les noms d'hôtes associés aux + adresses IP journalisées.</p> + + <p>Enfin, si vous avez des <a href="mod_authz_host.html#reqhost">directives Require à base de + nom</a>, une recherche de nom d'hôte sera effectuée quelle que soit + la définition de la directive <code class="directive">HostnameLookups</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="httpprotocoloptions" id="httpprotocoloptions">Directive</a> <a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie les contraintes sur les messages des requêtes HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir des versions 2.2.32 et 2.4.24 du serveur HTTP +Apache</td></tr> +</table> + <p>Cette directive permet de modifier les règles qui s'appliquent à la ligne + de requête HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.1.1">RFC 7230 + §3.1.1</a>) et aux champs des en-têtes des requêtes HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.2">RFC 7230 + §3.2</a>), qui s'appliquent maintenant par défaut ou en utilisant + l'option <code>Strict</code>. L'option <code>Unsafe</code> + a été ajoutée pour pouvoir restaurer les anciens + comportements nécessaires aux anciens modules et applications et aux agents + utilisateurs personnalisés considérés comme obsolètes.</p> + + <p>Ces règles + s'appliquant avant le traitement de la requête, elles doivent, pour être prises en + compte, être définies + au niveau global ou dans la première section par défaut du serveur virtuel + qui correspond à la requête considérée, par interface IP/port et non par + nom.</p> + + <p>Cette directive accepte trois paramètres issus de la liste suivante, ceux + qui ne sont pas spécifiés prenant leur valeur par défaut :</p> + + <dl> + <dt>Strict|Unsafe</dt> + <dd> + <p>Avant l'introduction de cette directive, les interpréteurs de requêtes du + serveur HTTP Apache toléraient un grand nombre de formats en entrée qui + n'étaient pas forcément conformes au protocole. <a href="https://tools.ietf.org/html/rfc7230#section-9.4">RFC 7230 §9.4 + Request Splitting</a> et <a href="https://tools.ietf.org/html/rfc7230#section-9.5">§9.5 Response + Smuggling</a> ne rappellent que deux des risques potentiels induits par des + requêtes non conformes, alors que <a href="https://tools.ietf.org/html/rfc7230#section-3.5">RFC 7230 + §3.5</a> signale les risques encourus par l'acceptation de blancs non + conformes dans les lignes de requête. Avec l'introduction de cette + directive, toutes les règles de grammaire de la spécification doivent être + respectées dans le mode d'opérations par défaut <code>Strict</code>.</p> + + <div class="warning"><h3>Risques de sécurité liés au mode Unsafe</h3> + <p>Il est fortement déconseillé aux utilisateurs d'utiliser le mode + d'opération <code>Unsafe</code>, ou + <code>UnsafeWhitespace</code>, en particulier pour les déploiements de + serveurs ouverts sur l'extérieur et/ou accessibles au public. Si un moniteur + défectueux ou autre logiciel spécialisé ne s'exécutant que sur un intranet + nécessite une interface, les utilisateurs ne doivent utiliser les options de + type UnSafe qu'en cas de nécessité et uniquement au sein d'un serveur + virtuel bien spécifique et sur un réseau privé.</p> + </div> + + <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 400 en + mode Strict</h3><p><code> + + # Missing CRLF<br /> + GET / HTTP/1.0\n\n + </code></p></div> + <div class="warning"><h3>Utilitaires en ligne de commande et CRLF</h3> + <p>Il peut s'avérer nécessaire de forcer certains utilitaires à utiliser + CRLF ; si ce n'est pas le cas, httpd reverra une réponse HTTP 400 comme + dans le cas précédent. Par exemple, le <strong>client OpenSSL s_client + doit utiliser le paramètre -crlf pour fonctionner correctement</strong>.</p> + <p>Pour détecter des problèmes tels que l'absence de CRLF, vous pouvez + utiliser la directive <code class="directive"><a href="../mod/mod_dumpio.html#dumpioinput">DumpIOInput</a></code> qui permet de décortiquer + les requêtes HTTP.</p> + </div> + </dd> + <dt>RegisteredMethods|LenientMethods</dt> + <dd> + <p>La section de la <a href="https://tools.ietf.org/html/rfc7231#section-4.1">RFC 7231 + §4.1</a> "Request Methods" "Overview" indique que les serveurs doivent + renvoyer un message d'erreur lorsque la ligne de requête comporte une + méthode non supportée. C'est déjà le cas lorsque l'option + <code>LenientMethods</code> est utilisée, mais les administrateurs ont la + possibilité de limiter les méthodes utilisées via l'option + <code>RegisteredMethods</code> en enregistrant toute méthode non standard + via la directive <code class="directive">RegisterHttpMethod</code>, en particulier + si l'option <code>Unsafe</code> est utilisée.</p> + + <div class="warning"><h3>Compatibilité avec le mandat direct</h3> + <p>L'option + <code>RegisteredMethods</code> <strong>ne doit pas</strong> être utilisée + pour les serveurs mandataires car ces derniers ne connaissent pas les + méthodes supportées par les serveurs originaux.</p> + </div> + + <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 501 en + mode LenientMethods</h3><p><code> + + # Méthode HTTP inconnue<br /> + WOW / HTTP/1.0\r\n\r\n<br /><br /> + # Méthode HTTP spécifiée en minuscules<br /> + get / HTTP/1.0\r\n\r\n<br /> + </code></p></div> + </dd> + <dt>Allow0.9|Require1.0</dt> + <dd> + <p>La section de la <a href="https://tools.ietf.org/html/rfc2616#section-19.6">RFC 2616 + §19.6</a> "Compatibility With Previous Versions" encouragait les + serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va + cependant à son encontre via sa préconisation "Le souhait de supporter les + requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans <a href="https://tools.ietf.org/html/rfc7230#appendix-A">RFC 7230 Appendix + A</a>. A ce titre, l'option <code>Require1.0</code> permet à l'utilisateur + d'inhiber le comportement induit par l'option par défaut + <code>Allow0.9</code>.</p> + + <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 400 en + mode Require1.0</h3><p><code> + + # Version HTTP non supportée<br /> + GET /\r\n\r\n + </code></p></div> + </dd> + </dl> + + <p>La consultation des messages enregistrés dans le journal + <code class="directive">ErrorLog</code>, configuré via la directive + <code class="directive">LogLevel</code> avec un niveau <code>info</code>, pourra + vous aider à identifier de telles requêtes non conformes ainsi que leur + provenance. Les utilisateurs devront accorder une attention particulière aux + messages d'erreur de type 400 dans le journal access pour détecter les + requêtes apparemment valides mais rejetées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="if" id="if">Directive</a> <a name="If" id="If"><If></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si une +condition est satisfaite au cours du traitement d'une +requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version +2.4.26 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><If></code> évalue une + expression à la volée, et applique les directives qu'elle contient + si et seulement si l'expression renvoie la valeur "vrai". Par + exemple :</p> + + <pre class="prettyprint lang-config"><If "-z req('Host')"></pre> + + + <p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête + <var>Host:</var>. Les expressions peuvent contenir différents + opérateurs de type shell pour la comparaison de chaînes + (<code>==</code>, <code>!=</code>, <code><</code>, ...), la + comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou + à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>, + ...). Les expressions rationnelles sont aussi supportées,</p> + + <pre class="prettyprint lang-config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></pre> + + + <p>ainsi que les comparaison de modèles de type shell et de + nombreuses autres opérations. Ces opérations peuvent être effectuées + sur les en-têtes de requêtes (<code>req</code>), les variables + d'environnement (<code>env</code>), et un grand nombre d'autres + propriétés. La documentation complète est disponible dans <a href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p> + + <p>Cette section de configuration ne peut contenir que des + directives qui supportent le <a href="directive-dict.html#Context">contexte de répertoire</a>.</p> + + <div class="warning"> + Certain variables, such as <code>CONTENT_TYPE</code> and other + response headers, are set after <If> conditions have already + been evaluated, and so will not be available to use in this + directive. + </div> + + <div class="warning"> + Les directives qui sont évaluées lors du traitement de la configuration + comme <code class="directive">Define</code>, <code class="directive">Include</code> et + <code class="directive">Error</code> ne peuvent pas être traitées de manière + conditionnelle en les incluant dans une section de configuration <code class="directive"><If></code>. Ces sections font en effet toujours partie de + la configuration, quelle soit la manière dont elles sont évaluées à + l'exécution. + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../expr.html">Les expressions dans le serveur HTTP +Apache</a>, pour une référence complète et d'autres exemples.</li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête. Les +directives <code class="directive"><If></code>, <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifdefine" id="ifdefine">Directive</a> <a name="IfDefine" id="IfDefine"><IfDefine></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDefine [!]<var>paramètre</var>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La section <code><IfDefine + <var>test</var>>...</IfDefine></code> permet de + conférer un caractère conditionnel à un ensemble de directives. Les + directives situées à l'intérieur d'une section <code class="directive"><IfDefine></code> ne s'appliquent que si + <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui + se trouve entre les balises de début et de fin est ignoré.</p> + + <p><var>test</var> peut se présenter sous deux formes :</p> + + <ul> + <li><var>nom paramètre</var></li> + + <li><code>!</code><var>nom paramètre</var></li> + </ul> + + <p>Dans le premier cas, les directives situées entre les balises de + début et de fin ne s'appliqueront que si le paramètre nommé <var>nom + paramètre</var> est défini. Le second format inverse le test, et + dans ce cas, les directives ne s'appliqueront que si <var>nom + paramètre</var> n'est <strong>pas</strong> défini.</p> + + <p>L'argument <var>nom paramètre</var> est une définition qui peut + être effectuée par la ligne de commande + <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre + <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la + directive <code class="directive"><a href="#define">Define</a></code>.</p> + + <p>Les sections <code class="directive"><IfDefine></code> + peuvent être imbriquées, ce qui permet d'implémenter un test + multi-paramètres simple. Exemple :</p> + + <div class="example"><p><code>httpd -DReverseProxy -DUseCache -DMemCache ...</code></p></div> + <pre class="prettyprint lang-config"><IfDefine ReverseProxy> + LoadModule proxy_module modules/mod_proxy.so + LoadModule proxy_http_module modules/mod_proxy_http.so + <IfDefine UseCache> + LoadModule cache_module modules/mod_cache.so + <IfDefine MemCache> + LoadModule mem_cache_module modules/mod_mem_cache.so + </IfDefine> + <IfDefine !MemCache> + LoadModule cache_disk_module modules/mod_cache_disk.so + </IfDefine> + </IfDefine> +</IfDefine></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifdirective" id="ifdirective">Directive</a> <a name="IfDirective" id="IfDirective"><IfDirective></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une directive particulière</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr> +</table> + <p>La section <code><IfDirective + <var>test</var>>...</IfDirective></code> permet de regrouper des + directives dont le traitement n'est effectué que si une directive + particulière est présente, autrement dit si l'expression <var>test</var> est + évaluée à true. Si l'expression <var>test</var> est évaluée à false, toutes + les lignes qui se trouvent entre les balises de début et de fin de la + section sont ignorées.</p> + + <p>L'expression <var>test</var> de la section <code class="directive"><IfDirective></code> peut prendre les deux formes + suivantes :</p> + + <ul> + <li><var>directive-name</var></li> + + <li>!<var>directive-name</var></li> + </ul> + + <p>Dans le premier cas, les directives qui se situent entre les balises de + début et de fin de la section ne sont traitées que si une directive de nom + directive-name est disponible à cet instant. Dans le second cas, la condition est + inversée, et les directives ne sont traitées que si + <var>directive-name</var> n'est <strong>pas</strong> disponible.</p> + + <div class="note">Cette section ne doit être utilisée que si vous devez partager le même + fichier de configuration entre plusieurs versions de + <code class="program"><a href="../programs/httpd.html">httpd</a></code>, sans tenir compte de la disponibilité de telle ou + telle directive. Dans une configuration standard, il est inutile de placer + les directives dans des sections <code class="directive"><IfDirective></code>.</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#ifsection"><IfSection></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="iffile" id="iffile">Directive</a> <a name="IfFile" id="IfFile"><IfFile></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui ne seront traitées que si un fichier +existe au démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfFile [!]<var>filename</var>> ... + </IfFile></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr> +</table> + <p>La section <code><IfFile <var>filename</var>>...</IfFile></code> + permet de conditionner le traitement de directives à + l'existence d'un fichier sur disque. Ainsi, les directives définies au sein + d'une section <code class="directive"><IfFile></code> ne seront + traitées que si le fichier <var>filename</var> existe. Si le fichier + <var>filename</var> n'existe pas, tout ce qui se trouve entre les marqueurs + start et end sera ignoré. <var>filename</var> peut être un chemin absolu ou + relatif au chemin défini par la directive ServerRoot.</p> + + <p>Le paramètre <var>filename</var> de l'en-tête d'une section <code class="directive"><IfFile></code> peut prendre la même forme que la variable + <var>test</var> de la section <code class="directive"><a href="#ifdefine"><IfDefine></a></code> ; à ce titre, le résultat du test peut + être inversé en plaçant le caractère <code>!</code> juste avant + <var>filename</var>. + </p> + + <p>Si <var>filename</var> est un chemin relatif, il sera généré par rapport + au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>. Lorsque la directive <code class="directive"><IfFile></code> intervient avant la définition de la + directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>, + <var>filename</var> sera relatif au répertoire racine par défaut du serveur + ou au répertoire racine passé dans la ligne de commande via l'option + <code>-d</code>.</p> + + <div class="warning"><h3>Avertissement</h3> + Avec la version 2.4.34, il est interdit de spécifier un <var>filename</var> + entouré de guillemets. Ceci provoquerait une erreur de syntaxe au démarrage. + Il est donc impossible de spécifier des noms de fichiers contenant des + espaces, mais ce défaut a été corrigé à partir de la version 2.4.35.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifmodule" id="ifmodule">Directive</a> <a name="IfModule" id="IfModule"><IfModule></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfModule [!]<var>fichier module</var>|<var>identificateur +module</var>> ... </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les identificateurs de modules sont disponibles dans les +versions 2.1 et supérieures.</td></tr> +</table> + <p>La section <code><IfModule + <var>test</var>>...</IfModule></code> permet de conférer à + des directives un caractère conditionnel basé sur la présence d'un + module spécifique. Les directives situées dans une section + <code class="directive"><IfModule></code> ne s'appliquent que + si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce + qui se trouve entre les balises de début et de fin est ignoré.</p> + + <p><var>test</var> peut se présenter sous deux formes :</p> + + <ul> + <li><var>module</var></li> + + <li>!<var>module</var></li> + </ul> + + <p>Dans le premier cas, les directives situées entre les balises de + début et de fin ne s'appliquent que si le module <var>module</var> + est présent -- soit compilé avec le binaire Apache httpd, soit chargé + dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Le second format inverse le test, et dans + ce cas, les directives ne s'appliquent que si <var>module</var> + n'est <strong>pas</strong> présent.</p> + + <p>L'argument <var>module</var> peut contenir soit l'identificateur + du module, soit le nom du fichier source du module. Par exemple, + <code>rewrite_module</code> est un identificateur et + <code>mod_rewrite.c</code> le nom du fichier source + correspondant. Si un module comporte plusieurs fichiers sources, + utilisez le nom du fichier qui contient la chaîne de caractères + <code>STANDARD20_MODULE_STUFF</code>.</p> + + <p>Les sections <code class="directive"><IfModule></code> + peuvent être imbriquées, ce qui permet d'implémenter des tests + multi-modules simples.</p> + + <div class="note">Cette section ne doit être utilisée que si votre fichier de + configuration ne fonctionne qu'en fonction de la présence ou de + l'absence d'un module spécifique. D'une manière générale, il n'est + pas nécessaire de placer les directives à l'intérieur de sections + <code class="directive"><IfModule></code>.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifsection" id="ifsection">Directive</a> <a name="IfSection" id="IfSection"><IfSection></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une section particulière</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfSection [!]<var>section-name</var>> ... + </IfSection></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr> +</table> + <p>La section <code><IfSection + <var>test</var>>...</IfSection></code> permet de regrouper des + directives dont le traitement n'est effectué que si une section de + configuration particulière est présente. Une section, par exemple <code class="directive"><VirtualHost></code>, permet de regrouper des directives + et possède un nom précédé du caractère "<".</p> + + <p>Les directives situées à l'intérieur d'une section <code class="directive"><IfSection></code> ne sont traitées que si l'expression + <var>test</var> est évaluée à true. Si l'expression <var>test</var> est + évaluée à false, toutes les lignes situées entre les balises de début et de + fin de la section sont ignorées.</p> + + <p><var>section-name</var> doit être spécifié sans les caractères de début + "<" ou fin ">". L'expression <var>test</var> de la section <code class="directive"><IfSection></code> peut prendre deux formes :</p> + + <ul> + <li><var>section-name</var></li> + <li>!<var>section-name</var></li> + </ul> + + <p>Dans le premier cas, les directives qui se situent entre les balises de + début et de fin de la section ne sont traitées que si une section de nom + section-name est disponible à cet instant. Dans le second cas, la condition est + inversée, et les directives ne sont traitées que si + <var>section-name</var> n'est <strong>pas</strong> disponible.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config"><IfSection VirtualHost> + ... +</IfSection></pre> + + + <div class="note">Cette section ne doit être utilisée que si vous devez partager le même + fichier de configuration entre plusieurs versions de + <code class="program"><a href="../programs/httpd.html">httpd</a></code>, sans tenir compte de la disponibilité de telle ou + telle section. Dans une configuration standard, il est inutile de placer + les directives dans des sections <code class="directive"><IfSection></code>.</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#ifdirective"><IfDirective></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="include" id="include">Directive</a> <a name="Include" id="Include">Include</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclut d'autres fichiers de configuration dans un des +fichiers de configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères génériques dans la partie chemin depuis la +version 2.3.6</td></tr> +</table> + <p>Cette directive permet l'inclusion d'autres fichiers de + configuration dans un des fichiers de configuration du serveur.</p> + + <p>On peut utiliser des caractères génériques de style Shell + (<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du + chemin que dans la partie répertoires pour inclure plusieurs + fichiers en une + seule fois, selon leur ordre alphabétique. De plus, si la directive + <code class="directive">Include</code> pointe vers un répertoire, Apache + httpd inclura tous les fichiers de ce répertoire et de tous ces + sous-répertoires. L'inclusion de répertoires entiers est cependant + déconseillée, car il est fréquent d'oublier des fichiers + temporaires dans un répertoire, ce qui causerait une erreur + <code class="program"><a href="../programs/httpd.html">httpd</a></code> en cas d'inclusion. Pour inclure des + fichiers qui correspondent à un certain modèle, comme *.conf par + exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec + caractères génériques comme ci-dessous.</p> + + <p>La directive <code class="directive"><a href="#include">Include</a></code> + <strong>échouera avec un code d'erreur</strong> si une expression + contenant des caractères génériques ne correspond à aucun fichier. + Pour ignorer les expressions contenant des caractères génériques ne + correspondant à aucun fichier, utilisez la directive <code class="directive"><a href="#includeoptional">IncludeOptional</a></code>.</p> + + <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit + un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <p>Exemples :</p> + + <pre class="prettyprint lang-config">Include /usr/local/apache2/conf/ssl.conf +Include /usr/local/apache2/conf/vhosts/*.conf</pre> + + + <p>ou encore, avec des chemins relatifs au répertoire défini par la + directive <code class="directive"><a href="#serverroot">ServerRoot</a></code> :</p> + + <pre class="prettyprint lang-config">Include conf/ssl.conf +Include conf/vhosts/*.conf</pre> + + + <p>On peut aussi insérer des caractères génériques dans la partie + répertoires du chemin. Dans l'exemple suivant, la directive + échouera si aucun sous-répertoire de conf/vhosts ne contient au + moins un fichier *.conf :</p> + + <pre class="prettyprint lang-config">Include conf/vhosts/*/*.conf</pre> + + + <p>Par contre, dans l'exemple suivant, la directive sera simplement + ignorée si aucun sous-répertoire de conf/vhosts ne contient au + moins un fichier *.conf :</p> + + <pre class="prettyprint lang-config">IncludeOptional conf/vhosts/*/*.conf</pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#includeoptional">IncludeOptional</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="includeoptional" id="includeoptional">Directive</a> <a name="IncludeOptional" id="IncludeOptional">IncludeOptional</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclusion de fichiers dans le fichier de configuration</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IncludeOptional +<var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.6 du serveur HTTP +Apache. Après la version 2.4.30, les chemins de fichiers non existants et +ne comportant pas de caractères génériques ne génèrent plus d'erreurs de syntaxe</td></tr> +</table> + <p>Cette directive permet d'inclure des fichiers dans les fichiers + de configuration du serveur. Elle fonctionne de manière identique à + la directive <code class="directive"><a href="#include">Include</a></code>, mais au lieu de + générer une erreur, elle sera ignorée silensieusement si malgré + l'utilisation de caractères génériques, le chemin de fichier ou de + répertoire spécifié n'existe pas dans le système de fichiers.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#include">Include</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="keepalive" id="keepalive">Directive</a> <a name="KeepAlive" id="KeepAlive">KeepAlive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les connexions HTTP persistantes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des + connexions persistantes dans HTTP/1.1 ont rendu possibles des + sessions HTTP de longue durée, ce qui permet de transmettre + plusieurs requêtes via la même connexion TCP. Dans certains cas, le + gain en rapidité pour des documents comportant de nombreuses images + peut atteindre 50%. Pour activer les connexions persistantes, + définissez <code>KeepAlive On</code>.</p> + + <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront + mises en oeuvre que si elles ont été spécialement demandées par un + client. De plus, une connexion persistante avec un client HTTP/1.0 + ne peut être utilisée que si la taille du contenu est connue + d'avance. Ceci implique que les contenus dynamiques comme les + sorties CGI, les pages SSI, et les listings de répertoires générés + par le serveur n'utiliseront en général pas les connexions + persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1, + les connexions persistantes sont utilisées par défaut, sauf + instructions contraires. Si le client le demande, le transfert par + tronçons de taille fixe (chunked encoding) sera utilisé afin de + transmettre un contenu de longueur inconnue via une connexion + persistante.</p> + + <p>Lorsqu'un client utilise une connexion persistante, elle comptera + pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, quel + que soit le nombre de requêtes transmises via cette connexion.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="keepalivetimeout" id="keepalivetimeout">Directive</a> <a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête +avant de fermer une connexion persistante</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAliveTimeout <var>nombre</var>[ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une + requête avant de fermer la connexion. Le délai peut être défini en + millisecondes en suffixant sa valeur par ms. La valeur du délai + spécifiée par la directive <code class="directive"><a href="#timeout">Timeout</a></code> s'applique dès qu'une requête a + été reçue.</p> + + <p>Donner une valeur trop élévée à + <code class="directive">KeepAliveTimeout</code> peut induire des problèmes + de performances sur les serveurs fortement chargés. Plus le délai + est élévé, plus nombreux seront les processus serveur en attente de + requêtes de la part de clients inactifs.</p> + + <p>Si la directive <code class="directive">KeepAliveTimeout</code> n'est + <strong>pas</strong> définie pour un serveur virtuel à base de nom, c'est + la valeur de la paire adresse IP/port du serveur virtuel qui + correspond le mieux qui sera utilisée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limit" id="limit">Directive</a> <a name="Limit" id="Limit"><Limit></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Limit <var>méthode</var> [<var>méthode</var>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les contrôles d'accès s'appliquent normalement à + <strong>toutes</strong> les méthodes d'accès, et c'est en général le + comportement souhaité. <strong>Dans le cas général, les directives + de contrôle d'accès n'ont pas à être placées dans une section + <code class="directive"><Limit></code>.</strong></p> + + <p>La directive <code class="directive"><Limit></code> a pour + but de limiter les effets des contrôles d'accès aux méthodes HTTP + spécifiées. Pour toutes les autres méthodes, les restrictions + d'accès contenues dans la section <code class="directive"><Limit></code> <strong>n'auront aucun + effet</strong>. L'exemple suivant n'applique les contrôles d'accès + qu'aux méthodes <code>POST</code>, <code>PUT</code>, et + <code>DELETE</code>, en laissant les autres méthodes sans protection + :</p> + + <pre class="prettyprint lang-config"><Limit POST PUT DELETE> + Require valid-user +</Limit></pre> + + + <p>La liste des noms de méthodes peut contenir une ou plusieurs + valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>, + <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>, + <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>, + <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>, + <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>. + <strong>Le nom de méthode est sensible à la casse.</strong> Si la + valeur <code>GET</code> est présente, les requêtes <code>HEAD</code> + seront aussi concernées. La méthode <code>TRACE</code> ne peut pas + être limitée (voir la directive <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p> + + <div class="warning">Une section <code class="directive"><LimitExcept></code> doit toujours être préférée à + une section <code class="directive"><Limit></code> pour la + restriction d'accès, car une section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre + les méthodes arbitraires.</div> + + <p>Les directives <code class="directive"><Limit></code> et + <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> + peuvent être imbriquées. Dans ce cas, pour chaque niveau des + directives <code class="directive"><Limit></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>, ces dernières + doivent restreindre l'accès pour les méthodes auxquelles les + contrôles d'accès s'appliquent.</p> + + <div class="warning">Lorsqu'on utilise les directives <code class="directive"><Limit></code> ou <code class="directive"><LimitExcept></code> avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, la première directive + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> dont la + condition est satisfaite autorise la requête, sans tenir compte de + la présence d'autres directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</div> + + <p>Par exemple, avec la configuration suivante, tous les + utilisateurs seront autorisés à effectuer des requêtes + <code>POST</code>, et la directive <code>Require group + editors</code> sera ignorée dans tous les cas :</p> + + <pre class="prettyprint lang-config"><LimitExcept GET> + Require valid-user +</LimitExcept> +<Limit POST> + Require group editors +</Limit></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitexcept" id="limitexcept">Directive</a> <a name="LimitExcept" id="LimitExcept"><LimitExcept></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> et + <code></LimitExcept></code> permettent de regrouper des + directives de contrôle d'accès qui s'appliqueront à toutes les + méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la + liste des arguments ; en d'autres termes, elles ont un comportement + opposé à celui de la section <code class="directive"><a href="#limit"><Limit></a></code>, et on peut les utiliser pour + contrôler aussi bien les méthodes standards que les méthodes non + standards ou non reconnues. Voir la documentation de la section + <code class="directive"><a href="#limit"><Limit></a></code> pour plus + de détails.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config"><LimitExcept POST GET> + Require valid-user +</LimitExcept></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a> <a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de +sous-requêtes imbriquées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Une redirection interne survient, par exemple, quand on utilise + la directive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> qui + redirige en interne la requête d'origine vers un script CGI. Une + sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce + qui se passerait pour un URI s'il faisait l'objet d'une requête. Par + exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour + rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p> + + <p>La directive <code class="directive">LimitInternalRecursion</code> permet + d'éviter un crash du serveur dû à un bouclage infini de redirections + internes ou de sous-requêtes. De tels bouclages sont dus en général + à des erreurs de configuration.</p> + + <p>La directive accepte, comme arguments, deux limites qui sont + évaluées à chaque requête. Le premier <var>nombre</var> est le + nombre maximum de redirections internes qui peuvent se succéder. Le + second <var>nombre</var> détermine la profondeur d'imbrication + maximum des sous-requêtes. Si vous ne spécifiez qu'un seul + <var>nombre</var>, il sera affecté aux deux limites.</p> + + <pre class="prettyprint lang-config">LimitInternalRecursion 5</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestbody" id="limitrequestbody">Directive</a> <a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP +envoyée par le client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestBody <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestBody 1073741824</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Dans les versions 2.4.53 et antérieures du serveur HTTP Apache, +la valeur par défaut était 0 (aucune limite)</td></tr> +</table> + <p>Cette directive permet de spécifier la taille maximale d'un corps de + requête, en <var>octets</var>. Une valeur de <var>0</var> signifie « sans + limites ».</p> + + <p>La directive <code class="directive">LimitRequestBody</code> permet de + définir une limite pour la taille maximale autorisée du corps d'une + requête HTTP en tenant compte du contexte dans lequel la directive + a été placée (c'est à dire au niveau du serveur, d'un répertoire, + d'un fichier ou d'une localisation). Si la requête du client dépasse + cette limite, le serveur répondra par un message d'erreur et ne + traitera pas la requête. La taille du corps d'une requête normale va + varier de manière importante en fonction de la nature de la + ressource et des méthodes autorisées pour cette dernière. Les + scripts CGI utilisent souvent le corps du message pour extraire les + informations d'un formulaire. Les implémentations de la méthode + <code>PUT</code> nécessitent une valeur au moins aussi élevée que la + taille maximale des représentations que le serveur désire accepter + pour cette ressource.</p> + + <p>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.</p> + + <p>Si par exemple, vous autorisez le chargement de fichiers vers une + localisation particulière, et souhaitez limiter la taille des + fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante + :</p> + + <pre class="prettyprint lang-config">LimitRequestBody 102400</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestfields" id="limitrequestfields">Directive</a> <a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de champs d'en-tête autorisés dans une +requête HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFields <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><var>nombre</var> est un entier de 0 à 32767. La valeur 0 signifie un + nombre de champs illimité. La valeur par défaut est définie à la compilation + par la constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la + distribution).</p> + + <p>La directive <code class="directive">LimitRequestFields</code> permet à + l'administrateur du serveur de modifier le nombre maximum de champs + d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette + valeur doit être supérieure au nombre de champs qu'une requête + client normale peut contenir. Le nombre de champs d'en-tête d'une + requête qu'un client utilise dépasse rarement 20, mais ce nombre + peut varier selon les implémentations des clients, et souvent en + fonction des extensions que les utilisateurs configurent dans leurs + navigateurs pour supporter la négociation de contenu détaillée. Les + extensions HTTP optionnelles utilisent souvent les + champs d'en-tête des requêtes.</p> + + <p>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service. La valeur spécifiée doit être + augmentée si les clients standards reçoivent une erreur du serveur + indiquant que la requête comportait un nombre d'en-têtes trop + important.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">LimitRequestFields 50</pre> + + + <div class="warning"><h3>Avertissement</h3> + <p>Dans le cas des serveurs virtuels à base de noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour la paire adresse IP/port.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a> <a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dédinit la taille maximale autorisée d'un en-tête de +requête HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFieldSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir le nombre maximum + d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p> + + <p>La directive <code class="directive">LimitRequestFieldSize</code> permet + à l'administrateur du serveur de définir la taille + maximale autorisée d'un en-tête de requête HTTP. Pour un serveur, + cette valeur doit être suffisamment grande pour contenir tout + en-tête d'une requête client normale. La taille d'un champ d'en-tête + de requête normal va varier selon les implémentations des clients, + et en fonction des extensions que les utilisateurs + configurent dans leurs navigateurs pour supporter la négociation de + contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent + atteindre une taille de 12392 octets.</p> + + <p>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">LimitRequestFieldSize 4094</pre> + + + <div class="note">Dans des conditions normales, la valeur par défaut de cette + directive ne doit pas être modifiée.</div> + + <div class="warning"><h3>Avertissement</h3> + <p>Dans le cas des serveurs virtuels à base de noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour lequel la paire adresse IP/port + correspond le mieux.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitrequestline" id="limitrequestline">Directive</a> <a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête +HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestLine <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir la taille maximale autorisée + pour une ligne de requête HTTP en <var>octets</var>.</p> + + <p>La directive <code class="directive">LimitRequestLine</code> permet à + l'administrateur du serveur de définir la taille + maximale autorisée d'une ligne de requête HTTP client. Comme une + requête comporte une méthode HTTP, un URI, et une version de + protocole, la directive <code class="directive">LimitRequestLine</code> + impose une restriction sur la longueur maximale autorisée pour un + URI dans une requête au niveau du serveur. Pour un serveur, cette + valeur doit être suffisamment grande pour référencer les noms de + toutes ses ressources, y compris toutes informations pouvant être + ajoutées dans la partie requête d'une méthode <code>GET</code>.</p> + + <p>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">LimitRequestLine 4094</pre> + + + <div class="note">Dans des conditions normales, cette directive doit conserver + sa valeur par défaut.</div> + + <div class="warning"><h3>Avertissement</h3> + <p>Dans le cas des serveurs virtuels à base de noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour lequel la paire adresse IP/port + correspond le mieux.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a> <a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale du corps d'une requête au format +XML</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitXMLRequestBody <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Taille maximale (en octets) du corps d'une requête au format XML. Une + valeur de <code>0</code> appliquera une limite physique (différente selon + que le système est sur 32 ou 64 bits) permettant à XML de s'étaler jusqu'aux + limites de la mémoire adressable du système, mais elle n'existe qu'à des + fins de compatibilité et il est déconseillé de l'utiliser car elle ne tient + pas compte de la mémoire consommée ailleurs et des requêtes simultanées, ce + qui pourrait provoquer un dépassement de mémoire global du système. + </p> + + <p>Exemple :</p> + + <pre class="prettyprint lang-config"># Limitation à 1 Mo +LimitXMLRequestBody 1073741824</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="location" id="location">Directive</a> <a name="Location" id="Location"><Location></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs +spécifiées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Location + <var>chemin URL</var>|<var>URL</var>> ... </Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive"><Location></code> + limite la portée des directives contenues aux URLs définies par + l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory"><Directory></a></code>, et marque le + début d'une section qui se termine par une directive + <code></Location></code>. Les sections <code class="directive"><Location></code> sont traitées selon l'ordre dans + lequel elles apparaissent dans le fichier de configuration, mais + après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des + fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files"><Files></a></code>.</p> + + <p>Les sections <code class="directive"><Location></code> + agissent complètement en dehors du système de fichiers. Ceci a de + nombreuses conséquences. Parmi les plus importantes, on ne doit pas + utiliser les sections <code class="directive"><Location></code> + pour contrôler l'accès aux répertoires du système de fichiers. Comme + plusieurs URLs peuvent correspondre au même répertoire du système de + fichiers, un tel contrôle d'accès pourrait être contourné.</p> + + <p>Les directives que contient cette section seront appliquées aux + requêtes si la partie chemin de l'URL satisfait à l'un au moins de + ces critères : + </p> + <ul> + <li>Le chemin spécifié correspond exactement à la partie chemin de + l'URL. + </li> + <li>Le chemin spécifié, qui se termine par un slash, est un + préfixe de la partie chemin de l'URL (traité comme une racine du + contexte). + </li> + <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un + préfixe de la partie chemin de l'URL (aussi traité comme une racine du + contexte). + </li> + </ul> + <p> + Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les + directives contenues dans la section s'appliqueront à /private1, + /private1/ et /private1/file.txt, mais pas à /private1other. + </p> + <pre class="prettyprint lang-config"><Location "/private1"> + # ... +</Location></pre> + + <p> + De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les + directives contenues dans la section s'appliqueront à /private2/ et + à /private2/file.txt, mais pas à /private2other. + </p> + <pre class="prettyprint lang-config"><Location "/private2<em>/</em>"> + # ... +</Location></pre> + + + <div class="note"><h3>Quand utiliser la section <code class="directive"><Location></code></h3> + + <p>Vous pouvez utiliser une section <code class="directive"><Location></code> pour appliquer des directives à + des contenus situés en dehors du système de fichiers. Pour les + contenus situés à l'intérieur du système de fichiers, utilisez + plutôt les sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#files"><Files></a></code>. <code><Location + "/"></code> constitue une exception et permet d'appliquer aisément + une configuration à l'ensemble du serveur.</p> + </div> + + <p>Pour toutes les requêtes originales (non mandatées), l'argument + URL est un chemin d'URL de la forme + <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne + de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL + spécifiée doit être de la forme + <code>protocole://nom_serveur/chemin</code>, et vous devez inclure + le préfixe.</p> + + <p>L'URL peut contenir des caractères génériques. Dans une chaîne + avec caractères génériques, <code>?</code> correspond à un caractère + quelconque, et <code>*</code> à toute chaîne de caractères. Les + caractères génériques ne peuvent pas remplacer un / dans le chemin + URL.</p> + + <p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions + rationnelles</a>, moyennant l'addition d'un caractère + <code>~</code>. Par exemple :</p> + + <pre class="prettyprint lang-config"><Location ~ "/(extra|special)/data"> + #... +</Location></pre> + + + <p>concernerait les URLs contenant les sous-chaîne + <code>/extra/data</code> ou <code>/special/data</code>. La directive + <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + présente un comportement identique à la version avec expressions + rationnelles de la directive <code class="directive"><Location></code>, et son utilisation est + préférable à l'utilisation de cette dernière pour la simple raison + qu'il est difficile de distinguer <code>~</code> de <code>-</code> + dans la plupart des fontes.</p> + + <p>La directive <code class="directive"><Location></code> + s'utilise principalement avec la directive <code class="directive"><a href="#sethandler">SetHandler</a></code>. Par exemple, pour activer les + requêtes d'état, mais ne les autoriser que depuis des navigateurs + appartenant au domaine <code>example.com</code>, vous pouvez + utiliser :</p> + + <pre class="prettyprint lang-config"><Location "/status"> + SetHandler server-status + Require host example.com +</Location></pre> + + + <div class="note"><h3>Note à propos du slash (/)</h3> <p>La signification du + caractère slash dépend de l'endroit où il se trouve dans l'URL. Les + utilisateurs peuvent être habitués à son comportement dans le système de + fichiers où plusieurs slashes successifs sont souvent réduits à un slash + unique (en d'autres termes, <code>/home///foo</code> est identique à + <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce n'est + cependant pas toujours vrai si la directive <code class="directive"><a href="#mergeslashes">MergeSlashes</a></code> a été définie à "OFF". Pour la + directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + et la version avec expressions rationnelles de la directive <code class="directive"><Location></code>, vous devez spécifier explicitement les + slashes multiples si les slashes ne sont pas fusionnés.</p> + + <p>Par exemple, <code><LocationMatch "^/abc"></code> va + correspondre à l'URL <code>/abc</code> mais pas à l'URL <code> + //abc</code>. La directive <code class="directive"><Location></code> sans expression rationnelle se comporte de + la même manière lorsqu'elle est utilisée pour des requêtes + mandatées. Par contre, lorsque la directive <code class="directive"><Location></code> sans expression rationnelle + est utilisée pour des requêtes non mandatées, elle fera + correspondre implicitement les slashes multiples à des slashes + uniques. Par exemple, si vous spécifiez <code><Location + "/abc/def"></code>, une requête de la forme + <code>/abc//def</code> correspondra.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="locationmatch" id="locationmatch">Directive</a> <a name="LocationMatch" id="LocationMatch"><LocationMatch></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs +correspondant à une expression rationnelle</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LocationMatch + <var>regex</var>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive"><LocationMatch></code> + limite la portée des directives contenues à l'URL spécifiée, de + manière identique à la directive <code class="directive"><a href="#location"><Location></a></code>. Mais son argument permettant de + spécifier les URLs concernées est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> au lieu d'une simple + chaîne de caractères. Par exemple :</p> + + <pre class="prettyprint lang-config"><LocationMatch "/(extra|special)/data"> + # ... +</LocationMatch></pre> + + + <p>correspondrait à toute URL contenant les sous-chaînes + <code>/extra/data</code> ou <code>/special/data</code>.</p> + + <div class="note"><p>Si vous recherchez une URL <strong>commençant par</strong> + plutôt que seulement contenant <code>/extra/data</code>, préfixez + l'expression rationnelle avec un <code>^</code>.</p> + + <pre class="prettyprint lang-config"><LocationMatch "^/(extra|special)/data"></pre> + + </div> + + <p>A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé + par "MATCH_". Ceci permet + de référencer des URLs dans des <a href="../expr.html">expressions</a> + ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.</p> + +<pre class="prettyprint lang-config"><LocationMatch "^/combined/(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</LocationMatch></pre> + + + <div class="note"><h3>Note à propos du slash '/'</h3> <p>La signification du + caractère slash '/' dépend de l'endroit où il apparaît dans une URL. Les + utilisateurs sont habitués à voir de multiples slashes adjacents réduits à + un seul au sein du système de fichiers (par exemple, + <code>/home///foo</code> est équivalent à <code>/home/foo</code>). Ce n'est + n'est cependant pas toujours vrai au sein des URLs si la directive + <code class="directive"><a href="#mergeslashes">MergeSlashes</a></code> a été définie à "OFF". En + effet, si vous souhaitez spécifier plusieurs slashes, vous devez le faire + explicitement au sein de la directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> et de la version regex de la + directive <code class="directive"><Location></code>, si les slashes ne + sont pas fusionnés.</p> + + <p>Par exemple, <code><LocationMatch "^/abc"></code> correspondra à + l'URL <code>/abc</code>, mais pas à l'URL <code>//abc</code>. La directive + (non-regex) <code class="directive"><Location></code> se comporte de + la même manière lorsqu'elle est utilisée dans les requêtes de mandataire. + Par contre, pour les autres types de requêtes, la directive <code class="directive"><Location></code> considérera plusieurs slashes + adjacents comme équivalents à un seul slash. Par exemple, si vous + spécifiez <code><Location "/abc/def"></code>, une requête pour + <code>/abc//def</code> correspondra.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="loglevel" id="loglevel">Directive</a> <a name="LogLevel" id="LogLevel">LogLevel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel [<var>module</var>:]<var>niveau</var> + [<var>module</var>:<var>niveau</var>] ... +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La configuration du niveau de journalisation par module +et par répertoire est disponible depuis la version 2.3.6 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">LogLevel</code> permet d'ajuster la + verbosité des messages enregistrés dans les journaux d'erreur (voir + la directive <code class="directive"><a href="#errorlog">ErrorLog</a></code> + directive). Les <var>niveau</var>x disponibles sont présentés + ci-après, par ordre de criticité décroissante :</p> + + <table class="bordered"> + + <tr> + <th><strong>Niveau</strong> </th> + + <th><strong>Description</strong> </th> + + <th><strong>Exemple</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>Urgences - le système est inutilisable.</td> + + <td>"Child cannot open lock file. Exiting"</td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>Des mesures doivent être prises immédiatement.</td> + + <td>"getpwuid: couldn't determine user name from uid"</td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>Conditions critiques.</td> + + <td>"socket: Failed to get a socket, exiting child"</td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>Erreurs.</td> + + <td>"Premature end of script headers"</td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>Avertissements.</td> + + <td>"child process 1234 did not exit, sending another + SIGHUP"</td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>Evènement important mais normal.</td> + + <td>"httpd: caught SIGBUS, attempting to dump core in + ..."</td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>Informations.</td> + + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."</td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>Messages de débogage.</td> + + <td>"Opening config file ..."</td> + </tr> + <tr> + <td><code>trace1</code> </td> + + <td>Messages de traces</td> + + <td>"proxy: FTP: control connection complete"</td> + </tr> + <tr> + <td><code>trace2</code> </td> + + <td>Messages de traces</td> + + <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td> + </tr> + <tr> + <td><code>trace3</code> </td> + + <td>Messages de traces</td> + + <td>"openssl: Handshake: start"</td> + </tr> + <tr> + <td><code>trace4</code> </td> + + <td>Messages de traces</td> + + <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td> + </tr> + <tr> + <td><code>trace5</code> </td> + + <td>Messages de traces</td> + + <td>"map lookup FAILED: map=rewritemap key=keyname"</td> + </tr> + <tr> + <td><code>trace6</code> </td> + + <td>Messages de traces</td> + + <td>"cache lookup FAILED, forcing new map lookup"</td> + </tr> + <tr> + <td><code>trace7</code> </td> + + <td>Messages de traces, enregistrement d'une grande quantité de + données</td> + + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + <tr> + <td><code>trace8</code> </td> + + <td>Messages de traces, enregistrement d'une grande quantité de + données</td> + + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + </table> + + <p>Lorsqu'un niveau particulier est spécifié, les messages de tous + les autres niveaux de criticité supérieure seront aussi enregistrés. + <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié, + les messages de niveaux <code>notice</code> et <code>warn</code> + seront aussi émis.</p> + + <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou + inférieur.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">LogLevel notice</pre> + + + <div class="note"><h3>Note</h3> + <p>Si la journalisation s'effectue directement dans un fichier, + les messages de niveau <code>notice</code> ne peuvent pas être + supprimés et sont donc toujours journalisés. Cependant, ceci ne + s'applique pas lorsque la journalisation s'effectue vers + <code>syslog</code>.</p> + </div> + + <p>Spécifier un niveau sans nom de module va attribuer ce niveau à + tous les modules. Spécifier un niveau avec nom de module va + attribuer ce niveau à ce module seulement. Il est possible de + spécifier un module par le nom de son fichier source ou par son + identificateur, avec ou sans le suffixe <code>_module</code>. Les + trois spécifications suivantes sont donc équivalentes :</p> + + <pre class="prettyprint lang-config">LogLevel info ssl:warn +LogLevel info mod_ssl.c:warn +LogLevel info ssl_module:warn</pre> + + + <p>Il est aussi possible d'attribuer un niveau de journalisation par + répertoire :</p> + + <pre class="prettyprint lang-config">LogLevel info +<Directory "/usr/local/apache/htdocs/app"> + LogLevel debug +</Directory></pre> + + + <div class="note"> + La configuration du niveau de journalisation par répertoire + n'affecte que les messages journalisés après l'interprétation de + la requête et qui sont associés à cette dernière. Les messages + de journalisation associés à la connexion ou au serveur ne sont + pas affectés. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#errorlogformat">ErrorLogFormat</a></code></li> +<li><a href="../logs.html">Journaux du serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a> <a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion +persistante</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxKeepAliveRequests <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">MaxKeepAliveRequests</code> permet + de limiter le nombre de requêtes autorisées par connexion lorsque + <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa + valeur est <code>0</code>, le nombre de requêtes autorisées est + illimité. Il est recommandé de définir une valeur assez haute pour + des performances du serveur maximales.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">MaxKeepAliveRequests 500</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxrangeoverlaps" id="maxrangeoverlaps">Directive</a> <a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de chevauchements de segments de données autorisé + (par exemple <code>100-200,150-300</code>) avant le renvoi de la + ressource complète</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | <var>nombre de + chevauchements</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP + Apache</td></tr> +</table> + <p>La directive <code class="directive">MaxRangeOverlaps</code> permet + de limiter le nombre de chevauchements de segments de données HTTP + autorisé par le serveur. Si le nombre de + chevauchements de segments demandé est supérieur au nombre maximal + autorisé, la ressource sera renvoyée dans son intégralité.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Limite le nombre de chevauchements de segments à la valeur + par défaut 20 définie à la compilation.</dd> + + <dt><strong>none</strong></dt> + <dd>Aucun chevauchement de segment n'est autorisé.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>Le nombre de chevauchements de segments est illimité.</dd> + + <dt><var>number-of-ranges</var></dt> + <dd>Un nombre positif représente le nombre maximal de + chevauchements de segments autorisé par le serveur.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxrangereversals" id="maxrangereversals">Directive</a> <a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre d'inversions d'ordre autorisé dans la spécification des + segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la + ressource complète</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRangeReversals default | unlimited | none | <var>nombre + d'inversions</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeReversals 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP + Apache</td></tr> +</table> + <p>La directive <code class="directive">MaxRangeReversals</code> permet + de limiter le nombre d'inversions d'ordre dans la spécification + des segments de données HTTP + autorisé par le serveur. Si le nombre + d'inversions demandé est supérieur au nombre maximal + autorisé, la ressource sera renvoyée dans son intégralité.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Limite le nombre d'inversions à la valeur + par défaut 20 définie à la compilation.</dd> + + <dt><strong>none</strong></dt> + <dd>Aucune inversion n'est autorisée.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>Le nombre d'inversions est illimité.</dd> + + <dt><var>number-of-ranges</var></dt> + <dd>Un nombre positif représente le nombre maximal + d'inversions autorisé par le serveur.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxranges" id="maxranges">Directive</a> <a name="MaxRanges" id="MaxRanges">MaxRanges</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de segments de données autorisé avant le renvoi de +l'intégralité de la ressource</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRanges default | unlimited | none | <var>nombre de segments</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRanges 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">MaxRanges</code> permet de limiter + le nombre de segments de données que le serveur va renvoyer au + client. Si un nombre de segments plus important est demandé, la + ressource sera renvoyée dans son intégralité.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Limite le nombre de segments de données à 200 (valeur par + défaut définie à la compilation).</dd> + + <dt><strong>none</strong></dt> + <dd>Les en-têtes Range sont ignorés.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>Le nombre de segments de données est illimité.</dd> + + <dt><var>nombre de segments</var></dt> + <dd>Un nombre positif représentera la nombre de segments de + données maximal que le serveur renverra au client.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mergeslashes" id="mergeslashes">Directive</a> <a name="MergeSlashes" id="MergeSlashes">MergeSlashes</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fusion des slashes consécutifs dans les URLs par le serveur. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MergeSlashes ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MergeSlashes ON</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.39 du serveur HTTP Apache</td></tr> +</table> + <p>Par défaut, le serveur fusionne les caractères slash ('/') multiples et + consécutifs dans la partie chemin de l'URL d'une requête.</p> + + <p>Lorsque cette partie chemin de l'URL est appliquée au système de + fichiers, ces slashes multiples sont inutiles. Il peut être cependant + préférable de conserver ces slashes multiples et consécutifs car ils peuvent + avoir une signification dans le cas des URLs gérées différemment, par + exemple par CGI ou par un serveur mandataire. Il convient alors de définir + <code class="directive">MergeSlashes</code> à <em>OFF</em> pour conserver les + slashes multiples consécutifs, ce qui correspond au comportement + traditionnel.</p> + <p> + Lorsque cette directive est définie à "OFF", les expressions rationnelles utilisées dans le + fichier de configuration pour effectuer une comparaison de la partie chemin + de l'URL ((<code class="directive">LocationMatch</code>, + <code class="directive">RewriteRule</code>, ...) doivent en effet tenir compte de la + présence éventuelle de slashes multiples et consécutifs. Les sections + <code class="directive">Location</code> à base d'expressions non rationnelles + correspondent toujours à des URLs avec slashes fusionnés et ne peuvent pas + tenir compte des slashes multiples.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mergetrailers" id="mergetrailers">Directive</a> <a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les données supplémentaires (trailers) sont +fusionnées avec les en-têtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MergeTrailers [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MergeTrailers off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP +Apache</td></tr> +</table> + <p>Cette directive permet de contrôler la fusion des données HTTP + supplémentaires (trailers) avec la représentation interne des + en-têtes. Cette fusion intervient lorsque le corps de la requête a + été entièrement reçu, bien longtemps après que la majeure partie du + traitement des en-têtes ait une chance de pouvoir examiner ou + modifier les en-têtes de la requête.</p> + <p>Cette option a été introduite dans un souci de compatibilité avec + les versions antérieures à 2.4.11, où les données supplémentaires + étaient systématiquement fusionnées avec les en-têtes de la requête.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mutex" id="mutex">Directive</a> <a name="Mutex" id="Mutex">Mutex</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les mécanismes de mutex et le repertoire du fichier +verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Mutex default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.4 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">Mutex</code> permet de définir le + mécanisme de mutex, et éventuellement le répertoire du fichier + verrou que les modules et httpd utilisent pour sérialiser l'accès aux + ressources. Spécifiez <code>default</code> comme second argument + pour modifier la configuration de tous les mutex ; spécifiez un nom + de mutex (voir la table ci-dessous) comme second argument pour + ne modifier que la configuration de ce mutex.</p> + + <p>La directive <code class="directive">Mutex</code> est typiquement + utilisée dans les situations exceptionnelles suivantes :</p> + + <ul> + <li>choix d'un autre mécanisme de mutex lorsque le mécanisme par + défaut sélectionné par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> présente un + problème de fonctionnement ou de performances.</li> + + <li>choix d'un autre répertoire utilisé par les mutex à base de + fichier lorsque le répertoire par défaut ne supporte pas le + verrouillage</li> + </ul> + + <div class="note"><h3>Modules supportés</h3> + <p>Cette directive ne configure que les mutex qui ont été + enregistrés avec le serveur de base via l'API + <code>ap_mutex_register()</code>. Tous les modules fournis avec + httpd supportent la directive <code class="directive">Mutex</code>, mais il + n'en sera pas forcément de même pour les modules tiers. + Reportez-vous à la documentation du module tiers considéré afin de + déterminer le(s) nom(s) de mutex qui pourront être définis si la + directive est supportée.</p> + </div> + + + + <p>Les <em>mécanismes</em> de mutex disponibles sont les suivants :</p> + <ul> + <li><code>default | yes</code> + <p>C'est l'implémentation du verrouillage par défaut, telle + qu'elle est définie par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. On peut + afficher l'implémentation du verrouillage par défaut via la + commande <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec l'option <code>-V</code>.</p></li> + + <li><code>none | no</code> + <p>Le mutex est désactivé, et cette valeur n'est permise pour un + mutex que si le module indique qu'il s'agit d'un choix valide. + Consultez la documentation du module pour plus d'informations.</p></li> + + <li><code>posixsem</code> + <p>Une variante de mutex basée sur un sémaphore Posix.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>La propriété du sémaphore n'est pas restituée si un thread du + processus gérant le mutex provoque une erreur de segmentation, + ce qui provoquera un blocage du serveur web.</p> + </div> + </li> + + <li><code>sysvsem</code> + <p>Une variante de mutex basée sur un sémaphore IPC SystemV.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Il peut arriver que les sémaphores SysV soient conservés si le + processus se crashe avant que le sémaphore ne soit supprimé.</p> + </div> + + <div class="warning"><h3>Sécurité</h3> + <p>L'API des sémaphores permet les attaques par déni de service + par tout programme CGI s'exécutant sous le même uid que le + serveur web (autrement dit tous les programmes CGI, à moins que + vous n'utilisiez un programme du style <code class="program"><a href="../programs/suexec.html">suexec</a></code> + ou <code>cgiwrapper</code>).</p> + </div> + </li> + + <li><code>sem</code> + <p>Sélection de la "meilleure" implémentation des sémaphores + disponible ; le choix s'effectue entre les sémaphores posix et + IPC SystemV, dans cet ordre.</p></li> + + <li><code>pthread</code> + <p>Une variante de mutex à base de mutex de thread Posix + inter-processus.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Sur la plupart des systèmes, si un processus enfant se + termine anormalement alors qu'il détenait un mutex qui utilise + cette implémentation, le serveur va se bloquer et cesser de + répondre aux requêtes. Dans ce cas, un redémarrage manuel est + nécessaire pour récupérer le mutex.</p> + <p>Solaris et Linux constituent des exceptions notables, en ceci qu'ils fournissent + un mécanisme qui permet en général de récupérer le mutex après + l'arrêt anormal d'un processus enfant qui détenait le mutex.</p> + <p>Si votre système est compatible POSIX ou implémente la fonction + <code>pthread_mutexattr_setrobust_np()</code>, vous devriez + pouvoir utiliser l'option <code>pthread</code> sans problème.</p> + </div> + </li> + + <li><code>fcntl:/chemin/vers/mutex</code> + <p>Une variante de mutex utilisant un fichier verrou physique et + la fonction <code>fcntl()</code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans + un environnement multi-processus, multi-thread, des erreurs de + blocage (EDEADLK) peuvent être rapportées pour des opérations de + mutex valides si la fonction <code>fcntl()</code> ne gère pas + les threads, comme sous Solaris.</p> + </div> + </li> + + <li><code>flock:/chemin/vers/mutex</code> + <p>Méthode similaire à <code>fcntl:/chemin/vers/mutex</code>, + mais c'est la fonction <code>flock()</code> qui est utilisée + pour gérer le verrouillage par fichier.</p></li> + + <li><code>file:/chemin/vers/mutex</code> + <p>Sélection de la "meilleure" implémentation de verrouillage + par fichier disponible ; le choix s'effectue entre + <code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li> + </ul> + + <p>La plupart des mécanismes ne sont disponibles que sur les + plate-formes où ces dernières et <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> les + supportent. Les mécanismes qui ne sont pas disponibles sur toutes + les plate-formes sont <em>posixsem</em>, + <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>, + <em>flock</em>, et <em>file</em>.</p> + + <p>Avec les mécanismes à base de fichier <em>fcntl</em> et + <em>flock</em>, le chemin, s'il est fourni, est un répertoire dans + lequel le fichier verrou sera créé. Le répertoire par + défaut est le répertoire d'exécution de httpd relatif à la + directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>. + Utilisez toujours un système + de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et + jamais un répertoire se trouvant dans un système de fichiers NFS ou + AFS. Le nom de base du fichier se composera du type de mutex, d'une + chaîne optionnelle correspondant à l'instance et fournie par le + module ; et, sauf si le mot-clé <code>OmitPID</code> a été spécifié, + l'identificateur du processus parent httpd sera ajouté afin de + rendre le nom du fichier unique, évitant ainsi tout conflit lorsque + plusieurs instances d'httpd partagent le même répertoire de + verrouillage. Par exemple, si le nom de mutex est + <code>mpm-accept</code>, et si le répertoire de verrouillage est + <code>/var/httpd/locks</code>, le nom du fichier verrou pour + l'instance httpd dont le processus parent a pour identifiant 12345 + sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Il est conseillé d'<em>éviter</em> de placer les fichiers mutex + dans un répertoire où tout le monde peut écrire comme + <code>/var/tmp</code>, car quelqu'un pourrait initier une attaque + par déni de service et empêcher le serveur de démarrer en créant un + fichier verrou possédant un nom identique à celui que le serveur va + tenter de créer.</p> + </div> + + <p>La table suivante décrit les noms de mutex utilisés par httpd et + ses modules associés.</p> + + <table class="bordered"><tr class="header"> + <th>Nom mutex</th> + <th>Module(s)</th> + <th>Ressource protégée</th> + </tr> +<tr> + <td><code>mpm-accept</code></td> + <td>modules MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code class="module"><a href="../mod/worker.html">worker</a></code></td> + <td>connexions entrantes, afin d'éviter le problème de + l'afflux de requêtes ; pour plus d'informations, voir la + documentation <a href="../misc/perf-tuning.html">Amélioration des + performances</a></td> + </tr> +<tr class="odd"> + <td><code>authdigest-client</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>liste de clients en mémoire partagée</td> + </tr> +<tr> + <td><code>authdigest-opaque</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>compteur en mémoire partagée</td> + </tr> +<tr class="odd"> + <td><code>ldap-cache</code></td> + <td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td> + <td>cache de résultat de recherche LDAP</td> + </tr> +<tr> + <td><code>rewrite-map</code></td> + <td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td> + <td>communication avec des programmes externes + d'associations de valeurs, afin d'éviter les interférences + d'entrées/sorties entre plusieurs requêtes</td> + </tr> +<tr class="odd"> + <td><code>ssl-cache</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>cache de session SSL</td> + </tr> +<tr> + <td><code>ssl-stapling</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>cache de l'étiquetage OCSP ("OCSP stapling")</td> + </tr> +<tr class="odd"> + <td><code>watchdog-callback</code></td> + <td><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code></td> + <td>fonction de rappel d'un module client particulier</td> + </tr> +</table> + + <p>Le mot-clé <code>OmitPID</code> permet d'empêcher l'addition de + l'identifiant du processus httpd parent au nom du fichier verrou.</p> + + + <p>Dans l'exemple suivant, le mécanisme de mutex pour le mutex + mpm-accept est modifié pour passer du mécanisme par défaut au + mécanisme <code>fcntl</code>, avec le fichier verrou associé créé + dans le répertoire <code>/var/httpd/locks</code>. Le mécanisme de + mutex par défaut pour tous les autres mutex deviendra + <code>sysvsem</code>.</p> + + <pre class="prettyprint lang-config">Mutex sysvsem default +Mutex fcntl:/var/httpd/locks mpm-accept</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="namevirtualhost" id="namevirtualhost">Directive</a> <a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de +nom</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NameVirtualHost <var>adresse</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + + <p>Avant la version 2.3.11, il était nécessaire de définir une + directive <code class="directive">NameVirtualHost</code> pour indiquer au + serveur qu'une paire adresse IP/port particulière pouvait être + utilisée comme serveur virtuel à base de nom. Depuis la version + 2.3.11, chaque fois qu'une paire adresse IP/port est utilisée dans + plusieurs serveurs virtuels, l'hébergement virtuel à base de nom est + automatiquement activé pour cette adresse.</p> + + <p>Cette directive n'a actuellement plus aucun effet.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../vhosts/">Documentation sur les serveurs +virtuels</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="options" id="options">Directive</a> <a name="Options" id="Options">Options</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire +particulier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Options FollowSymlinks</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Avec la version 2.3.11, la valeur par défaut passe de All +à FollowSymlinks</td></tr> +</table> + <p>La directive <code class="directive">Options</code> permet de définir + les fonctionnalités de serveur disponibles pour un répertoire + particulier.</p> + + <p><var>option</var> peut être défini à <code>None</code>, auquel + cas aucune fonctionnalité spécifique n'est activée, ou comprendre + une ou plusieurs des options suivantes :</p> + + <dl> + <dt><code>All</code></dt> + + <dd>Toutes les options excepté <code>MultiViews</code>.</dd> + + <dt><code>ExecCGI</code></dt> + + <dd>L'exécution de scripts CGI à l'aide du module + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> est permise.</dd> + + <dt><code>FollowSymLinks</code></dt> + + <dd> + + Le serveur va suivre les liens symboliques dans le répertoire + concerné. Il s'agit de la valeur par défaut. + <div class="note"> + <p>Bien que le serveur suive les liens symboliques, il ne modifie + <em>pas</em> le nom de chemin concerné défini par la section + <code class="directive"><a href="#directory"><Directory></a></code>.</p> + + <p>Les options <code>FollowSymLinks</code> et + <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les + sections <code class="directive"><a href="#directory"><Directory></a></code> ou les fichiers + <code>.htaccess</code>.</p> + + <p>Le fait d'omettre cette option ne doit pas être considéré comme + une mesure de sécurité efficace, car il existe toujours une + situation de compétition (race condition) entre l'instant où l'on + vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où + l'on utilise effectivement ce chemin.</p> + </div></dd> + + <dt><code>Includes</code></dt> + + <dd> + Les inclusions côté serveur (SSI) à l'aide du module + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd> + + <dt><code>IncludesNOEXEC</code></dt> + + <dd> + + Les inclusions côté serveur (SSI) sont permises, mais <code>#exec + cmd</code> et <code>#exec cgi</code> sont désactivés. + L'utilisation de <code>#include virtual</code> pour les scripts + CGI est cependant toujours possible depuis des répertoires + définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd> + + <dt><code>Indexes</code></dt> + + <dd> + Si une URL requise correspond au répertoire concerné, et si aucun + <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<em>par + exemple</em> <code>index.html</code>) n'est défini pour ce + répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer + un listing formaté du répertoire.</dd> + + <dt><code>MultiViews</code></dt> + + <dd> + Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du + module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées. + <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est + définie en tout autre endroit qu'une section <code class="directive"><a href="#directory"><Directory></a></code>, car + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> a besoin de ressources réelles + pour effectuer ses comparaisons et ses évaluations.</p></div> + + </dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + + <dd>Le serveur ne suivra que les liens symboliques qui renvoient + vers un fichier ou un répertoire dont le propriétaire est le même + que celui du lien. + + <div class="note"><h3>Note</h3> + <p>Les options <code>FollowSymLinks</code> et + <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les + sections <code class="directive"><a href="#directory"><Directory></a></code> ou les fichiers + <code>.htaccess</code>.</p> + + <p>Le fait d'omettre cette option ne doit pas être considéré comme + une mesure de sécurité efficace, car il existe toujours une + situation de compétition (race condition) entre l'instant où l'on + vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où + l'on utilise effectivement ce chemin.</p> + </div> </dd> + </dl> + + <p>Normalement, si plusieurs directives + <code class="directive">Options</code> peuvent s'appliquer à un répertoire, + c'est la plus spécifique qui est utilisée et les autres sont + ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#merging">comment les sections sont + fusionnées</a>). Elles le sont cependant si <em>toutes</em> les + options de la directive <code class="directive">Options</code> sont + précédées d'un symbole <code>+</code> ou <code>-</code>. Toute + option précédée d'un <code>+</code> est ajoutée à la liste des + options courantes de manière forcée et toute option précédée d'un + <code>-</code> est supprimée de la liste des options courantes de la + même manière.</p> + + <div class="note"><h3>Note</h3> + <p>Mélanger des <code class="directive">Options</code> avec <code>+</code> + ou <code>-</code> avec des <code class="directive">Options</code> sans + <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et + la vérification de la syntaxe au cours du démarrage du serveur fera + échouer ce dernier.</p> + </div> + + <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code> + :</p> + + <pre class="prettyprint lang-config"><Directory "/web/docs"> + Options Indexes FollowSymLinks +</Directory> + +<Directory "/web/docs/spec"> + Options Includes +</Directory></pre> + + + <p>ici, seule l'option <code>Includes</code> sera prise en compte + pour le répertoire <code>/web/docs/spec</code>. Par contre, si la + seconde directive <code class="directive">Options</code> utilise les + symboles <code>+</code> et <code>-</code> :</p> + + <pre class="prettyprint lang-config"><Directory "/web/docs"> + Options Indexes FollowSymLinks +</Directory> + +<Directory "/web/docs/spec"> + Options +Includes -Indexes +</Directory></pre> + + + <p>alors, les options <code>FollowSymLinks</code> et + <code>Includes</code> seront prises en compte pour le répertoire + <code>/web/docs/spec</code>.</p> + + <div class="note"><h3>Note</h3> + <p>L'utilisation de <code>-IncludesNOEXEC</code> ou + <code>-Includes</code> désactive complètement les inclusions côté + serveur sans tenir compte des définitions précédentes.</p> + </div> + + <p>En l'absence de toute définition d'options, la valeur par défaut + est <code>FollowSymlinks</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="protocol" id="protocol">Directive</a> <a name="Protocol" id="Protocol">Protocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocole pour une socket d'écoute</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocol <var>protocole</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1.5 d'Apache, mais +seulement depuis la version 2.3.3 sous Windows.</td></tr> +</table> + <p>Cette directive permet de spécifier le protocole utilisé pour une + socket d'écoute particulière. Le protocole sert à déterminer quel + module doit traiter une requête, et d'appliquer les optimisations + spécifiques au protocole via la directive + <code class="directive">AcceptFilter</code>.</p> + + <p>Dans la plupart des configurations, cette directive n'est pas nécessaire. + Si elle n'est pas définie, le protocole par défaut pour le port 443 est + <code>https</code> et <code>http</code> pour tous les autres ports. La + connaissance du protocole permet de déterminer quel module doit traiter la + requête, et d'appliquer les optimisations spécifiques au protocole via la + directive <code class="directive"><a href="#acceptfilter">AcceptFilter</a></code>.</p> + + <p>Par exemple, si vous travaillez avec le protocole + <code>https</code> sur un port non standard, spécifiez le protocole + de manière explicite :</p> + + <pre class="prettyprint lang-config">Protocol https</pre> + + + <p>Vous pouvez aussi spécifier le protocole via la directive + <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#acceptfilter">AcceptFilter</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="protocols" id="protocols">Directive</a> <a name="Protocols" id="Protocols">Protocols</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocoles disponibles pour un serveur virtuel ou non</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocols <var>protocole</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Protocols http/1.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur + HTTP Apache.</td></tr> +</table> + <p>Cette directive permet de spécifier la liste des protocoles + supportés par un serveur virtuel ou non. Cette liste énumère les + protocoles qu'un client sera autorisé à négocier avec ce + serveur.</p> + + <p>Par défaut, + seul le protocole http/1.1 est disponible (compatible avec les + clients http/1.0 et http/0.9). Par conséquent, vous devez + fournir cette liste si vous voulez étendre les protocoles + disponibles pour le serveur.</p> + + <p>Par exemple, si vous voulez autoriser le protocole + HTTP/2 pour un serveur avec TLS, utilisez + cette directive comme suit :</p> + + <pre class="prettyprint lang-config">Protocols h2 http/1.1</pre> + + + <p>Les protocoles valides sont <code>http/1.1</code> pour les + connexions http et https, <code>h2</code> pour les connections + https et <code>h2c</code> pour les connexions http. D'autres + modules peuvent fournir d'autres protocoles.</p> + + <p>Spécifier des protocoles non disponibles ou désactivés n'aura + aucun effet, et ceux-ci seront simplement ignorés.</p> + + <p>Si un serveur virtuel ne possède pas de directive Protocols + propre, il hérite des protocoles spécifiés pour le serveur + principal. Autrement dit, les directives Protocols définies au + niveau d'un serveur virtuel remplacent celles définies au niveau + du serveur principal. + </p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#protocolshonororder">ProtocolsHonorOrder</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="protocolshonororder" id="protocolshonororder">Directive</a> <a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine qui du client ou du serveur détermine l'ordre + des protocoles au cours de la négociation de la connexion</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur + HTTP Apache.</td></tr> +</table> + <p>Cette directive permet de définir si le serveur doit tenir + compte de l'ordre des protocoles définis par la directive + <code class="directive">Protocols</code>.</p> + + <p>Si cette directive est définie à Off, l'ordre de la liste des + protocoles fournie par le client l'emporte sur l'ordre défini + dans la configuration du serveur.</p> + + <p>Si la directive <code class="directive">ProtocolsHonorOrder</code> + est définie à <code>on</code> (valeur par défaut), + il n'est pas tenu compte de l'ordre de la liste des protocoles + fournie par le client, et seul l'ordre de la liste des protocles + définie au niveau du serveur influera la + négociation du protocole.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#protocols">Protocols</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="qualifyredirecturl" id="qualifyredirecturl">Directive</a> <a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si la variable d'environnement REDIRECT_URL est +pleinement qualifiée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>QualifyRedirectURL On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>QualifyRedirectURL Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Directive supportée à partir de la version 2.4.18 du +serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait +comme si la directive QualifyRedirectURL était définie à On.</td></tr> +</table> + <p>Cette directive permet de s'assurer que le serveur vérifiera que + la variable d'environnement REDIRECT_URL est bien pleinement + qualifiée. Par défaut, cette variable contient l'URL textuellement + demandée par le client, par exemple "/index.html". Avec + <code class="directive">QualifyRedirectURL ON</code>, la même requête + affectera à la variable REDIRECT_URL une valeur du style + "http://www.example.com/index.html".</p> + <p>Même si cette directive n'est pas définie, lorsqu'une requête est + soumise avec une URL pleinement qualifiée, la variable REDIRECT_URL + contiendra quand-même une URL pleinement qualifiée. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="readbuffersize" id="readbuffersize">Directive</a> <a name="ReadBufferSize" id="ReadBufferSize">ReadBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille des tampons utilisés pour lire les données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReadBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ReadBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP +Apache.</td></tr> +</table> + <p>Cette directive permet de définir la taille (en octets) du tampon mémoire + utilisé pour lire des données depuis le réseau ou un fichier.</p> + + <p>Un tampon de grande taille peut améliorer les performances pour les + grandes quantités de données, mais consomme d'avantage de mémoire par + connexion. La taille minimale du tampon est de <var>1024</var> octets.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="regexdefaultoptions" id="regexdefaultoptions">Directive</a> <a name="RegexDefaultOptions" id="RegexDefaultOptions">RegexDefaultOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration des options globales par défaut pour les + expressions rationnelles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RegexDefaultOptions DOTALL DOLLAR_ENDONLY</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP + Apache.</td></tr> +</table> + <p>Cette directive permet d'ajouter certains comportements par défaut à + TOUTES les expressions rationnelles utilisées ultérieurement.</p> + + <p>Toute option précédée d'un '+' est ajoutée aux options déjà définies.<br /> + Toute option précédée d'un '-' est enlevée des options déjà définies.<br /> + Toute option non suffixée par '+' ou '-' sera définie et remplacera + l'option correspondante éventuellement déjà définie.<br /> + Le mot-clé <code>none</code> annule toutes les options déjà définies.</p> + + <p><var>option</var> peut être :</p> + <dl> + <dt><code>ICASE</code></dt> + <dd>Utilise une recherche de correspondance insensible à la casse.</dd> + + <dt><code>EXTENDED</code></dt> + <dd>Le drapeau Perl /x ; ignore les espaces non échappés et les + commentaires dans le modèle.</dd> + + <dt><code>DOTALL</code></dt> + <dd>Le drapeau Perl /s ; '.' correspond aux caractères nouvelle + ligne.</dd> + + <dt><code>DOLLAR_ENDONLY</code></dt> + <dd>'$' n'est actif qu'à la fin de la chaîne de référence.</dd> + + </dl> + <pre class="prettyprint lang-config"># Ajoute l'option ICASE par défaut pour toutes les expressions rationnelles +RegexDefaultOptions +ICASE +... +# Supprime l'option DOLLAR_ENDONLY par défaut et conserve toutes les autres +# options +RegexDefaultOptions -DOLLAR_ENDONLY +... +# Définit l'option DOTALL seule et annule toutes les autres options +RegexDefaultOptions DOTALL +... +# Annule toutes les options définies +RegexDefaultOptions none +...</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="registerhttpmethod" id="registerhttpmethod">Directive</a> <a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement de méthodes HTTP non standards</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RegisterHttpMethod <var>méthode</var> [<var>méthode</var> [...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP Apache</td></tr> +</table> +<p>Cette directive permet d'enregistrer des méthodes HTTP supplémentaires. Ceci +s'avérera nécessaire si l'on doit utiliser des méthodes non standards avec des +directives qui acceptent des noms de méthodes en paramètres, ou pour permettre +l'utilisation de méthodes particulières non standards en passant par un serveur +mandataire ou au sein de scripts CGI, et ceci alors que le serveur a été +configuré pour ne transmettre que des méthodes reconnues aux modules.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#httpprotocoloptions">HTTPProtocolOptions</a></code></li> +<li><code class="directive"><a href="../mod/mod_allowmethods.html#allowmethods">AllowMethods</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rlimitcpu" id="rlimitcpu">Directive</a> <a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache httpd</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système +d'exploitation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit <code>max</code> pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa + phase de démarrage.</p> + + <p>Cette directive s'applique aux processus initiés par les + processus enfants d'Apache httpd qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache httpd comme les journalisations redirigées + vers un programme.</p> + + <p>Les limites de ressources CPU sont exprimées en secondes par + processus.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rlimitmem" id="rlimitmem">Directive</a> <a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache httpd</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système +d'exploitation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit <code>max</code> pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa + phase de démarrage.</p> + + <p>Cette directive s'applique aux processus initiés par les + processus enfants d'Apache httpd qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache httpd comme les journalisations redirigées + vers un programme.</p> + + <p>Les limites de ressources mémoire sont exprimées en octets par + processus.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rlimitnproc" id="rlimitnproc">Directive</a> <a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache httpd</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit <code>max</code> pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa + phase de démarrage.</p> + + <p>Cette directive s'applique aux processus initiés par les + processus enfants d'Apache httpd qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache httpd comme les journalisations redirigées + vers un programme.</p> + + <p>Les limites des processus contrôlent le nombre de processus par + utilisateur.</p> + + <div class="note"><h3>Note</h3> + <p>Si les processus CGI s'exécutent sous le même + utilisateur que celui du serveur web, cette + directive va limiter le nombre de processus que le serveur + pourra lui-même créer. La présence de messages + <strong><code>cannot fork</code></strong> dans le journal des + erreurs indiquera que la limite est atteinte.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a> <a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts +CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement.</td></tr> +</table> + <p>Cette directive permet de contrôler la méthode qu'utilise Apache + httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La + définition par défaut est <code>Script</code> : ceci indique à + Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne + shebang du script (la première ligne, commençant par + <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble + souvent à ceci :</p> + + <pre class="prettyprint lang-perl">#!C:/Perl/bin/perl.exe</pre> + + + <p>ou simplement, dans le cas où <code>perl</code> est dans le + <code>PATH</code> :</p> + + <pre class="prettyprint lang-perl">#!perl</pre> + + + <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va + effectuer une recherche dans l'arborescence + <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme + mot-clé l'extension du fichier contenant le script (par exemple + <code>.pl</code>). C'est la commande définie par la sous-clé de + registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe + pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée + pour ouvrir le fichier du script. Si ces clés de registre ne sont + pas trouvées, Apache httpd utilise la méthode de l'option + <code>Script</code>.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource + Registry</code> avec des répertoires faisant l'objet d'un <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, car Apache httpd va essayer + d'exécuter <strong>tous</strong> les fichiers contenus dans + celui-ci. L'option <code>Registry</code> peut causer des appels de + programmes non voulus sur des fichiers non destinés à être exécutés. + Par exemple, la commande par défaut open sur les fichiers + <code>.htm</code> sur la plupart des systèmes Windows va lancer + Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un + fichier <code>.htm</code> situé dans le répertoire des scripts + va lancer le navigateur en arrière-plan sur le serveur, ce qui a + toutes les chances de crasher votre système dans les minutes qui + suivent.</p> + </div> + + <p>L'option <code>Registry-Strict</code> + agit de manière identique à <code>Registry</code>, mais n'utilise + que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de + la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être + définie manuellement dans le registre Windows et évite ainsi tout + appel de programme accidentel sur votre système.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="seerequesttail" id="seerequesttail">Directive</a> <a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si mod_status affiche les 63 premiers caractères +d'une requête ou les 63 derniers, en supposant que la requête +elle-même possède plus de 63 caractères.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SeeRequestTail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SeeRequestTail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.7 +d'Apache httpd.</td></tr> +</table> + <p>Avec <code>ExtendedStatus On</code>, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> affiche la + véritable requête en cours de traitement. Pour des raisons + historiques, seuls 63 caractères de la requête sont réellement + stockés à des fins d'affichage. Cette directive permet de déterminer + si ce sont les 63 premiers caractères qui seront stockés (c'est le + comportement par défaut), + ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que + si la taille de la requête est de 64 caractères ou plus.</p> + + <p>Si Apache httpd traite la requête <code>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</code> + , l'affichage de la requête par <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> se présentera comme suit : + </p> + + <table class="bordered"> + <tr> + <th>Off (défaut)</th> + <td>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td> + </tr> + <tr> + <th>On</th> + <td>apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</td> + </tr> + </table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serveradmin" id="serveradmin">Directive</a> <a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les +messages d'erreur envoyés au client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerAdmin</code> permet de définir + l'adresse de contact que le serveur va inclure dans tout message + d'erreur qu'il envoie au client. Si le programme <code>httpd</code> + ne reconnait pas l'argument fourni comme une URL, il suppose que + c'est une <var>adresse électronique</var>, et lui ajoute le préfixe + <code>mailto:</code> dans les cibles des hyperliens. Il est + cependant recommandé d'utiliser exclusivement une adresse + électronique, car de nombreux scripts CGI considèrent ceci comme + implicite. Si vous utilisez une URL, elle doit pointer vers un autre + serveur que vous contrôlez. Dans le cas contraire, les utilisateurs + seraient dans l'impossibilité de vous contacter en cas de problème.</p> + + <p>Il peut s'avérer utile de définir une adresse dédiée à + l'administration du serveur, par exemple :</p> + + <pre class="prettyprint lang-config">ServerAdmin www-admin@foo.example.com</pre> + + <p>car les utilisateurs ne mentionnent pas systématiquement le + serveur dont ils parlent !</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serveralias" id="serveralias">Directive</a> <a name="ServerAlias" id="ServerAlias">ServerAlias</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autres noms d'un serveur utilisables pour atteindre des +serveurs virtuels à base de nom</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerAlias</code> permet de définir + les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de + nom</a>. La directive <code class="directive">ServerAlias</code> peut + contenir des caractères génériques, si nécessaire.</p> + + <pre class="prettyprint lang-config"><VirtualHost *:80> + ServerName server.example.com + ServerAlias server server2.example.com server2 + ServerAlias *.example.com + UseCanonicalName Off + # ... +</VirtualHost></pre> + + <p>La recherche du serveur virtuel à base de nom correspondant au + plus près à la requête s'effectue selon l'ordre d'apparition des + directives <code class="directive"><a href="#virtualhost"><virtualhost></a></code> dans le fichier de + configuration. Le premier serveur virtuel dont le <code class="directive"><a href="#servername">ServerName</a></code> ou le <code class="directive"><a href="#serveralias">ServerAlias</a></code> correspond est choisi, sans + priorité particulière si le nom contient des caractères génériques + (que ce soit pour ServerName ou ServerAlias).</p> + + <p>Tous les noms spécifiés au sein d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> sont traités comme un + <code class="directive">ServerAlias</code> (sans caractères génériques).</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/">Documentation sur les serveurs virtuels +du serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="servername" id="servername">Directive</a> <a name="ServerName" id="ServerName">ServerName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour +s'authentifier lui-même</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName +[<var>protocole</var>://]<var>nom-de-domaine</var>|<var>adresse-ip</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerName</code> permet de définir + les protocole, nom d'hôte et port d'une requête que le serveur + utilise pour s'authentifier lui-même.</p> + + <p>La directive <code class="directive">ServerName</code> permet (éventuellement en + conjonction avec la directive <code class="directive"><a href="#serveralias">ServerAlias</a></code>) d'identifier de manière unique un + serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels à base de noms</a>.</p> + + <p>Cette directive est aussi utilisée lors de la création d'URLs de + redirection relatives quand la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> est définie à une valeur autre + que la valeur par défaut.</p> + + <p>Par exemple, si le nom de la + machine hébergeant le serveur web est + <code>simple.example.com</code>, la machine possède l'alias + DNS <code>www.example.com</code>, et si vous voulez que le serveur + web s'identifie avec cet alias, vous devez utilisez la définition + suivante :</p> + + <pre class="prettyprint lang-config">ServerName www.example.com</pre> + + + <p>La directive <code class="directive">ServerName</code> peut apparaître à + toutes les étapes de la définition du serveur. Toute occurrence + annule cependant la précédente (pour ce serveur).</p> + + <p>Si la directive <code class="directive">ServerName</code> n'est pas + définie, le serveur tente de déterminer le nom + d'hôte visible du point de vue du client en demandant tout d'abord au + système d'exploitation le nom d'hôte système, et en cas d'échec, en effectuant + une recherche DNS inverse sur une adresse IP présente sur le système.</p> + + <p>Si la directive + <code class="directive">ServerName</code> ne précise pas de port, le serveur + utilisera celui de la requête entrante. Il est recommandé de + spécifier un nom d'hôte et un port spécifiques à l'aide de la + directive <code class="directive">ServerName</code> pour une fiabilité + optimale et à titre préventif.</p> + + <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de + nom</a>, une directive <code class="directive">ServerName</code> située à + l'intérieur d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> spécifiera quel nom d'hôte + doit apparaître dans l'en-tête de requête <code>Host:</code> pour + pouvoir atteindre ce serveur virtuel.</p> + + + <p>Parfois, le serveur s'exécute en amont d'un dispositif qui + implémente SSL, comme un mandataire inverse, un répartiteur de + charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole + <code>https://</code> et le port auquel les clients se connectent + dans la directive <code class="directive">ServerName</code>, afin de + s'assurer que le serveur génère correctement ses URLs + d'auto-identification. + </p> + + <p>Voir la description des directives <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> pour les + définitions qui permettent de déterminer si les URLs + auto-identifiantes (par exemple via le module + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou + au port indiqué dans la requête du client. + </p> + + <div class="warning"> + <p>Si la valeur de la directive <code class="directive">ServerName</code> ne + peut pas être résolue en adresse IP, le démarrage du serveur + provoquera un avertissement. <code>httpd</code> va alors utiliser le + résultat de la commande système <code>hostname</code> pour + déterminer le nom du serveur, ce qui ne correspondra pratiquement + jamais au nom de serveur que vous souhaitez réellement.</p> + <div class="example"><p><code> + httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName + </code></p></div> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../dns-caveats.html">Problèmes concernant le DNS et +le serveur HTTP Apache</a></li> +<li><a href="../vhosts/">Documentation sur les serveurs virtuels +du serveur HTTP Apache</a></li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serverpath" id="serverpath">Directive</a> <a name="ServerPath" id="ServerPath">ServerPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base +de nom accédé par un navigateur incompatible</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerPath <var>chemin d'URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerPath</code> permet de définir + le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../vhosts/">Documentation sur les serveurs virtuels +du serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serverroot" id="serverroot">Directive</a> <a name="ServerRoot" id="ServerRoot">ServerRoot</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerRoot</code> permet de définir + le répertoire dans lequel le serveur est installé. En particulier, + il contiendra les sous-répertoires <code>conf/</code> et + <code>logs/</code>. Les chemins relatifs indiqués dans les autres + directives (comme <code class="directive"><a href="#include">Include</a></code> ou <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) seront définis par + rapport à ce répertoire.</p> + + <pre class="prettyprint lang-config">ServerRoot "/home/httpd"</pre> + + + <p>La valeur par défaut de <code class="directive">ServerRoot</code> peut + être modifiée via l'argument <code>--prefix</code> de la commande <a href="../programs/configure.html"><code>configure</code></a>, et de + nombreuses distributions tierces du serveur proposent une valeur + différente de celles listées ci-dessus.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../invoking.html">the <code>-d</code> + options de <code>httpd</code></a></li> +<li><a href="../misc/security_tips.html#serverroot">les conseils à +propos de sécurité</a> pour des informations sur la manière de définir +correctement les permissions sur le répertoire indiqué par la directive +<code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serversignature" id="serversignature">Directive</a> <a name="ServerSignature" id="ServerSignature">ServerSignature</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un pied de page pour les documents générés par le +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerSignature</code> permet de + définir une ligne de pied de page fixe pour les documents générés + par le serveur (messages d'erreur, listings de répertoires ftp de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, sorties de <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>, + etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a + souvent aucun moyen de déterminer lequel des mandataires chaînés a + généré un message d'erreur, et c'est une des raisons pour lesquelles + on peut être amené à ajouter un tel pied de page.</p> + + <p>La valeur par défaut <code>Off</code> supprime la ligne de pied + de page. la valeur <code>On</code> + ajoute simplement une ligne contenant le numéro de version du + serveur ainsi que le nom du serveur virtuel issu de la directive + <code class="directive"><a href="#servername">ServerName</a></code>, alors que la valeur + <code>EMail</code> ajoute en plus une référence "mailto:" à + l'administrateur du document référencé issu la directive + <code class="directive"><a href="#serveradmin">ServerAdmin</a></code>.</p> + + <p>Les détails à propos du numéro de + version du serveur sont contrôlés à l'aide de la directive + <code class="directive"><a href="#servertokens">ServerTokens</a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="servertokens" id="servertokens">Directive</a> <a name="ServerTokens" id="ServerTokens">ServerTokens</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse +HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de contrôler le contenu de l'en-tête + <code>Server</code> inclus dans la réponse envoyée au client : cet + en-tête peut contenir le type de système d'exploitation du serveur, + ainsi que des informations à propos des modules compilés avec le + serveur.</p> + + <dl> + <dt><code>ServerTokens Full</code> (ou non spécifié)</dt> + + <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2 + (Unix) PHP/4.2.2 MyMod/1.2</code></dd> + + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache</code></dd> + + <dt><code>ServerTokens Major</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2.4</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2.4.2</code></dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2.4.2 (Unix)</code></dd> + + + + </dl> + + <p>Cette définition s'applique à l'ensemble du serveur et ne peut + être activée ou désactivée pour tel ou tel serveur virtuel.</p> + + <p>Cette directive contrôle + aussi les informations fournies par la directive <code class="directive"><a href="#serversignature">ServerSignature</a></code>.</p> + + <div class="note">Définir <code class="directive">ServerTokens</code> à une + valeur inférieure à <code>minimal</code> n'est pas + recommandé car le débogage des problèmes + interopérationnels n'en sera alors que plus difficile. Notez + aussi que la désactivation de l'en-tête Server: + n'améliore en rien la sécurité de votre + serveur ; le concept de "sécurité par + l'obscurité" est un mythe et conduit à + une mauvaise perception de ce qu'est la sécurité.</div> + + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sethandler" id="sethandler">Directive</a> <a name="SetHandler" id="SetHandler">SetHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un +gestionnaire particulier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>handler-name</var>|none|<var>expression</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument expression est disponible à partir de la version +2.4.19 su serveur HTTP Apache</td></tr> +</table> + <p>Lorsqu'elle se situe à l'intérieur d'un fichier + <code>.htaccess</code>, ou d'une section <code class="directive"><a href="#directory"><Directory></a></code> ou <code class="directive"><a href="#location"><Location></a></code>, cette directive force le + traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument + <var>nom gestionnaire</var>. Par exemple, dans le cas d'un + répertoire dont vous voulez interpréter le contenu comme des + fichiers de règles d'images cliquables, sans tenir compte des + extensions, vous pouvez ajouter la ligne suivante dans un fichier + <code>.htaccess</code> de ce répertoire :</p> + + <pre class="prettyprint lang-config">SetHandler imap-file</pre> + + + <p>Autre exemple : si vous voulez que le serveur affiche un + compte-rendu d'état chaque fois qu'une URL du type <code>http://nom + serveur/status</code> est appelée, vous pouvez ajouter ceci dans + <code>httpd.conf</code> :</p> + + <pre class="prettyprint lang-config"><Location "/status"> + SetHandler server-status +</Location></pre> + + + <p>Vous pouvez aussi utiliser cette directive pour associer un + gestionnaire à des fichiers possèdant une extension de nom de + fichier particulière. Par exemple :</p> + + <pre class="prettyprint lang-config"><FilesMatch "\.php$"> + SetHandler application/x-httpd-php +</FilesMatch></pre> + + + <p>Pour référencer des variables spécifiques à une requête, y compris les + références arrières vers des expressions rationnelles nommées, vous pouvez + utiliser des expressions ayant pour valeur une chaîne : </p> + + <pre class="prettyprint lang-config"><LocationMatch ^/app/(?<sub>[^/]+)/> + SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080" +</LocationMatch></pre> + + + <p>Vous pouvez écraser la définition antérieure d'une directive + <code class="directive">SetHandler</code> en utilisant la valeur + <code>None</code>.</p> + + <div class="note"><h3>Note</h3> + <p>Comme <code class="directive">SetHandler</code> l'emporte sur la + définition des gestionnaires par défaut, le comportement habituel + consistant à traiter les URLs se terminant par un slash (/) comme + des répertoires ou des fichiers index est désactivé.</p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setinputfilter" id="setinputfilter">Directive</a> <a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes +client et les données POST</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">SetInputFilter</code> permet de + définir le ou les filtres par lesquels vont passer les requêtes + client et les données POST au moment où le serveur les reçoit. Cette + définition vient en ajout à tout autre filtre défini en + quelqu'endroit que ce soit, y compris via la directive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p> + + <p>Si la directive comporte plusieurs filtres, ils doivent être + séparés par des points-virgules, et spécifiés selon l'ordre dans + lequel vous souhaitez les voir agir sur les contenus.</p> + +<h3>Voir aussi</h3> +<ul> +<li>documentation des <a href="../filter.html">Filtres</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setoutputfilter" id="setoutputfilter">Directive</a> <a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses +du serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">SetOutputFilter</code> permet de + définir les filtres par lesquels vont passer les réponses du serveur + avant d'être envoyées au client. Cette définition vient en ajout à + tout autre filtre défini en quelqu'endroit que ce soit, y compris + via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p> + + <p>Par exemple, la configuration suivante va traiter tous les + fichiers du répertoire <code>/www/data/</code> comme des inclusions + côté serveur (SSI) :</p> + + <pre class="prettyprint lang-config"><Directory "/www/data/"> + SetOutputFilter INCLUDES +</Directory></pre> + + + <p>Si la directive comporte plusieurs filtres, ils doivent être + séparés par des points-virgules, et spécifiés selon l'ordre dans + lequel vous souhaitez les voir agir sur les contenus.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../filter.html">Filters</a> documentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="stricthostcheck" id="stricthostcheck">Directive</a> <a name="StrictHostCheck" id="StrictHostCheck">StrictHostCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le nom d'hôte contenu dans une requête doit être +explicitement spécifié au niveau du serveur virtuel qui a pris en compte cette +dernière. + </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StrictHostCheck ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>StrictHostCheck OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.49 du serveur HTTP Apache.</td></tr> +</table> + <p>Par défaut, le serveur répond aux requêtes quel que soit le nom d'hôte + qu'elles contiennent, y compris un nom d'hôte non prévu dans la + configuration. Bien que cela soit pratique, il peut s'avérer souhaitable de + restreindre les noms d'hôte qu'une application sous-jacente devra prendre en + compte car elle va souvent générer des réponses en se référençant elle-même.</p> + + <p>Si la directive <code class="directive">StrictHostCheck</code> est définie à + <em>ON</em>, le serveur générera une erreur HTTP 400 si le nom d'hôte que + contient la requête n'a pas été explicitement spécifié par une directive + <code class="directive"><a href="#servername">ServerName</a></code> ou <code class="directive"><a href="#serveralias">ServerAlias</a></code> au niveau du serveur virtuel qui + correspond le mieux aux caractéristiques de la connexion entrante.</p> + + <p>Cette directive permet aussi de rechercher une correspondance entre le nom + d'hôte de la requête et les noms d'hôte spécifiés au sein de la balise + ouvrante <code class="directive"><a href="#virtualhost">VirtualHost</a></code>. Il s'agit + cependant d'un mécanisme de configuration relativement obscur qui agit comme + une directive <code class="directive"><a href="#serveralias">ServerAlias</a></code> + supplémentaire.</p> + + <p>Cette directive n'a aucun effet dans les serveurs virtuels qui ne sont pas + des serveurs par défaut. La valeur héritée de la configuration globale du + serveur ou le serveur virtuel par défaut pour l'adresse IP/port de la + connexion sous-jacente déterminent la valeur effective.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="timeout" id="timeout">Directive</a> <a name="TimeOut" id="TimeOut">TimeOut</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps pendant lequel le serveur va attendre certains +évènements avant de considérer qu'une requête a échoué</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TimeOut <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">TimeOut</code> permet de définir le + temps maximum pendant lequel Apache httpd va attendre des entrées/sorties + selon les circonstances :</p> + + <ul> + <li><p>Lors de la lecture de données en provenance du client, le + temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est + vide.</p> + <p>Pour les données initiales d'une nouvelle connexion, et tant qu'une + directive <code class="directive"><a href="#acceptfilter">AcceptFilter</a></code> n'aura pas + transmis cette nouvelle connexion au serveur, cette directive n'aura aucun + effet.</p> + </li> + + <li>Lors de l'écriture de données destinées au client, le temps + maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le + tampon d'envoi est plein.</li> + + <li>Avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> et <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, le temps + d'attente maximum pour un bloc individuel en sortie d'un script CGI.</li> + + <li>Avec <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, le temps d'attente + maximum des sorties d'un processus de filtrage.</li> + + <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut + si <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'est + pas défini.</li> + </ul> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="traceenable" id="traceenable">Directive</a> <a name="TraceEnable" id="TraceEnable">TraceEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes +<code>TRACE</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive l'emporte sur le comportement de + <code>TRACE</code> pour le noyau du serveur et + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut + <code>TraceEnable on</code> permet des requêtes <code>TRACE</code> + selon la RFC 2616, qui interdit d'ajouter tout corps à la requête. + La définition <code>TraceEnable off</code> indique au noyau du + serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code + d'erreur <code>405</code> (Méthode non autorisée) au client.</p> + + <p>En fait, et à des fins de test et de diagnostic seulement, on + peut autoriser l'ajout d'un corps de requête à l'aide de la + définition non standard <code>TraceEnable extended</code>. Le noyau + du serveur (dans le cas d'un serveur d'origine) va limiter la taille + du corps de requête à 64Kb (plus 8Kb pour les en-têtes de + fractionnement si <code>Transfer-Encoding: chunked</code> est + utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes, + y compris les en-têtes de fractionnement avec le corps de la + réponse. Dans le cas d'un serveur mandataire, la taille du corps de + requête n'est pas limitée à 64Kb.</p> + + <div class="note"><h3>Note</h3> + <p>Bien que certains prétendent le contraire, activer la méthode + <code>TRACE</code> ne constitue pas un problème de sécurité dans Apache + httpd. La méthode <code>TRACE</code> est définie par la spécification + HTTP/1.1 et les différentes implémentations sont censées la supporter.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="undefine" id="undefine">Directive</a> <a name="UnDefine" id="UnDefine">UnDefine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Invalide la définition d'une variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UnDefine <var>nom-variable</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Annule l'effet d'une directive <code class="directive"><a href="#define">Define</a></code> ou d'un argument <code>-D</code> de + <code class="program"><a href="../programs/httpd.html">httpd</a></code> en invalidant l'existence de la variable + correspondante.</p> + <p>On peut utiliser cette directive pour inverser l'effet d'une + section <code class="directive"><a href="#ifdefine"><IfDefine></a></code> + sans avoir à modifier les arguments <code>-D</code> dans les scripts + de démarrage.</p> + + <p>Afin d'éviter tout risque de collision avec la syntaxe de la directive + <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>, les noms de + variables ne doivent pas contenir de caractère ":".</p> + + <div class="note"><h3>Piège de la portée de cette directive</h3> + <p>Si cette directive est définie au sein d'un bloc VirtualHost, les + changements qu'elle induit sont visibles de toute directive + ultérieure, au delà de tout bloc VirtualHost.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#define">Define</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="usecanonicalname" id="usecanonicalname">Directive</a> <a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom +et son port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Dans de nombreuses situations, Apache httpd doit construire une URL + <em>auto-identifiante</em> -- c'est à dire une URL qui fait + référence au serveur lui-même. Avec <code>UseCanonicalName + On</code>, Apache httpd va utiliser le nom d'hôte et le port spécifiés par + la directive <code class="directive"><a href="#servername">ServerName</a></code> pour + construire le nom canonique du serveur. Ce nom est utilisé dans + toutes les URLs auto-identifiantes, et affecté aux variables + <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les + programmes CGI.</p> + + <p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses + URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis + par le client, si ce dernier en a fourni un (dans la négative, + Apache utilisera le nom canonique, de la même manière que + ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées + pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels à base de + nom</a>, et sont disponibles avec les mêmes clients. De même, les + variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code> + seront affectées des valeurs fournies par le client.</p> + + <p>Cette directive peut s'avérer utile, par exemple, sur un serveur + intranet auquel les utilisateurs se connectent en utilisant des noms + courts tels que <code>www</code>. Si les utilisateurs tapent un nom + court suivi d'une URL qui fait référence à un répertoire, comme + <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous + remarquerez qu'Apache httpd va les rediriger vers + <code>http://www.example.com/splat/</code>. Si vous avez activé + l'authentification, ceci va obliger l'utilisateur à s'authentifier + deux fois (une première fois pour <code>www</code> et une seconde + fois pour <code>www.example.com</code> -- voir <a href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la + foire aux questions sur ce sujet pour plus d'informations</a>). + Par contre, si <code class="directive">UseCanonicalName</code> est définie à + <code>Off</code>, Apache httpd redirigera l'utilisateur vers + <code>http://www/splat/</code>.</p> + + <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on + utilise une troisième option, <code>UseCanonicalName + DNS</code>, pour supporter les clients anciens qui ne + fournissent pas d'en-tête <code>Host:</code>. Apache httpd effectue alors + une recherche DNS inverse sur l'adresse IP du serveur auquel le + client s'est connecté afin de construire ses URLs + auto-identifiantes.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Les programmes CGI risquent d'être perturbés par cette option + s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le + client est pratiquement libre de fournir la valeur qu'il veut comme + nom d'hôte. Mais si le programme CGI n'utilise + <code>SERVER_NAME</code> que pour construire des URLs + auto-identifiantes, il ne devrait pas y avoir de problème.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a> <a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur +détermine son propre port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Dans de nombreuses situations, Apache httpd doit construire une URL + <em>auto-identifiante</em> -- c'est à dire une URL qui fait + référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort + On</code>, Apache httpd va fournir le numéro de port physique réel utilisé + par la requête en tant que port potentiel, pour construire le port + canonique afin que le serveur puisse alimenter la directive + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>. Avec + <code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le + numéro de port physique réel, mais au contraire se référera aux + informations de configuration pour construire un numéro de port + valide.</p> + + <div class="note"><h3>Note</h3> + <p>L'ordre dans lequel s'effectue la recherche quand on utilise le + port physique est le suivant :</p> + <dl> + <dt><code>UseCanonicalName On</code></dt> + <dd> + <ol> + <li>Port indiqué dans <code class="directive"><a href="#servername">Servername</a></code></li> + <li>Port physique</li> + <li>Port par défaut</li> + </ol> + </dd> + <dt><code>UseCanonicalName Off | DNS</code></dt> + <dd> + <ol> + <li>Port spécifié dans l'en-tête <code>Host:</code></li> + <li>Port physique</li> + <li>Port spécifié par <code class="directive"><a href="#servername">Servername</a></code></li> + <li>Port par défaut</li> + </ol> + </dd> + </dl> + + <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend + l'ordre ci-dessus en supprimant "Port physique".</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="virtualhost" id="virtualhost">Directive</a> <a name="VirtualHost" id="VirtualHost"><VirtualHost></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom +d'hôte spécifique ou à une adresse IP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><VirtualHost + <var>adresse IP</var>[:<var>port</var>] [<var>adresse + IP</var>[:<var>port</var>]] ...> ... + </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les balises <code class="directive"><VirtualHost></code> et + <code></VirtualHost></code> permettent de rassembler un groupe + de directives qui ne s'appliquent qu'à un serveur virtuel + particulier. Toute directive autorisée dans un contexte de serveur + virtuel peut être utilisée. Lorsque le serveur reçoit un requête + pour un document hébergé par un serveur virtuel particulier, il + applique les directives de configuration rassemblées dans la section + <code class="directive"><VirtualHost></code>. <var>adresse + IP</var> peut être une des entités suivantes, éventuellement suivies + d'un caractère ':' et d'un numéro de port (ou *) :</p> + + <ul> + <li>L'adresse IP du serveur virtuel ;</li> + + <li>Un nom de domaine entièrement qualifié correspondant à + l'adresse IP du serveur virtuel (non recommandé) ;</li> + + <li>Le caractère <code>*</code>, qui agit comme un + caractère générique, et correspond à toute adresse IP.</li> + + <li>La chaîne <code>_default_</code>, dont la signification est + identique à celle du caractère <code>*</code></li> + + </ul> + + <pre class="prettyprint lang-config"><VirtualHost 10.1.2.3:80> + ServerAdmin webmaster@host.example.com + DocumentRoot "/www/docs/host.example.com" + ServerName host.example.com + ErrorLog "logs/host.example.com-error_log" + TransferLog "logs/host.example.com-access_log" +</VirtualHost></pre> + + + + <p>Les adresses IPv6 doivent être entourées de crochets car dans le + cas contraire, un éventuel port optionnel ne pourrait pas être + déterminé. Voici un exemple de serveur virtuel avec adresse IPv6 + :</p> + + <pre class="prettyprint lang-config"><VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80> + ServerAdmin webmaster@host.example.com + DocumentRoot "/www/docs/host.example.com" + ServerName host.example.com + ErrorLog "logs/host.example.com-error_log" + TransferLog "logs/host.example.com-access_log" +</VirtualHost></pre> + + + <p>Chaque serveur virtuel doit correspondre à une adresse IP, un + port ou un nom d'hôte spécifique ; dans le premier cas, le serveur + doit être configuré pour recevoir les paquets IP de plusieurs + adresses (si le serveur n'a qu'une interface réseau, on peut + utiliser à cet effet la commande <code>ifconfig alias</code> -- si + votre système d'exploitation le permet).</p> + + <div class="note"><h3>Note</h3> + <p>L'utilisation de la directive <code class="directive"><VirtualHost></code> n'affecte en rien les + adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous + assurer que les adresses des serveurs virtuels sont bien incluses + dans la liste des adresses précisées par la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + </div> + + <p>Tout bloc <code class="directive"><VirtualHost></code> doit comporter une directive + <code class="directive"><a href="#servername">ServerName</a></code>. Dans le cas + contraire, le serveur virtuel héritera de la valeur de la directive + <code class="directive"><a href="#servername">ServerName</a></code> issue de la + configuration du serveur principal.</p> + + <p>A l'arrivée d'une requête, le serveur tente de la + faire prendre en compte par la section <code class="directive"><VirtualHost></code> qui correspond le mieux en ne + se basant que sur la paire adresse IP/port. Les chaînes sans + caractères génériques l'emportent sur celles qui en contiennent. Si + aucune correspondance du point de vue de l'adresse IP/port n'est + trouvée, c'est la configuration du serveur "principal" qui sera + utilisée.</p> + + <p>Si plusieurs serveurs virtuels correspondent du point de vue de + l'adresse IP/port, le serveur sélectionne celui qui correspond le + mieux du point de vue du nom d'hôte de la requête. Si aucune + correspondance du point de vue du nom d'hôte n'est trouvée, c'est le + premier serveur virtuel dont l'adresse IP/port correspond qui sera + utilisé. Par voie de conséquence, le premier serveur virtuel + comportant une certaine paire adresse IP/port est le serveur virtuel + par défaut pour cette paire adresse IP/port.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de sécurité</a> + pour une description détaillée des raisons pour lesquelles la + sécurité de votre serveur pourrait être compromise, si le répertoire + contenant les fichiers journaux est inscriptible par tout autre + utilisateur que celui qui démarre le serveur.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../vhosts/">Documentation des serveurs virtuels +du serveur HTTP Apache</a></li> +<li><a href="../dns-caveats.html">Problèmes concernant le DNS et +le serveur HTTP Apache</a></li> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise le serveur HTTP Apache</a></li> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/core.html.ja.utf8 b/docs/manual/mod/core.html.ja.utf8 new file mode 100644 index 0000000..8c1be70 --- /dev/null +++ b/docs/manual/mod/core.html.ja.utf8 @@ -0,0 +1,3825 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache コア機能</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>常に使用可能な Apache HTTP サーバのコア機能</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Core</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergeslashes">MergeSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readbuffersize">ReadBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stricthostcheck">StrictHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロトコルを Listen しているソケットの最適化を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AcceptFilter <var>protocol</var> <var>accept_filter</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.1.5 以降</td></tr> +</table> + <p>Listen しているソケットに対して、OS が固有に持っているプロトコルについての最適化を + 有効にするディレクティブです。大前提となる条件は、データが受信されるか + HTTP リクエスト全体がバッファされるかするまで、カーネルがサーバプロセスに + ソケットを送らないようになっている、ということです。現在サポートされているのは、 + <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9"> + FreeBSD の Accept Filter</a> と Linux のプリミティブな + <code>TCP_DEFER_ACCEPT</code> のみです。</p> + + <p>FreeBSD のデフォルト値は :</p> + <div class="example"><p><code> + AcceptFilter http httpready <br /> + AcceptFilter https dataready + </code></p></div> + + <p><code>httpready</code> Accept Filter は HTTP リクエスト全体を、 + カーネルレベルでバッファリングします。リクエスト全体を受信し終わると、 + その後サーバプロセスにそれを送ります。詳細については <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9">accf_http(9)</a> + を参照してください。HTTPS のリクエストは暗号化されているので <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9">accf_data(9)</a> + フィルタのみが使用されます。</p> + + <p>Linux でのデフォルト値は :</p> + <div class="example"><p><code> + AcceptFilter http data <br /> + AcceptFilter https data + </code></p></div> + + <p>Linux の <code>TCP_DEFER_ACCEPT</code> は HTTP リクエストのバッファリングを + サポートしていません。<code>none</code> 以外の値で + <code>TCP_DEFER_ACCEPT</code> が有効になります。詳細については Linux + man ページ <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html">tcp(7)</a> + を参照してください。</p> + + <p>引数に <code>none</code> を指定すると、プロトコルに対する全ての Accept + Filter が無効になります。<code>nntp</code> といった、先にサーバにデータを + 送る必要のあるプロトコルに有効です :</p> + <div class="example"><p><code>AcceptFilter nntp none</code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>後に続くパス名情報を受け付けるリソースの指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.30 以降で使用可能</td></tr> +</table> + + <p>このディレクティブは実際のファイル名 (もしくは存在するディレクトリの + 存在しないファイル) の後に続くパス名情報があるリクエストを受け付けるか + 拒否するかを制御します。続きのパス名情報はスクリプトには <code>PATH_INFO</code> + 環境変数として利用可能になります。</p> + + <p>例えば、<code>/test/</code> が、<code>here.html</code> というファイル + 一つのみがあるディレクトリを指しているとします。そうすると、 + <code>/test/here.html/more</code> と <code>/test/nothere.html/more</code> + へのリクエストは両方とも <code>/more</code> を <code>PATH_INFO</code> とします。</p> + + <p><code class="directive">AcceptPathInfo</code> ディレクティブに指定可能な + 三つの引数は:</p> + + <dl> + <dt><code>Off</code></dt><dd>リクエストは存在するパスにそのまま + マップされる場合にのみ受け付けられます。ですから、上の例の + <code>/test/here.html/more</code> のように、本当のファイル名の + 後にパス名情報が続くリクエストには 404 NOT FOUND エラーが返ります。</dd> + + <dt><code>On</code></dt><dd>前の方のパスが存在するファイルにマップする場合は + リクエストが受け付けられます。上の例の <code>/test/here.html/more</code> + は <code>/test/here.html</code> が有効なファイルにマップすれば + 受け付けられます。</dd> + + <dt><code>Default</code></dt><dd>続きのパス名情報の扱いはリクエストの + <a href="../handler.html">ハンドラ</a>で決まります。 + 普通のファイルのためのコアハンドラのデフォルトは <code>PATH_INFO</code> を拒否します。 + <a href="mod_cgi.html">cgi-script</a> や <a href="mod_isapi.html">isapi-handler</a> のようにスクリプトを扱うハンドラは + 一般的にデフォルトで <code>PATH_INFO</code> を受け付けます。</dd> + </dl> + + <p><code>AcceptPathInfo</code> の主な目的はハンドラの <code>PATH_INFO</code> を + 受け付けるか拒否するかの選択を上書きできるようにすることです。 + 例えば、これは例えば <a href="mod_include.html">INCLUDES</a> のような + <a href="../filter.html">フィルタ</a>を使って <code>PATH_INFO</code> に + 基づいてコンテンツを生成しているときに必要になります。 + コアハンドラでは通常拒否されるので、そういったスクリプトを動作させるには + 次のような設定を使います。</p> + + <div class="example"><p><code> + <Files "mypaths.shtml"><br /> + <span class="indent"> + Options +Includes<br /> + SetOutputFilter INCLUDES<br /> + AcceptPathInfo On<br /> + </span> + </Files> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>分散設定ファイルの名前</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AccessFileName <var>filename</var> [<var>filename</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>リクエストを処理するとき、サーバはディレクトリに + 対して分散設定ファイルが<a href="#allowoverride">有効になっていれば</a>、 + そのドキュメントへの + パス上にある全てのディレクトリから、ここで指定された名前の一覧の中で + 最初に見つかったファイルをそれぞれ設定ファイルとして読み込みます。例えば:</p> + + <div class="example"><p><code> + AccessFileName .acl + </code></p></div> + + <p>という設定があると、以下のようにして無効にされていない限り、 + ドキュメント <code>/usr/local/web/index.html</code> + を返す前に、サーバは <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code>, <code>/usr/local/web/.acl</code> から + ディレクティブを読み込みます。</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory> + </code></p></div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">設定ファイル</a></li> +<li><a href="../howto/htaccess.html">.htaccess ファイル</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>レスポンスのコンテントタイプが <code>text/plain</code> あるいは +<code>text/html</code> の場合に追加するデフォルトの charset パラメータ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddDefaultCharset On|Off|<var>charset</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>レスポンスのコンテントタイプが <code>text/plain</code> + あるいは <code>text/html</code> + の場合に限りますが、レスポンスに追加するメディアタイプの文字セットパラメータ + (文字エンコーディングの名前) のデフォルト値を、このディレクティブで指定します。 + これはレスポンス <span class="transnote">(<em>訳注:</em> レスポンスの HTML)</span> 内で <code>META</code> + 要素で指定された、どのような文字セットも無効にしますが、 + 最終的な挙動はユーザのクライアント側の設定で決まります。 + この機能は <code>AddDefaultCharset Off</code> という設定で無効になります。 + <code>AddDefaultCharset On</code> にすれば、 + Apache 内部のデフォルト文字セット <code>iso-8859-1</code> に設定されます。 + その他 <var>charset</var> に指定できる値であれば、どんな値でも使えます。 + 指定する値は、MIME メディアタイプとして使われる + <a href="http://www.iana.org/assignments/character-sets">IANA + に登録されている文字セット名</a>のうちの一つにすべきです。 + 例えば:</p> + + <div class="example"><p><code> + AddDefaultCharset utf-8 + </code></p></div> + + <p><code class="directive">AddDefaultCharset</code> を使うときは、全てのテキストリソースが + 指定する文字エンコードになっていると分かっていて、かつ、 + リソースの個々に文字セットを指定するのが大変な場合のみです。 + 例を挙げると、レガシーな CGI スクリプトなどの、動的に生成される + コンテンツを含むリソースに文字セットパラメータを追加する場合で、 + ユーザの入力データが出力に入り、クロスサイトスクリプティングが + 引き起こされうる場合です。デフォルト文字セットをセットしたとしても、 + ブラウザの "文字エンコードの自動選択" 機能が有効になっているユーザを + 守ることにはならないので、もちろんより良い解決策は単にスクリプトを修正 + (あるいは削除) することです。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>URL 中の符号化されたパス分離文字が先に伝えられるのを許可するかどうかを +決定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.46 以降で使用可能</td></tr> +</table> + <p><code class="directive">AllowEncodedSlashes</code> ディレクティブは符号化された + パス分離文字 (<code>/</code> は <code>%2F</code>、さらにシステムによっては + <code>\</code> に対応する <code>%5C</code>) が存在する URL の使用を + 許可するかどうかを決定します。通常はそのような URL は 404 (Not found) エラー + で拒否されます。</p> + + <p><code class="directive">AllowEncodedSlashes</code> <code>On</code> による + パス分離文字の使用は、<code>PATH_INFO</code> と合わせて + 使うときに一番役に立ちます。</p> + + <div class="note"><h3>注</h3> + <p>符号化されたスラッシュを許可することは、<em>復号</em>をすることを + 意味<em>しません</em>。<code>%2F</code> や (関係するシステムでの) + <code>%5C</code> は、他の部分が復号された URL の中でもそのままの形式で + 残されます。</p> + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>.htaccess</code> で許可されるディレクティブの種類</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowOverride All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>サーバが (<code class="directive"><a href="#accessfilename">AccessFileName</a></code> によって指定された) + <code>.htaccess</code> ファイルを見つけた時、そのファイルの中で + 宣言されたどのディレクティブがより前に定義された設定ディレクティブを + 上書きできるかを知る必要があります。</p> + + <div class="note"><h3><Directory> セクションでのみ使用可能</h3> + <code class="directive">AllowOverride</code> は正規表現無しの<code class="directive"><a href="#directory"><Directory></a></code> + セクションでのみ有効で、<code class="directive"><a href="#location"><Location></a></code> や <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> + や <code class="directive"><a href="#files"><Files></a></code> セクションでは無効です。 + </div> + + <p>このディレクティブを <code>None</code> に設定すると、<a href="#accessfilename">.htaccess</a> ファイルは完全に + 無視されます。 + この場合、サーバはファイルシステムの <code>.htaccess</code> ファイルを読むことを + 試みさえしません。</p> + + <p>このディレクティブが <code>All</code> に設定されている時には、 + <code>.htaccess</code> という <a href="directive-dict.html#Context">コンテキスト</a> を持つ + 全てのディレクティブが利用できます。</p> + + <p><var>directive-type</var> には、以下のディレクティブ群の + キーワードのどれかを指定します。</p> + + <dl> + <dt>AuthConfig</dt> + + <dd> + + 認証に関するディレクティブの使用を許可する (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> <em>など</em>)。</dd> + + <dt>FileInfo</dt> + + <dd> + ドキュメントタイプを制御するためのディレクティブの使用を許可する (<code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> の Add* と Remove* + ディレクティブ<em>など</em>), + ドキュメントのメタデータ (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> のディレクティブ <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) と + <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code> の + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> + ディレクティブ。 + </dd> + + <dt>Indexes</dt> + + <dd> + ディレクトリインデックスを制御するためのディレクティブの使用を許可する + (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code> + <em>など</em>)。</dd> + + <dt>Limit</dt> + + <dd> + ホストへのアクセス制御を行うためのディレクティブの使用を許可する (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd> + + <dt>Options[=<var>Option</var>,...]</dt> + + <dd> + 特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可する + (<code class="directive"><a href="#options">Options</a></code> と + <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>)。 + <code class="directive"><a href="#options">Options</a></code> で設定するオプション + を、(空白を含めない) コンマ区切りのリストにして等号の後に続けることで + 設定できます。</dd> + </dl> + + <p>例:</p> + + <div class="example"><p><code> + AllowOverride AuthConfig Indexes + </code></p></div> + + <p>上の例では <code>AuthConfig</code> と <code>Indexes</code> のどちらにも + 属さないディレクティブはすべて内部サーバエラーを引き起こします。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><a href="../configuring.html">設定ファイル</a></li> +<li><a href="../howto/htaccess.html">.htaccess ファイル</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a> <a name="allowoverridelist" id="allowoverridelist">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowOverrideList None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Configuration Files</a></li> +<li><a href="../howto/htaccess.html">.htaccess Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI スクリプトのインタープリタの位置を調べるための手法</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CGIMapExtension <var>cgi-path</var> <var>.extension</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>NetWare のみ</td></tr> +</table> + <p>このディレクティブは Apache が CGI スクリプトを実行するための + インタープリタを探す方法を制御します。 + 例えば、<code>CGIMapExtension sys:\foo.nlm .foo</code> と設定すると + <code>.foo</code> という拡張子のすべての CGI スクリプトは FOO インタープリタに + 渡されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a> <a name="cgipassauth" id="cgipassauth">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CGIPassAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CGIPassAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.4.13 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIVar" id="CGIVar">CGIVar</a> <a name="cgivar" id="cgivar">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls how some CGI variables are set</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.4.21 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>Content-MD5</code> HTTP 応答ヘッダの生成を有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは、RFC1864 及び RFC2616 において定義されている + <code>Content-MD5</code> ヘッダーの生成を有効にします。</p> + + <p>MD5 は、任意長のデータの「メッセージダイジェスト」(「指紋」 + と表現されることもある) を計算するアルゴリズムで、 + データの変更があった場合には非常に高い信頼度でメッセージダイジェストに変更が + 反映されます。</p> + + <p><code>Content-MD5</code> ヘッダは、エンドツーエンドで + エンティティボディーに含まれるメッセージの完全性チェック + (Message Integrity Check - MIC)を提供します。 + このヘッダを調べることで、プロキシやクライアントは、 + 途中経路におけるエンティティボディの予期せぬ変更などを + 検出することができます。ヘッダの例:</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>リクエスト毎にメッセージダイジェストを計算する (値はキャッシュされません) + ことから、 + サーバパフォーマンスが低下することについて注意してください。</p> + + <p><code>Content-MD5</code>は、<code class="module"><a href="../mod/core.html">core</a></code> 機能により処理された + ドキュメントを送るときのみ有効であり、 + SSI ドキュメントや CGI スクリプトの出力、バイトレンジを指定した + 応答の場合にはこのヘッダは付与されません。 + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a> <a name="defaultruntimedir" id="defaultruntimedir">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Base directory for the server run-time files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DefaultRuntimeDir <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache 2.4.2 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><a href="../misc/security_tips.html#serverroot">the + security tips</a> for information on how to properly set + permissions on the <code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがコンテントタイプを決定できないときに +送られる MIME コンテントタイプ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DefaultType <var>MIME-type|none</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DefaultType text/plain</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>引数 <code>none</code> は Apache 2.2.7 以降で利用可能</td></tr> +</table> + <p>サーバは、<a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> + のマップからは決定できないドキュメントの送信を要求されることがあります。</p> + + <p>サーバは、ドキュメントのコンテントタイプをクライアントに通知するべきです。 + サーバで通常の方法ではこれが判定できない場合は、 + <code>DefaultType</code> で指定されたタイプを利用します。 + 例:</p> + + <div class="example"><p><code> + DefaultType image/gif + </code></p></div> + + <p>これは <code>.gif</code> という拡張子がファイル名に含まれていない + 多くの GIF 画像が含まれているディレクトリに適しているでしょう。</p> + + <p>サーバでも管理者でも判定することができない (例えばプロクシの) 場合、 + 誤った情報を与えるよりは MIME タイプの指定がない状態が望ましいことも + あります。この場合は次のようにします :</p> + <div class="example"><p><code> + DefaultType None + </code></p></div> + <p><code>DefaultType None</code> は httpd-2.2.7 + 以降でのみ利用できます。</p> + + <p><code class="directive"><a href="#forcetype">ForceType</a></code> ディレクティブと + 違って、このディレクティブはデフォルトの MIME タイプを提供するだけで + あることに注意してください。ファイル名の拡張子を含め、 + メディアタイプを決定できる他の MIME タイプの定義があれば + このデフォルトは上書きされます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Define" id="Define">Define</a> <a name="define" id="define">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>変数の存在を宣言する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Define <var>parameter-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="program"><a href="../programs/httpd.html">httpd</a></code> の <code>-D</code> + 引数と同じものです。</p> + <p>このディレクティブを使うと、スタートアップスクリプトに + 記載されている <code>-D</code> 引数を書き換える必要なく、 + <code class="directive"><a href="#ifdefine"><IfDefine></a></code> + セクションを切り替えることができます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>指定のファイルシステムのディレクトリとサブディレクトリとのみに +適用されるディレクティブを囲む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Directory <var>directory-path</var>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>指定されたディレクトリとそのサブディレクトリにのみ + ディレクティブを適用させるためには、 + <code class="directive"><Directory></code> と + <code></Directory></code> を対として、ディレクティブ群を囲います。 + その中には、ディレクトリコンテキストで許可された全てのディレクティブを + 利用できます。 + <var>directive-path</var> は、フルパスもしくは Unix のシェル形式の + ワイルドカードを指定します。 + <code>?</code> は任意の 1 文字、<code>*</code> は任意の文字列にマッチします。 + シェルにおける指定同様、文字の範囲を <code>[]</code> で指定できます。 + ワイルドカードは `/' 文字にはマッチしませんので、 + <code>/home/user/public_html</code> には + <code><Directory /*/public_html></code> はマッチしませんが、 + <code><Directory /home/*/public_html></code> はマッチします。 + 例:</p> + + <div class="example"><p><code> + <Directory /usr/local/httpd/htdocs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory> + </code></p></div> + + <div class="note"> + <p><var>directory-path</var> 引数には注意してください: その引数は + Apache がファイルをアクセスするために使うファイルシステムのパスに + そのままマッチする必要があります。ある <code><Directory></code> に + 適用されるディレクティブは、別のシンボリックリンクをたどったりして + 同じディレクトリを違うパスでアクセスした場合には適用されません。</p> + </div> + + <p><code>~</code> という文字を + 付加することで<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>を利用することもできます。 + 例えば:</p> + + <div class="example"><p><code> + <Directory ~ "^/www/.*/[0-9]{3}"> + </code></p></div> + + <p>といった指定の場合、<code>/www/</code> 以下にある数字 + 3 文字のディレクトリにマッチします。</p> + + <p>もし複数の (正規表現以外の) <code class="directive"><Directory></code>セクションが + ドキュメントを含むディレクトリ (やその上位ディレクトリのどれか) とマッチしたならば、 + <a href="#accessfilename">.htaccess</a> ファイルのディレクティブも読み込みつつ、 + 短いパスから順に適用されます。 + 例えば、</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory><br /> + <br /> + <Directory /home/><br /> + <span class="indent"> + AllowOverride FileInfo<br /> + </span> + </Directory> + </code></p></div> + + <p>と設定し、ドキュメント <code>/home/web/dir/doc.html</code> への + アクセスがあった場合には以下のように動作します:</p> + + <ul> + <li><code>AllowOverride None</code> が適用される。 + (<code>.htaccess</code> ファイルは無効になる)</li> + + <li><code>AllowOverride FileInfo</code> が適用される + (<code>/home</code> ディレクトリに対して)。</li> + + <li><code>/home/.htaccess</code>, <code>/home/web/.htaccess</code>, + <code>/home/web/dir/.htaccess</code> の順にそれらのファイル中の + FileInfo ディレクティブが適用される。</li> + </ul> + + <p>正規表現は、通常のセクションがすべて適用されるまで + 考慮されません。 + その後、全ての正規表現が設定ファイルに現れた順で試されます。 + 例えば、以下のような場合に</p> + + <div class="example"><p><code> + <Directory ~ abc$><br /> + <span class="indent"> + # ... directives here ...<br /> + </span> + </Directory> + </code></p></div> + + <p>正規表現のセクションはすべての通常の <code class="directive"><Directory></code> と + <code>.htaccess</code> の適用が終わるまで考慮されません。 + その後で、正規表現は <code>/home/abc/public_html/abc</code> にマッチし、 + 対応する <code class="directive"><Directory></code> が適用されます。</p> + + <p><strong>Apache のデフォルトでは <code><Directory /></code> へのアクセスは + <code>Allow from All</code> になっていることに注意してください。 + これは、URL からマップされたどのファイルでも Apache は送るということです。 + これは以下のようにして変更することが推奨されています。</strong></p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from All<br /> + </span> + </Directory> + </code></p></div> + + <p><strong>そしてアクセスを<em>可能にしたい</em>ディレクトリに対して + 個別に設定すればよいでしょう。 + このあたりについては、<a href="../misc/security_tips.html">セキュリティに関するコツ</a>を + 参照してください。</strong></p> + + <p>ディレクトリセクションは <code>httpd.conf</code> ファイルに書きます。 + <code class="directive"><Directory></code> + ディレクティブは入れ子にすることができず、 + <code class="directive"><a href="#limit"><Limit></a></code> や <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> セクションの中にも + 記述できません。</p> + + +<h3>参照</h3> +<ul> +<li>リクエストを受けた際にこれらの異なるセクションが + 組み合わされる方法については <a href="../sections.html"> + <Directory>, <Location>, <Files> セクションの動作法</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現にマッチするファイルシステムのディレクトリと +サブディレクトリとのみに適用されるディレクティブを囲む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><a href="#directory"><Directory></a></code> + ディレクティブと同様に、<code class="directive"><DirectoryMatch></code> + と <code></DirectoryMatch></code> は指定されたディレクトリと + そのサブディレクトリにのみ適用されるディレクティブ群を囲います。 + しかし、このディレクティブは引数として<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>をとります。例えば:</p> + + <div class="example"><p><code> + <DirectoryMatch "^/www/(.+/)?[0-9]{3}"> + </code></p></div> + + <p>は <code>/www/</code> 以下にある数字 3 文字のディレクトリにマッチします。</p> + + +<h3>参照</h3> +<ul> +<li>通常の <code class="directive"><Directory></code> と正規表現の指定が +適用される順番については <code class="directive"><a href="#directory"><Directory></a></code></li> +<li>リクエストを受けた際にこれらの異なるセクションが + 組み合わされる方法については <a href="../sections.html"> + <Directory>, <Location>, <Files> セクションの動作法</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ウェブから見えるメインのドキュメントツリーになる +ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DocumentRoot <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは、<code class="program"><a href="../programs/httpd.html">httpd</a></code> + がファイルを提供するディレクトリを設定します。 + <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> のようなディレクティブにマッチしない場合には、 + ドキュメントの (訳注:ファイルシステム上の) パスを生成するために、 + リクエストされた URL のパス部分をドキュメントルートに付与します。 + 例:</p> + + <div class="example"><p><code> + DocumentRoot /usr/web + </code></p></div> + + <p>この場合、 + <code>http://www.my.host.com/index.html</code> へのアクセスがあれば + <code>/usr/web/index.html</code> が返されます。 + <var>directory-path</var> が絶対パスでない場合は、 + <code class="directive"><a href="#serverroot">ServerRoot</a></code> + からの相対パスとみなされます。</p> + + <p><code class="directive">DocumentRoot</code> は最後のスラッシュ無しで + 指定する必要があります。</p> + +<h3>参照</h3> +<ul> +<li><a href="../urlmapping.html#documentroot">URL をファイルシステムの位置に +マップする</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Else" id="Else"><Else></a> <a name="else" id="else">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Contains directives that apply only if the condition of a +previous <code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><a href="#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Else> ... </Else></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ElseIf" id="ElseIf"><ElseIf></a> <a name="elseif" id="elseif">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Nested conditions are evaluated in 2.4.26 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li><a href="../sections.html">How <Directory>, <Location>, + <Files> sections work</a> for an explanation of how these + different sections are combined when a request is received. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code>, and + <code class="directive"><Else></code> are applied last.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>配送中にファイルを読み込むためにメモリマッピングを +使うかどうか</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは配送中にファイルの内容を読み込む必要があるときに + <code class="program"><a href="../programs/httpd.html">httpd</a></code> がメモリマッピングを使うかどうかを制御します。 + デフォルトでは、 + 例えば、<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> を使って SSI ファイルを配送 + するときのように、ファイルの途中のデータをアクセスする必要があるときには + Apache は OS がサポートしていればファイルをメモリにマップします。</p> + + <p> + このメモリマップは性能の向上をもたらすことがあります。 + しかし、環境によっては運用上の問題を防ぐためにメモリマッピングを + 使用しないようにした方が良い場合もあります:</p> + + <ul> + <li>マルチプロセッサシステムの中にはメモリマッピングをすると + <code class="program"><a href="../programs/httpd.html">httpd</a></code> の性能が落ちるものがあります。</li> + <li>NFS マウントされた <code class="directive"><a href="#documentroot">DocumentRoot</a></code> + では、<code class="program"><a href="../programs/httpd.html">httpd</a></code> がメモリマップしている間にファイルが削除されたり + 短くなったりしたときに起こるセグメンテーションフォールトのために + <code class="program"><a href="../programs/httpd.html">httpd</a></code> がクラッシュする可能性があります。</li> + </ul> + + <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして + ファイルの配送時のメモリマッピングを使用不可にしてください:</p> + + <div class="example"><p><code> + EnableMMAP Off + </code></p></div> + + <p>NFS マウントされたファイルには、問題のあるファイルにのみ明示的に + この機能を使用不可にします:</p> + + <div class="example"><p><code> + <Directory "/path-to-nfs-files"> + <span class="indent"> + EnableMMAP Off + </span> + </Directory> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルのクライアントへの配送時にカーネルの sendfile サポートを +使うかどうか</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>EnableSendfile On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.44 以降で使用可能</td></tr> +</table> + <p>このディレクティブはクライアントにファイルの内容を送るときに + <code class="program"><a href="../programs/httpd.html">httpd</a></code> がカーネルの + sendfile サポートを使うかどうかを制御します。デフォルトでは、 + 例えば静的なファイルの配送のように、リクエストの処理にファイルの + 途中のデータのアクセスを必要としないときには、Apache は OS が + サポートしていればファイルを読み込むことなく sendfile を使って + ファイルの内容を送ります。</p> + + <p>sendfile は read と send を別々に行なうことと、バッファの割り当てを + 回避します。しかし、プラットフォームやファイルシステムの中には + 運用上の問題を避けるためにこの機能を使用不可にした方が良い場合があります:</p> + + <ul> + <li>プラットフォームの中にはビルドシステムが検知できなかった、壊れた + sendfile のサポートが存在するものがあります。これは特に + バイナリが別のマシンでビルドされ、壊れた sendfile のあるマシンに + 移動したときに起こります。</li> + <li>Linux では、sendfile を用いると、 + IPv6 使用時に存在する特定ネットワークカードの TCP-checksum + オフロードのバグを踏んでしまいます。</li> + <li>Itanium 上の Linux では、sendfile では 2GB 以上の + ファイルを扱うことができません。</li> + <li>ネットワークマウントされた <code class="directive"><a href="#documentroot">DocumentRoot</a></code> + (例えば NFS や SMB) + では、カーネルは自身のキャッシュを使ってネットワークからのファイルを + 送ることができないことがあります。</li> + </ul> + + <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして + この機能を使用不可にしてください:</p> + + + <div class="example"><p><code> + EnableSendfile Off + </code></p></div> + + <p>NFS や SMB マウントされたファイルには、問題のあるファイルにのみ明示的に + この機能を使用不可にします:</p> + + <div class="example"><p><code> + <Directory "/path-to-nfs-files"> + <span class="indent"> + EnableSendfile Off + </span> + </Directory> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Error" id="Error">Error</a> <a name="error" id="error">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Abort configuration parsing with a custom error message</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Error <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.3.9 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>エラーが発生したときにサーバがクライアントに送るもの</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ErrorDocument <var>error-code document</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>問題やエラーが発生したときの動作として、 + Apache には以下の四つのうち一つの動作を設定することができます。</p> + + <ol> + <li>Apache 標準の簡単なエラーメッセージを表示</li> + + <li>自分で指定したメッセージを表示</li> + + <li>問題やエラーの処理をする為に、自サーバ内の + <var>URL-path</var> へリダイレクト</li> + + <li>問題やエラーの処理をする為に、外部の <var>URL</var> へリダイレクト</li> + </ol> + + <p>最初のものがデフォルトの動作で、2 番目から 4 番目は、 + <code class="directive">ErrorDocument</code>ディレクティブにより、 + HTTP のレスポンスコードと、メッセージか URL を指定することで設定します。 + Apache が問題もしくはエラーに関する追加情報を提供することがあります。</p> + + <p>URL の場合は、スラッシュで始まる (/) ローカルの web-path ( + <code class="directive"><a href="#documentroot">DocumentRoot</a></code> からの相対パス + ) か、クライアントが解決できる完全な URL を指定します。 + もしくは、ブラウザに表示されるメッセージを指定できます。 + 例:</p> + + <div class="example"><p><code> + ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br /> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /> + ErrorDocument 401 /subscription_info.html<br /> + ErrorDocument 403 "Sorry can't allow you access today" + </code></p></div> + + <p>加えて、特別な値 <code>default</code> を使って Apache に + ハードコードされている簡単なメッセージを指定することができます。 + 通常は必要ではありませんが、<code>default</code> を使うと + 既存の <code class="directive">ErrorDocument</code> ディレクティブの設定を + 継承するところで、Apache のハードコードされた簡単なメッセージに + 戻すことができます。</p> + + <div class="example"><p><code> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br /> + <Directory /web/docs><br /> + <span class="indent"> + ErrorDocument 404 default<br /> + </span> + </Directory> + </code></p></div> + + <p>リモート URL (例えば、頭に <code>http</code> と付与した方法) を + <code class="directive">ErrorDocument</code> に指定するとき、 + たとえ文書が同じサーバにあろうとも、ドキュメントがどこにあるかを通知するために、 + Apache はリダイレクトをクライアントに送出するということに、注意してください。 + これにはいろいろと関連して起こる問題があります。 + 中でも最も重要なのは、クライアントは元々のエラーステータスコードを受け取らず、 + 代わりにリダイレクトのステータスコードを受け取るということです。 + これにより、ステータスコードを使って URL が有効であるかどうかを決定しようとする + ウェブロボットやその他クライアントを、混乱させるかもしれません。 + さらに、<code>ErrorDocument 401</code> にリモートの URL を指定すると、 + クライアントは 401 というステータスコードを受け取らないため、 + パスワードをユーザーに入力要求しなければならないことがわかりません。 + 従って、<strong><code>ErrorDocument 401</code> というディレクティブを使う場合は、 + 必ずローカルな文書を参照しなければなりません。</strong></p> + + <p>Microsoft Internet Explorer (MSIE) はデフォルトではサーバが生成したエラーメッセージが + 「小さすぎる」ときには無視をして自分自身の「やさしい」エラーメッセージで + 置換します。サイズのしきい値はエラーの種類によって異なりますが、 + 一般的にはエラーの文書を 512 バイトよりも大きくすると、MSIE は + サーバが生成したエラーを隠さずに表示します。詳しい情報は Microsoft + Knowledge Base の記事 <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a> + にあります。</p> + + <p>ほとんどのエラーメッセージを上書きすることができますが、特定の状況下では + <code class="directive"><a href="#errordocument">ErrorDocument</a></code> の設定にかかわらず + 内蔵のメッセージが使われます。 + 特に、不正な形式のリクエストが検出された場合、通常のリクエスト処理は + 即座に中止され、内蔵のエラーメッセージが返されます。 + この処置は不正なリクエストによって引き起こされる、セキュリティ問題から + 守るために必要な措置です。</p> + + <p>2.0 より前のバージョンでは、対になっていない二重引用符を + 先頭に付けることによりメッセージであることを指定していました。</p> + + +<h3>参照</h3> +<ul> +<li><a href="../custom-error.html">カスタマイズ可能な +エラー応答のドキュメンテーション</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがエラーをログ収集する場所</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ErrorLog</code> ディレクティブは、 + サーバに生じたさまざまなエラーを + 記録する為のファイルの名前を設定します。 + <var>file-path</var> が絶対パスでないときは、<code class="directive"><a href="#serverroot">ServerRoot</a></code> からの相対パスとみなされます。</p> + + <div class="example"><h3>例</h3><p><code> + ErrorLog /var/log/httpd/error_log + </code></p></div> + + <p><var>file-path</var> がパイプ (|) から始まる場合は、 + エラーログを処理するために実行されるコマンドが + 指定されていると解釈されます。</p> + + <div class="example"><h3>例</h3><p><code> + ErrorLog "|/usr/local/bin/httpd_errors" + </code></p></div> + + <p>ファイル名の変わりに <code>syslog</code> と指定することによって、 + システムがサポートしていれば syslogd(8) を利用したロギングが有効になります。 + デフォルトでは、<code>local7</code> ファシリティとなりますが、 + <code>syslog:<var>facility</var></code> といった形で記述することにより、 + 通常 syslog(1) のドキュメントで説明されているファシリティの一つを使うように + することができます。</p> + + <div class="example"><h3>例</h3><p><code> + ErrorLog syslog:user + </code></p></div> + + <p>セキュリティ: + ログファイルを格納するディレクトリが、サーバを起動したユーザ以外の + ユーザによって書き込める場合にセキュリティが破られる可能性があることに + 関する詳細は <a href="../misc/security_tips.html#serverroot">セキュリティに関するコツ</a> を + 参照してください。</p> + <div class="warning"><h3>注</h3> + <p>Unix 以外のプラットフォームでファイルのパスを入力するときは、 + プラットフォームがバックスラッシュの使用を許していたとしても、 + 確実にスラッシュのみが使用されるように注意してください。一般的には、 + 設定ファイル全般でスラッシュのみを使う方が良いでしょう。</p> + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache ログファイル</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a> <a name="errorlogformat" id="errorlogformat">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Format specification for error log entries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> ErrorLogFormat [connection|request] <var>format</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a> <a name="extendedstatus" id="extendedstatus">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Keep track of extended status information for each +request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ExtendedStatus On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ExtendedStatus Off[*]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ETag HTTP 応答ヘッダを作成するために使用される +ファイルの属性</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>FileETag <var>component</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>FileETag INode MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p> + <code class="directive">FileETag</code> ディレクティブは + ドキュメントがファイルに基づいたものであるときに、 + <code>ETag</code> (エンティティタグ) 応答ヘッダフィールドを作成するときに使用する + ファイルの属性を設定します。 (<code>ETag</code> の値はネットワークの帯域を節約するための + キャッシュの管理で使われます。) Apache 1.3.22 以前では、<code>ETag</code> の値は + <em>常に</em>ファイルの inode, サイズ、最終修正時刻 (mtime) から作成 + されていました。<code class="directive">FileETag</code> ディレクティブにより、これらのどれを使うかを + 選ぶことができます。認識されるキーワードは: + </p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>ファイルの inode 番号を計算に使います</dd> + <dt><strong>MTime</strong></dt> + <dd>ファイルの最終修正時刻を使います</dd> + <dt><strong>Size</strong></dt> + <dd>ファイルの中身のバイト数を使います</dd> + <dt><strong>All</strong></dt> + <dd>使用可能なすべてのフィールドを使います。 + これは <div class="example"><p><code>FileETag INode MTime Size</code></p></div> と等価です。</dd> + <dt><strong>None</strong></dt> + <dd>ドキュメントがファイルに基づいたものでも、<code>ETag</code> フィールドを + 応答に付加しません</dd> + </dl> + + <p><code>INode</code>, <code>MTime</code>, <code>Size</code> キーワードには + <code>+</code> や <code>-</code> を前に付けて + 指定することもできます。この場合は、より広い範囲から継承された + デフォルトの設定に変更を加えるようになります。そのような接頭辞の + 無いキーワードを指定すると、即座に継承した設定を無効にします。</p> + + <p>あるディレクトリの設定に + <code>FileETag INode MTime Size</code> があり、 + サブディレクトリの設定に <code>FileETag -INode</code> があるときは、 + そのサブディレクトリの設定は (設定が上書きされなければサブディレクトリの + サブディレクトリにも継承されます) <code>FileETag MTime Size</code> + と同じになります。</p> + <div class="warning"><h3>警告</h3> + WebDAV を使っていて、<code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> をストレージプロバイダとして + 使っているような Directory や Location では、デフォルト値を変更しないでください。 + <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> では、条件付リクエストでの比較演算に + <code>INode MTime Size</code> + の固定フォーマットを使っています。 + <code class="directive">FileETag</code> で <code>ETag</code> フォーマットを + 変更してしまうと、条件付リクエストでうまく動作しなくなります。 + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Files" id="Files"><Files></a> <a name="files" id="files">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>マッチするファイル名に適用されるディレクティブを囲む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Files <var>filename</var>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Files></code> ディレクティブは、 + その中にあるディレクティブの適用範囲をファイル名で制限します。 + <code class="directive"><a href="#directory"><Directory></a></code> ディレクティブや <code class="directive"><a href="#location"><Location></a></code> ディレクティブと + 同じような機能を持ちます。 + これは、<code></Files></code> ディレクティブと対に + なっていなければなりません。 + このセクション中のディレクティブは、ベース名 (ファイル名の最後の部分) + が指定されたファイル名にマッチするすべてのオブジェクトに適用されます。 + <code class="directive"><Files></code> セクションは + <code class="directive"><Directory></code> セクションと + <code>.htaccess</code> が読み込まれた後、 + <code class="directive"><Location></code> セクションよりは先に + 設定ファイルに現れた順に適用されます。 + <code class="directive"><Files></code> は、 + <code class="directive"><Directory></code> セクション内に + ネストさせることができ、 + ファイルシステムの一部にのみ限定して適用させることができます。</p> + + <p><var>filename</var> 引数は、ファイル名かワイルドカード文字列 + で、ワイルドカードでは <code>?</code> は一つの文字、<code>*</code> は任意の文字列にマッチします。 + <code>~</code> という文字を付加することで<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>を使うこともできます。 + 例えば、</p> + + <div class="example"><p><code> + <Files ~ "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>とすることにより、一般的なインターネットの画像フォーマットにマッチします。 + ただし、 + <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> を使う方が + 推奨されています。</p> + + <p>ちなみに、<code class="directive"><a href="#directory"><Directory></a></code> と <code class="directive"><a href="#location"><Location></a></code> セクションとは異なり、 + <code class="directive"><Files></code> + は <code>.htaccess</code> ファイル内で利用することができます。 + これにより、ユーザがファイル毎にアクセスの制御を行なうことができるように + なっています。</p> + + +<h3>参照</h3> +<ul> +<li>リクエストを受けた際にこれらの異なるセクションが + 組み合わされる方法については <a href="../sections.html"> + <Directory>, <Location>, <Files> セクションの動作法</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a> <a name="filesmatch" id="filesmatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現にマッチするファイル名に適用される +ディレクティブを囲む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><FilesMatch <var>regex</var>> ... </FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><FilesMatch></code> ディレクティブは、 + <code class="directive"><a href="#files"><Files></a></code> + ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。ただし、 + このディレクティブには<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>を指定します。 + 例えば:</p> + + <div class="example"><p><code> + <FilesMatch "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>は一般的なインターネットの画像形式にマッチします。</p> + +<h3>参照</h3> +<ul> +<li>リクエストを受けた際にこれらの異なるセクションが + 組み合わされる方法については <a href="../sections.html"> + <Directory>, <Location>, <Files> セクションの動作法</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxPipelined" id="FlushMaxPipelined">FlushMaxPipelined</a> <a name="flushmaxpipelined" id="flushmaxpipelined">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>FlushMaxPipelined <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>FlushMaxPipelined 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.4.47 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxThreshold" id="FlushMaxThreshold">FlushMaxThreshold</a> <a name="flushmaxthreshold" id="flushmaxthreshold">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Threshold above which pending data are flushed to the +network</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>FlushMaxThreshold <var>number-of-bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>FlushMaxThreshold 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.4.47 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>すべてのマッチするファイルが指定の MIME コンテントタイプで +送られるようにする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ForceType <var>MIME-type</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 で core に移動</td></tr> +</table> + <p><code>.htaccess</code> や <code class="directive"><a href="#directory"><Directory></a></code> セクション、 + <code class="directive"><a href="#location"><Location></a></code> セクション、 + <code class="directive"><a href="#files"><Files></a></code> セクションに + 書かれた場合、このディレクティブはそこにあるすべてのファイルが + <var>MIME-type</var> + で指定されたコンテントタイプとして扱われるようにします。たとえば、 + GIF ファイルばかりのディレクトリがあって、すべてのファイルを <code>.gif</code> + で終わらせたくはないときに、以下のものを使用します:</p> + + <div class="example"><p><code> + ForceType image/gif + </code></p></div> + + <p><code class="directive"><a href="#defaulttype">DefaultType</a></code> と違って + このディレクティブはメディアタイプを決めることができるかもしれない + ファイルの拡張子も含め、すべての MIME タイプの関連付けを + 上書きすることに注意してください。</p> + + <p><code>None</code> という値を使うことで <code class="directive">ForceType</code> の + 設定を無効にできます:</p> + + <div class="example"><p><code> + # force all files to be image/gif:<br /> + <Location /images><br /> + <span class="indent"> + ForceType image/gif<br /> + </span> + </Location><br /> + <br /> + # but normal mime-type associations here:<br /> + <Location /images/mixed><br /> + <span class="indent"> + ForceType None<br /> + </span> + </Location> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Directory to write gmon.out profiling data to. </td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントの IP アドレスの DNS ルックアップを +有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは、ホスト名をログ収集できるように + DNS ルックアップを有効にします + (さらに、CGI/SSI に <code>REMOTE_HOST</code> 変数として渡します)。 + <code>Double</code>を指定した場合、2 重の逆引きを行ないます。 + つまり、逆引きの後に、その結果に対して正引きを行ないます。正引きの + 結果の IP アドレスの中にオリジナルのアドレスと一致するものがなければ + なりません。("tcpwrappers" の用語では <code>PARANOID</code> と呼ばれています。)</p> + + <p><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> でホスト名によるアクセス + 制御を行なう場合には、 + 設定の如何によらず 2 重の逆引きが実行されます。 + これは、セキュリティを保つために必要です。 + <code>HostnameLookups Double</code> を設定しない限り、 + 他の部分はこの 2 重逆引きの結果を使うことはできません。 + 例えば、<code>HostnameLookups On</code> と設定してある状態で、 + ホスト名によるアクセス制限を行なったオブジェクトへの + リクエストを受けたとすると、2 重の逆引きが成功するか否かによらず、 + <code>REMOTE_HOST</code> には通常の逆引き結果が渡されます。</p> + + <p>ディレクティブのデフォルトは + 本当に逆引きを必要としているわけではないサイトの + ネットワークトラフィックを低減させるために、<code>Off</code> になっています。 + ルックアップによる余計な遅延がなくなるため、 + エンドユーザにとっても良いでしょう。 + DNS のルックアップには、かなりの時間が必要となる場合が多く、 + 負荷の高いサイトではこのディレクティブは <code>Off</code> にすべきです。 + なお、<var>/support</var> ディレクトリに含まれ、デフォルトでは + インストールディレクトリの <code>bin</code> サブディレクトリに + インストールされる <code class="program"><a href="../programs/logresolve.html">logresolve</a></code> ユーティリティにより、 + Apache の動作とは別に、ログに残されている IP アドレスからホスト名を + ルックアップすることが可能です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a> <a name="httpprotocoloptions" id="httpprotocoloptions">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Modify restrictions on HTTP Request Messages</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.2.32 or 2.4.24 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="If" id="If"><If></a> <a name="if" id="if">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>実行時、リクエストが条件を満たした場合にのみ適用される +ディレクティブを包含する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><If></code> ディレクティブは + 実行時に式を評価し、条件式が真になるときにのみ + 内包するディレクティブを適用します。 + 例えば</p> + + <div class="example"><p><code> + <If "$req{Host} = ''"> + </code></p></div> + + <p>上記例は <var>Host:</var> ヘッダの存在しない HTTP/1.0 のリクエストに + マッチします。</p> + +<h3>参照</h3> +<ul> +<li><a href="../sections.html">どのように <Directory>, <Location>, + <Files> セクションが動作するか</a> では、リクエストを受けたときに、 + これらの異なるセクションがどのように組み合わさるかについて記載されています。 + <code class="directive"><If></code> は + <code class="directive"><Files></code> + と同じ処理順と用法になっています。</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a> <a name="ifdefine" id="ifdefine">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>起動時にテストが真であるときのみに処理されるディレクティブを +囲む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code><IfDefine <var>test</var>>...</IfDefine></code> + セクションは、 + ディレクティブを条件付きで指定するために利用します。 + <code class="directive"><IfDefine></code> セクションに + 含まれるディレクティブは、<var>test</var>が + 定義されているときのみ処理されます。 + もし <var>test</var> が定義されていなければ、 + 開始と終了の指定の間のディレクティブは無視されます。</p> + + <p><code class="directive"><IfDefine></code> セクションディレクティブに + 指定する <var>test</var> は、 + 次の二つの形式のうちの一つをとります:</p> + + <ul> + <li><var>parameter-name</var></li> + + <li><code>!</code><var>parameter-name</var></li> + </ul> + + <p>前者の場合には、<var>parameter-name</var> と名付けられたパラメータが + 定義されていれば開始と終了の間のディレクティブが処理されます。 + 後者の場合は逆で、<em>parameter-name</em> が指定されて<strong>いない</strong> + 場合に処理されます。</p> + + <p><var>parameter-name</var> 引数は、サーバを起動する際に + <code class="program"><a href="../programs/httpd.html">httpd</a></code> のコマンドラインに + <code>-D<var>parameter</var></code> という形で指定するか + あるいは <code class="directive"><a href="#define">Define</a></code> + ディレクティブで指定されると定義されます。 </p> + + <p><code class="directive"><IfDefine></code> セクションは + 入れ子にすることができ、複数のパラメータによるテストをするために使用できます。 + 例:</p> + + <div class="example"><p><code> + httpd -DReverseProxy -DUseCache -DMemCache ...<br /> + <br /> + # httpd.conf<br /> + <IfDefine ReverseProxy><br /> + <span class="indent"> + LoadModule proxy_module modules/mod_proxy.so<br /> + LoadModule proxy_http_module modules/mod_proxy_http.so<br /> + <IfDefine UseCache><br /> + <span class="indent"> + LoadModule cache_module modules/mod_cache.so<br /> + <IfDefine MemCache><br /> + <span class="indent"> + LoadModule mem_cache_module modules/mod_mem_cache.so<br /> + </span> + </IfDefine><br /> + <IfDefine !MemCache><br /> + <span class="indent"> + LoadModule cache_disk_module modules/mod_cache_disk.so<br /> + </span> + </IfDefine> + </span> + </IfDefine> + </span> + </IfDefine> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDirective" id="IfDirective"><IfDirective></a> <a name="ifdirective" id="ifdirective">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#ifsection"><IfSection></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfFile" id="IfFile"><IfFile></a> <a name="iffile" id="iffile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfFile [!]<var>filename</var>> ... + </IfFile></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a> <a name="ifmodule" id="ifmodule">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>モジュールの存在するかしないかに応じて処理される +ディレクティブを囲む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>モジュール識別子はバージョン 2.1 以降で使用可能。</td></tr> +</table> + <p><code><IfModule <var>test</var>>...</IfModule></code> + セクションは、モジュールが存在するときに処理されるディレクティブを + 指定するために利用します。 + <code class="directive"><IfModule></code> セクションに + 含まれるディレクティブは、<var>test</var> + で指定するモジュールが組み込まれているときのみ処理されます。 + もし <var>test</var> が組み込まれていなければ、開始と終了の間のディレクティブ + は無視されます。</p> + + <p><code class="directive"><IfModule></code> セクションディレクティブに + 指定する <var>test</var> は、 + 次の二つの形式のうちの一つをとります。</p> + + <ul> + <li><var>module</var></li> + + <li>!<var>module</var></li> + </ul> + + <p>前者の場合は、<var>module</var> と名付けられたモジュールが + Apache に組み込まれていれば + (コンパイル済みのものと、<code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> を利用して + 動的に読み込んだものの両方)、 + 開始と終了の間のディレクティブが処理されます。 + 後者の場合は逆で、<var>module</var> が組み込まれて<strong>いない</strong> + 場合に処理されます。</p> + + <p><var>module</var> 引数は、モジュール識別子か + コンパイルをした時のモジュールのファイル名です。 + 例えば、<code>rewrite_module</code> は識別子で + <code>mod_rewrite.c</code> はファイル名です。 + モジュールが複数のソースファイルから構成されている場合は、文字列 + <code>STANDARD20_MODULE_STUFF</code> があるファイルの名前を + 使ってください。</p> + + <p><code class="directive"><IfModule></code> セクションは + 入れ子にすることが可能であり、 + 複数のモジュールのテストを行なうために使用できます。</p> + + <div class="note">特定のモジュールの存在に関わらず動作する + 設定ファイルの原本が必要なときにのみこのセクションを使用してください。 + 通常の動作では、ディレクティブを + <code class="directive"><IfModule></code> セクションの中に + 入れる必要はありません。</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfSection" id="IfSection"><IfSection></a> <a name="ifsection" id="ifsection">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfSection [!]<var>section-name</var>> ... + </IfSection></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in 2.4.34 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#ifdirective"><IfDirective></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバ設定ファイル中から他の設定ファイルを取り込む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Include <var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>ワイルドカードによるマッチは 2.0.41 以降で使用可能</td></tr> +</table> + <p>このディレクティブにより、サーバの設定ファイルから + 他の設定ファイルをインクルードすることができます。</p> + + <p>複数のファイルをアルファベット順に一度に読み込むために、 + シェル形式 (<code>fnmatch</code>) のワイルドカード文字を使うことができます。 + さらに、<code class="directive">Include</code> にディレクトリを指定した場合は、 + ディレクトリとそのサブディレクトリ内の全てのファイルを + アルファベット順に読み込んで、設定ファイルとして処理します。 + しかし、ディレクトリ全体を読み込むのはお勧めできません。 + ふとしたことから <code>httpd</code> が読み込みに失敗するような + 一時ファイルをディレクトリに残してしまうようなことがよくあるからです。</p> + + <p>指定するファイルパスは絶対パスか、 + <code class="directive"><a href="#serverroot">ServerRoot</a></code> ディレクトリからの + 相対パスか、のどちらかです。</p> + + <p>例:</p> + + <div class="example"><p><code> + Include /usr/local/apache2/conf/ssl.conf<br /> + Include /usr/local/apache2/conf/vhosts/*.conf + </code></p></div> + + <p><code class="directive"><a href="#serverroot">ServerRoot</a></code> からの相対パスの場合は:</p> + + <div class="example"><p><code> + Include conf/ssl.conf<br /> + Include conf/vhosts/*.conf + </code></p></div> + +<h3>参照</h3> +<ul> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IncludeOptional" id="IncludeOptional">IncludeOptional</a> <a name="includeoptional" id="includeoptional">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Includes other configuration files from within +the server configuration files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in 2.3.6 and later. Not existent file paths without wildcards + do not cause SyntaxError after 2.4.30</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#include">Include</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP の持続的な接続を有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、 + 複数のリクエストが同じ TCP の接続で送られる、長時間持続する + HTTP セッションを提供します。たくさんの画像が + 含まれる HTML ドキュメントでは場合によっては遅延時間が 50% 短縮される結果も + でています。Keep-Alive 接続を有効にするには + <code>KeepAlive On</code> と設定します。</p> + + <p>HTTP/1.0 に対応したクライアントの際には、 + クライアントより特に要求があった場合のみ Keep-Alive 接続となります。 + さらに、HTTP/1.0 クライアントでは、コンテンツの容量が先に + (訳注: 要求に対して応答を返す前に) わかる場合のみ Keep-Alive + 接続を利用できます。 + これは、CGI の出力や SSI のページ、 + サーバが生成したディレクトリのリストのような動的コンテンツを + HTTP/1.0 クライアントに送る場合には Keep-Alive 接続を使えないことを意味します。 + HTTP/1.1 に対応したクライアントの際には、 + 特に指定されない限りはデフォルトとして持続的な接続が行なわれます。 + クライアントが要求すれば、コンテンツの容量を判別できないものを + 持続的な接続を通して送るために、チャンクエンコーディングが用いられます。</p> + + <p>クライアントが Keep-Alive コネクションを使用している場合、 + そのコネクションを通してどれだけたくさんのリクエストが処理されても、 + それは「リクエスト」1 つとして、MaxRequestsPerChild ディレクティブでは + 数えられます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>持続的な接続で次のリクエストが来るまでサーバが待つ時間</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>KeepAliveTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>接続を閉じる前に、Apache が次のリクエストを何秒待つかを指定します。 + リクエストを受け付けた後は、<code class="directive"><a href="#timeout">Timeout</a></code> ディレクティブによって + 指定されたタイムアウト値が使われます。</p> + + <p><code class="directive">KeepAliveTimeout</code> を大きな値に設定すると、 + 負荷の高いサーバにおいてはパフォーマンスの問題を引き起こす場合があります。 + タイムアウトが長ければ長いほど、より多くのサーバプロセスが + 活性でないクライアントからの接続の終了を待ち続けることになります。</p> + + <p>名前ベースのバーチャルホストコンテキストでは、 + <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> + のセットの中で最初に定義されたバーチャルホストの値 + (デフォルトホスト) が使われます。 + その他の値は無視されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a> <a name="limit" id="limit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>囲いの中にあるアクセス制御の適用を特定の HTTP メソッドのみに +制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>アクセス制御は、通常<strong>全ての</strong>アクセスメソッドに対して + 影響し、普通はこれが望ましい挙動です。 + <strong>そうしたことから、大部分の場合にはアクセス制御に関わるディレクティブを + <code class="directive"><Limit></code> セクション内に + 書くべきではありません。 </strong></p> + + <p><code class="directive"><Limit></code> ディレクティブの + 目的は、アクセス制御の範囲を + 指定された HTTP メソッドに限定するためです。 + それ以外のメソッドは、<code class="directive"><Limit></code> で囲われたアクセス制御の + <strong>影響を受けません</strong>。 + 以下の例は、<code>POST</code>, <code>PUT</code>, <code>DELETE</code> のメソッドに対してのみアクセスの制御を行ない、 + それ以外のメソッドについては制限しません:</p> + + <div class="example"><p><code> + <Limit POST PUT DELETE><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </Limit> + </code></p></div> + + <p>メソッド名には以下の中から一つ以上を列挙することができます: + <code>GET</code>, + <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, + <code>CONNECT</code>, <code>OPTIONS</code>, + <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>, + <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>, + <code>LOCK</code>, <code>UNLOCK</code>. <strong>メソッド名は + 大文字小文字を区別します。</strong> <code>GET</code> を指定した場合には + <code>HEAD</code> リクエストにも制限がかかります。<code>TRACE</code> + メソッドに制限をかけることはできません + (<code class="directive"><a href="#traceenable"><TraceEnable></a></code> 参照)。</p> + + <div class="warning">アクセス制御が目的の場合は + <code class="directive"><a href="#limit"><Limit></a></code> + セクションの代わりに <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> セクションを使用した方が良いでしょう。 + <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> + セクションでは不特定のメソッドに対しても防御できるからです。</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a> <a name="limitexcept" id="limitexcept">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>指定されたもの以外の HTTP メソッドにアクセス制御を +制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> と + <code></LimitExcept></code> は、引数に + <strong>含まれていない</strong> + HTTP のアクセスメソッドに適用するためのアクセス制御 + ディレクティブを括るために利用します。 + つまり、<code class="directive"><a href="#limit"><Limit></a></code> セクションの反対の動作をし、 + 標準のメソッドと標準外や未認識のメソッドの場合の両方を設定できます。 + <code class="directive"><a href="#limit"><Limit></a></code> のドキュメントも + 併せて参照してください。</p> + + <p>例:</p> + + <div class="example"><p><code> + <LimitExcept POST GET><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </LimitExcept> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>内部リダイレクトと入れ子になったサブリクエストの最大数を決定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitInternalRecursion <var>number</var> [<var>number</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.47 以降で使用可能</td></tr> +</table> + <p>内部リダイレクトは例えば <code class="directive">Action</code> ディレクティブを + 使っているときに起こります。<code class="directive">Action</code> ディレクティブは + 元々のリクエストを CGI スクリプトに内部リダイレクトを行ないます。 + サブリクエストはいくつかの URI に対して、リクエストされたときに + 何が起こるかを調べるための Apache の機構です。例えば、<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + は <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> ディレクティブ + がリストするファイルを調べるためにサブリクエストを使います。</p> + + <p><code class="directive">LimitInternalRecursion</code> は内部リダイレクトや + サブリクエストが無限ループに陥ったときのサーバクラッシュを防ぎます。 + 普通、そのようなループは設定に失敗したときに発生します。</p> + + <p>このディレクティブは、リクエスト毎に評価される、二つの違う限界値を + 設定します。最初の <var>number</var> は、起こり得る + 内部リクエストの最大値を設定します。二つめの <var>number</var> は + サブリクエストが入れ子にできる深さを設定します。<var>number</var> を + 一つだけ指定したときは、両方の限界値にその値が設定されます。</p> + + <div class="example"><h3>例</h3><p><code> + LimitInternalRecursion 5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントから送られる HTTP リクエストのボディの +総量を制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestBody <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestBody 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは、リクエストボディに許されるバイト数、<var>bytes</var> + を 0 (無制限を意味します) から 2147483647 (2GB) までの数値で指定します。</p> + + <p><code class="directive">LimitRequestBody</code> ディレクティブは、 + ディレクティブが書かれたコンテキスト + (サーバ全体、ディレクトリ、ファイル、ロケーション) 内で + 許容する HTTP リクエストメッセージボディのサイズに制限をかけることができます。 + クライアントのリクエストがその制限値を越えていれば、 + サーバはリクエストを処理せずにエラーを返します。 + 普通のリクエストメッセージボディのサイズは、リソースの種類や + 許可されているメソッドによって大きく変わります。 + CGI スクリプトは、よく情報を受信するために + メッセージボディを使います。 + <code>PUT</code> メソッドの実装は、このディレクティブの値として + 少なくともあるリソースに対してサーバが受け付けようとする + 表現の大きさほどの値を必要とします。</p> + + <p>このディレクティブは、 + 管理者にクライアントからの異常なリクエストを制御できるようにし、 + 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p> + + <p>ある場所へのファイルアップロードを許可する場合に、 + アップロードできるファイルのサイズを 100K に制限したければ、 + 以下のように指定します:</p> + + <div class="example"><p><code> + LimitRequestBody 102400 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントからの HTTP リクエストのヘッダフィールドの数を +制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestFields <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><var>number</var> には、0 (無制限を意味します) から 32767 + までの整数を指定します。 + デフォルト値は、定数 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> + によりコンパイル時に定義されます (配布時には 100 と指定されています)。</p> + + <p><code class="directive">LimitRequestBody</code> ディレクティブは、 + サーバ管理者が HTTP リクエスト中において許可するリクエストヘッダフィールド数を + 指定します。 + サーバはこの値には通常のクライアントからのリクエストに含まれるであろう + フィールドの数より大きな値が必要とします。 + クライアントにより使われた要求ヘッダーフィールドの数が + 20 を超えることはほとんどありませんが、 + これは種々のクライアントの実装によって変わり、 + 詳細なコンテントネゴシエーションをするためのブラウザの設定までにも + 影響されることがあります。 + オプションの HTTP 拡張はリクエストヘッダフィールドを使って表される場合が + 多くあります。</p> + + <p>このディレクティブは、 + 管理者にクライアントからの異常なリクエストを制御できるようにし、 + 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。 + リクエストのフィールドが多過ぎることを意味するエラー応答が + 普通のクライアントに返されるような時はこの値を増やしてください。</p> + + <p>例:</p> + + <div class="example"><p><code> + LimitRequestFields 50 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントからの HTTP リクエストのヘッダの +サイズを制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestFieldSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは、HTTP リクエストヘッダ一つで受付ける + バイト数 <var>bytes</var> を指定します。</p> + + <p><code class="directive">LimitRequestFieldSize</code> ディレクティブは、 + HTTP リクエストヘッダで許容されるサイズを増減させることができます。 + サーバは、このディレクティブの値として、 + 一般的なクライアントからリクエストが送られた際に、そのリクエストに + 付属しているどのヘッダフィールドについても、 + 十分足りる大きさになっていなければなりません。 + 一般的なリクエストヘッダのサイズといっても、その大きさは個々の + クライアントの実装によって大きく異なり、 + 詳細なコンテントネゴシエーションをサポートするかどうかの、 + ブラウザの設定にも影響されたりします。 + SPNEGO 認証ヘッダでは 12392 バイトにまで及ぶことすらあります。</p> + + <p>このディレクティブは、 + 管理者にクライアントからの異常なリクエストを制御できるようにし、 + 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p> + + <p>例:</p> + + <div class="example"><p><code> + LimitRequestFieldSize 4094 + </code></p></div> + + <div class="note">通常はデフォルトから変更する必要はありません。</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントからの HTTP リクエスト行のサイズを制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestLine <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは、HTTP リクエスト行内で許容されるバイト数 + <var>bytes</var> を指定します。</p> + + <p><code class="directive">LimitRequestLine</code> ディレクティブにより、 + クライアントからの HTTP リクエスト行の許容サイズを増減できます。 + リクエスト行は、HTTPメソッド、URI、プロトコルバージョンから成っており、 + <code class="directive">LimitRequestLine</code> はサーバへのリクエストに対して + 許容するリクエスト URI の長さを制限することになります。 + サーバは、<code>GET</code> リクエストのクエリ部分も含めて、リソースの名前が入るに足る + 大きさを必要とします。</p> + + <p>このディレクティブは、 + 管理者にクライアントからの異常なリクエストを制御できるようにし、 + 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p> + + <p>例:</p> + + <div class="example"><p><code> + LimitRequestLine 4094 + </code></p></div> + + <div class="note">通常はデフォルトから変更する必要はありません。</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>XML 形式のリクエストのボディのサイズを制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitXMLRequestBody <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>XML 形式のリクエストのボディの最大値を (バイト単位で) 制限します。 + 値に <code>0</code> を指定するとチェックを無効にします。</p> + + <p>例:</p> + + <div class="example"><p><code> + LimitXMLRequestBody 0 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Location" id="Location"><Location></a> <a name="location" id="location">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>囲んだディレクティブをマッチする URL のみに適用</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Location></code> ディレクティブは、 + URL により中に書かれたディレクティブの適用範囲を制限します。 + <code class="directive"><a href="#directory"><Directory></a></code> + ディレクティブと似ていて、 + <code></Location></code> ディレクティブで終了する + サブセクションを開始します。 + <code class="directive"><Location></code> セクションは、 + <code class="directive"><a href="#directory"><Directory></a></code> セクションと + <code>.htaccess</code> の読み込みの後、 + <code class="directive"><a href="#files"><Files></a></code> セクションを + 適用した後に、設定ファイルに現れた順に処理されます。</p> + + <p><code class="directive"><Location></code> セクションは + 完全にファイルシステムと関連せずに動作します。このことから導かれる + 結果にはいくつか注意する点があります。最も重要なものは、 + ファイルシステムの位置へのアクセス制御に <code class="directive"><Location></code> ディレクティブを使うべきではない + ということです。複数の URL がファイルシステムの同じ位置にマップされる + 可能がありますので、そのようなアクセス制御は回避されてしまう可能性が + あります。</p> + + <div class="note"><h3>いつ <code class="directive"><Location></code> を使うか</h3> + + <p><code class="directive"><Location></code> ディレクティブは + ファイルシステム外のコンテンツにディレクティブを適用するときに + 使用してください。ファイルシステムに存在するコンテンツに対しては、 + <code class="directive"><a href="#directory"><Directory></a></code> と <code class="directive"><a href="#files"><Files></a></code> を使ってください。 + 例外は、<code><Location /></code> で、これはサーバ全体に対して + 設定を適用する簡単な方法です。</p> + </div> + + <p>全ての (プロキシ以外の) リクエストに対し、 + URL は <code>/path/</code> という、 + 接頭辞 <code>http://servername</code> を含まない形でマッチします。 + プロキシリクエストの場合には、<code>scheme://servername/path</code> + という接頭辞を含む形でマッチし、接頭辞を含めて指定する必要があります。</p> + + <p>URL にはワイルドカードを利用することができます。 + <code>?</code> は任意の一文字、<code>*</code> は任意の文字列にマッチします。 + どちらのワイルドカードも URL パス中の / にはマッチしません。</p> + + <p><code>~</code> という文字を追加することで、<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>を + 利用することもできます。 + 例えば:</p> + + <div class="example"><p><code> + <Location ~ "/(extra|special)/data"> + </code></p></div> + + <p>は URL に <code>/extra/data</code> か <code>/special/data</code> という文字列が + 含まれている場合にマッチします。 + <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> ディレクティブは + <code class="directive"><Location></code> の正規表現 + 版とまったく同じ動作をします。</p> + + <p><code class="directive"><Location></code> 機能は、<code class="directive"><a href="#sethandler">SetHandler</a></code> ディレクティブと + 組合わせて利用すると特に便利です。 + 例えば、<code>example.com</code> のブラウザからのみステータスの参照を有効にしたければ、 + 次のようにすれば良いでしょう。</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .example.com<br /> + </span> + </Location> + </code></p></div> + +<div class="note"><h3>/ (スラッシュ) に関する注</h3> + <p>スラッシュ文字は、URL 内に現れる場所に応じて変化する + 特別な意味を持っています。 + ファイルシステムにおいて利用する場合には複数のスラッシュでも一つの + スラッシュとして扱われることが多いですが、 + (<em>すなわち</em>、<code>/home///foo</code> は + <code>/home/foo</code> と同じといったように) + URL においては必ずしもそうなるわけではありません。 + <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + ディレクティブや正規表現を利用した + <code class="directive"><Location></code> ディレクティブで、 + 複数のスラッシュにマッチさせたいときには、明示的に記述する + 必要があります。</p> + + <p>例えば、<code><LocationMatch ^/abc></code> は、 + <code>/abc</code> というリクエスト URL にマッチしますが、 + <code>//abc</code> というリクエスト URL にはマッチしません。 + (正規表現でない) <code class="directive"><Location></code> + ディレクティブは、 + proxy リクエストに対して利用する際には同様の振る舞いをしますが、 + (正規表現でない) <code class="directive"><Location></code> を proxy + でないリクエストに対して利用する際には、 + 一つのスラッシュで複数のスラッシュにマッチします。 + 例えば、<code><Location /abc/def></code> と指定し、 + <code>/abc//def</code> というリクエストがあれば、 + マッチすることになります。</p></div> + + +<h3>参照</h3> +<ul> +<li>リクエストを受けた際にこれらの異なるセクションが + 組み合わされる方法については <a href="../sections.html"> + <Directory>, <Location>, <Files> セクションの動作法</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a> <a name="locationmatch" id="locationmatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>囲んだディレクティブを正規表現にマッチする URL のみに +適用</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><LocationMatch + <var>regex</var>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LocationMatch></code> ディレクティブは、 + <code class="directive"><a href="#location"><Location></a></code> と同じ様に + URL により中に書かれたディレクティブの適用範囲を制限します。 + 但し、引数は普通の文字列ではなく、<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>となります。 + 例えば、</p> + + <div class="example"><p><code> + <LocationMatch "/(extra|special)/data"> + </code></p></div> + + <p>は URL に <code>/extra/data</code> か <code>/special/data</code> + という文字列が含まれている場合にマッチします。</p> + +<h3>参照</h3> +<ul> +<li>リクエストを受けた際にこれらの異なるセクションが + 組み合わされる方法については <a href="../sections.html"> + <Directory>, <Location>, <Files> セクションの動作法</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ErrorLog の冗長性を制御する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LogLevel <var>level</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">LogLevel</code> は、エラーログ (<code class="directive"><a href="#errorlog">ErrorLog</a></code> ディレクティブを + 見てください) へ記録するメッセージの冗長性を調整します。 + 以下の <var>level</var> を指定でき、順に重要度が下がっていきます。</p> + + <table class="bordered"> + <tr> + <th><strong>レベル</strong> </th> + + <th><strong>説明</strong> </th> + + <th><strong>例</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>緊急 - システムが利用できない</td> + + <td>Child cannot open lock file. Exiting + (子プロセスがロックファイルを開けないため終了した)</td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>直ちに対処が必要</td> + + <td>getpwuid: couldn't determine user name from uid + (getpwuid: UID からユーザ名を特定できなかった)</td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>致命的な状態</td> + + <td>socket: Failed to get a socket, exiting child + (socket: ソケットが得られないため、子プロセスを終了させた)</td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>エラー</td> + + <td>Premature end of script headers + (スクリプトのヘッダが足りないままで終わった)</td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>警告</td> + + <td>child process 1234 did not exit, sending another SIGHUP + (子プロセス 1234 が終了しなかった。もう一度 SIGHUP を送る)</td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>普通だが、重要な情報</td> + + <td>httpd: caught SIGBUS, attempting to dump core in ... + (httpd: SIGBUS シグナルを受け、... へコアダンプをした)</td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>追加情報</td> + + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..." (「サーバは負荷が高い、 + (StartServers や Min/MaxSpareServers の値を増やす必要があるかも)」)</td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>デバッグメッセージ</td> + + <td>"Opening config file ..." (設定ファイルを開いている...)</td> + </tr> + </table> + + <p>特定のレベルが指定された場合、それより高いレベルの全てのメッセージが + 報告されます。 + <em>例えば</em>、<code>LogLevel info</code> に指定すると、 + <code>notice</code> と <code>warn</code> も報告されます。</p> + + <p>なお <code>crit</code> 以上のレベルを指定することが推奨されます。</p> + + <p>例:</p> + + <div class="example"><p><code> + LogLevel notice + </code></p></div> + + <div class="note"><h3>注</h3> + <p>ファイルにログを出力する場合、<code>notice</code> + レベルのメッセージは抑制されず、すべてログに出力されます。 + しかし <code>syslog</code> を使用している場合は、 + これは当てはまりません。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>持続的な接続上で許可されるリクエストの数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxKeepAliveRequests <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">MaxKeepAliveRequests</code> ディレクティブは、 + <code class="directive"><a href="#keepalive">KeepAlive</a></code> が有効な場合に、 + 一回の接続で受け付け可能なリクエストの数を制限します。 + <code>0</code> に設定していれば、受け付けるリクエストは無制限になります。 + この設定は、サーバ性能を向上させるために、大きな数値を指定することを勧めます。 + </p> + + <p>例:</p> + + <div class="example"><p><code> + MaxKeepAliveRequests 500 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a> <a name="maxrangeoverlaps" id="maxrangeoverlaps">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a> <a name="maxrangereversals" id="maxrangereversals">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxRangeReversals 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRanges" id="MaxRanges">MaxRanges</a> <a name="maxranges" id="maxranges">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Number of ranges allowed before returning the complete +resource </td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxRanges default | unlimited | none | <var>number-of-ranges</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxRanges 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.3.15 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeSlashes" id="MergeSlashes">MergeSlashes</a> <a name="mergeslashes" id="mergeslashes">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MergeSlashes ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MergeSlashes ON</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Added in 2.4.39</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a> <a name="mergetrailers" id="mergetrailers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Determines whether trailers are merged into headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MergeTrailers [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MergeTrailers off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.4.11 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Mutex" id="Mutex">Mutex</a> <a name="mutex" id="mutex">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Mutex default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.3.4 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>名前ベースのバーチャルホストのための IP アドレスを指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>NameVirtualHost <var>addr</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">NameVirtualHost</code> ディレクティブは、 + <a href="../vhosts/">名前ベースのバーチャルホスト</a>の設定を行ないたい場合に + 必要となるものです。</p> + + <p><var>addr</var> にはホスト名を指定できますが、 + 常に IP アドレスを指定するのが推奨されます。 + 例えば、</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44 + </code></p></div> + + <p><code class="directive">NameVirtualHost</code> ディレクティブは、 + 名前ベースのバーチャルホストを + 利用してリクエストを受け付ける IP アドレスを指定します。 + これは、普通は名前ベースのバーチャルホストアドレスです。 + ただし、ファイアーウォールや他のプロキシがリクエストを受け付け、 + 違う IP アドレスのサーバにフォワードするという場合は、 + リクエストを提供したいマシン上の物理インターフェースの + IP アドレスを指定する必要があります。 + 複数のアドレスで複数の名前ベースのバーチャルホストを指定する場合は + 各アドレスに対してディレクティブを書いてください。</p> + + <div class="note"><h3>中</h3> + <p>「主サーバ」や、どの <code>_default_</code> サーバも、 + <code class="directive">NameVirtualHost</code> で指定した IP アドレスへのリクエスト + を処理することは<strong>ありません</strong> (なぜか + <code class="directive">NameVirtualHost</code> を + 指定したけどそのアドレスに <code class="directive">VirtualHost</code> を定義しなかった場合を除く)。</p> + </div> + + <p>名前ベースのバーチャルホストにポート番号を指定することも可能です。 + 例えば</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44:8080 + </code></p></div> + + <p>IPV6 のアドレスは次の例のように角括弧で囲む必要があります:</p> + + <div class="example"><p><code> + NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 + </code></p></div> + + <p>すべてのインタフェースへのリクエストを受け取るようにするためには、 + 引数として <code>*</code> を使います。</p> + + <div class="example"><p><code> + NameVirtualHost * + </code></p></div> + + <div class="note"><h3><code class="directive"><VirtualHost></code> ディレクティブの引数</h3> + <p><code class="directive"><VirtualHost></code> ディレクティブの引数は <code class="directive">NameVirtualHost</code> ディレクティブの引数に正確に + 合っている必要があることに注意してください。</p> + + <div class="example"><p><code> + NameVirtualHost 1.2.3.4<br /> + <VirtualHost 1.2.3.4><br /> + # ...<br /> + </VirtualHost><br /> + </code></p></div> + </div> + + +<h3>参照</h3> +<ul> +<li><a href="../vhosts/">バーチャルホスト説明書 +</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディレクトリに対して使用可能な機能を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Options All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">Options</code> ディレクティブは、特定のディレクトリに対して + どの機能が使用可能かを制御します。</p> + + <p><var>option</var> を <code>None</code>に指定すると、 + 特別な機能は全て無効になります。 + また、以下の示す 1 個以上のものを指定できます。</p> + + <dl> + <dt><code>All</code></dt> + + <dd><code>MultiViews</code> を除いた全ての機能が有効となります。 + これがデフォルトです。</dd> + + <dt><code>ExecCGI</code></dt> + + <dd> + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> による CGI スクリプトの実行を許可します。</dd> + + <dt><code>FollowSymLinks</code></dt> + + <dd> + サーバが、このディレクトリ内でシンボリックリンクをたどれるようにします。 + <div class="note"><p>サーバがシンボリックリンクをたどる場合でも、 + <code class="directive"><a href="#directory"><Directory></a></code> セクションに + マッチさせるための + パス名は<em>変更されません</em>。</p> + <p><code class="directive"><a href="#location"><Location></a></code> 内に + このオプションを指定しても<strong>無視される</strong>ことに + 注意してください。</p> + <p>このオプションを省略したからといってセキュリティの強化にはなりません。 + なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、 + そのため回避可能になるからです。</p> + </div></dd> + + <dt><code>Includes</code></dt> + + <dd> + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> が提供する SSI を有効にします。</dd> + + <dt><code>IncludesNOEXEC</code></dt> + + <dd> + SSI は有効になりますが、<code>#exec</code> コマンド と <code>#exec CGI</code> は無効になります。 + ただし、<code>#include virtual</code> により、<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> されたディレクトリで + CGI を実行することは可能です。</dd> + + <dt><code>Indexes</code></dt> + + <dd> + もし、URL がディレクトリにマップするリクエストであって、 + 且つ <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> で指定したファイル (例えば、<code>index.html</code>) が + ディレクトリ内に無ければ、<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が + ディレクトリ内の一覧を整形して返します。</dd> + + <dt><code>MultiViews</code></dt> + + <dd> + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> による + <a href="../content-negotiation.html">コンテントネゴシエーション</a> + された "MultiViews" を許可します。</dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + + <dd> + シンボリック先のファイルまたはディレクトリが、 + シンボリックリンクの所有ユーザ ID と同じ場合にのみシンボリックリンクを + たどれるようにします。 + + <div class="note"><h3>注</h3> <p><code class="directive"><a href="#location"><Location></a></code> 内にこのオプションを + 指定しても無視されます。</p> + <p>このオプションはセキュリティの強化にはなりません。 + なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、 + そのため回避可能になるからです。</p> + </div> + </dd> + </dl> + + <p>通常、ディレクトリに対して複数の <code class="directive">Options</code> が + 適用可能な場合、 + 最も近いもの一つのみが適用され、他のものは無視されます。 + 複数の指定がマージされるわけではありません。(<a href="../sections.html#mergin">セクションのマージ方法</a>を参照してください。) + しかし、すべての <code class="directive">Options</code> ディレクティブが <code>+</code> や <code>-</code> 付きで + 指定された場合はオプションの値はマージされます。 + <code>+</code> を頭につければ現在の設定に加えられ、 + <code>-</code> を付ければ現在の設定から削除されます。</p> + + <div class="warning"><h3>警告</h3> + <p><code class="directive">Options</code> で <code>+</code> や + <code>-</code> のついたものを、つけないものと組み合わせて + 指定する構文は正しい構文ではありませんので、期待する結果に + ならないことがあります。</p> + </div> + + <p>例えば、<code>+</code> や <code>-</code> を利用しない場合は:</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options Includes<br /> + </span> + </Directory> + </code></p></div> + + <p><code>/web/docs/spec</code> というディレクトリには、 + <code>Includes</code> だけが適用されます。 + しかし、2 番目の <code class="directive">Options</code> で <code>+</code> や <code>-</code> を利用してみると:</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options +Includes -Indexes<br /> + </span> + </Directory> + </code></p></div> + + <p><code>/web/docs/spec</code> というディレクトリには、 <code>FollowSymLinks</code> と + <code>Includes</code> が適用されます。</p> + + <div class="note"><h3>注</h3> + <p><code>-IncludesNOEXEC</code> もしくは + <code>-Includes</code> を指定すると、 + 前の設定がどのようになっていようとも SSI は無効となります。</p> + </div> + + <p>どのような設定もされていなければ、デフォルトでは <code>All</code> に + なります。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Protocol for a listening socket</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Protocol <var>protocol</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache 2.1.5 and later. +On Windows, from Apache 2.3.3 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#acceptfilter">AcceptFilter</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocols" id="Protocols">Protocols</a> <a name="protocols" id="protocols">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Protocols available for a server/virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Protocols <var>protocol</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Protocols http/1.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#protocolshonororder">ProtocolsHonorOrder</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a> <a name="protocolshonororder" id="protocolshonororder">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Only available from Apache 2.4.17 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#protocols">Protocols</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a> <a name="qualifyredirecturl" id="qualifyredirecturl">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>QualifyRedirectURL On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>QualifyRedirectURL Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Directive supported in 2.4.18 and later. 2.4.17 acted +as if 'QualifyRedirectURL On' was configured.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadBufferSize" id="ReadBufferSize">ReadBufferSize</a> <a name="readbuffersize" id="readbuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Size of the buffers used to read data</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ReadBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ReadBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.4.27 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegexDefaultOptions" id="RegexDefaultOptions">RegexDefaultOptions</a> <a name="regexdefaultoptions" id="regexdefaultoptions">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Allow to configure global/default options for regexes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>RegexDefaultOptions DOTALL DOLLAR_ENDONLY</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Only available from Apache 2.4.30 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a> <a name="registerhttpmethod" id="registerhttpmethod">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Register non-standard HTTP methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.4.24 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#httpprotocoloptions">HTTPProtocolOptions</a></code></li> +<li><code class="directive"><a href="../mod/mod_allowmethods.html#allowmethods">AllowMethods</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache の子プロセスから起動されたプロセスの CPU 消費量を +制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>未設定。オペレーティングシステムのデフォルトを使用</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>一つか二つのパラメータをとります。 + 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、 + 2 番目のパラメータは最大のリソースリミットを設定します。 + パラメータには数字か、オペレーティングシステムの最大となる + <code>max</code> のどちらかを指定することができます。 + 最大のリソースリミットを上げるためには、サーバを + <code>root</code> で実行するか起動されなければいけません。</p> + + <p>ちなみに、この設定は Apache の子プロセス自体ではなく、 + リクエストを受け付けた Apache の子プロセスから fork されたプロセスに + 適用されます。 + これには CGI や SSI から実行されたコマンドが含まれますが、Apache の + 親プロセスから fork されたログのパイププロセスなどには適用されません。</p> + + <p>CPU リソースのリミットはプロセスあたりの秒数で表わされます。</p> + + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache の子プロセスから起動されたプロセスのメモリ消費量を +制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>未設定。オペレーティングシステムのデフォルトを使用</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>一つか二つのパラメータをとります。 + 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、 + 2 番目のパラメータは最大のリソースリミットを設定します。 + パラメータには数字か、オペレーティングシステムの最大となる + <code>max</code> のどちらかを指定することができます。 + 最大のリソースリミットを上げるためには、サーバを + <code>root</code> で実行するか起動されなければいけません。</p> + + <p>この設定は Apache の子プロセス自体ではなく、 + リクエストを受け付けた Apache の子プロセスから fork されたプロセスに + 適用されます。 + これには CGI や SSI から実行されたコマンドが含まれますが、Apache の + 親プロセスから fork されたログのパイププロセスなどには適用されません。</p> + + <p>メモリリソースのリミットはプロセスあたりのバイト数で表わされます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache の子プロセスから起動されたプロセスが起動するプロセスの +数を制限する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>未設定。オペレーティングシステムのデフォルトを使用</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>一つか二つのパラメータをとります。 + 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、 + 2 番目のパラメータは最大のリソースリミットを設定します。 + パラメータには数字か、オペレーティングシステムの最大となる + <code>max</code> のどちらかを指定することができます。 + 最大のリソースリミットを上げるためには、サーバを + <code>root</code> で実行するか起動されなければいけません。</p> + + <p>この設定は Apache の子プロセス自体ではなく、 + リクエストを受け付けた Apache の子プロセスから fork されたプロセスに + 適用されます。 + これには CGI や SSI から実行されたコマンドが含まれますが、Apache の + 親プロセスから fork されたログのパイププロセスなどには適用されません。</p> + + <p>プロセスの制限は、ユーザあたりのプロセス数で制御されます。</p> + + <div class="note"><h3>注</h3> + <p> CGI プロセスがウェブサーバのユーザ ID 以外で実行されるので + <strong>無ければ</strong>、 + このディレクティブは、サーバ自身が生成できるプロセスの数を制限することになります。 + そのような状況になっているかどうかは、<code>error_log</code> 中の + <strong><code>cannot fork</code></strong> というメッセージにより + 確認することができます。</p> + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI スクリプトのインタープリタの位置を調べるための手法</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Win32 のみ。 +オプション <code>Registry-Strict</code> は Apache 2.0 以降で使用可能</td></tr> +</table> + <p>このディレクティブは、Apache で CGI スクリプトを + 実行する場合に利用するインタープリタを、 + どのように探し出すかについて制御するために使用します。 + デフォルトの設定は <code>Script</code> です。これはスクリプトの + shebang 行 (最初の行で <code>#!</code> から始まるもの) + に指されているインタープリタを使用します。Win32 ではその行は + 以下の様になります。</p> + + <div class="example"><p><code> + #!C:/Perl/bin/perl.exe + </code></p></div> + + <p>もしくは、<code>perl</code> が <code>PATH</code> にある場合は単に:</p> + + <div class="example"><p><code> + #!perl + </code></p></div> + + <p><code>ScriptInterpreterSource Registry</code> を指定すると、 + スクリプトファイルの拡張子 (例えば、<code>.pl</code>) を + キーとして、Windows のレジストリツリー <code>HKEY_CLASSES_ROOT</code> + を検索するようになります。レジストリのサブキー + <code>Shell\ExecCGI\Command</code> か、それが存在しない場合は + <code>Shell\Open\Command</code> がスクリプトファイルを開くために + 使われます。レジストリキーが見つからないときは、Apache は <code>Script</code> + オプションが指定されたときの動作に戻ります。</p> + + <div class="warning"><h3>セキュリティ</h3> + <p><code>ScriptInterpreterSource Registry</code> を <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> されたディレクトリで使うときは + 注意してください。Apache はそのディレクトリ中の<em>すべての</em>ファイルを + 実行しようとします。<code>Registry</code> という設定は通常は実行されない + ファイルに対して望ましくないプログラムの実行が発生する可能性があります。 + 例えば、ほとんどの Windows システムで、 + <code>.htm</code> ファイルのデフォルトの「開く」コマンドは + Microsoft Internet Explorer を実行しますので、スクリプトに指定された + ディレクトリにある <code>.htm</code> ファイルへのリクエストはサーバの + バックグラウンドでブラウザを実行することになります。これは、一分内くらいで + システムをクラッシュさるための良い方法です。</p> + </div> + + <p>Apache 2.0 から導入されたオプション <code>Registry-Strict</code> は + <code>Registry</code> と同じことを行ないますが、サブキー + <code>Shell\ExecCGI\Command</code> のみを使います。 + <code>ExecCGI</code> キーは普通に使われるキーではありません。Windows + レジストリに手動で設定する必要がありますので、システムでの偶発的なプログラムの + 実行を防ぐことができます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a> <a name="seerequesttail" id="seerequesttail">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SeeRequestTail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SeeRequestTail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache httpd 2.2.7 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがクライアントに送るエラーメッセージに含める電子メールの +アドレス</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerAdmin <var>email-address</var>|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerAdmin</code> は、クライアントに返すさまざまな + エラーメッセージ中に記述する、 + 問合せアドレスを設定します。与えられた引数を <code>httpd</code> が + URL と認識しない場合は、<var>email-address</var> だと解釈して、 + ハイパーリンクのターゲットに <code>mailto:</code> を付けます。 + 実際には、ここには電子メールアドレスを使うことが推奨されています。 + 多くの CGI スクリプトはそうなっていることを仮定しています。 + URL を使う場合は、あなたの管理下にある別サーバを指すようにしてください。 + そうでないと、エラーが起こったときに連絡をすることができなくなって + しまいます。 +</p> + + <p>その際、これのために専用のアドレスを設定するのが良いでしょう。 + 例えば、</p> + + <div class="example"><p><code> + ServerAdmin www-admin@foo.example.com + </code></p></div> + + <p>といったようにします。ユーザはいつもサーバに関する話であるということを + 明記してくるわけではありませんので。</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストを名前ベースのバーチャルホストにマッチさせているときに +使用されるホストの別名</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerAlias</code> ディレクティブは、<a href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a>において + 使用するホストの別名を指定します。 + 適切であれば、<code class="directive">ServerAlias</code> ディレクティブでは + ワイルドカードを使うこともできます。</p> + + <div class="example"><p><code> + <VirtualHost *><br /> + ServerName server.domain.com<br /> + ServerAlias server server2.domain.com server2<br /> + # ...<br /> + </VirtualHost> + </code></p></div> + +<h3>参照</h3> +<ul> +<li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが自分自身を示すときに使うホスト名とポート</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>このディレクティブはバージョン 2.0 ではバージョン 1.3 の + <code class="directive">Port</code> ディレクティブの機能も含みます。</td></tr> +</table> + <p><code class="directive">ServerName</code> ディレクティブは、 + サーバが自分自身を示すスキーム名、ホスト名とポート番号を設定します。 + これは、リダイレクトする URL を生成する際に利用されます。 + 例えば、ウェブサーバを動かしているマシンは <code>simple.example.com</code> + で、DNS のエイリアス <code>www.example.com</code> もあるときに、 + ウェブサーバが後者として認識されて欲しいときは、以下のようにディレクティブを + 使います。</p> + + <div class="example"><p><code> + ServerName www.example.com:80 + </code></p></div> + + <p><code class="directive">ServerName</code> が指定されていないときは、 + サーバは IP アドレスから逆引きを行なうことでホスト名を知ろうとします。 + <code class="directive">ServerName</code> にポートが指定されていないときは、 + サーバはリクエストが来ている + ポートを使います。最高の信頼性と確実性をもたらすためには、 + <code class="directive">ServerName</code> を使ってホスト名とポートを明示的に + 指定してください。</p> + + <p><a href="../vhosts/name-based.html">名前ベースのバーチャルホスト</a> + を利用している場合、<code class="directive"><a href="#virtualhost"><VirtualHost></a></code> セクション内の + <code class="directive">ServerName</code> はこのバーチャルホストにマッチするために + 何がリクエストの Host: ヘッダに現れる必要があるのかを指定します。</p> + + <p>SSL を処理するデバイス、例えばリバースプロクシやロードバランサや + SSL 処理軽減アプライアンスの裏側でサーバが稼動する場合もあるでしょう。 + そういった場合では、クライアントが接続するときに使う + <code>https://</code> スキームとポート番号を <code class="directive">ServerName</code> + ディレクティブで指定して、自己参照 URL が正しく生成できるようにします。</p> + + <p>自己参照 URL (例えば <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> モジュールによるものなど) + が指定されたポートを使うか、クライアントのリクエストのポート番号を使うかを + 決定する設定は <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> + ディレクティブと <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> + ディレクティブを参照してください。</p> + + +<h3>参照</h3> +<ul> +<li><a href="../dns-caveats.html">DNS と Apache に関する話</a></li> +<li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>非互換のブラウザが名前ベースのバーチャルホストにアクセスしたときの +ための互換用 URL パス名</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerPath <var>URL-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerPath</code> ディレクティブは、<a href="../vhosts/">ネームベースのバーチャルホスト</a>において利用する + 互換用 URL パス名を設定します。</p> + +<h3>参照</h3> +<ul> +<li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>インストールされたサーバのベースディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerRoot <var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerRoot</code> ディレクティブは、 + サーバが存在するディレクトリを設定します。 + 通常、<code>conf/</code> や <code>logs/</code> といったサブディレクトリが + 存在します。 + また、他の設定ディレクティブ (例えば <code class="directive"><a href="#include">Include</a></code> や <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> など) における相対パスは、 + このディレクトリからの相対位置となります。</p> + + <div class="example"><h3>例</h3><p><code> + ServerRoot /home/httpd + </code></p></div> + + + +<h3>参照</h3> +<ul> +<li><a href="../invoking.html"><code>httpd</code> の <code>-d</code> + オプション</a></li> +<li><code class="directive">ServerRoot</code> の権限を適切に設定する方法は<a href="../misc/security_tips.html#serverroot">セキュリティのこつ</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが生成するドキュメントのフッタを設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerSignature</code> ディレクティブは、 + サーバが生成するドキュメント + (エラーメッセージ、<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> における FTP のディレクトリリスト、 + <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> の出力、等々) + の最下行に付与するフッタの設定を行ないます。 + そのようなフッタ行を有効にしたい理由には、 + プロキシが複数連なっている場合に、ユーザはどのサーバが返した + エラーメッセージかを知る手段がほとんど無いというものがあります。</p> + + + <p>デフォルトである <code>Off</code> に設定をすると、フッタ行が抑制されます + (そして、Apache-1.2 以前と互換の動作をします)。 + <code>On</code> に設定した場合は、単にドキュメントの中に、サーバのバージョン、 + 稼動中のバーチャルホストの <a href="#servername">ServerName</a> の書かれた行を追加し、 + <code>EMail</code> にした場合はさらに参照されたドキュメントに対する <a href="#serveradmin">ServerAdmin</a> を指す "mailto:" が追加されます。</p> + + <p>バージョン 2.0.44 以降では、表示されるサーバーのバージョン番号の詳細は<code class="directive"><a href="#servertokens">ServerTokens</a></code> + ディレクティブにより制御されます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>Server</code> HTTP 応答ヘッダを設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>このディレクティブは、クライアントに送り返す <code>Server</code> + 応答ヘッダ内に、サーバの一般的な OS 種別や、 + コンパイルされて組み込まれているモジュールの情報を + 含めるかどうかを指定します。</p> + + <dl> + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>サーバは (例えば): <code>Server: + Apache</code> といったように送ります。</dd> + + <dt><code>ServerTokens Major</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + + <dd>Server sends (<em>e.g.</em>): <code>Server: + Apache/2.0</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>サーバは (例えば): <code>Server: + Apache/2.0.41</code> といったように送ります。</dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>サーバは (例えば): <code>Server: Apache/2.0.41 + (Unix)</code> といったように送ります。</dd> + + <dt><code>ServerTokens Full</code> (もしくは未指定)</dt> + + <dd>サーバは (例えば): <code>Server: Apache/2.0.41 + (Unix) PHP/4.2.2 MyMod/1.2</code> といったように送ります。</dd> + </dl> + + <p>この設定はサーバ全体に適用され、バーチャルホスト上で有効にしたり + 無効にしたりはできません。</p> + + <p>バージョン 2.0.44 以降ではこのディレクティブは <code class="directive"><a href="#serversignature">ServerSignature</a></code> + ディレクティブにより表示される情報も制御します。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>マッチするファイルがハンドラで処理されるようにする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetHandler <var>handler-name</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 で core に移動</td></tr> +</table> + <p><code>.htaccess</code> や <code class="directive"><a href="#directory"><Directory></a></code> + セクション、<code class="directive"><a href="#location"><Location></a></code> + セクションに書かれた場合、 + このディレクティブはそこにあるすべてのファイルが + <var>handler-name</var> で指定された<a href="../handler.html">ハンドラ</a>で扱われることを強制します。例えば、拡張子に関わらず、 + ディレクトリ全体がイメージマップファイルとして解析して欲しい場合には、 + 以下をそのディレクトリの <code>.htaccess</code> + ファイルに記述します:</p> + + <div class="example"><p><code> + SetHandler imap-file + </code></p></div> + + <p>別の例: URL <code>http://servername/status</code> + が指定されたときにサーバが状態報告をするようにしたいときは、以下を + <code>httpd.conf</code> に記述します:</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + </span> + </Location> + </code></p></div> + + <p><code>None</code> という値を設定することで、 + 前の方の <code class="directive">SetHandler</code> で定義された設定を無効にすることが + できます。</p> + <p><strong>注意:</strong>SetHandler はデフォルトのハンドラをオーバーライド + しますので、通常の挙動、たとえば、スラッシュ (/) で終わる URL が + リクエストされたときにディレクトリやインデックスファイルを返すよう取り扱う挙動は、 + 行われなくなります。 + </p> + + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントのリクエストや POST の入力を処理するフィルタを設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetInputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">SetInputFilter</code> ディレクティブはクライアントの + リクエストや POST の入力をサーバが受け取ったときに処理するフィルタを + 設定します。これは <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> + ディレクティブを含め、他の場所で定義されているフィルタの設定に + 追加されます。</p> + + <p>複数のフィルタを指定するときは、データを処理する順番に + セミコロンで区切る必要があります。</p> + + +<h3>参照</h3> +<ul> +<li><a href="../filter.html">フィルタ</a>説明書</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバの応答を処理するフィルタを設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">SetOutputFilter</code> ディレクティブは + サーバの応答をクライアントに送り返される前に処理するフィルタを設定します。 + これは <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> + ディレクティブを含め、他の場所で定義されているフィルタの設定に + 追加されます。</p> + + <p>例えば、以下の設定は <code>/www/data/</code> ディレクトリのすべての + ファイルを SSI で処理します。</p> + + <div class="example"><p><code> + <Directory /www/data/><br /> + <span class="indent"> + SetOutputFilter INCLUDES<br /> + </span> + </Directory> + </code></p></div> + + <p>複数のフィルタを指定するときは、データを処理する順番に + セミコロンで区切る必要があります。</p> + +<h3>参照</h3> +<ul> +<li><a href="../filter.html">フィルタ</a>説明書</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StrictHostCheck" id="StrictHostCheck">StrictHostCheck</a> <a name="stricthostcheck" id="stricthostcheck">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>StrictHostCheck ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>StrictHostCheck OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Added in 2.4.49</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>各イベントについて、リクエストを失敗させるまでにサーバが +待つ時間を設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>TimeOut <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>TimeOut 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive">TimeOut</code> ディレクティブは、 + 様々な条件下での I/O 待ち時間を定義します:</p> + + <ol> + <li>クライアントからのデータを読み込む時。 + 受信バッファが空になっていて、TCP パケットが届くまで + 待つ時間の長さ</li> + + <li>クライアントに対してデータを送り出す時。 + 送信バッファがいっぱいで、パケットの受信完了 <span class="transnote">(<em>訳注:</em> ACK)</span> + が届くまで待つ時間の長さ</li> + + <li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> 内で、CGI スクリプトが出力を + 返すまでの待ち時間の長さ</li> + + <li><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> 内で、フィルタ処理で出力を + 待つ時間の長さ</li> + + <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 内で、 + <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> + が設定されていない場合のデフォルトの待ち時間</li> + </ol> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a> <a name="traceenable" id="traceenable">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>TRACE</code> メソッドのリクエストに対する応答方法を決める +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 1.3.34, 2.0.55 以降</td></tr> +</table> + <p>Apache のコア機能<span class="transnote">(<em>訳注:</em> <code class="module"><a href="../mod/core.html">core</a></code>)</span>と + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 両方の <code>TRACE</code> + の挙動をオーバーライドします。デフォルトの <code>TraceEnable on</code> + は、リクエストボディを受け入れないような、RFC2616 に準拠した + <code>TRACE</code> リクエストを受け付けます。 + <code>TraceEnable off</code> と設定すると、コアサーバと + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> は <code>405</code> (メソッド不許可) + エラーをクライアントに返します。</p> + + <p>最後に、テストや調査目的などの限定用途として、仕様に準拠しない + <code>TraceEnable extended</code> を使って、リクエストボディを + 受け付けるように挙動を変更できます。(オリジンサーバとしての) + Apache のコアでは、リクエストボディのサイズは 64k ( + <code>Transfer-Encoding: chunked</code> が使われている場合は + chunk ヘッダ用に +8k) に制限されます。 + Apache のコアは、ヘッダと全ての chunk ヘッダをレスポンスの + ボディとして返却します。 + proxy サーバとしては、リクエストボディのサイズは 64k に制限されません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnDefine" id="UnDefine">UnDefine</a> <a name="undefine" id="undefine">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Undefine the existence of a variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>UnDefine <var>parameter-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p><h3>参照</h3> +<ul> +<li><code class="directive"><a href="#define">Define</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが自分自身の名前とポートを決定する方法を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>UseCanonicalName On|Off|Dns</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>UseCanonicalName Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>多くの状況で Apache は<em>自己参照</em> URL、すなわち + 同じサーバを指す URL、を作成する必要があります。 + <code>UseCanonicalName On</code> の場合は、<code class="directive"><a href="#servername">ServerName</a></code> ディレクティブで指定されている + ホスト名とポート番号を使って、その正規名 (自己参照の名前) を生成します。 + この名前は、すべての自己参照 URL で使われますし、CGI の + <code>SERVER_NAME</code> と <code>SERVER_PORT</code> でも使われます。</p> + + <p><code>UseCanonicalName Off</code> の場合、 + クライアントがホスト名とポートを指定したときには、 + それらを元に自己参照 URL を作成します (指定がなかったときは + 上の定義と同様にして正規名を解決します)。 + これらの値は<a href="../vhosts/name-based.html">名前ベースの + バーチャルホスト</a>を実装で使われているのと同じ値で、 + 同じクライアントで取得できる値になっています。 + CGI 変数 <code>SERVER_NAME</code> と <code>SERVER_PORT</code> + もクライアントから与えられた値から作成されます。</p> + + <p>このような挙動が便利な例は、イントラネットのサーバで <code>www</code> + のような短い名前でユーザがマシンに接続するときです。 + ユーザの入力で短いホスト名が使われていて、URL が<em>最後のスラッシュ無しの</em> + ディレクトリになっている <code>http://www/splat</code> のようなとき、 + Apache はリクエストを <code>http://www.domain.com/splat/</code> + へリダイレクトします。 + 認証をするように設定していると、この場合 + ユーザは 2 回認証をしなければならなくなります (<code>www</code> に + 対して 1 回、<code>www.domain.com</code> に対してもう 1 回 -- + 詳細は <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">この話題の + FAQ</a> を参照してください)。 + しかし <code class="directive">UseCanonicalName</code> が <code>Off</code> になっていると、 + Apache は <code>http://www/splat/</code> にリダイレクトします。</p> + + <p>三つ目のオプション <code>UseCanonicalName DNS</code> は、 + 大規模な IP ベースのバーチャルホスティングで、 + <code>Host:</code> ヘッダを提供しない古いクライアントを + サポートする場合を想定しています。 + このオプションでは Apache は、クライアントが接続した IP アドレスに対して + DNS の逆引きを行なって、自己参照 URL を作成します。</p> + + <div class="warning"><h3>警告</h3> + <p>CGI が <code>SERVER_NAME</code> に関して何らかの前提条件を + 仮定しているときには、このオプションの設定によっては動作しなく + なるかもしれません。クライアントは実質的にはホスト名として + 何でも望みの値を指定することができます。CGI が + <code>SERVER_NAME</code> を使って自己参照 URL を作成することしかしない + 場合は、どの設定を行なっても大丈夫なはずです。</p></div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>自分自身の名前とポート番号を解決する方法を設定する +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p>さまざまな局面で <em>自己参照</em> URL -- それ自体のサーバを参照する URL + を作ることになります。<code>UseCanonicalPhysicalPort On</code> と設定すると、 + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> に従って別名を + 生成する場合に、実際の物理ポート番号を使って構成するようになります。 + <code>UseCanonicalPhysicalPort Off</code> の場合は、実際の物理ポート番号は + 使用せず、設定された情報を元にポート番号を決めます。</p> + + <div class="note"><h3>注意</h3> + <p>物理ポートが使われる場合の順番は次のようになっています:<br /><br /> + <code>UseCanonicalName On</code></p> + <ul> + <li><code>ServerName</code> で指定されているポート番号</li> + <li>物理ポート番号</li> + <li>デフォルトのポート番号</li> + </ul> + <code>UseCanonicalName Off | DNS</code> + <ul> + <li><code>Host:</code> ヘッダをパースして取得されるポート番号</li> + <li>物理ポート番号</li> + <li><code>ServerName</code> で指定されているポート番号</li> + <li>デフォルトのポート番号</li> + </ul> + + <p><code>UseCanonicalPhysicalPort Off</code> で、 + 物理ポート番号が上記の順序付けから除外されます。</p> + </div> + + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a> <a name="virtualhost" id="virtualhost">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定のホスト名や IP アドレスのみに適用されるディレクティブを +囲む</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><VirtualHost></code> 及び + <code></VirtualHost></code> は、 + 特定のバーチャルホストに対してのみ適用されるディレクティブ群を括る + ために使われます。 + バーチャルホストコンテキストで許可される全てのディレクティブを指定可能です。 + サーバが、指定されたバーチャルホストにあるドキュメントへの + リクエストを受け付けた場合、 + <code class="directive"><VirtualHost></code> セクションの中にある + ディレクティブが適用されます。 + <var>Addr</var>は、次のものが利用できます:</p> + + <ul> + <li>バーチャルホストの IP アドレス</li> + + <li>バーチャルホストの IP に対応する完全なドメイン名 (非推奨)</li> + + <li><code>NameVirtualHost *</code> と共に使われる、 + すべての IP アドレスにマッチする文字 <code>*</code></li> + + <li>IP ベースのバーチャルホストで他のものにマッチしない IP アドレス + のための文字列 <code>_default_</code></li> + </ul> + + <div class="example"><h3>例</h3><p><code> + <VirtualHost 10.1.2.3><br /> + <span class="indent"> + ServerAdmin webmaster@host.example.com<br /> + DocumentRoot /www/docs/host.example.com<br /> + ServerName host.example.com<br /> + ErrorLog logs/host.example.com-error_log<br /> + TransferLog logs/host.example.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>IPv6 アドレスはオプションのポート番号の指定と区別するために、 + 角括弧で括って指定する必要があります。次は IPv6 の例です:</p> + + <div class="example"><p><code> + <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br /> + <span class="indent"> + ServerAdmin webmaster@host.example.com<br /> + DocumentRoot /www/docs/host.example.com<br /> + ServerName host.example.com<br /> + ErrorLog logs/host.example.com-error_log<br /> + TransferLog logs/host.example.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>各々のバーチャルホストにはそれぞれ違う IP アドレス、ポート番号 + もしくはホスト名に対応する必要があり、 + 1 番目の場合には複数のアドレスで IP パケットを受信できるように + サーバマシンを設定しなければなりません。 + (もし、マシンが複数のネットワークインターフェースを持たない場合は、 + (OSがサポートしていれば) <code>ifconfig alias</code> コマンドにより + 達成できます)。</p> + + <div class="note"><h3>注意点</h3> + <p><code class="directive"><VirtualHost></code> は Apache が Listen する + IP アドレスには影響を与え<strong>ません</strong>。 + <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> を + 使って Apache が正しいアドレスを listen するように設定する必要があります。</p> + </div> + + <p>IP ベースのバーチャルホストを使っている場合は、特別な名前 + <code>_default_</code> を指定することができます。その場合は + そのバーチャルホストは他のバーチャルホストで明示的に挙げられていない + すべての IP アドレスにマッチします。<code>_default_</code> バーチャルホストが無い + 場合に IP がバーチャルホストで指定されたものにマッチしないときは、 + VirtualHost セクションの外のすべての定義からなる「主」サーバ設定が + 使われます。(ただし、<code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> ディレクティブにマッチする + すべての IP アドレスは「主」サーバ設定も <code>_default_</code> バーチャルホストも + 使わないことに注意してください。詳しくは <a href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a> を + 参照してください。)</p> + + <p><code>:port</code> といった形式で記述することにより、 + マッチさせるポートを変更可能です。 + この指定をしない場合には、主サーバ設定における + 一番最後に <code><a href="#port">Port</a></code> で指定されたポートが + デフォルトとなります。 + <code>:*</code> を指定することにより、 + アドレス上の全てのポートにマッチします。(<code>_default_</code> のときは + これを使うことが推奨されています。)</p> + + <p><code class="directive"><VirtualHost></code> ブロックごとに + <code class="directive"><a href="#servername">ServerName</a></code> を指定すべきです。 + もしなければ、メインサーバ設定の + <code class="directive"><a href="#servername">ServerName</a></code> + が継承されます</p> + + <div class="warning"><h3>セキュリティ</h3> + <p>サーバーを起動した以外のユーザがログファイルが保管されるディレクトリに + 書き込み可能なときになぜセキュリティが破られる可能性があるかの詳細は + <a href="../misc/security_tips.html">セキュリティに関するコツ</a> を + 参照してください。</p></div> + +<h3>参照</h3> +<ul> +<li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li> +<li><a href="../dns-caveats.html">DNS と Apache に関する話</a></li> +<li><a href="../bind.html">Apache が使用するアドレスとポートの設定</a></li> +<li>リクエストを受けた際にこれらの異なるセクションが + 組み合わされる方法については <a href="../sections.html"> + <Directory>, <Location>, <Files> セクションの動作法</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/core.html.tr.utf8 b/docs/manual/mod/core.html.tr.utf8 new file mode 100644 index 0000000..5d87a51 --- /dev/null +++ b/docs/manual/mod/core.html.tr.utf8 @@ -0,0 +1,5256 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Temel Özellikleri</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Apache HTTP Sunucusunda daima mevcut olan çekirdek + özellikler</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergeslashes">MergeSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readbuffersize">ReadBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stricthostcheck">StrictHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir protokolün dinleyici soketleri için en iyilemeleri ayarlar +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AcceptFilter <code>protocol</code> <code>kabul_süzgeci</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge <code class="directive"><a href="#protocol">Protocol</a></code> yönergesinde belirtilen + protokol türüne göre bir dinleme soketinin işletim + sistemine özgü en iyilemelerini etkin kılar. İşletim sistemi çekirdeği + için temel önerme veri alınıncaya kadar veya HTTP isteğinin tamamı + tamponlanana kadar sunucu sürecine bir soket tahsis etmemektir. + Şimdilik sadece <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9">FreeBSD’nin Kabul Süzgeçleri</a> ve Linux’un soket seçeneklerinden + <code>TCP_DEFER_ACCEPT</code> ve Windows'un en iyilenmiş + <code>AcceptEx()</code> işlevi desteklenmektedir.</p> + + <p>Değiştirge olarak <code>none</code> kullanımı, protokolün kabul + süzgeçlerini iptal edecektir. <code>ftp:</code> veya <code>nntp</code> + gibi sunucunun baştan bir veri göndermesinin gerekli olduğu + protokoller için kullanışlıdır. Örnek:</p> + + <pre class="prettyprint lang-config">AcceptFilter nntp none</pre> + + + <p>Öntanımlı protokol isimleri port 443 için <code>https</code> ve tüm + diğer portlar için <code>http</code>'dir. Dinlenmesi için başka bir port + ile ilgili bir protokol belirtmek isterseniz <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> yönergesine <code>protokol</code> + argümanını ekleyin.</p> + + <p>FreeBSD için öntanımlı değerler:</p> + <pre class="prettyprint lang-config">AcceptFilter http httpready +AcceptFilter https dataready</pre> + + + <p><code>httpready</code> kabul süzgeci HTTP isteklerinin tamamını + işletim sistemi çekirdeği seviyesinde tamponlar. Çekirdek isteğin + tamamını alır almaz sunucuya gönderir. Ayrıntılar için <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9">accf_http(9)</a> kılavuz sayfasına bakınız. HTTPS istekleri + şifrelenmiş olduğundan sadece <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9">accf_data(9)</a> süzgeci kullanılır.</p> + + <p>Linux’taki öntanımlı değerler:</p> + <pre class="prettyprint lang-config">AcceptFilter http data +AcceptFilter https data</pre> + + + <p>Linux’un <code>TCP_DEFER_ACCEPT</code> soket seçeneği HTTP isteklerinin + tamponlanmasını desteklemez. <code>none</code> dahil her değer + dinleyici üzerinde <code>TCP_DEFER_ACCEPT</code> seçeneğini etkin kılar. + Daha ayrıntılı bilgi edinmek için Linux + <a href="http://man7.org/linux/man-pages/man7/tcp.7.html">tcp(7)</a> kılavuz sayfasına bakınız.</p> + + <p>Windows’taki öntanımlı değerler::</p> + + <pre class="prettyprint lang-config">AcceptFilter http connect +AcceptFilter https connect</pre> + + + <p>Windows'un <code>mpm_winnt</code> modülü <code>AcceptEx()</code> + arayüzünü açıp kapamak için <code>AcceptFilter</code>'i yorumlar ve + http protokol tamponlamasını desteklemez. <code>connect</code>, <code>AcceptEx()</code> arayüzünü kullanacak, ayrıca uç ağ adresleri de alınacak, fakat <code>none</code> gibi <code>connect</code> seçeneği de ilk veri aktarımını beklemeyecektir.</p> + + <p>Windows'ta <code>none</code> <code>AcceptEx()</code>'ten ziyade + <code>accept()</code> kullanır ve ağ soketlerini bağlantılar arasında + yer değiştirmez. Sürücü desteği bozuk ağ bağdaştırıcılarından başka + vpn sürücüleri gibi bazı sanal ağ sağlayıcılar veya spam, virus veya + casus yazılım süzgeçleri için kullanışlıdır.</p> + + <div class="warning"> + <h3><code>data</code> AcceptFilter (Windows)</h3> + + <p>2.4.23 ve öncesi sürümlerde, Windows <code>data</code> accept + süzgeci veri aktarılana kadar bekletildikten sonra ilk veri + tamponlanır ve uç ağ adresi için tek bir AcceptEx() çağrısı yapılır. + Bu gerçeklenim hizmet reddi saldırısına konu olduğundan iptal + edilmiştir.</p> + + <p>httpd'nin şu anki dağıtımları için Windows'da <code>connect</code> + süzgeci öntanımlıdır ve <code>data</code> belirtilmiş olsa dahi + <code>connect</code> belirtilmiş gibi davranılır. Önceki sürümleri + kullananların AcceptFilter satırını yukarıdaki gibi + <code>connect</code> süzgecine ayarlamaları gerekmektedir.</p> + </div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#protocol">Protocol</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosya isminden sonra belirtilen yol verisini kabul veya + reddeder.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge, istekte dosya isminden sonra (dizinde belirtilen dosya + bulunmayabilir) belirtilen yol verisinin kabul edilip edilmeyeceğini + denetler. Dosya isminden sonra belirtilen yol verisi + <code>PATH_INFO</code> ortam değişkeninde betiklerin kullanımına + sunulabilir.</p> + + <p>Örneğin, içinde sadece <code>here.html</code> dosyası bulunan bir + <code>/test/</code> dizinimiz olsun. <code>/test/here.html/more</code> + ve <code>/test/nothere.html/more</code> isteklerinin her ikisi de + <code>PATH_INFO</code> değişkenine <code>/more</code> verisinin + atanmasını sağlar.</p> + + <p><code class="directive">AcceptPathInfo</code> yönergesine atanabilecek argüman + sayısı üçtür:</p> + <dl> + <dt><code>Off</code></dt><dd>Sadece dosya isminden sonra yol verisi + bulunmayan istekler kabul edilir. Yukarıdaki örnekteki gibi + <code>/test/here.html/more</code> şeklindeki istekler bir 404 (Nesne + bulunamadı) hatasıyla sonuçlanır.</dd> + + <dt><code>On</code></dt><dd>Mevcut bir dosyaya ait bir dosya isminden + sonra bir yol verisinin de belirtildiği istekler kabul edilir. + Yukarıdaki örnekteki gibi <code>/test/here.html/more</code> şeklindeki + istekler, <code>/test/here.html</code> geçerli bir dosya olduğu + takdirde kabul edilir.</dd> + + <dt><code>Default</code></dt><dd>Dosya isminden sonra yol verisi + belirtilen isteklerin nasıl ele alınacağı istekten sorumlu <a href="../handler.html">eylemci</a> tarafından saptanır. Normal dosyalar + için çekirdek eylemci öntanımlı olarak <code>PATH_INFO</code> + isteklerini reddeder. <a href="mod_cgi.html"><code>cgi-script</code></a> ve <a href="mod_isapi.html"><code>isapi-handler</code></a> gibi betiklere + hizmet eden eylemciler ise genellikle <code>PATH_INFO</code> + isteklerini öntanımlı olarak kabul ederler.</dd> + </dl> + + <p><code>AcceptPathInfo</code> yönergesinin birincil amacı eylemcinin + <code>PATH_INFO</code> istekleri hakkında verdiği kabul veya red + kararını geçersiz kılabilmenizi sağlamaktır. Örneğin, + <code>PATH_INFO</code>’ya dayalı olarak içerik üretmek için <a href="mod_include.html"><code>INCLUDES</code></a> gibi bir <a href="../filter.html">süzgeç</a> kullandığınız takdirde bu + geçersizleştirme zorunlu olur. Normal dosyalar için çekirdek eylemci + normal olarak isteği reddederdi, böyle bir durumda bir betiği etkin + kılmak için aşağıdaki gibi bir yapılandırma kullanabilirsiniz:</p> + + <pre class="prettyprint lang-config"><Files "mypaths.shtml"> + Options +Includes + SetOutputFilter INCLUDES + AcceptPathInfo On +</Files></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dağıtık yapılandırma dosyasının ismi belirtilir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AccessFileName <code>filename</code> [<code>filename</code>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Belge yolu üzerindeki dizinlerde dağıtık yapılandırma dosyalarının <a href="#allowoverride">bulunmasına izin verilmişse</a> sunucu bir isteği + işlerken önce bu dizinlerde bu yönergede belirtilmiş yapılandırma + dosyasını arar. Örnek:</p> + + <pre class="prettyprint lang-config">AccessFileName .acl</pre> + + + <p>Sunucu, <code>/usr/local/web/index.html</code> belgesini döndürmeden + önce,</p> + + <pre class="prettyprint lang-config"><Directory "/"> + AllowOverride None +</Directory></pre> + + + <p>şeklinde bir yapılandırma ile iptal edilmiş olmadıkça yönergeler için + <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code> ve <code>/usr/local/web/.acl</code> + dosyalarını okur.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Yapılandırma Dosyaları</a></li> +<li><a href="../howto/htaccess.html">.htaccess Dosyaları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir yanıtın içerik türü <code>text/plain</code> veya + <code>text/html</code> olduğunda eklenecek öntanımlı karakter kümesi + parametresini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddDefaultCharset On|Off|<code>karküm</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge, yanıtın içerik türü <code>text/plain</code> veya + <code>text/html</code> olmak şartıyla yanıta eklenecek karakter + kümesini (karakter kodlamasınının ismini) belirler. Bu, asıl davranış + çoğunlukla kullanıcının istemci yapılandırmasına bağlı olmakla + birlikte, yanıtın gövdesinde <code>META</code> elemanı vasıtasıyla + belirtilmiş karakter kümesini geçersiz kılar. <code>AddDefaultCharset + Off</code> şeklinde bir atama bu işlevselliği iptal eder. + <code>AddDefaultCharset On</code> ile bu işlevsellik etkin kılınmaktan + başka <code>iso-8859-1</code> karakter kümesini öntanımlı olarak yanıta + eklenir. Yönergede <code>karküm</code> olarak belirtilecek değerler, + Genel Ağ ortam türlerinde (MIME türlerinde) kullanmak üzere <a href="http://www.iana.org/assignments/character-sets">IANA’da kayıtlı + karakter kümesi değerleri</a>nden biri olmalıdır. Örnek:</p> + + <pre class="prettyprint lang-config">AddDefaultCharset utf-8</pre> + + + <p><code class="directive">AddDefaultCharset</code> yönergesi sadece, metin + kaynaklarının hepsinin aynı karakter kümesine sahip olduğu bilindiği + takdirde ve her birinde ayrı ayrı karakter kümesi belirtmek çok + külfetli olacaksa kullanılmalıdır. Buna bir örnek, CGI betikleri + tarafından üretilmiş içeriğe sahip kaynaklara karakter kümesinin + eklenmesidir; böyle kaynaklar çıktıda kullanıcı tarafından sağlanmış + veri içermeleri nedeniyle karşı siteden kaynaklanan betikli + saldırılardan zarar görebilir. Bununla birlikte, bir öntanımlı karakter + kümesi belirtmek, tarayıcılarında “karakter kodlamasını kendiliğinden + sapta” özelliğini etkin kılmış kullanıcıları korumayacağından daha iyi + bir çözüm bu betikleri bu tür saldırılara karşı düzeltmek veya en iyisi + silmektir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip + verilmeyeceğini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>NoDecode seçeneği Apache httpd 2.3.12 ve sonrasında + mevcuttur.</td></tr> +</table> + <p><code class="directive">AllowEncodedSlashes</code> yönergesi kodlanmış dosya + yolu ayracı içeren URL’lere izin verir (<code>/</code> yerine + <code>%2F</code> ve ek olarak <code>\</code> için ilgili sistemlerde + <code>%5C</code> kullanılmış URL’ler).</p> + + <p><code>Off</code> öntanımlı değeriyle, böyle URL’ler bir 404 + (Nesne bulunamadı) hatasıyla reddedilirler.</p> + + <p><code>On</code> değeriyle, böyle URL’ler kabul edilir ve kodlanmış + dosya yolu ayraçları kodlanmış diğer karakterler gibi çözümlenir.</p> + + <p><code>NoDecode</code> değeriyle, böyle URL’ler kabul edilir fakat + kodlanmış dosya yolu ayraçları çözümlenmeden kodlanmış halde + bırakılır.</p> + + <p><code class="directive">AllowEncodedSlashes</code> <code>On</code>, çoğunlukla + <code>PATH_INFO</code> ile bir arada kullanıldığı zaman + kullanışlıdır.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Kodlanmış bölü çizgileri yol bilgisi için gerekliyse bir güvenlik + ölçütü olarak <code>NoDecode</code> kullanımı şiddetle önerilir. + Kodlanmış bölü çizgilerinin çözümlenmesine izin vermek güvensiz olması + olası yollara izin vermek olurdu.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>.htaccess</code> dosyalarında bulunmasına izin verilen + yönerge türleri belirtilir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AllowOverride All|None|<code>yönerge-türü</code> +[<code>yönerge-türü</code>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>AllowOverride None (2.3.9 ve sonrası), AllowOverride All (2.3.8 ve öncesi)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Sunucu <code class="directive"><a href="#accessfilename">AccessFileName</a></code> yönergesi + ile belirtildiği şekilde bir <code>.htaccess</code> dosyasına rastlarsa + önceki yapılandırma yönergelerinin hangilerinin geçersiz kılınmak üzere + bildirildiğini bilmek ister.</p> + + <div class="note"><h3>Sadece <Directory> bölümlerinde geçerli</h3> + <code class="directive">AllowOverride</code> yönergesi, <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> veya <code class="directive"><a href="#files"><Files></a></code> bölümlerinde değil, + sadece düzenli ifade içermeyen <code class="directive"><a href="#directory"><Directory></a></code> bölümlerinde geçerlidir. + </div> + + <p>Bu yönergeye ve <code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code> + yönergesine değer olarak <code>None</code> belirtilirse + <a href="#accessfilename">.htaccess</a> dosyaları tamamen yok sayılır. + Bu durumda, sunucu dosya sisteminde rastladığı <code>.htaccess</code> + dosyalarını okumaya dahi çalışmayacaktır.</p> + + <p>Bu yönergeye <code>All</code> değeri atanırsa, .htaccess <a href="directive-dict.html#Context">bağlamında</a> kullanılabilecek her + yönergeye <code>.htaccess</code> dosyalarında izin verilir. (Hangi + <code>yönerge-türü</code> türü için hangi yönergelerin etkin olduğunu görmek + için <a href="overrides.html">.htaccess için Geçersizleştirme Sınıfları</a> + sayfasına bakınız)</p> + + <p><code><code>yönerge-türü</code></code> olarak aşağıdaki yönerge grup + isimlerinden biri belirtilebilir:</p> + + <dl> + <dt><a href="overrides.html#override-authconfig">AuthConfig</a></dt> + + <dd><code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, + <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, + <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + <em>ve benzeri</em> yetkilendirme yönergelerinin kullanımını izin + verilir.</dd> + + <dt><a href="overrides.html#override-fileinfo">FileInfo</a></dt> + + <dd>Belge türünü denetleyen <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> + <code>Add*</code> ve <code>Remove*</code> yönergeleri, + <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, + <code class="directive"><a href="#forcetype">ForceType</a></code>, + <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, + <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, + <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code> + yönergeleri ve benzerleri ile + <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, + <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, + <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, + <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, + <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, + <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, + <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, + <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, + <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, + <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code> + belge meta veri yönergelerinin, + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülündeki + <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, + <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, + <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, + <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, + <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> + yönergelerinin, <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> modülündeki + <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, + <code class="directive"><a href="../mod/mod_alias.html#redirecttemp">RedirectTemp</a></code>, + <code class="directive"><a href="../mod/mod_alias.html#redirectpermanent">RedirectPermanent</a></code>, + <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>) + yönergelerinin ve <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code> modülündeki + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> + yönergesinin kullanımına izin verilir. + </dd> + + <dt><a href="overrides.html#override-indexes">Indexes</a></dt> + + <dd>Dizin içeriğinin listelenmesini denetleyen + <code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, + <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, + <a href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>, + <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code> + yönergelerinin <em>ve benzerlerinin</em> kullanımına izin + verilir.</dd> + + <dt><a href="overrides.html#override-limit">Limit</a></dt> + + <dd>Konak erişimini denetleyen + <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, + <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve + <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code> + yönergelerinin kullanımına izin verilir.</dd> + + <dt>Nonfatal=[Override|Unknown|All]</dt> + + <dd><a href="#accessfilename">.htaccess</a> dosyalarındaki sözdizimi + hatalarının ölümcül olarak ele alınmaması için + <code>AllowOverride</code> yönergesinin kullanımına izin verir; bunun + yerine bir dahili sunucu hatasına sebep olur, izin verilmeyen veya + tanınmayan yönergeler yoksayılır ve günlüğe bir uyarı çıktılanır: + <ul> + <li><strong>Nonfatal=Override</strong> ile + <code>AllowOverride</code> tarafından yasaklanmış yönergeler + ölümcül olarak ele alınmaz.</li> + <li><strong>Nonfatal=Unknown</strong> ile bilinmeyen yönergeler + ölümcül olarak ele alınmaz. Yazım hatalarını ve mevcut olmayan bir + modül tarafından gerçeklenmiş yönergeleri kapsar.</li> + <li><strong>Nonfatal=All</strong> ile yukarıdakilerin ikisi de + ölümcül olarak ele alınmaz.</li> + </ul> + <p>Geçerli bir yönergedeki yazım hatalarının hala dahili bir sunucu + hatasına sebep olacağına dikkat ediniz.</p> + <div class="warning"><h3>Güvenlik</h3> + Ölümcül olmayan hatalar <a href="#accessfilename">.htaccess</a> + kullanıcıları için güvenlikle ilgili sorunlara yol açabilir. Örneğin + <code>AllowOverride AuthConfig</code>'e izin vermezse kullanıcıların + siteye erişimini kısıtlayan yapılandırma iptal edilmiş olur. + </div> + </dd> + + <dt><a href="overrides.html#override-options">Options</a>[=<code>seçenek</code>,...]</dt> + + <dd>Dizinlere özgü özellikleri denetleyen + <code class="directive"><a href="#options">Options</a></code> ve + <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> yönergelerinin + kullanımına izin verilir. <code class="directive"><a href="#options">Options</a></code> komutunda belirtilecek seçenekler + bir eşit işaretinden sonra aralarına sadece virgül konarak, + fakat virgülden sonra boşluk bırakmadan belirtilebilir. + + <div class="note"><h3>Options'ın örtük iptali</h3> + <p><a href="#accessfilename">.htaccess</a> dosyalarında kullanılabilen + seçenek listesi bu yönergeyle sınırlanabilirse de herhangi bir + <code class="directive"><a href="#options">Options</a></code> yönergesine izin + verildiği sürece miras alınmış diğer seçenekler göreli olmayan + sözdizimi kullanılarak iptal edilebilir. Başka bir deyişle, bu + mekanizma diğerlerinin değerlerini korumasına izin verirken belli bir + seçeneği değerini korumaya zorlayamaz. + </p></div> + + <div class="example"><p><code> + AllowOverride Options=Indexes,MultiViews + </code></p></div> + </dd> + </dl> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">AllowOverride AuthConfig Indexes</pre> + + + <p>Bu örnekte <code>AuthConfig</code> ve <code>Indexes</code> grubundaki + yönergeler bir dahili sunucu hatasına yol açmayacaktır.</p> + + <div class="note"><p>Güvenlik ve başarımı arttırmak için + <code><Directory "/"></code> + bloğu içinde <code>AllowOverride</code> yönergesine <code>None</code> + dışında bir değer atamayın. Böyle yapmak yerine bir <code>.htaccess</code> + dosyası yerleştirmeyi düşündüğünüz dizine ait bir + <code><Directory></code> bloğu olması daha iyidir.</p></div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code></li> +<li><a href="../configuring.html">Yapılandırma Dosyaları</a></li> +<li><a href="../howto/htaccess.html">.htaccess Dosyaları</a></li> +<li><a href="overrides.html">.htaccess için Geçersizleştirme Sınıfları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a> <a name="allowoverridelist" id="allowoverridelist">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>.htaccess</code> dosyalarında izin verilecek yönergeler tek tek belirtilir</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AllowOverrideList None|<code>yönerge</code> +[<code>yönerge-türü</code>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>AllowOverrideList None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Sunucu bir <code>.htaccess</code> dosyası (<code class="directive"><a href="#accessfilename">AccessFileName</a></code> tarafından belirtildiği gibi) + bulduğunda önceki yapılandırma yönergelerini geçersiz kılabilen bu + dosyada hangi yönergelerin bildirildiğini bilmek ister.</p> + + <div class="note"><h3>Sadece <Directory> bölümlerinde kullanılabilir</h3> + <code class="directive">AllowOverrideList</code> sadece <code class="directive"><a href="#directory"><Directory></a></code> bölümlerinde düzenli + ifadeler olmaksızın belirtilmişse kullanılabilir; <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> veya <code class="directive"><a href="#files"><Files></a></code> bölümlerinde değil. + </div> + + <p>Bu yönergeye ve <code class="directive"><a href="#allowoverride">AllowOverride</a></code> + yönergesine <code>None</code> atanmışsa + <a href="#accessfilename">.htaccess</a> dosyaları tamamen yoksayılır. Bu + durumda sunucu dosya sistemindeki <code>.htaccess</code> dosyalarını + okumaya bile çalışmayacaktır.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">AllowOverride None +AllowOverrideList Redirect RedirectMatch</pre> + + + <p>Yukarıdaki örnekte sadece <code>Redirect</code> ve + <code>RedirectMatch</code> yönergelerine izin verilmektedir. Tüm + diğerleri dahili bir sunucu hatasına sebep olacaktır.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">AllowOverride AuthConfig +AllowOverrideList CookieTracking CookieName</pre> + + + <p>Yukarıdaki örnekte <code class="directive"><a href="#allowoverride">AllowOverride</a></code> + yönergesi <code>AuthConfig</code> yönerge grubuna izin + verirken <code class="directive">AllowOverrideList</code> yönergesi + <code>FileInfo</code> yönerge grubundan yalnız iki yönergeye izin + vermektedir. Tüm diğerleri dahili bir sunucu hatasına sebep + olacaktır.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Yapılandırma Dosyaları</a></li> +<li><a href="../howto/htaccess.html">.htaccess Dosyaları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>CGI betik yorumlayıcısını saptama tekniğini belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CGIMapExtension <code>cgi-yolu</code> <code>.uzantı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Sadece NetWare’de geçerlidir.</td></tr> +</table> + <p>Bu yönerge Apache httpd’nin CGI bekitlerini çalıştırmak için + kullanacağı yorumlayıcıyı nasıl bulacağını denetlemek için kullanılır. + Örneğin, <code>CGIMapExtension sys:\foo.nlm .foo</code> satırı + <code>.foo</code> uzantılı CGI betik dosyalarının FOO yorumlayıcıya + aktarılmasını sağlar.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a> <a name="cgipassauth" id="cgipassauth">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>HTTP yetkilendirme başlıklarının betiklere CGI değişkenleri +olarak aktarılmasını etkin kılar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CGIPassAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>CGIPassAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td> Apache HTTP Sunucusunun 2.4.13 ve sonraki sürümlerinde kullanılabilmektedir</td></tr> +</table> + <p><code class="directive">CGIPassAuth</code> yönergesi, HTTP Temel kimlik + doğrulamasını gerçekleştiren betikler için gereken + <code>Authorization</code> gibi HTTP yetkilendirme başlıklarına + betiklerin erişebilmesini sağlar. Normalde bu HTTP başlıkları + betiklerden gizli olup sunucuda HTTP Temel kimlik kanıtlaması etkin + kılındığında sunucuya erişmekte kullanılan kullanıcı kimliklerinin ve + parolalarının betikler tarafından görülmemesini mümkün kılar. Bu yönerge, + HTTP Temel kimlik kanıtlamasını betiklerin gerçekleştirmesini sağlamak + için kullanılmalıdır.</p> + + <p>Apache HTTP Sunucusunun önceki sürümlerinde derleme sırasında + kullanılabilen <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> sabitinin + yerine bu yönerge kullanılabilir.</p> + + <p>Bu ayarlama <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> ve + benzerleri gibi <code>ap_add_common_vars()</code> kullanan modüller + tarafından kabul görür. Özellikle, isteği alışılmış tarzda işleme + sokmayıp bu arayüzü kullanan modülleri etkiler. Ayrıca, + <code>ap_add_common_vars()</code> kullanmayan üçüncü parti modüller de + bu ayarlamayı kullanmayı tercih edebilir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIVar" id="CGIVar">CGIVar</a> <a name="cgivar" id="cgivar">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bazı CGI değişkenlerinin nasıl atanacağını belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CGIVar <code>değişken</code> <code>kural</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Server 2.4.21 ve sonrasında kullanılabilir</td></tr> +</table> + <p>Bu yönerge bazı CGI değişkenlerinin nasıl atanacağını belirler.</p> + + <p><strong>REQUEST_URI</strong> kuralları:</p> + <dl> + <dt><code>original-uri</code> (default)</dt> + <dd>Değer özgün istek satırından alınır ve dahili yöneldirmeler veya + istenen özkaynakları değiştiren alt istekler dikkate alınmaz.</dd> + <dt><code>current-uri</code></dt> + <dd>Değer özgün istek satırından farklı olabilecek dahili yönlendirmeleri + veya istenen özkaynakları değiştiren alt istekleri de yansıtır.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>Content-MD5</code> HTTP yanıt başlıklarının üretimini + etkin kılar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge RFC2616 ve RFC1864’te tanımlandığı gibi + <code>Content-MD5</code> üretimini etkin kılar.</p> + + <p>MD5, verideki herhangi bir değişikliğin ileti özetinin değişmesi + olarak yansıması nedeniyle yüksek derecede itimat sağlayan keyfi + uzunlukta bir "ileti özeti" (bazen "parmakizi" dendiği de olur) + hesaplama algoritmasıdır.</p> + + <p><code>Content-MD5</code> başlığı öğe gövdesinin iki uç arasında ileti + bütünlük sınamasının yapılabilmesini sağlar. Bir istemci veya vekil + aktarılan öğe gövdesinde rastlantısal bir değişiklik olup olmadığını + saptamak için bu başlığın doğruluğunu sınayabilir. Başlık örneği:</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>Her istekte ileti özeti hesaplanacağından (değerler saklanmaz), bu + yönergenin sunucunuzda başarım sorunlarına yol açacağına dikkat + ediniz.</p> + + <p><code>Content-MD5</code>, herhangi bir modül değil, sadece + <code class="module"><a href="../mod/core.html">core</a></code> modülü tarafından sunulan belgeler için + gönderilir. Örneğin, SSI belgeleri CGI betikleri tarafından + çıktılanırlar ve bayt seviyesinden çıktılar bu başlığa sahip + olmazlar.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a> <a name="defaultruntimedir" id="defaultruntimedir">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun çalışma anı dosyaları için temel dizin</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DefaultRuntimeDir <code>dizin-yolu</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.4.2 ve sonrasında kullanılabilmektedir. +</td></tr> +</table> + <p><code class="directive">DefaultRuntimeDir</code> yönergesi sunucunun çalışma + anında oluşturacağı dosyaların (paylaşımlı bellek, kilitler, vb.) + saklanacağı dizini belirtmekte kullanılır. Göreli bir yol belirtilirse + tam yol <code class="directive">ServerRoot</code> yönergesinde belirtilene + göreli olacaktır.</p> + + <p><strong>Örnek</strong></p> + <pre class="prettyprint lang-config">DefaultRuntimeDir scratch/</pre> + + + <p><code class="directive">DefaultRuntimeDir</code> için öntanımlı yer derleme + sırasında <code>DEFAULT_REL_RUNTIMEDIR</code> #define satırı ile + değiştirilebilir.</p> + + <p>Bilgi: <code class="directive">ServerRoot</code> bu yönergeden önce belirtilmiş + olmalıdır, aksi takdirde temel dizin için öntanımlı + <code class="directive">ServerRoot</code> kullanılır.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive">ServerRoot</code> üzerindeki izinlerin düzgün olarak +nasıl ayarlanacağını öğrenmek için: +<a href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Değeri <code>none</code> olduğu takdirde, bu yönergenin bir +uyarı vermekten başka bir etkisi yoktur. Önceki sürümlerde, bu yönerge, +sunucunun ortam türünü saptayamadığı durumda göndereceği öntanımlı ortam +türünü belirlerdi.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DefaultType <code>ortam-türü</code>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DefaultType none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td><code>none</code> değeri Apache httpd 2.2.7 ve sonrasında +mevcuttur. Diğer tüm seçenekler Apache httpd'nin 2.3.x ve sonraki sürümleri +için iptal edilmiştir.</td></tr> +</table> + <p>Bu yönerge iptal edilmiştir. Yapılandırma dosyalarının geriye + uyumluluğunu sağlamak için, öntanımlı bir ortam türünün olmadığını + belirten <code>none</code> değeriyle belirtilebilir. Örnek:</p> + + <pre class="prettyprint lang-config">DefaultType None</pre> + + + <p><code>DefaultType None</code> sadece httpd-2.2.7 ve sonrasında + mevcuttur.</p> + + <p>Ortam türlerini dosya uzantıları üzerinden yapılandırmak için + <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> yönergesini ve + <code>mime.types</code> yapılandırma dosyasını veya belli özkaynak + türleri için ortam türlerini yapılandırmak için <code class="directive"><a href="#forcetype">ForceType</a></code> yönergesini kullanın.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Define" id="Define">Define</a> <a name="define" id="define">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir değişken tanımlar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Define <code>değişken-ismi</code> [<code>değişken-değeri</code>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Tek değiştirgeli biçemi <code class="program"><a href="../programs/httpd.html">httpd</a></code>’yi <code>-D</code> + seçeneğiyle çalıştırmaya eşdeğerdir. Bu yönerge, başlatma betiğinde + <code>-D</code> seçeneğinin argümanlarını değiştirme gereği duymaksızın + <code class="directive"><a href="#ifdefine"><IfDefine></a></code> bölümlerini + kullanıma sokmak için kullanılabilir.</p> + + <p>Buna ek olarak, ikinci değiştirge belirtilirse yapılandırma değişkenine + bu değer atanır. Değişken yapılandırmada <code>${VAR}</code> sözdizimi + ile kullanılabilir. Değişken daima küresel olarak tanımlı olup + yapılandırma bölümünü sarmalayan etki alanı ile sınırlanmaz.</p> + + <pre class="prettyprint lang-config"><IfDefine TEST> + Define servername test.example.com +</IfDefine> +<IfDefine !TEST> + Define servername www.example.com + Define SSL +</IfDefine> +DocumentRoot "/var/www/${servername}/htdocs"</pre> + + + <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> sözdizimi ile + karışmalardan kaçınmak için değişken isimleri ikinokta ":" karakterleri + içeremez.</p> + <div class="note"><h3>Sanal konak bağlamı ve tuzaklar</h3> + <p>Bu yönerge sanal konakta ve dizin içeriğinde desteklendiğinden yapılan + değişiklikler (eşleşsin eşleşmesin) yönergeyi sarmalayan yapılandırma + bölümünden başka, sonraki yapılandırma yönergelerine de görünür olur.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#undefine">UnDefine</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sadece ismi belirtilen dosya sistemi dizininde ve bunun + altdizinlerinde ve bunların içeriğinde uygulanacak bir yönerge grubunu + sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><Directory <code>dizin-yolu</code>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Directory></code> ve + <code></Directory></code> sadece ismi belirtilen dosya sistemi + dizininde, bunun altdizinlerinde ve bu dizinlerin içindeki dosyalara + uygulanacak bir yönerge grubunu + sarmalamakta kullanılır. Bir dizin bağlamında kullanılabilecek her + yönergeye izin verilir. <code>dizin-yolu</code> bir dizinin tam yolu + olabileceği gibi Unix kabuk tarzı bir dosya ismi eşleştirme kalıbı da + olabilir. Kalıp dizgesinde, <code>?</code> herhangi bir tek karakterle, + <code>*</code> herhangi bir karakter dizisiyle eşleşir. Ayrıca + <code>[]</code> karakter aralıkları da kullanılabilir. ‘/’ karakteri + ile hiçbir kalıp karakteri eşleşmez, bu bakımdan <code><Directory + "/*/public_html"></code> ile <code>/home/user/public_html</code> + değil, ama <code><Directory "/home/*/public_html"></code> + eşleşecektir. Örnek:</p> + + <pre class="prettyprint lang-config"><Directory "/usr/local/httpd/htdocs"> + Options Indexes FollowSymLinks +</Directory></pre> + + + <p>Dizin yollarında isterseniz önceleme kullanabilirsiniz, ancak eğer yol + bazı boşluklar içeriyorsa mutlaka kullanmanız gerekir. Bir boşluk aksi + belirtilmedikçe bir ifadenin sonunu belirlediğinden bu gereklidir.</p> + + <div class="note"> + <p><code>dizin-yolu</code> argümanlarını belirtirken dikkatli + olmalısınız: Apache httpd’nin dosyalara erişmekte kullandığı dosya + sistemi yolu ile bire bir eşleşmelidir. Belli bir + <code><Directory></code> dizinine uygulanan yönergeler, aynı + dizine farklı bir yoldan, örneğin başka bir sembolik bağ üzerinden + erişilen dosyalara uygulanmayacaktır.</p> + </div> + + <p><code>~</code> karakterine ek olarak <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli + ifadeler</a> de kullanılabilir. Örnek:</p> + + <pre class="prettyprint lang-config"><Directory ~ "^/www/[0-9]{3}"> + +</Directory></pre> + + + <p>yönergesi <code>/www/</code> içindeki üç rakamdan oluşan dizinlerle + eşleşecektir.</p> + + <p>Eğer çok sayıda (düzenli ifade olmayan) <code class="directive"><Directory></code> bölümü, bir dosyayı içeren bir + dizinle veya üst dizinlerinden biri ile eşleşiyorsa, uygulama en kısa + eşleşmedeki yönergelerden başlayarak <a href="#accessfilename">.htaccess</a> dosyalarındaki yönergelere kadar + genişletilir. Örneğin,</p> + + <pre class="prettyprint lang-config"><Directory "/"> + AllowOverride None +</Directory> + +<Directory "/home"> + AllowOverride FileInfo +</Directory></pre> + + + <p>bölümleri ile <code>/home/web/dir/doc.html</code> belgesine erişirken + şu aşamalardan geçilir:</p> + + <ul> + <li><code>AllowOverride None</code> yönergesi uygulanır + (<code>.htaccess</code> dosyaları iptal edilir).</li> + + <li><code>AllowOverride FileInfo</code> yönergesi uygulanır + (<code>/home</code> dizini için).</li> + + <li>Sırayla <code>/home/.htaccess</code>, + <code>/home/web/.htaccess</code> ve + <code>/home/web/dir/.htaccess</code> dosyaları içindeki + <code>FileInfo</code> yönergeleri uygulanır.</li> + </ul> + + <p>Normal bölümlerin tamamı uygulanıncaya kadar düzenli ifadeler + değerlendirilmez. Düzenli ifadelerin tamamı yapılandırma dosyasında + görüldükleri sıraya göre sınanırlar. Örneğin,</p> + + <pre class="prettyprint lang-config"><Directory ~ "abc$"> + # ... yönergeler burada ... +</Directory></pre> + + + <p>düzenli ifadeli bölümü, tüm normal <code class="directive"><Directory></code> bölümleri ve + <code>.htaccess</code> dosyaları uygulanıncaya kadar + değerlendirilmeyecektir. Düzenli ifadeleri değerlendirmeye sıra gelince + düzenli ifade <code>/home/abc/public_html/abc</code> ile eşleştirilecek + ve buna ilişkin <code class="directive"><Directory></code> + uygulanacaktır.</p> + + <p><strong><code><Directory "/"></code> için öntanımlı erişimin tüm + erişime izin vermek oluşuna dikkat ediniz. Bunu şöyle bir blokla + değiştirmeniz,</strong></p> + + <pre class="prettyprint lang-config"><Directory "/"> + Require all denied +</Directory></pre> + + + <p><strong>ve erişilebilir olmasını istediğiniz dizinleri ayrıca + belirtmeniz önerilir. Daha ayrıntılı bilgi edinmek için <a href="../misc/security_tips.html">Güvenlik İpuçları</a> belgesine + bakınız.</strong></p> + + <p>Dizin bölümleri <code>httpd.conf</code> dosyasında yer alır. + <code class="directive"><Directory></code> yönergeleri iç içe + olamazlar ve bir <code class="directive"><a href="#limit"><Limit></a></code> veya <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> bölümü içinde bulunamazlar.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir düzenli ifade ile eşleşen dosya sistemi dizinlerinin içeriklerine uygulanacak bir yönerge grubunu sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><DirectoryMatch <code>düzifd</code>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><DirectoryMatch></code> and + <code></DirectoryMatch></code> yönergeleri <code class="directive"><a href="#directory"><Directory></a></code> gibi sadece ismi + belirtilen dosya sistemi dizininde ve içindeki dosyalarda uygulanacak + bir yönerge grubunu sarmalamakta kullanılır. Tek farkla argüman olarak + bir <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> alır. Örnek:</p> + + <pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/"> + # ... +</DirectoryMatch></pre> + + + <p>yönergesi <code>/www/</code> içindeki (veya alt dizinlerindeki) üç + rakamdan oluşan dizinlerle eşleşecektir.</p> + + <div class="note"><h3>Uyumluluk</h3> + 2.3.9 öncesinde, bu yönerge örtük olarak (<code class="directive"><a href="#directory"><Directory></a></code> gibi) alt dizinlere de uygulanırdı + ve satır sonu simgesi ($) ile eşleşemezdi. 2.3.9 ve sonrasında, sadece + ifade ile eşleşen dizinler sarmalanan yönerge grubundan etkilenmektedir. + </div> + + <div class="note"><h3>Sondaki bölü çizgileri</h3> + Bu yönerge bir bölü çizgisi ile sonlanan veya sonlanmayan dizinler için + yapılan isteklere uygulanır, dolayısıyla satır sonuna ($) çıpalanmış + ifadeler dikkatli yazılmalıdır. + </div> + + <p>2.4.8 itibariyle, isimli gruplar ve geriye başvurular elde edilmekte + olup ilgili isim büyük harfe çevrildikren sonra "MATCH_" ile + öncelendikten sonra ortama yazılmaktadır. Böylece yol elemanlarına + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> gibi modüllerden veya <a href="../expr.html">düzenli ifadelerden</a> başvurmak mümkün + kılınmıştır. Karışıklığı önlemek için, numaralı (isimsiz) geriye + başvurular yoksayılmaktadır. Bunların yerine isimli geriye başvurular + kullanılmalıdır.</p> + + <pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)"> + require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</DirectoryMatch></pre> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Normal <code class="directive"><Directory></code> + bölümlerindeki yönergelerle düzenli ifadelerin nasıl karıştırıldığının bir + açıklaması için <code class="directive"><a href="#directory"><Directory></a></code> yönergesine bakınız.</li> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemciye görünür olan ana belge ağacının kök dizinini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DocumentRoot <code>dizin-yolu</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DocumentRoot "/usr/local/apache/htdocs"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge <code class="program"><a href="../programs/httpd.html">httpd</a></code> tarafından dosyalarının sunulacağı + dizini belirler. <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> + benzeri bir yönerge ile eşleşmedikçe, sunucu istenen URL’deki yolu, + belge yolu haline getirmek için belge kök dizinine ekler. Örnek:</p> + + <pre class="prettyprint lang-config">DocumentRoot "/usr/web"</pre> + + + <p>yapılandırması ile <code>http://my.example.com/index.html</code> + isteği <code>/usr/web/index.html</code> ile eşleştirilir. + <code>dizin-yolu</code> ile göreli dosya yolu belirtildiği takdirde belge + kök dizininin <code class="directive"><a href="#serverroot">ServerRoot</a></code> ile + belirtilen sunucu kök dizinine göre belirtildiği varsayılır.</p> + + <p><code class="directive">DocumentRoot</code> ile belirtilen dizin bir bölü + çizgisi ile bitirilmemelidir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../urlmapping.html#documentroot">URL’lerin Dosya Sistemi + ile Eşlenmesi</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Else" id="Else"><Else></a> <a name="else" id="else">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Önceki bir <code class="directive"><a href="#if"><If></a></code> veya <code class="directive"><a href="#elseif"><ElseIf></a></code> bölümünün koşulu, çalışma anında bir istek tarafından yerine getirilmediği takdirde uygulanacak yönergeleri içerir</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><Else> ... </Else></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>İç içe geçmiş koşullar 2.4.26 ve sonrasında değerlendirilmeye alınır</td></tr> +</table> + <p><code class="directive"><Else></code> sadece ve sadece aynı etki + alanındaki en son <code class="directive"><If></code> veya + <code class="directive"><ElseIf></code> bölümü uygulanmamışsa + kapsadığı yönergeleri uygular. Örneğin:</p> + + <pre class="prettyprint lang-config"><If "-z req('Host')"> + # ... +</If> +<Else> + # ... +</Else></pre> + + + <p>Burada, <code class="directive"><If></code> yönergesi + <code>Host:</code> başlıksız HTTP/1.0 istekleriyle eşleşirken <code class="directive"><Else></code> <code>Host:</code> başlıklılarla + eşleşir.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code> ve + <code class="directive"><Else></code> son olarak uygulanır.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ElseIf" id="ElseIf"><ElseIf></a> <a name="elseif" id="elseif">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İçerdiği koşulun bir istek tarafınan sağlandığı ancak daha önceki bir <code class="directive"><a href="#if"><If></a></code> veya +<code class="directive"><ElseIf></code> bölümlerininkilerin sağlanmadığı durumda kapsadığı yönergelerin uygulanmasını sağlar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><ElseIf <code>ifade</code>> ... </ElseIf></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>İç içe geçmiş koşullar 2.4.26 ve sonrasında değerlendirilmeye alınır</td></tr> +</table> + <p><code class="directive"><ElseIf></code> kapsadığı yönergeleri + sadece ve sadece belirtilen koşulun doğrulandığı ancak aynı etki + alanında hemen önceki <code class="directive"><If></code> veya + <code class="directive"><ElseIf></code> yönergesinin uygulanmadığı + takdirde uygular. Örnek:</p> + + <pre class="prettyprint lang-config"><If "-R '10.1.0.0/16'"> + #... +</If> +<ElseIf "-R '10.0.0.0/8'"> + #... +</ElseIf> +<Else> + #... +</Else></pre> + + + <p><code class="directive"><ElseIf></code> bir isteğin uzak adresi + 10.0.0.0/8 ağına aitse ama 10.1.0.0/16 ağına ait değilse içerdiği + yönergelerin uygulanmasını sağlar.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Tam bir kaynak ve daha fazla örnek için: <a href="../expr.html">Apache HTTP Sunucusundaki ifadeler</a></li> +<li><code class="directive"><a href="#if"><If></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code> ve + <code class="directive"><Else></code> son olarak uygulanır.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Teslimat sırasında okunacak dosyalar için bellek eşlemeyi etkin + kılar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td><code>none</code> değeri Apache 2.2.7 ve sonrasında mevcuttur. +</td></tr> +</table> + <p>Bu yönerge, sunucunun teslimat sırasında gerektiği takdirde bir dosya + içeriğinin okunması için bellek eşleme kullanıp kullanmayacağını + belirler. Öntanımlı olarak, bir isteğin yerine getirilmesi, + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> kullanarak sunucu tarafından çözümlenen + bir dosyanın teslimatı sırasında olduğu gibi, bir dosya içindeki veriye + erişilmesini gerektirdiğinde Apache httpd, işletim sistemi tarafından + desteklendiği takdirde dosyayı belleğe eşler.</p> + + <p>Böyle bellek eşleme kimi zaman başarım artışını beraberinde getirirse + de bazen sorunlardan kaçınmak için bellek eşlemeyi kapatmak daha iyi + sonuç verir:</p> + + <ul> + <li>Bazı çok işlemcili sistemlerde bellek eşleme + <code class="program"><a href="../programs/httpd.html">httpd</a></code>’nin başarımını düşürebilmektedir.</li> + <li><code class="program"><a href="../programs/httpd.html">httpd</a></code> bellek eşlemli çalışırken bir dosyanın + silinmesi veya boyutunun küçültülmesi <code class="program"><a href="../programs/httpd.html">httpd</a></code>'nin + parçalama arızası vererek çökmesine yol açabilir.</li> + </ul> + + <p>Bu tür sorunlardan dolayı zarar görülebilecek sunucu + yapılandırmalarında dosya teslimatında bellek eşlemlerinin kullanımını + şu şekilde iptal etmeniz gerekir:</p> + + <pre class="prettyprint lang-config">EnableMMAP Off</pre> + + + <p>Bu özellik, sadece NFS dosya sistemi üzerinde sunulan dosyaları + kapsamak üzere şu şekilde kolayca kapatılabilir:</p> + + <pre class="prettyprint lang-config"><Directory "/nfs-dosyaları-yolu"> + EnableMMAP Off +</Directory></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosyaların istemciye tesliminde çekirdeğin dosya gönderme + desteğinin kullanımını etkin kılar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>EnableSendfile Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Öntanımlı değer 2.3.9 sürümünde Off olarak değişti.</td></tr> +</table> + <p>Bu yönerge, dosya içeriğinin istemciye teslimi için + <code class="program"><a href="../programs/httpd.html">httpd</a></code>’nin çekirdeğin dosya gönderme desteğini + kullanıp kullanmayacağını belirler. Öntanımlı olarak, bir isteğin + yerine getirilmesi, bir durağan dosyanın teslimatı sırasında olduğu + gibi, bir dosya içindeki veriye erişilmesini gerektirmediği takdirde + Apache httpd, işletim sistemi tarafından destekleniyorsa dosyayı + istemciye teslim etmek için çekirdeğin dosya gönderme özelliğini + kullanır.</p> + + <p>Çekirdeğin dosya gönderme mekanizması, okuma, gönderme ve tampon + ayırma işlemlerini ayrı ayrı yapmaktan kaçınır. Fakat bazı + platformlarda veya bazı dosya sistemlerinde aşağıda belirtilen işlemsel + sorunlardan kaçınmak için bu özelliği iptal etmek daha iyidir:</p> + + <ul> + <li>Bazı platformlar, derleme sistemince saptanamayan bozuk bir dosya + gönderme desteğine sahiptir; özellikle eğer derleme işlemi dosya + gönderme desteğinde sorun olmayan bir makinede yapılıp çalıştırılabilir + dosyaların sorunlu makineye kurulduğu durumda bu saptama + yapılamayacaktır.</li> + <li>Linux’ta IPv6 kullanırken dosya gönderme desteği bazı ağ + kartlarındaki TCP toplama sağlaması aktarım hatasını tetikler.</li> + <li>Itanium üzerinde çalışan Linux’ta dosya gönderme desteği + (<code>sendfile</code>) 2GB’tan büyük dosyalarla çalışamamaktadır.</li> + <li><code class="directive"><a href="#documentroot">DocumentRoot</a></code> ağ dosya sistemi + (NFS, SMB, CIFS, FUSE gibi) üzerinde olduğu durumda çekirdek ağ + dosyalarını kendi arabelleği üzerinden sunamayabilir.</li> + </ul> + + <p>Bu sorunlardan muzdarip sunucu yapılandırmaları için bu özelliği şöyle + etkin kılabilirsiniz:</p> + + <pre class="prettyprint lang-config">EnableSendfile On</pre> + + + <p>Bu özellik, sadece bir ağ dosya sistemi üzerinde sunulan + dosyaları kapsamak üzere şu şekilde kolayca kapatılabilir:</p> + + <pre class="prettyprint lang-config"><Directory "/nfs-dosyaları-yolu"> + EnableSendfile Off +</Directory></pre> + + +<p><code class="directive">EnableSendfile</code> yönergesinin .htaccess ve + diziniçi yapılandırmalarının <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> tarafından + desteklenmediğini lütfen aklınızdan çıkarmayın. + <code class="directive">EnableSendfile</code> yönergesinin sadece küresel + tanımları hesaba katılır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Error" id="Error">Error</a> <a name="error" id="error">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Özel bir hata iletisiyle yapılandırma çözümlemesini durdurur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Error <code>ileti</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.3.9 ve sonrası</td></tr> +</table> + <p>Yapılandırmada bir hatanın saptanması istenirse, bu yönerge + yapılandırma çözümlemesinin durdurulması ve özel bir hata iletisi + üretilmesi için kullanılabilir. Genelde kullanıldığı durum, gerekli + modüllerin yapılandırmada bulunmadığının raporlanmasıdır.</p> + + <pre class="prettyprint lang-config"># Örnek +# mod_include yüklü değilse bilelim +<IfModule !include_module> + Error "Hata: mod_include mod_foo için gerekiyor. LoadModule ile yükleyin." +</IfModule> + +# SSL veya NOSSL tanımlı mı bilelim +<IfDefine SSL> +<IfDefine NOSSL> + Error "Ne SSL ne de NOSSL tanımlı. Sadece biri tanımlı olsa yeter." +</IfDefine> +</IfDefine> +<IfDefine !SSL> +<IfDefine !NOSSL> + Error "Ya SSL ya da NOSSL tanımlı olmalı." +</IfDefine> +</IfDefine></pre> + + + <div class="warning"><h3>Ek Bilgi</h3> + <p>Bu yönerge, çalışma zamanında değil, yapılandırma işlemi sırasında + değerlendirilir. Sonuç olarak, bu yönerge bir <code class="directive"><a href="#if"><If></a></code> bölümü içine alınarak koşullu olarak + değerlendirilemez.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir hata durumunda sunucunun istemciye ne döndüreceğini + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ErrorDocument <code>hata-kodu</code> <code>belge</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bir sorun çıktığında veya hata oluştuğunda Apache httpd şu dört + işlemden birini yapacak şekilde yapılandırılabilir:</p> + + <ol> + <li>Yerleşik bir hata iletisi çıktılanır.</li> + + <li>Özel bir ileti çıktılanır.</li> + + <li>Sorunu/hatayı işleyecek yerel bir <code>URL-yoluna</code> dahili bir + yönlendirme yapılır.</li> + + <li>Sorunu/hatayı işleyecek harici bir <code>URL-yoluna</code> + yönlendirme yapılır.</li> + </ol> + + <p>İlk seçenek öntanımlıdır. Diğer üç seçenek + <code class="directive">ErrorDocument</code> yönergesinin argümanları (hata + kodundan sonra bir URL veya hata iletisi) ile belirtilir. Apache httpd + bazı durumlarda sorun/hata ile ilgili ek bilgi verecektir.</p> + + <p>2.4.13 itibariyle, özdevinimli dizgeler ve URLler üretmek için yönerge + içinde <a href="../expr.html">ifade sözdizimi</a> kullanılabilir.</p> + + <p>URL’ler yerel yollarda (<code class="directive"><a href="#documentroot">DocumentRoot</a></code>’a göre) bir bölü çizgisi (/) ile + başlatılabileceği gibi istemci tarafından çözümlenecek tam bir URL + şeklinde de belirtilebilir. Bunlar yerine, tarayıcıda gösterilmek üzere + bir ileti de belirtilebilir. Örnekler:</p> + + <pre class="prettyprint lang-config">ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi +ErrorDocument 404 /errors/bad_urls.php +ErrorDocument 401 /subscription_info.html +ErrorDocument 403 "Kusura bakmayın, bugün hizmet veremiyoruz." +ErrorDocument 403 /errors/forbidden.pl?referrer=%{escape:%{HTTP_REFERER}}</pre> + + + <p>Bunlardan başka, Apache httpd’nin kendi hata iletilerinin kullanılacağı + özel <code>default</code> değeri ile belirtilebilir. Normal şartlar + altında gerekmese de, bir şey belirtilmediği takdirde mevcut bir + <code class="directive">ErrorDocument</code> yönergesini miras alan + yapılandırmalarda Apache httpd’nin kendi hata iletilerinin kullanımı + <code>default</code> değeri açıkça belirtilerek örnekteki gibi + zorlanabilir:</p> + + <pre class="prettyprint lang-config">ErrorDocument 404 /cgi-bin/bad_urls.pl + +<Directory "/web/docs"> + ErrorDocument 404 default +</Directory></pre> + + + <p><code class="directive">ErrorDocument</code> yönergesinde bir uzak URL (önünde + <code>http</code> bulunan bir yol) belirtildiğinde, belge aynı sunucuda + olsa bile, Apache HTTP Sunucusunun istemciye belgeyi bulacağı yer için bir + yönlendirme göndereceğine dikkat ediniz. Bunun bazı istenmeyen etkileri + vardır; en önemlilerinden biri istemcinin hata kodu yerine bir + yönlendirme durum kodu alacak olmasıdır. Bu, bir URL’nin geçerliliğini + durum koduna göre saptayan istemciler veya robotlar için yanıltıcı + olacaktır. Buna ek olarak, <code>ErrorDocument 401</code> için bir uzak + URL belirttiğiniz durumda istemci 401 durum kodunu almayacağı için + kullanıcıdan parola isteğinde bulunamayacaktır. Bu bakımdan, + <strong>ihtiyaç duyduğunuz takdirde, <code>ErrorDocument 401</code> + yönergesine yerel bir belge belirtmelisiniz.</strong></p> + + <p>Sunucunun ürettiği hata iletileri "çok kısa" olduğu takdirde, + Microsoft Internet Explorer (MSIE) öntanımlı olarak bu hata iletilerini + yoksayar ve bunun yerine kendi "kullanıcı dostu" hata iletilerini + kullanır. "Çok kısa" eşiği duruma göre değişmekle birlikte, genellikle, + hata iletileriniz 512 bayttan büyük olduğu takdirde MSIE kendi hata + iletileri yerine sunucunun ürettiği hata iletilerini gösterecektir. Bu + konuda daha fazla bilgiyi <a href="http://support.microsoft.com/default.aspx?scid=kb;tr-tr;Q294807">Q294807</a> kodlu Microsoft Knowledge Base makalesinde + bulabilirsiniz.</p> + + <p>Çoğu yerleşik hata iletisi özel iletilerle değiştirilebilse de bazı + durumlarda <code class="directive"><a href="#errordocument">ErrorDocument</a></code> ile ne + belirtildiğine bakılmaksızın yerleşik hata iletileri kullanılır. + Özellikle, bozuk bir istek saptandığında normal istek işleme hemen + devre dışı bırakılır ve yerleşik hata iletisi döndürülür. Bu, hatalı + istekler yaparak güvenlik sorunlarına yol açılmak istenmesi + durumlarında gereklidir.</p> + + <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> kullanıyorsanız, + <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> yönergesini + etkin kılmak isteyebilirsiniz, böylece asıl sunucular adına özel hata + iletileri üretebilirsiniz. <code>ProxyErrorOverride</code> etkin + kılınmak istenmezse, Apache httpd vekalet edilen içerik için özel hata + belgeleri üretmeyecektir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../custom-error.html">Özel Hata Yanıtları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun hata günlüğünü tutacağı yeri belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code> ErrorLog <code>dosya-yolu</code>|syslog[:[<code>oluşum</code>][:<code>etiket</code>]]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows ve OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ErrorLog</code> yönergesi sunucunun saptadığı hataları + kaydedeceği dosyanın ismini belirtmek için kullanılır. + <code>dosya-yolu</code> ile göreli dosya yolu belirtildiği takdirde + dizininin <code class="directive"><a href="#serverroot">ServerRoot</a></code> ile + belirtilen sunucu kök dizinine göre belirtildiği varsayılır.</p> + + <pre class="prettyprint lang-config">ErrorLog "/var/log/httpd/error_log"</pre> + + + <p><code>dosya-yolu</code> bir boru imi "<code>|</code>" ile başlatıldığı + takdirde hata iletilerinin hata günlüğünü işleme sokacak komuta + borulanacağı varsayılır.</p> + + <pre class="prettyprint lang-config">ErrorLog "|/usr/local/bin/httpd_errors"</pre> + + + <p>Daha fazla bilgi için <a href="../logs.html#piped">borulu + günlüklere</a> bakınız.</p> + + <p>Dosya adı yerine <code>syslog</code> kullanılırsa, sistem desteklediği + takdirde günlük kaydı syslogd(8) üzerinden yürütülür. Öntanımlı olarak + <code>local7</code> syslog oluşumu kullanılır. Bunu + <code>syslog:<code>oluşum</code></code> sözdizimini kullanarak + değiştirebilirsiniz. Buradaki <code><code>oluşum</code></code> + syslog.conf(5) kılavuz sayfasında belirtilen oluşum isimlerinden biri + olabilir. Oluşum aslında küreseldir ve sanal konaklardan bazılarında + değiştirilmişse, belirtilen en son oluşum tüm sunucuyu + etkileyecektir. <code><code>etiket</code></code> için de aynı kurallar + uygulanır. Genellikle, öntanımlı etiket olarak Apache çalıştırılabilirinin + ismi olan <code>httpd</code> kullanılır. Öntanımlı etiketi + <code>syslog::<code>etiket</code></code> sözdizimini kullanarak + değiştirebilirsiniz </p> + + <pre class="prettyprint lang-config">ErrorLog syslog:user +ErrorLog syslog:user:httpd.srv1 +ErrorLog syslog::httpd.srv2</pre> + + + <p>GÜVENLİK: Günlük dosyalarının saklandığı dizin, sunucuyu başlatan + kullanıcı dışındakiler tarafından yazılabilir olduğu takdirde + güvenliğinizin nasıl tehlikeye gireceği <a href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a> + belgesinde ayrıntılı olarak açıklanmıştır.</p> + <div class="warning"><h3>Ek Bilgi</h3> + <p>Unix-dışı platformlarda dosya yolunu girerken, platform ters bölü + çizgilerini desteklese bile normal bölü çizgileri kullanmaya özen + göstermelisiniz. Genel olarak, dosya yollarını belirtirken + yapılandırma dosyası boyunca normal bölü çizgisi kullanmak her zaman + daha iyidir.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Sunucusunun Günlük Dosyaları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a> <a name="errorlogformat" id="errorlogformat">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Hata günlüğü girdileri için biçem belirtimi</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code> ErrorLogFormat [connection|request] <code>biçem</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ErrorLogFormat</code> yönergesi, hata günlüğünde asıl + hata iletisine ek olarak günlüklenecek ek bilgiyi belirtmek için + kullanılabilir.</p> + + <pre class="prettyprint lang-config">#Basit örnek +ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"</pre> + + + <p>İlk değiştirge olarak <code>connection</code> veya <code>request</code> + belirtilmesi ek biçemlerin belirtilebilmesini sağlar. Böylece, belli bir + bağlantı ya da istek için ilk ileti günlüklendiğinde ek bilgininde + günlüklenmesi sağlanır. Bu ek bilgi sadece bağlantı/istek başına bir + kere günlüklenir. herhangi bir günlük iletisine sebep olmadan işlenmişse + ek bilgi de günlüklenmez.</p> + + <p>Bu, bazı biçem dizgesi öğeleri çıktı üretmediğinde olur. Örneğin, + <code>Referer</code> başlığı sadece günlük iletisi bir istekle + ilişkilendirilmişse mevcuttur ve hata iletisi <code>Referer</code> + başlığı istemcide okunduğu anda oluşur. Eğer bir çıktı üretilmezse, + öntanımlı davranış önceki boşluk karakterinden sonraki boşluk + karakterine kadar herşeyi silmektir. Yani, günlük satırı örtük olarak + boşluklarla ayrılmış alanlara bölünür. Bir biçem dizgesi öğesi çıktı + üretmezse alanın tamamı çıktılanmaz. Örneğin, <code>[%t] [%l] [%a] + %M </code> günlük biçeminde uzak adres <code>%a</code> + kullanılamazsa sarmalayıcı köşeli ayraçlar da günlüklenmeyecektir. + Boşluk karakterleri ters bölülerle öncelenerek bir alanı sınırlaması + önlenebilir. '% ' (yüzde boşluk) çifti sıfır genişlikte bir alan + ayracı olup herhangi bir çıktı üretmez.</p> + + <p>Yukarıdaki davranış, biçem dizgesi öğesine değiştirciler eklenerek + değiştirilebilir. <code>-</code> (tire) değiştircisi ilgili öğe bir + çıktı üretmediğinde tire iminin günlüklenmesine sebep olur. + Bağlantı/istek başına bir kere biçemlerinde <code>+</code> (artı) + değiştircisini de kullanmak mümkündür.Artı değiştiricili bir öğe + herhangi bir çıktı üretmezse satırın tamamı günlüklenmez.</p> + + <p>Bir biçem öğesine günlük önem derecesi atamak için değiştirici + olarak bir sayı kullanılabilir. Bu öğenin günlüklenebilmesi için günlük + iletisinin önem derecesinin belirtilen günlük önem derecesinden + daha yüksek olmaması gerekir. Sayı 1'den (alarm) 4'e (uyarı) ve 7'den + (hata ayıklama) 15'e (trace8) kadar olabilir.</p> + + <p>Örneğin, <code>Referer</code> istek başlığını günlükleyen + <code>%{Referer}i</code> dizgeciğine değiştirciler eklendiğinde neler + olduğunu burada görebilirsiniz:</p> + + <table class="bordered"><tr class="header"><th>Değiştirlen Dizgecik</th><th>Anlamı</th></tr> +<tr> + <td><code>%-{Referer}i</code></td> + <td><code>Referer</code> atanmamışsa bir <code>-</code> günüklenir.</td> + </tr> +<tr class="odd"> + <td><code>%+{Referer}i</code></td> + <td><code>Referer</code> atanmamışsa satırın tamamı çıktılanmaz.</td> + </tr> +<tr> + <td><code>%4{Referer}i</code></td> + <td>Sadece hata iletisinin önemi 4'ten yüksek olduğu durumda + <code>Referer</code> günlüklenir.</td> + </tr> +</table> + + <p>Bazı biçem dizfesi öğeleri ayraç içine alınmış ek değiştirgeler kabul + eder.</p> + + <table class="bordered"><tr class="header"><th>Biçem Dizgesi</th> <th>Açıklama</th></tr> +<tr><td><code>%%</code></td> + <td>Yüzde imi</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>İstekteki istemci IP adresi ve portu</td></tr> +<tr><td><code>%{c}a</code></td> + <td>Bağlantının emsal IP adresi and portu + (<code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> modülüne bakın)</td></tr> +<tr class="odd"><td><code>%A</code></td> + <td>Yerel IP adresi ve portu</td></tr> +<tr><td><code>%{<em>isim</em>}e</code></td> + <td>İstek ortam değişkeni <em>isim</em></td></tr> +<tr class="odd"><td><code>%E</code></td> + <td>APR/OS hata durum kodu ve iletisi</td></tr> +<tr><td><code>%F</code></td> + <td>Günlük çağrısının kaynak dosya ismi ve satır numarası</td></tr> +<tr class="odd"><td><code>%{<em>isim</em>}i</code></td> + <td>İstek başlığı <em>isim</em></td></tr> +<tr><td><code>%k</code></td> + <td>Bağlantıdaki keep-alive isteklerinin sayısı</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>İletinin günlük seviyesi</td></tr> +<tr><td><code>%L</code></td> + <td>İsteğin günlük kimliği</td></tr> +<tr class="odd"><td><code>%{c}L</code></td> + <td>Bağlantının günlük kimliği</td></tr> +<tr><td><code>%{C}L</code></td> + <td>Bağlantı etki alanında kullanılmışsa bağlantının günlük kimliği, + aksi takdirde boş</td></tr> +<tr class="odd"><td><code>%m</code></td> + <td>İletiyi günlükleyen modülün ismi</td></tr> +<tr><td><code>%M</code></td> + <td>Asıl günlük iletisi</td></tr> +<tr class="odd"><td><code>%{<em>isim</em>}n</code></td> + <td>istek notu <em>isim</em></td></tr> +<tr><td><code>%P</code></td> + <td>Geçerli sürecin süreç kimliği (PID'i)</td></tr> +<tr class="odd"><td><code>%T</code></td> + <td>Geçerli evrenin evre kimliği</td></tr> +<tr><td><code>%{g}T</code></td> + <td>Geçerli evrenin eşsiz sistem evre kimliği (örn, <code>top</code> + tarafınan gösterilenle aynı kimlik: şimdilik sadece Linux'a + özgü)</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>geçerli zaman</td></tr> +<tr><td><code>%{u}t</code></td> + <td>Mikro saniyeler dahil geçerli zaman</td></tr> +<tr class="odd"><td><code>%{cu}t</code></td> + <td>ISO 8601 biçemiyle uyumlu mikro saniyeleri de içeren geçerli + zaman</td></tr> +<tr><td><code>%v</code></td> + <td>Geçerli sunucunun kurallı <code class="directive"><a href="#servername">ServerName</a></code></td></tr> +<tr class="odd"><td><code>%V</code></td> + <td><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> ayarına + uygun olarak isteği sunan sunucunun sunucu ismi</td></tr> +<tr><td><code>\ </code> (tersbölü boşluk)</td> + <td>Alan ayracı olmayan boşluk</td></tr> +<tr class="odd"><td><code>% </code> (yüzde boşluk)</td> + <td>Alan ayracı (çıktısız)</td></tr> +</table> + + <p>The log ID format <code>%L</code> günlük kimliği biçemi bağlantı veya + istek için eşsiz bir kimlik üretir. Bu, bağlantı üzerinden gelen istek + durumunda günlük satırlarının ait olduğu bağlantı veya isteği + bağdaştırmak için kullanılabilir. <code>%L</code> biçem dizgesi ayrıca + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> modülünde erişim günlüğü iletilerini + hata günlüğü iletileriyle ilişklendirmek için de kullanılabilmektedir. + <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> modülü yüklüyse onun eşsiz kimliği + istekler için günlük kimliği olarak kullanılacaktır.</p> + + <pre class="prettyprint lang-config">#Örnek (Evreli MPM'ler için öntanımlı biçim) +ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre> + + + <p>Bunun hata iletilerindeki sonuçları şöyle olabilir:</p> + + <div class="example"><p><code> + [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico + </code></p></div> + + <p>Dikkat edin, yukarıda açıklandığı gibi, bazı alanlar + tanımlanmadıklarından tamamen yoksayılır.</p> + + <pre class="prettyprint lang-config">#Örnek (2.2.x biçimine benzer) +ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre> + + + <pre class="prettyprint lang-config">#İstek/bağlantı günlük kimlikli gelişkin bir örnek +ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M" +ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T" +ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'" +ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'" +ErrorLogFormat connection "[%{uc}t] [C:%{c}L] remote\ %a local\ %A"</pre> + + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache HTTP Sunucusu Günlük Dosyaları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a> <a name="extendedstatus" id="extendedstatus">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Her istekte ek durum bilgisinin izini sürer</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ExtendedStatus On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ExtendedStatus Off[*]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge, o an işlenmekte olan istek hakkında evre başına ek veriyi + ve kullanım özetini izler; <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> modülünü + yapılandırarak bu değişkenleri çalışma anında görebilirsiniz. Diğer + modüllerin bu sonuçlara bel bağlayabileceğini unutmayın.</p> + + <p>Bu ayarlar sunucunun tamamına uygulanır ve bir sanal konakta etkin + başka bir sanal konakta etkisiz kılınamaz. Ek durum bilgisinin + toplanması sunucuyu yavaşlatabilir. Ayrıca, bu ayarın nazikçe yeniden + başlatma sırasında değiştirilemeyeceğine dikkat ediniz.</p> + + <div class="note"> + <p>Diğer üçüncü parti modüller aynısını yaparken + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> modülünün yüklenmesi <code>ExtendedStatus + On</code> için öntanımlı davranışı değiştirecektir. Böyle modüller, + tüm evrelerin durumu hakkında ayrıntılı bilgi toplanmasına bel bağlar. + Öntanımlı değer sürüm 2.3.6 itibariyle <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> + tarafından değiştirilmiştir. Önceki sürümlerde öntanımlı değer daima + <code>Off</code> idi.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Duruk dosyalar için <code>ETag</code> HTTP yanıt başlığını oluşturmakta kullanılacak dosya özniteliklerini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>FileETag <code>bileşen</code> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>FileETag MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.3.14 ve öncesinde öntanımlı değer + "INode MTime Size" idi.</td></tr> +</table> + <p><code class="directive">FileETag</code> yönergesi, belge bir duruk dosyaya + dayandığı takdirde <code>ETag</code> (Entity Tag - öğe etiketi + kısaltması) yanıt başlığı alanını oluşturmakta kullanılacak dosya + özniteliklerini yapılandırır. (<code>ETag</code> değeri, ağ band + genişliğinden kazanmak için arabellek yönetiminde kullanılır.) + <code class="directive">FileETag</code>yönergesi ne kullanılması gerektiğini + belirleyebilmenizi sağlar. Değer olarak belirtilebilecek anahtar + sözcükler şunlardır:</p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>Dosyanın düğüm numarası hesaba katılır.</dd> + <dt><strong>MTime</strong></dt> + <dd>Dosyanın son değişiklik tarih ve saati dahil edilir.</dd> + <dt><strong>Size</strong></dt> + <dd>Dosyanın bayt cinsinden uzunluğu dahil edilir.</dd> + <dt><strong>All</strong></dt> + <dd>Olası tüm alanlar kullanılır. Bu şuna eşdeğerdir: + <pre class="prettyprint lang-config">FileETag INode MTime Size</pre> +</dd> + <dt><strong>Digest</strong></dt> + <dd>Bir belge dosya tabanlı ise <code>ETag</code> alanı dosyanın özeti + alınarak hesaplanır.</dd> + <dt><strong>None</strong></dt> + <dd>Bir belge dosyasıyla sunulsa bile yanıta hiçbir <code>ETag</code> + alanı dahil edilmez.</dd> + </dl> + + <p>Öntanımlı ayarları miras alıp bunların kapsamını genişletmek/daraltmak + için <code>INode</code>, <code>MTime</code>, <code>Size</code> ve + <code>Digest</code> anahtar sözcüklerinin önüne <code>+</code> veya + <code>-</code> imi konabilir. Bu imlerin bulunmadığı bir anahtar + sözcüğün varlığı halinde hiçbir değer miras alınmaz.</p> + + <p>Eğer bir dizinin yapılandırması + <code>FileETag INode MTime Size</code> ve alt dizini + <code>FileETag -INode</code> içeriyorsa bu alt dizinin (ve bir + geçersizleştirme olmadığı takdirde onun alt dizinlerinin) ayarları + <code>FileETag MTime Size</code> yapılandırmasına eşdeğer + olacaktır.</p> + <div class="note"><h3>Sunucu Taraflı İçerik</h3> + Gömülü SSI yönergeleri ile bir duruk dosyanın <code>FileETag</code>, + <code>MTime</code>, <code>Size</code> ve <code>Digest</code> değerleri + değişmeksizin yanıt öğesi değişebileceğinden <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + tarafından çözümlenen yanıtlar için bir <code>ETag</code> üretilmez. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Files" id="Files"><Files></a> <a name="files" id="files">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosya isimleriyle eşleşme halinde uygulanacak yönergeleri + içerir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><Files <code>dosya-adı</code>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Files></code> yönergesi, içerdiği + yönergelerin etki alanını dosya isimlerine göre sınırlandırır. + <code class="directive"><a href="#directory"><Directory></a></code> ve + <code class="directive"><a href="#location"><Location></a></code> bölümleri + ile karşılaştırılabilir. Bir <code></Files></code> yönergesi ile + sonlandırılması gerekir. Bu bölüm içinde belirtilen yönergeler, + <code class="directive"><Files></code> yönergesinde belirtilen + <code>dosya-adı</code>’nın son bileşeniyle (dizinler atıldıktan sonda + kalan dosya ismi) eşleşen nesnelere uygulanır. <code class="directive"><Files></code> bölümleri yapılandırma dosyasında, + <code class="directive"><a href="#directory"><Directory></a></code> bölümleri + ve <code>.htaccess</code> dosyaları okunduktan sonra fakat <code class="directive"><a href="#location"><Location></a></code> yönergelerinden önce + göründükleri sıraya göre işleme sokulurlar. <code class="directive"><Files></code> bölümlerinin <code class="directive"><a href="#directory"><Directory></a></code> bölümlerinin içinde uygulama + alanını sınırlamak amacıyla kullanılabileceğine dikkat ediniz.</p> + + <p><code>dosya-adı</code> argümanının bir dosya ismi veya bir dosya ismi + kalıbı içermesi gerekir. Bir dosya ismi kalıbındaki her <code>?</code> + imi bir karakterle eşleştirilirken <code>*</code> imi karakter dizileri + ile eşleştirilir.</p> + + <pre class="prettyprint lang-config"><Files "zat.html"> + # zat.html dosyasına uygulanacakları buraya koy +</Files> + +<Files "?at.*"> + # Buradakiler hat.html, kat.html, tat.html ve benzerlerine uygulanır. +</Files></pre> + + + <p><code>~</code> imine ek olarak <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifadeler</a> de kullanılabilir. Örneğin</p> + + <pre class="prettyprint lang-config"><Files ~ "\.(gif|jpe?g|png)$"> + #... +</Files></pre> + + + <p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir. Bunun + yerine <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> + yönergesi de tercih edilebilirdi.</p> + + <p><code class="directive"><a href="#directory"><Directory></a></code> ve + <code class="directive"><a href="#location"><Location></a></code> + bölümlerinin aksine, <code class="directive"><Files></code> + bölümleri <code>.htaccess</code> dosyaları içinde kullanılabilir. Bu + sayede kullanıcıların kendi dosyalarına erişimi dosya seviyesinde + denetlemelerine imkan sağlanmış olur.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a> <a name="filesmatch" id="filesmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Düzenli ifadelerin dosya isimleriyle eşleşmesi halinde + uygulanacak yönergeleri içerir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><FilesMatch <code>düzifd</code>> ... </FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><FilesMatch></code> yönergesi, içerdiği + yönergelerin etki alanını <code class="directive"><a href="#files"><Files></a></code> yönergesinin yaptığı gibi dosya + isimlerine göre sınırlandırır. Ancak, argüman olarak bir <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> kabul eder. Örneğin</p> + + <pre class="prettyprint lang-config"><FilesMatch "\.(gif|jpe?g|png)$"> + # ... +</FilesMatch></pre> + + + <p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir.</p> + + <div class="note">Düzenli ifadenin başlangıcındaki bir <code>.+</code> + <code>.png</code>veya <code>.gif</code> dosyalarının, örnek olarak, + eşleşmemesini garanti eder.</div> + + <p>2.4.8 itibariyle, isimli gruplar ve geriye başvurular elde edilmekte + olup ilgili isim büyük harfe çevrildikren sonra "MATCH_" ile + öncelendikten sonra ortama yazılmaktadır. Böylece yol elemanlarına + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> gibi modüllerden veya <a href="../expr.html">düzenli ifadelerden</a> başvurmak mümkün + kılınmıştır. Karışıklığı önlemek için, numaralı (isimsiz) geriye + başvurular yoksayılmaktadır. Bunların yerine isimli geriye başvurular + kullanılmalıdır.</p> + +<pre class="prettyprint lang-config"><FilesMatch "^(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</FilesMatch></pre> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxPipelined" id="FlushMaxPipelined">FlushMaxPipelined</a> <a name="flushmaxpipelined" id="flushmaxpipelined">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ağa akıtılacak azami ardışık yanıt sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>FlushMaxPipelined <code>sayı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>FlushMaxPipelined 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.47 ve sonrası</td></tr> +</table> + <p>Bu yönerge, ardışık düzenli istek alındığı sürece beklemede kalan azami + ardışık yanıt sayısını yapılandırmaya izin verir. Sınıra ulaşıldığında, + yanıtlar tekrar sınırın altına inene kadar engelleme kipinde ağa zorla + boşaltılır.</p> + + <p><code class="directive">FlushMaxPipelined</code>, bellek kullanımını + kısıtlamaya yardımcı olur. <code>0</code> olarak ayarlandığında ardışık + düzen devre dışı bırakılır, <code>-1</code> olarak ayarlandığında sınır + yoktur (<code class="directive">FlushMaxThreshold</code> hala geçerlidir).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FlushMaxThreshold" id="FlushMaxThreshold">FlushMaxThreshold</a> <a name="flushmaxthreshold" id="flushmaxthreshold">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bekleyen verilerin ağa boşaltılacağı eşik değer</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>FlushMaxThreshold <code>bayt-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>FlushMaxThreshold 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.47 ve sonrası</td></tr> +</table> + <p>Bu yönerge, bekleyen çıktı verileri için eşiği (bayt cinsinden) + yapılandırmaya izin verir. Sınıra ulaşıldığında, veriler tekrar sınırın + altına inene kadar engelleme kipinde ağa zorla boşaltılır.</p> + + <p><code class="directive">FlushMaxThreshold</code>, bellek kullanımını kısıtlamaya + yardımcı olur. <code>0</code>'a veya çok küçük bir değere ayarlandığında, + gerçekte hiç bekleyen veri yoktur, ancak iş parçacıklı MPM'ler için ağı + bekleyen daha fazla iş parçacığı olabilir, dolayısıyla diğer eşzamanlı + bağlantıları işlemek için daha az sayıda kullanılabilir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bütün dosyaların belirtilen ortam türüyle sunulmasına + sebep olur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ForceType <code>ortam-türü</code>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache httpd 2.0’da core modülüne taşındı.</td></tr> +</table> + <p>Bu yönerge, bir <code>.htaccess</code> dosyası veya bir + <code class="directive"><a href="#directory"><Directory></a></code>, + <code class="directive"><a href="#location"><Location></a></code> veya + <code class="directive"><a href="#files"><Files></a></code> bölümüne + yerleştirildiği zaman, eşleşen tüm dosyaların <code>ortam-türü</code> ile + belirtilen içerik türüyle sunulmasına sebep olur. Örneğin, altında + sadece GIF dosyaları bulunan bir dizininiz varsa ve bunlara tek tek + <code>.gif</code> uzantısı belirtmek istemiyorsanız şu yapılandırmayı + kullanabilirsiniz:</p> + + <pre class="prettyprint lang-config">ForceType image/gif</pre> + + + <p>Bu yönerge, <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> yönergesi + üzerinden ve <code>mime.types</code> dosyasında örtük olarak + tanımlanmış ortam türü/dosya uzantısı ilişkilerini geçersiz kılar.</p> + + <p>Ayrıca, daha genel <code class="directive">ForceType</code> ayarlarını da + <code>None</code> değeriyle geçersiz kılabilirsiniz:</p> + + <pre class="prettyprint lang-config"># tüm dosyaların image/gif olarak sunulması için: +<Location "/images"> + ForceType image/gif +</Location> + +# normal MIME-türüne geri dönmek için: +<Location "/images/mixed"> + ForceType None +</Location></pre> + + + <p>Bu yönerge, öncelikle dosya sisteminden sunulan duruk dosyalar için + üretilen içerik türlerini geçersiz kılar. Duruk dosyaların haricindeki + özkaynaklar için yanıt üretecinin genelde bir <code>Content-Type</code> + belirttiği durumda bu yönerge etkisizdir.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p><code class="directive"><a href="#sethandler">SetHandler</a></code> veya + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> gibi örtük yönergeler + geçerli isteğe uygulanmadığı takdirde, normalde bu yönergeler tarafından + belirlenen dahili eylemcinin ismi <code class="directive">ForceType</code> + yönergesi tarafından belirtilen içerik türü ile eşleşecek şekilde + belirlenir. Bu, bazı üçüncü parti modüller (mod_php gibi) tarafından + kullanılan tarihi bir uygulama olup, bu modüller istekle eşleşecek + modüllerin sorumluluğu almasını sağlamak için "sihirli" içerik türleri + kullanabilir. Bu tür "sihirli" içerik türlerini kullanan + yapılandırmalarda <code class="directive"><a href="#sethandler">SetHandler</a></code> veya + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> kullanımından + kaçınılmalıdır. </p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>gmon.out ayrıntılı inceleme verisinin yazılacağı dizin</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>GprofDir <code>/tmp/gprof/</code>|<code>/tmp/gprof/</code>%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Sunucu gprof ayrıntılı inceleme desteği ile derlenmişse, + <code class="directive">GprofDir</code> yönergesi <code>gmon.out</code> + dosyalarının süreç çıktığında belirtilen dizine yazılmasını sağlar. Eğer + değiştirge bir yüzde simgesi ('%') ile bitiyorsa her süreç kimliği için + alt dizinler oluşturulur.</p> + + <p>Bu yönerge şimdilik sadece <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM'i ile + çalışmaktadır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemci IP adresleri üzerinde DNS sorgularını etkin kılar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge oturum açabilecek konak isimlerini tespit edebilmek için + DNS sorgularını etkin kılar (ve sonuç <code>REMOTE_HOST</code>’ta + belirtilerek CGI/SSI’lere aktarılır). <code>Double</code> değeri + sorgunun çift yönlü yapılacağını belirtir. Yani, bir tersine sorgunun + ardından bir normal sorgu yapılır. Normal sorguda elde edilen IP + adreslerinden birinin istek yapan IP adresi ile eşleşmesi gerekir. + ("tcpwrappers" terminolojisinde buna <code>PARANOID</code> adı + verilir.)</p> + + <p>Konak ismine göre erişimi denetlemek için + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> kullanıldığında, nasıl bir ayar + yapıldığına bakılmaksızın, çift yönlü sorgulama yapılır. Bu güvenlik + için gereklidir. Bunun dışında açıkça <code>HostnameLookups + Double</code> belirtilmedikçe genellikle çift yönlü sorgulama yapılmaz. + Örneğin, sadece <code>HostnameLookups On</code> belirtilmiş ve konak + ismi kısıtlamalarıyla korunmuş bir nesne için bir istek yapılmışsa çift + yönlü sorgunun başarısına bakılmaksızın CGI’lere + <code>REMOTE_HOST</code> olarak tek yönlü sorgu sonucu aktarılır.</p> + + <p>Gerçekte ters yönlü sorguya gerek duyulmayan sitelerde ağ trafiğini + yormamak için <code>Off</code>, öntanımlı değerdir. Ayrıca, son + kullanıcıların DNS sorguları nedeniyle gereksiz yere bir beklemeye + maruz kalmaması için de bu daha iyidir. Yükü zaten ağır olan sitelerde, + DNS sorgularının görece uzun zaman alması nedeniyle bu yönergenin + değeri <code>Off</code> olarak bırakılmalıdır. Öntanımlı olarak kurulum + dizininizin <code>bin</code> alt dizinine kurulan + <code class="program"><a href="../programs/logresolve.html">logresolve</a></code> uygulaması kullanılarak oturum açan IP + adresleri için isim sorguları çevrim dışıyken yapılabilir.</p> + + <p>Son olarak, <a href="mod_authz_host.html#reqhost">konak ismine dayalı + Require yönergeleri</a>ne sahipseniz konak ismi araması + <code class="directive">HostnameLookups</code> ayarına bakılmaksızın + gerçekleştirilecektir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a> <a name="httpprotocoloptions" id="httpprotocoloptions">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>HTTP İstek İletilerindeki sınırlamalarda değişiklik yapar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.2.32 veya 2.4.24 ve sonrası</td></tr> +</table> + <p>Bu yönerge HTTP istek satırına + (<a href="https://tools.ietf.org/html/rfc7230#section-3.1.1">RFC 7230 §3.1.1</a>) ve the HTTP istek başlığı alanlarına + (<a href="https://tools.ietf.org/html/rfc7230#section-3.2">RFC 7230 §3.2</a>) uygulanmış kuralları öntanımlı olarak veya + <code>Strict</code> seçeneği kullanılarak değiştirir. Eski modüller, + uygulamalar veya kullanımı önerilmeyen özel istemciler için eski davranışlara + dönmeyi sağlamak üzere <code>Unsafe</code> seçeneği eklenmiştir.</p> + + <p>Bu kurallar istek işlenmeden önce uygulanır. Dolayısıyla yönerge, IP/port + arabirimine göre ana bölümde veya öntanımlı (ilk) eşleşen sanal konak + bölümünde yapılandırılmalıdır.</p> + + <p>Bu yönergeye aşağıdaki parametrelerden seçilen üç tanesi uygulanabilir. + Belirtilmeyenlerin yerine öntanımlılar uygulanır.</p> + + <dl> + <dt>Strict|Unsafe</dt> + <dd> + <p>Bu yönerge devreye girmeden önce, Apache HTTP Sunucusunun istek iletisi + ayrıştırıcıları protokolle uyumlu olmayan bir dizi girdi şekline + toleranslıydı. <a href="https://tools.ietf.org/html/rfc7230#section-9.4">RFC 7230 §9.4 İstek bölme</a> ve + <a href="https://tools.ietf.org/html/rfc7230#section-9.5">§9.5 Yanıt kaçırma</a> çağrıları uyumsuz istek iletilerinin + kabulündeki olası risklerden yalnızca iki tanesidir. + <a href="https://tools.ietf.org/html/rfc7230#section-3.5">RFC 7230 + §3.5</a> "İleti Ayrıştırma Sağlamlığı" belirsiz boşlukların kabul ve + istek iletisi biçimleme risklerini tanımlar. Bu yönergenin devreye + girmesini takiben belirtimin tüm imla kurallarına öntanımlı + <code>Strict</code> işlem kipi ve 3.5 bölümünde tavsiye edilen hoşgörüsüz + boşluk uygulanır ve esnekliğe müsamaha edilmez.</p> + + <div class="warning"><h3>Unsafe için güvenlik riskleri</h3> + <p>Kullanıcılar, özellikle dışa bakan, herkes tarafından erişilebilen + sunucu konuşlandırmalarında <code>Unsafe</code> işlem kipine geçiş + yapmaya karşı kesinlikle uyarılır. Eğer bir arayüz hataları izlemek + veya bir intranette çalışan özel hizmet tüketicileri için gerekliyse, + kullanıcılar, sadece, dahili özel ağlarına hizmet etmek üzere + yapılandırılmış özel bir sanal konak üzerinde <code>Unsafe</code> işlem + kipine geçiş yapmalıdır.</p> + </div> + + <div class="example"><h3>Strict kipte HTTP 400 ile sonuçlanan bir istek örneği</h3><p><code> + + # Eksik CRLF<br /> + GET / HTTP/1.0\n\n + </code></p></div> + <div class="warning"><h3>Komut satırı araçları ve CRLF</h3> + <p>Bazı araçların CRLF kullanmaya zorlanması gerekir, aksi takdirde httpd + yukarıdaki örnekte belirtildiği gibi bir HTTP 400 yanıtı ile döner. + Örneğin, <strong>OpenSSL s_client düzgün çalışmak için -crlf + değiştirgesine ihtiyaç duyar</strong>.</p> + <p>CRLF yokluğu gibi durumları saptamak için HTTP isteğini görünümlemek + isterseniz <code class="directive"><a href="../mod/mod_dumpio.html#dumpioinput">DumpIOInput</a></code> + yönergesi yardımcı olabilir.</p> + </div> + </dd> + <dt>RegisteredMethods|LenientMethods</dt> + <dd> + <p><a href="https://tools.ietf.org/html/rfc7231#section-4.1">RFC 7231 + §4.1</a> "İstek Yöntemleri" "Genel Bakış" bölümlerinde bir istek + satırında desteklenmeyen bir yöntem saptadığında özgün sunucuların bir + hatayla yanıt vermesini gerekli görmüştür. <code>LenientMethods</code> + seçeneği kullanıldığında olan zaten budur. <code>RegisteredMethods</code> + seçeneğine geçiş yapmak isteyen yöneticiler + <code class="directive">RegisterHttpMethod</code> yönergesini kullanarak standart + olmayan yöntemleri belirlemelidir. Özellikle <code>Unsafe</code> seçeneğine + geçiş yapılacaksa bu yol izlenmelidir.</p> + + <div class="warning"><h3>İleri Vekil Uyumluluğu</h3> + <p>Özgün sunucunun kullandığı yöntemleri vekil sunucu bilemeyeceği için + ileri vekil konaklarda <code>RegisteredMethods</code> seçeneğine geçiş + yapılmamalıdır.</p> + </div> + + <div class="example"><h3>Example of a request leading to HTTP 501 with LenientMethods mode</h3><p><code> + + # Unknown HTTP method<br /> + WOW / HTTP/1.0\r\n\r\n<br /><br /> + # Lowercase HTTP method<br /> + get / HTTP/1.0\r\n\r\n<br /> + </code></p></div> + </dd> + <dt>Allow0.9|Require1.0</dt> + <dd> + <p><a href="https://tools.ietf.org/html/rfc2616#section-19.6">RFC 2616 + §19.6</a> "Önceki Sürümlerle Uyumluluk" bölümünde HTTP sunucularının + eski HTTP/0.9 isteklerini desteklemesi tavsiye edilmektedir. RFC 7230 + "HTTP/0.9 isteklerini destekleme beklentisi kaldırılmıştır." cümlesiyle + bunu geçersiz kılmış ve <a href="https://tools.ietf.org/html/rfc7230#appendix-A">RFC 7230 Ek A</a> bölümünde bununla ilgili yorumlar yer almıştır. + <code>Require1.0</code> seçeneği kullanıcıya öntanımlı + <code>Allow0.9</code> seçeneğinin davranışına verilen desteği kaldırma + imkanını vermektedir.</p> + + <div class="example"><h3>Require1.0 kipinde HTTP 400 ile sonuçlanan bir istek + örneği</h3><p><code> + + # Desteklenmeyen HTTP sürümü<br /> + GET /\r\n\r\n + </code></p></div> + </dd> + </dl> + + <p><code class="directive">LogLevel</code> <code>debug</code> seviyesiyle + yapılandırılmış <code class="directive">ErrorLog</code> ile kaydedilmiş günlüklerin + gözden geçirilmesi, böyle hatalı isteklerin kaynaklandıkları yerle birlikte + belirlenmesine yardımcı olabilir. Kullanıcılar, beklenmedik bir şekilde + reddedilmiş geçersiz istekleri bulmak için erişim günlüklerindeki 400 + yanıtlarına özellikle dikkat etmelidir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="If" id="If"><If></a> <a name="if" id="if">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Çalışma anında bir koşul bir istek tarafından yerine getirildiği +takdirde uygulanacak yönergeleri barındırır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><If <code>ifade</code>> ... </If></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>İç içe geçmiş koşullar 2.4.26 ve sonrasında değerlendirilmeye alınır</td></tr> +</table> + <p><code class="directive"><If></code> yönergesi bir ifadeyi çalışma + anında değerlendirir ve ifadenin sonucu doğru olduğu takdirde içerdiği + yönergeleri uygular. Örnek:</p> + + <pre class="prettyprint lang-config"><If "-z req('Host')"></pre> + + + <p>Bir <code>Host:</code> başlığı içermeyen HTTP/1.0 istekleriyle + eşleşir. İfadeler, dizge karşılaştırması (<code>==</code>, + <code>!=</code>, <code><</code>, ...), tamsayı karşılaştırması + (<code>-eq</code>, <code>-ne</code>, ...) ve diğerleri (<code>-n</code>, + <code>-z</code>, <code>-f</code>, ...) için kabuktakilere benzer çeşitli + işleçler içerebilir. Ayrıca, düzenli ifadeleri,</p> + + <pre class="prettyprint lang-config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></pre> + + + <p>kabuk tarzı kalıp eşleştirme ve birçok başka işlemi kullanmak da + mümkündür. Bu işlemler istek başlıklarında (<code>req</code>), ortam + değişkenlerinde (<code>env</code>) ve çok sayıda başka niteliklerin + üstünde yapılabilir. <a href="../expr.html">Apache HTTP Sunucusundaki + İfadeler</a> belgesinde daha ayrıntılı bilgi bulabilirsiniz.</p> + + <p>Bu yapılandırma bölümünün içinde sadece + <a href="directive-dict.html#Context">dizin bağlamını</a> destekleyen + yönergeler kullanılabilir.</p> + + <div class="warning"> + <If> sonrasında atanan <code>CONTENT_TYPE</code> gibi belli + değişkenler ve diğer yanıt başlıkları zaten yorumlanmış olacaklarından bu + yönerge için kullanılabilir olmayacaktır. + </div> + + <div class="warning"><code class="directive">Define</code>, + <code class="directive">Include</code> ve <code class="directive">Error</code> gibi + yapılandırma ayrıştırılırken etkili olan yönergeler, bir <code class="directive"><If></code> yapılandırma bölümü içine alınarak koşullu + hale getirilemez. Bu bölümler, çalışma anında nasıl değerlendirildiklerine + bakılmaksızın, her zaman yapılandırmanın bir parçasıdır. + </div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../expr.html">Apache HTTP Sunucusundaki + İfadeler</a> belgesinde daha ayrıntılı bilgi ve örnek + bulabilirsiniz.</li> +<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li> +<li><code class="directive"><a href="#else"><Else></a></code></li> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız. + <code class="directive"><If></code>, + <code class="directive"><ElseIf></code> ve + <code class="directive"><Else></code> son olarak uygulanır.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a> <a name="ifdefine" id="ifdefine">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Başlatma sırasında bir doğruluk sınamasından sonra işleme +sokulacak yönergeleri sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><IfDefine [!]<code>parametre-adı</code>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code><IfDefine <code>sınama</code>>...</IfDefine> + </code> bölümü koşullu olarak işleme sokulacak yönergeleri içerir. + Bir <code class="directive"><IfDefine></code> bölümü içindeki + yönergeler sadece <code>sınama</code> doğru sonuç verirse işleme sokulur. + Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p> + + <p><code class="directive"><IfDefine></code> bölüm yönergesinde + <code>sınama</code> için belirtilebilecek iki biçim vardır:</p> + + <ul> + <li><code>parametre-adı</code></li> + + <li><code>!</code><code>parametre-adı</code></li> + </ul> + + <p>Birinci durumda bölüm içinde kalan yönergeler sadece + <code>parametre-adı</code> ile belirtilen parametre tanımlı ise işleme + sokulur. İkinci durumda ise tersi yapılır, yani sadece + <code>parametre-adı</code> ile belirtilen parametre tanımlı + <strong>değil</strong> ise yönergeler işleme sokulur.</p> + + <p><code>parametre-adı</code> argümanı sunucu başlatılırken + <code class="program"><a href="../programs/httpd.html">httpd</a></code> komut satırında + <code>-D<code>parametre</code></code> ile + veya <code class="directive"><a href="#define">Define</a></code> yönergesi ile + belirtilerek tanımlı hale getirilebilir.</p> + + <p><code class="directive"><IfDefine></code> bölümleri iç içe + olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir. + Örnek:</p> + + <div class="example"><p><code>httpd -DReverseProxy -DUseCache -DMemCache ...</code></p></div> + <pre class="prettyprint lang-config"><IfDefine ReverseProxy> + LoadModule proxy_module modules/mod_proxy.so + LoadModule proxy_http_module modules/mod_proxy_http.so + <IfDefine UseCache> + LoadModule cache_module modules/mod_cache.so + <IfDefine MemCache> + LoadModule mem_cache_module modules/mod_mem_cache.so + </IfDefine> + <IfDefine !MemCache> + LoadModule cache_disk_module modules/mod_cache_disk.so + </IfDefine> + </IfDefine> +</IfDefine></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDirective" id="IfDirective"><IfDirective></a> <a name="ifdirective" id="ifdirective">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen yönerge adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><IfDirective [!]<code>yönerge-adı</code>> ... + </IfDirective></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.34 ve sonrasında kullanılabilir.</td></tr> +</table> + <p><code><IfDirective <code>yönerge-adı</code>> + ...</IfDirective></code> bölümü içindeki yönergeler + <code>yönerge-adı</code> ile belirtilen yönerge mevcutsa çalıştırılır yoksa + yok sayılır.</p> + + <p><code class="directive"><IfDirective></code> yönergenide sınama iki türlü yapılır:</p> + + <ul> + <li><code>yönerge-adı</code></li> + + <li>!<code>yönerge-adı</code></li> + </ul> + + <p>İlk durumda bölüm içinde kalan yönergeler, yönerge başlangıç satırına + belirtilen yönerge işlem sırasında mevcutsa çalıştırılır, değilse + çalıştırılmaz. İkinci durumda ise, bölüm içinde kalan yönergeler, yönerge + başlangıç satırına belirtilen yönerge işlem sırasında mevcut + <strong>değilse</strong> çalıştırılır, mevcutsa çalıştırılmaz.</p> + + <div class="note">Bu yönergeyi kullanma ihtiyacı sadece çok sayıda + <code class="program"><a href="../programs/httpd.html">httpd</a></code> tek bir yapılandırma dosyası ile çalıştırılmak + zorundaysa ortaya çıkar. Böyle bir ihtiyacın olmadığı normal durumlarda + yönergelerin <code class="directive"><IfDirective></code> bölümlerine + yerleştirlmesine gerek yoktur.</div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#ifsection"><IfSection></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfFile" id="IfFile"><IfFile></a> <a name="iffile" id="iffile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Başlatma sırasında bir dosyanın varlığı durumunda işleme +sokulacak yönergeleri sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><IfFile [!]<code>dosyaadı</code>> ... + </IfFile></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.34 ve sonrsında kullanılabilir.</td></tr> +</table> + <p><code><IfFile <code>dosyaadı</code>>...</IfFile> + </code> bölümü bir dosyanın diskteki mevcudiyetine bağlı olarak + çalıştırılacak yönergeleri belirtmekte kullanılır. + <code class="directive"><IfFile></code> bölümü içindeki yönergeler + sadece diskte <code>dosyaadı</code> mevcutsa çalıştırılır. <code>dosyaadı</code> + mevcut değilse bölüm içindeki yönergeler yok sayılır. <code>dosyaadı</code> + sunucu kök dizinine göreli veya mutlak bir yol olarak belirtilebilir.</p> + + <p><code class="directive"><IfFile></code> bölüm yönergesindeki + <code>dosyaadı</code>, <code class="directive"><a href="#ifdefine"><IfDefine></a></code> yönergesindeki <code>sınama</code> değişkenindeki gibi + ele alınır, yani <code>dosyaadı</code> bir ! ile öncelenirse bölüm içindeki + yonergeler dosyanın yokluğu durumunda çalıştırılır. + </p> + + <p>Göreli bir <code>dosyaadı</code> belirtilmişse sınama <code class="directive"><a href="#serverroot">ServerRoot</a></code> yönergesinde belirtilen dizinde göre + yapılır. <code class="directive"><IfFile></code> yönergesinin + <code class="directive"><a href="#serverroot">ServerRoot</a></code> yönergesinde önce yer alması + durumunda dosya yolu derleme sırasında kullanılan sunucu köküne veya komut + satırında <code>-d</code> seçeneği ile belirtilen dizine göre sınanır.</p> + + <div class="warning"><h3>Uyarı</h3> + 2.4.34 sürümünde, <code>dosyaadı</code>'nı tırnak içinde belirtmek mümkün + değildi. Bu, başlatma sırasında çözümleme hatasına sebep oluyordu. Bunun + başlıca etkisi, boşluklu dosya adlarının kullanılamamasıdır. Bu sorun, + 2.4.35 sürümünde düzeltildi.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a> <a name="ifmodule" id="ifmodule">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak +yönergeleri sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><IfModule [!]<code>modül-dosyası</code>|<code>modül-betimleyici</code>> ... + </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Modül betimleyiciler 2.1 sürümünde ve sonrası için geçerlidir.</td></tr> +</table> + <p><code><IfModule <code>sınama</code>>...</IfModule></code> + bölümü belli bir modülün varlığına veya yokluğuna göre işleme sokulacak + yönergeleri içerir. Bir <code class="directive"><IfModule></code> + bölümü içindeki yönergeler sadece <code>sınama</code> doğru sonuç verirse + işleme sokulur. Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p> + + <p><code class="directive"><IfModule></code> bölüm yönergesinde + <code>sınama</code> için belirtilebilecek iki biçim vardır:</p> + + <ul> + <li><code>modül</code></li> + + <li>!<code>modül</code></li> + </ul> + + <p>Birinci durumda bölüm içinde kalan yönergeler sadece <code>modül</code> + ile belirtilen modül Apache httpd içine dahil edilmişse veya + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> yönergesi ile devingen + olarak yüklenmişse işleme sokulur. İkinci durumda ise tersi yapılır, yani + sadece <code>modül</code> içerilmiş <strong>değil</strong> ise yönergeler + işleme sokulur.</p> + + <p><code>modül</code> argümanında bir modül betimleyici veya modülün derleme + sırasındaki dosya adı belirtilebilir. Örneğin, <code>rewrite_module</code> + bir betimleyici, <code>mod_rewrite.c</code> ise bir dosya ismidir. Eğer + modül çok sayıda kaynak dosyasından oluşuyorsa + <code>STANDARD20_MODULE_STUFF</code> dizgesini içeren dosyanın ismi + kullanılır.</p> + + <p><code class="directive"><IfModule></code> bölümleri iç içe + olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.</p> + + <div class="note">Bu bölümü sadece yapılandırma dosyanızın belli modüllerin varlığına + veya yokluğuna bağlı olarak çalışması gerektiği durumlarda + kullanmalısınız. Normal işlemlerde yönergelerin <code class="directive"><IfModule></code> bölümlerine yerleştirilmeleri + gerekmez.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfSection" id="IfSection"><IfSection></a> <a name="ifsection" id="ifsection">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen bölüm adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><IfSection [!]<code>bölüm-adı</code>> ... + </IfSection></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.34 ve sonrasında kullanılabilir.</td></tr> +</table> + <p><code><IfSection <code>bölüm-adı</code>> + ...</IfSection></code> bölümü içindeki yönergeler + <code>bölüm-adı</code> ile belirtilen bölüm mevcutsa çalıştırılır yoksa + yok sayılır. Bir bölüm yönergesi "<" ile öncelenmiş bir yönerge adına + sahip olmalı ve <code class="directive"><VirtualHost></code> gibi başka + yönergeleri sarmalayan bir yönerge olmalıdır.</p> + + <p><code class="directive"><IfSection></code> bölümü içindeki + yönergeler sadece <code>sınama</code> doğru ise çalıştırılır, + <code>sınama</code> yanlışsa çalıştırılmaz.</p> + + <p><code>bölüm-adı</code> başında "<" veya sonunda ">" olmaksızın + belirtilmelidir. <code class="directive"><IfSection></code> + yönergesindeki <code>bölüm-adı</code> iki türlü ele alınır:</p> + + <ul> + <li><code>bölüm-adı</code></li> + <li>!<code>bölüm-adı</code></li> + </ul> + + <p>İlk durumda bölüm içinde kalan yönergeler, yönerge başlangıç satırına + belirtilen bölüm işlem sırasında mevcutsa çalıştırılır, değilse + çalıştırılmaz. İkinci durumda ise, bölüm içinde kalan yönergeler, yönerge + başlangıç satırına belirtilen bölüm işlem sırasında mevcut + <strong>değilse</strong> çalıştırılır, mevcutsa çalıştırılmaz.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config"><IfSection VirtualHost> + ... +</IfSection></pre> + + + <div class="note">Bu yönergeyi kullanma ihtiyacı sadece çok sayıda + <code class="program"><a href="../programs/httpd.html">httpd</a></code> tek bir yapılandırma dosyası ile (belli bir bölüm + yönergesinin var olup olmamasına bakmaksızın) çalıştırılmak + zorundaysa ortaya çıkar. Böyle bir ihtiyacın olmadığı normal durumlarda + yönergelerin <code class="directive"><IfSection></code> bölümlerine + yerleştirlmesine gerek yoktur.</div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#ifdirective"><IfDirective></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Include <code>dosya-yolu</code>|<code>dizin-yolu</code>|<code>joker</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Dizin kalıbıyla eşleşme ise 2.3.6 ve sonrasında mevcuttur.</td></tr> +</table> + <p>Bu yönerge sunucu yapılandırma dosyalarının başka dosyaları içermesini + mümkün kılar.</p> + + <p>Çok sayıda dosyayı bir kerede alfabetik sırada içermek için yolun dosya + ismi ve dizin parçalarında kabuk tarzı (<code>fnmatch()</code>) dosya + ismi kalıp karakterleri kullanılabilir. Ayrıca, eğer + <code class="directive">Include</code> yönergesi bir dosya değil de bir dizin + gösteriyorsa Apache httpd bu dizindeki ve alt dizinlerindeki bütün + dosyaları okuyacaktır. Bunula birlikte, dizinin bir bütün olarak + okutulması önerilmez, çünkü dizinde <code class="program"><a href="../programs/httpd.html">httpd</a></code> programının + çökmesine sebep olabilecek geçici dosyalar unutulabilir. Bunun yerine, + belli bir şablona uyan dosyaları seçebilmek için, örneğin *.conf gibi + dosya kalıplarının kullanılmasını öneriyoruz.</p> + + <p><code class="directive"><a href="#include">Include</a></code> yönergesi, bir dosya + kalıbı ifadesi hiçbir dosyayla eşleşmezse <strong>bir hatayla + başarısız</strong> olacaktır. Eşleşmeyen dosya kalıbı ifadelerinin + yoksayılması gerekiyorsa <code class="directive"><a href="#includeoptional">IncludeOptional</a></code> yönergesi kullanılabilir.</p> + + <p>Dosya yolu mutlak bir dosya yolu olarak belirtilebileceği gibi + <code class="directive"><a href="#serverroot">ServerRoot</a></code> dizinine göreli olarak + da belirtilebilir.</p> + + <p>Örnekler:</p> + + <pre class="prettyprint lang-config">Include /usr/local/apache2/conf/ssl.conf +Include /usr/local/apache2/conf/vhosts/*.conf</pre> + + + <p>Veya dizinler <code class="directive"><a href="#serverroot">ServerRoot</a></code> dizinine + göre belirtilebilir:</p> + + <pre class="prettyprint lang-config">Include conf/ssl.conf +Include conf/vhosts/*.conf</pre> + + + <p>Dosya kalıbı karakterleri yolun dizin ve dosya parçalarına + yerleştirilebilir. <code>conf/vhosts</code> altında en azından bir + <code>*.conf</code> içeren hiçbir alt dizin yoksa bu örnek başarısız + olacaktır:</p> + + <pre class="prettyprint lang-config">Include conf/vhosts/*/*.conf</pre> + + + <p>Bunun yerine, dizin ve dosyaların eksikliği durumunda aşağıdaki komut + sadece yoksayılır:</p> + + <pre class="prettyprint lang-config">IncludeOptional conf/vhosts/*/*.conf</pre> + + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#includeoptional">IncludeOptional</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IncludeOptional" id="IncludeOptional">IncludeOptional</a> <a name="includeoptional" id="includeoptional">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Diğer yapılandırma dosyalarının sunucu yapılandırma dosyasına dahil edilmesini sağlar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IncludeOptional <code>dosya-yolu</code>|<code>dizin-yolu</code>|<code>joker</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.3.6 ve sonrasına kullanılabilmektedir. Dosya kalıp karakterleri + içermeyen dosya yollarından mevcut olmayanlar 2.4.30 sürümünden itibaren + sözdizimi hatalarına sebep olmamaktadır.</td></tr> +</table> + <p>Bu yönerge, diğer yapılandırma dosyalarının sunucu yapılandırma + dosyasında içerilmesini sağlar. Çalışması <code class="directive"><a href="#include">Include</a></code> yönergesi ile bir istisna dışında + aynıdır. Dosya kalıp karakterlerinin hiçbir dosya veya dizinle + eşleşmemesi veya dosya yolunun dosya sisteminde mevcut olmaması durumunda + bir hata oluşmayacak ve bu durum sadece yoksayılacaktır.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#include">Include</a></code></li> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>HTTP kalıcı bağlantılarını etkin kılar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code>Keep-Alive</code> yönergesi HTTP/1.0 protokolüne bir eklenti olup + HTTP/1.1 protokolünün kalıcı bağlantı özelliği aynı TCP bağlantısı + üzerinden çok sayıda isteğin gönderilmesini mümkün kılan uzun süreli HTTP + oturumları açılmasını sağlar. Bunun, çok sayıda resim içeren HTML + belgelerin yanıt zamanlarında bazı durumlarda %50’lik bir hızlanmayla + sonuçlandığı gösterilmiştir. Kalıcı bağlantıları etkin kılmak için + yönerge <code>KeepAlive On</code> şeklinde kullanılır.</p> + + <p>HTTP/1.0 istemcileri için kalıcı bağlantılar sadece bir istemci + tarafından özellikle istendiği takdirde kullanılabilir. Ek olarak, + HTTP/1.0 istemci kalıcı bağlantıları sadece içerik uzunluğu baştan + bilindiği zaman kullanılabilir. Bu, CGI çıktısı, SSI sayfaları ve + sunucunun ürettiği dizin listeleri gibi genellikle HTTP/1.0 istemcilere + kalıcı bağlantılar kullanmayan devingen içeriklere uygulanır. HTTP/1.1 + istemciler için kalıcı bağlantılar aksi belirtilmedikçe öntanımlıdır. + İstemci istediği takdirde, uzunluğu bilinmeyen içerik kalıcı bağlantılar + üzerinden gönderilirken parçalı kodlama kullanılacaktır.</p> + + <p>Bir istemci kalıcı bağlantı kullandığı takdirde, bağlantı üzerinden kaç + istek gönderilirse gönderilsin, + <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> + yönergesi bakımından tek bir istek olarak değerlendirilir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>KeepAliveTimeout <code>sayı</code>[ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Sunucunun kalıcı bir bağlantıyı kapatmadan önce bir sonraki isteği kaç + saniye bekleyeceğini belirler. Ayrıca, ms soneki kullanılarak süreyi + milisaniye olarak belirtmek de mümkündür. İstek alındıktan sonra + <code class="directive"><a href="#timeout">Timeout</a></code> yönergesiyle belirtilen + zaman aşımı değeri uygulanır.</p> + + <p><code class="directive">KeepAliveTimeout</code> için yüksek bir değer belirtmek + ağır yüklü sunucularda başarım sorunlarına yol açar. Daha yüksek bir + zaman aşımı, boştaki istemcilerin bulunduğu bağlantıları bekleyen daha + fazla sunucu sürecini meşgul edecektir.</p> + + <p>İsme dayalı sanal konak için <code class="directive">KeepAliveTimeout</code> + atanmamışsa, yerel IP adresi ve portu ile en iyi eşleşen ilk sanal + konağın değeri kullanılır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a> <a name="limit" id="limit">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları +sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><Limit <code>yöntem</code> [<code>yöntem</code>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Erişim denetleyicileri normalde <strong>tüm</strong> erişim yöntemleri + için etkindir ve olağan olanı da budur. <strong>Genel durum olarak, + erişim denetim yönergeleri bir <code class="directive"><Limit></code> bölümüne + yerleştirilmemelidir.</strong></p> + + <p><code class="directive"><Limit></code> bölümünün amacı, erişim + denetleyicilerinin etkilerini belli HTTP yöntemleri için sınırlamaktır. + <code class="directive"><Limit></code> bölümü içinde listelenen + erişim sınırlamaları, kalan tüm diğer yöntemler için <strong>etkisiz + olacaktır</strong>. Aşağıdaki örnekte, erişim sınırlaması + <code>POST</code>, <code>PUT</code> ve <code>DELETE</code> yöntemleri + için uygulanmakta, diğer tüm yöntemler korumasız bırakılmaktadır:</p> + + <pre class="prettyprint lang-config"><Limit POST PUT DELETE> + Require valid-user +</Limit></pre> + + + <p>Birden fazla bölümde kullanılabilecek yöntem isimleri: <code>GET</code>, + <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, + <code>CONNECT</code>, <code>OPTIONS</code>, + <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>, + <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>, + <code>LOCK</code> ve <code>UNLOCK</code>. <strong>Yöntem isimleri harf + büyüklüğüne duyarlıdır.</strong> <code>GET</code> yöntemi sınırlanırsa + <code>HEAD</code> istekleri de sınırlanmış olur. <code>TRACE</code> + yöntemi sınırlanamaz (bkz, <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p> + + <div class="warning">Erişimi sınarlarken bir <code class="directive"><Limit></code> bölümü yerine daima bir <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> bölümünü tercih + etmelisiniz, çünkü <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> bölümü belirtilen yöntemler dışında kalanlara + erişim koruması sağlar.</div> + + <p><code class="directive"><Limit></code> ve + <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> + yönergeleri iç içe olabilirler. Bu durumda, başarılı her + <code class="directive"><Limit></code> veya <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> seviyesi, erişim + denetimlerinin uygulanacağı yöntemlerle sınırlı kalmalıdır.</p> + + <div class="warning"><code class="directive"><Limit></code> veya + <code class="directive"><LimitExcept></code> yönergelerini + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi ile + birlikte kullanılırken, ilk <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinin bir başka <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinin varlığından + bağımsız olarak isteği başarıyla yetkilendirdiğine dikkat ediniz.</div> + + <p>Örneğin, aşağıdaki yapılandırmayı ele alalım; tüm kullanıcılar + <code>POST</code> istekleri için yetkilendirilecek ve tüm durumlarda + <code>Require group editors</code> yönergesi yoksayılacaktır:</p> + + <pre class="prettyprint lang-config"><LimitExcept GET> + Require valid-user +</LimitExcept> +<Limit POST> + Require group editors +</Limit></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a> <a name="limitexcept" id="limitexcept">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İsimleri belirtilenler dışında kalan HTTP yöntemleri için +kullanılacak erişim sınırlayıcıları sarmalar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><LimitExcept <code>yöntem</code> [<code>yöntem</code>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>AuthConfig, Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> ve + <code></LimitExcept></code> argüman olarak belirtilenler + <strong>dışında</strong> kalan HTTP yöntemleri için kullanılacak erişim + sınırlayıcıları gruplamakta kullanılır. Yani, <code class="directive"><a href="#limit"><Limit></a></code> bölümünün tersine, standart olsun olmasın + bütün yöntemler için erişimi kısıtlamakta kullanılabilir. Daha ayrıntılı + bilgi edinmek için <code class="directive"><a href="#limit"><Limit></a></code> yönergesinin açıklamasına bakınız.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config"><LimitExcept POST GET> + Require valid-user +</LimitExcept></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitInternalRecursion <code>sayı</code> [<code>sayı</code>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Örneğin, özgün istekleri dahili olarak bir CGI betiğine yönlendiren + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> yönergesi + kullanıldığında bir dahili yönlendirme oluşur. İstek içi istekler ise + bazı URI’ler için istek yapıldığında ne olacağını bulmak için Apache + httpd’nin kullandığı bir mekanizmadır. Örneğin, + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> yönergesinde listelenen dosyalara bakmak + için istek içi istekler kullanır.</p> + + <p><code class="directive">LimitInternalRecursion</code> yönergesi sunucunun dahili + yönlendirmeler ve istek içi isteklerin oluşturduğu döngülerden dolayı + çökmemesini sağlar. Böyle döngüler genellikle yanlış yapılandırma sonucu + ortaya çıkarlar.</p> + + <p>Yönerge her istek için değerlendirmeye alınacak iki farklı sınırlama + için kullanılabilir. İlk <code>sayı</code> ardarda gelebilen dahili + yönlendirmelerin azami sayısını, ikinci <code>sayı</code> ise istek içi + isteklerin ne kadar iç içe olabileceğini belirler. Tek bir + <code>sayı</code> belirtilirse iki sınırlama için de aynı değer + kullanılır.</p> + + <pre class="prettyprint lang-config">LimitInternalRecursion 5</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemci tarafından gönderilen HTTP istek gövdesinin toplam +uzunluğunu sınırlar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitRequestBody <code>bayt-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitRequestBody 1073741824</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusu 2.4.53 ve öncesinde, öntanımlı değer 0 idi (sınırsız)</td></tr> +</table> + <p>Bu yönerge, bir istek gövdesinde izin verilen bayt sayısını sınırlamak + için kullanılır. <var>0</var> sınırsız anlamına gelir.</p> + + <p><code class="directive">LimitRequestBody</code> yönergesi kullanıcıya yönergenin + kullanıldığı bağlam (sunucu, belli bir dizin, belli bir dosya, belli bir + yer) dahilinde bir HTTP istek iletisi gövdesinin izin verilen uzunluğu + için bir sınır belirleme imkanı verir. Eğer istemcinin isteği bu sınırı + aşarsa sunucu isteği sunmak yerine bir hata iletisi döndürecektir. Normal + bir istek ileti gövdesinin uzunluğu büyük oranda özkaynağın doğasına ve + bu özkaynak üzerinde izin verilen yöntemlere bağlıdır. CGI betikleri + genellikle ileti gövdesini form bilgisini almak için kullanır. + <code>PUT</code> yöntemi gerçeklenimleri, en azından, sunucunun o + özkaynak için kabul etmek isteyeceği herhangi bir gösterim kadar büyük + bir değer gerektirecektir.</p> + + <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar.</p> + + <p>Eğer, örneğin, belli bir yere dosya yükleme izni verir ve buraya + yüklenebilecek dosya boyutunu 100 kB ile sınırlamak isterseniz yönergeyi + şöyle kullanabilirsiniz:</p> + + <pre class="prettyprint lang-config">LimitRequestBody 102400</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını +sınırlar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitRequestFields <code>sayı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code>sayı</code>ya 0 atanması sınırsız anlamına gelir. + Öntanımlı değer bir derleme zamanı sabiti olan + <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> ile belirlenir (dağıtımla gelen + değeri 100’dür).</p> + + <p><code class="directive">LimitRequestFields</code> yönergesi sunucu + yöneticilerine bir HTTP isteğinde izin verilen istek başlık alanlarının + sayısı üzerindeki sınırı değiştirebilme imkanı verir. Sunucu bu değerin, + normal bir istemci isteğinin içerebileceği alan sayısından daha büyük + olmasına ihtiyaç duyar. Bir istemci tarafından kullanılan istek başlık + alanlarının sayısı nadiren 20’yi geçer, fakat bu farklı istemci + gerçeklenimleri için değişiklik gösterir ve çoğunlukla kullanıcının + tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl + yapılandırdığıyla ilgilidir. İsteğe bağlı HTTP eklentileri çoğunlukla + istek başlık alanları kullanılarak ifade edilir.</p> + + <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar. Eğer normal istemciler sunucudan istekte bulunurken çok + fazla başlık alanı gönderildiğine dair bir hata iletisi alırlarsa bu + değerin arttırılması gerekir.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">LimitRequestFields 50</pre> + + + <div class="warning"><h3>Uyarı</h3> + <p>İsme dayalı sanal konaklar kullanıldığında, bu yönergenin değeri, + yerel IP adresi ve port çifti için öntanımlı olan (listedeki ilk) sanal + konaktan alınır.</p>. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitRequestFieldSize <code>bayt-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge, HTTP istek başlığında izin verilecek bayt sayısını + belirler.</p> + + <p><code class="directive">LimitRequestFieldSize</code> yönergesi, sunucu + yöneticilerine HTTP istek başlık alanının azami uzunluğunu ayarlama + imkanı verir. Sunucu bu değerin, normal bir istemci isteğinin + içerebileceği herhangi bir başlık alanını tutabilecek kadar büyük + olmasını gerektirir. Normal bir istek başlık alanı uzunluğu kullanıcının + tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl + yapılandırdığıyla ilgilidir. SPNEGO kimlik doğrulama başlıkları 12392 + baytlık olabilir.</p> + + <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">LimitRequestFieldSize 4094</pre> + + + <div class="note">Normal şartlar altında öntanımlı değer değiştirilmemelidir. Ayrıca, + kaynak kodu değiştirip yeniden derlemeden bu değeri 8190'dan büyük + yapamazsınız.</div> + + <div class="warning"><h3>Uyarı</h3> + <p>İsme dayalı sanal konaklar kullanıldığında, bu yönergenin değeri, + yerel IP adresi ve port çifti için öntanımlı olan (listedeki ilk) sanal + konaktan alınır.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitRequestLine <code>bayt-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge, HTTP istek satırında izin verilecek bayt sayısını + belirler.</p> + + <p><code class="directive">LimitRequestLine</code> yönergesi, sunucu yöneticilerine + bir istemcinin HTTP istek satırının azami uzunluğunu ayarlama + imkanı verir. İstek satırının içeriği HTTP yöntemi, URI ve protokol + sürümünden oluştuğundan <code class="directive">LimitRequestLine</code> + yönergesi, sunucudan bir istek için kullanılan istek adresinin uzunluğunu + sınırlamış olur. Sunucu bu değerin, bir <code>GET</code> isteğinin sorgu + kısmında aktarılabilen her bilgi dahil, özkaynak isimlerinden her birini + tutabilecek kadar büyük olmasını gerektirir.</p> + + <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu + yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim + imkanı sağlar.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">LimitRequestLine 4094</pre> + + + <div class="note">Normal şartlar altında öntanımlı değer değiştirilmemelidir.</div> + + <div class="warning"><h3>Uyarı</h3> + <p>İsme dayalı sanal konaklar kullanıldığında, bu yönergenin değeri, + yerel IP adresi ve port çifti için öntanımlı olan (listedeki ilk) sanal + konaktan alınır.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir XML temelli istek gövdesinin uzunluğunu sınırlar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LimitXMLRequestBody <code>bayt-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bir XML temelli istek gövdesinin azami bayt sayısını belirler. + <code>0</code> değeri, XML'in sistem adreslenebilir belleğinin sınırları + içinde sarmalanmasına izin veren (32bit ve 64bit sisteme bağlı olarak) + katı bir sınırlama uygular, ancak yalnızca uyumluluk için vardır ve + önerilmez, çünkü genel sistemde belleğin yetersiz kalmasına neden + olabilecek eşzamanlı istekleri veya başka bir yerde tüketilen belleği + hesaba katmaz.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config"># 1 MiB'lık sınırlama +LimitXMLRequestBody 1073741824</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Location" id="Location"><Location></a> <a name="location" id="location">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İçerdiği yönergeler sadece eşleşen URL’lere uygulanır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><Location <code>URL-yolu</code>|<code>URL</code>> ... +</Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Location></code> bölüm yönergesi kapsadığı + yönergelerin etki alanını belirtilen URL’lerle sınırlar. Bu yönerge, + <code class="directive"><a href="#directory"><Directory></a></code> yönergesine + benzer ve <code></Location></code> yönergesi ile biten bir alt + bölüm başlatır. <code class="directive"><Location></code> bölümleri + yapılandırma dosyasında göründükleri sıraya göre, <code class="directive"><a href="#directory"><Directory></a></code> bölümleri ve + <code>.htaccess</code> dosyaları okunup <code class="directive"><a href="#files"><Files></a></code> bölümleri de işlendikten sonra işleme + sokulurlar.</p> + + <p><code class="directive"><Location></code> bölümleri dosya + sisteminin tamamen dışında işlem görürler. Bunun çeşitli sonuçları olur. + En önemlisi, <code class="directive"><Location></code> + yönergelerinin dosya sistemi konumlarına erişimi denetim altına almak + için kullanılmaması gerekliliğidir. Aynı dosya sistemi konumuna farklı + URL’lerle erişmek mümkün olduğundan bu tür erişim denetimleri hile ile + atlatılabilir olacaktır.</p> + + <p>URL'nin yol bileşeni aşağıdaki koşullardan <em>herhangi birini</em> + sağlıyorsa sarmalanan yönergeler isteğe uygulanır: + </p> + <ul> + <li>Belirtilen yer URL'nin yol bileşeni ile tam olarak eşleşiyordur. + </li> + <li>Belirtilen yer bir bölü çizgisi öncesinde bitiyorsa URL'nin yol + bileşeninin öneklerinden biriyle eşleşiyordur (bağlamsal bir kök dizin + olarak). + </li> + <li>Belirtilen yer bir bölü çizgisi ile bitiyorsa URL'nin yol + bileşeninin öneklerinden biriyle eşleşiyordur (bağlamsal bir kök dizin + olarak). + </li> + </ul> + <p>Aşağıdaki örnekte yer belirtimi bir bölü çizgisi ile bitirilmemiştir. + <code>/private1</code>, <code>/private1/</code> ve + <code>/private1/file.txt</code> istekleri için sarmalanan yönergeler + uygulanacaktır, fakat <code>/private1other</code> isteğine + uygulanmayacaktır.</p> + + <pre class="prettyprint lang-config"><Location "/private1"> + # ... +</Location></pre> + + + <p>Aşağıdaki örnekte yer belirtimi bir bölü çizgisi ile bitirilmiştir. + <code>/private2/</code> ve <code>/private2/file.txt</code> istekleri + için sarmalanan yönergeler uygulanacaktır, fakat <code>/private2</code> + ve <code>/private2other</code> isteklerine uygulanmayacaktır.</p> + + <pre class="prettyprint lang-config"><Location "/private2<em>/</em>"> + # ... +</Location></pre> + + + <div class="note"><h3><code class="directive"><Location></code> ne zaman + kullanılmalı</h3> + + <p><code class="directive"><Location></code> yönergesini dosya sistemi + dışındaki içeriğe çeşitli yönergeler uygulamak için kullanın. Dosya + sisteminde bulunan içerik için <code class="directive"><a href="#directory"><Directory></a></code> ve <code class="directive"><a href="#files"><Files></a></code> bölümlerini kullanın. Bunun istisnası, + sunucunun tamamına bir yapılandırma uygulamak için kolay bir yol olan + <code><Location "/"></code> kullanımıdır.</p> + </div> + + <p>Kaynağa yapılan (vekil olmayan) tüm istekler için eşleşecek URL, + <code>/yol/</code> şeklinde bir URL yolu olmalı; <em>ne şema, ne konak ismi + ne port ne de sorgu dizgesi içermelidir</em>. Vekil istekleri için eşleşecek + URL ise <code>şema://sunucuadı/dosya-yolu</code> şeklinde olmalı ve önek + içermelidir.</p> + + <p>URL içinde dosya kalıp karakterleri kullanılabilir. Dosya kalıp + karakterleri bulunan bir dizgede bulunan <code>?</code> karakteri + herhangi bir tek karakterle eşleşirken <code>*</code> karakteri herhangi + bir karakter dizisi ile eşleşecektir. URL yolu içindeki / karakterleri + ile hiçbir dosya kalıp karakteri eşleşmez.</p> + + <p>Ayrıca, <code>~</code> karakteri eşliğinde + <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifadeler</a> de kullanılabilir. + Örneğin,</p> + + <pre class="prettyprint lang-config"><Location ~ "/(ek|hususi)/veri"> + #... +</Location></pre> + + + <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt + dizgeleriyle eşleşecektir. <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> yönergesi <code class="directive"><Location></code> yönergesinin düzenli ifade sürümüne + eşdeğer davranır ve bir çok yazı tipinde <code>~</code> karakterini + <code>-</code> karakterinden ayırmak zor olduğu için tercih edilir.</p> + + <p><code class="directive"><Location></code> işlevselliği özellikle + <code class="directive"><a href="#sethandler">SetHandler</a></code> yönergesi ile birlikte + kullanışlı olur. Örneğin, durum isteklerini etkin kılmak ama sadece + <code>example.com</code>’dan gelen isteklere izin vermek için şöyle bir + uygulama yapabilirsiniz:</p> + + <pre class="prettyprint lang-config"><Location "/status"> + SetHandler server-status + Require host example.com +</Location></pre> + + + <div class="note"><h3>/ (bölü çizgisi) hakkında</h3> + <p>Bölü çizgisinin URL içinde bulunduğu yere bağlı olarak özel anlamları + vardır. Dosya sistemindeki çok sayıda yanyana kullanımının tek bir bölü + çizgisi olarak ele alındığı duruma alışkın olanlar olabilir (yani, + <code>/home///foo</code> ile <code>/home/foo</code> aynıdır). + <code class="directive"><a href="#mergeslashes">MergeSlashes</a></code> yönergesine OFF + atanmışsa URL uzayında bunun böyle olması gerekli değildir. + Eğer çok sayıda bölü çizgisinin birleştirilmeden yanyana belirtilmesi + gerekiyorsa + <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + yönergesinde ve <code class="directive"><Location></code> + yönergesinin düzenli ifadeli kullanımında bunun açıkça belirtilmesi + gerekir.</p> + + <p>Örneğin, <code><LocationMatch "^/abc"></code> yönergesi + <code>/abc</code> ile eşleşecek ama <code>//abc</code> ile + eşleşmeyecektir. <code class="directive"><Location></code> + yönergesinin düzenli ifade içermeyen kullanımındaki davranış vekil + isteklerinde kullanılana benzer ve doğrudan kaynağa yapılan (vekil + olmayan) isteklerde çok sayıda bölü çizgisi dolaylı olarak tek bir bölü + çizgisiyle eşleşecektir. Örneğin, <code><Location + "/abc/def"></code> belirtirseniz ve istek <code>/abc//def</code> + şeklinde olursa bu ikisi eşleşir.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a> <a name="locationmatch" id="locationmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere +uygulanır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><LocationMatch + <code>düzifade</code>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LocationMatch></code> yönergesi içerdiği + yönergelerin etki alanını <code class="directive"><a href="#location"><Location></a></code> yönergesinin yaptığı gibi belirtilen URL’lerle + sınırlar. Ancak argüman olarak basit bir dizge değil bir <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> alır. Örneğin,</p> + + <pre class="prettyprint lang-config"><LocationMatch "/(ek|hususi)/veri"> + # ... +</LocationMatch></pre> + + + <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt + dizgeleriyle eşleşecektir.</p> + + <div class="note"><p>Eğer hedef, <code>/ek/veri</code> içeren değil de + <code>/ek/veri</code> ile başlayan bir URL ise düzenli ifadenin önüne + <code>^</code> getirmek gerekir.</p> + + <pre class="prettyprint lang-config"><LocationMatch "^/(ek|hususi)/veri"></pre> + + </div> + + <p>2.4.8 itibariyle, isimli gruplar ve geriye başvurular elde edilmekte + olup ilgili isim büyük harfe çevrildikren sonra "MATCH_" ile + öncelendikten sonra ortama yazılmaktadır. Böylece yol elemanlarına + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> gibi modüllerden veya <a href="../expr.html">düzenli ifadelerden</a> başvurmak mümkün + kılınmıştır. Karışıklığı önlemek için, numaralı (isimsiz) geriye + başvurular yoksayılmaktadır. Bunların yerine isimli geriye başvurular + kullanılmalıdır.</p> + + <pre class="prettyprint lang-config"><LocationMatch "^/combined/(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</LocationMatch></pre> + + + <div class="note"><h3>/ (bölü çizgisi) hakkında</h3> + <p>Bölü çizgisi karakteri URL üzerinde göründüğü yere bağlı olarak + farklı anlamlar içerir. İnsanlar, birden çok bitişik bölü çizgisinin sık + sık tek bir bölü çizgisine daraltıldığı dosya sistemindeki davranışına + alışkın olabilir (<em>örn</em>, <code>/home///foo</code> ile + <code>/home/foo</code> aynıdır). + <code class="directive"><a href="#mergeslashes">MergeSlashes</a></code> yönergesine OFF + atanmışsa URL uzayında bunun böyle olması gerekli değildir. + Eğer çok sayıda bölü çizgisinin birleştirilmeden yanyana belirtilmesi + gerekiyorsa + <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + yönergesinde ve <code class="directive"><Location></code> + yönergesinin düzenli ifadeli kullanımında bunun açıkça belirtilmesi + gerekir.</p> + + <p>Örneğin, <code><LocationMatch "^/abc"></code> ile + <code>/abc</code> isteği eşleşirken <code>//abc</code> isteği + eşleşmez. <code class="directive"><Location></code> yönergesinin + regex olmayan kullanımı vekil isteklerindeki gibi davranır. Fakat + vekil harici işlemlerde <code class="directive"><Location></code> + yönergesinin regex olmayan kullanımında çok sayıda bölü çizgisi örtük + olarak tek bölü çizgisiyle eşleşir. Örneğin, + <code><Location "/abc/def"></code> belirtirseniz + <code>/abc//def</code> isteği bu ifade ile eşleşecektir.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Hata günlüklerinin ayrıntı seviyesini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LogLevel [<code>modül</code>:]<code>seviye</code> + [<code>modül</code>:<code>seviye</code>] ... +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Modül ve dizin bağlamındaki yapılandırmalar Apache HTTP + Sunucusunun 2.3.6 ve sonraki sürümlerinde + kullanılabilmektedir.</td></tr> +</table> + <p><code class="directive">LogLevel</code> yönergesi hata günlüklerine kaydedilen + hata iletilerinde hangi ayrıntılara yer verileceğini belirler (<code class="directive"><a href="#errorlog">ErrorLog</a></code> yönergesine bakınız). En yüksek önem + derecesinden başlayarak olası <code>seviye</code> değerleri aşağıda + sıralanmıştır:</p> + + <table class="bordered"> + + <tr> + <th><strong>Seviye</strong> </th> + <th><strong>Açıklama</strong> </th> + <th><strong>Örnek</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + <td>Acil durumlar - sistem kullanışsız.</td> + <td>"Child cannot open lock file. Exiting"<br />(Alt süreç kilit + dosyasını açamıyor. Çıkılıyor)</td> + </tr> + + <tr> + <td><code>alert</code> </td> + <td>Ne yapılacaksa beklemeden yapılmalı.</td> + <td>"getpwuid: couldn't determine user name from uid"<br />(getpwuid: + Kullanıcı ismi numarasından saptanamadı)</td> + </tr> + + <tr> + <td><code>crit</code> </td> + <td>Kriz durumları.</td> + <td>"socket: Failed to get a socket, exiting child"<br />(socket: bir + soket alınamadı, alt süreç çıkıyor)</td> + </tr> + + <tr> + <td><code>error</code> </td> + <td>Hata durumları.</td> + <td>"Premature end of script headers"<br />(Betik başlıkları + beklenmedik şekilde bitti)</td> + </tr> + + <tr> + <td><code>warn</code> </td> + <td>Uyarı durumları.</td> + <td>"child process 1234 did not exit, sending another + SIGHUP"<br />(1234 alt süreci çıkmadı, başka bir SIGHUP + gönderiliyor)</td> + </tr> + + <tr> + <td><code>notice</code> </td> + <td>Normal fakat önemli durum.</td> + <td>"httpd: caught SIGBUS, attempting to dump core in + ..."<br />(httpd: SIGBUS alındı, core dökümlenmeye çalışılıyor: + ...)</td> + </tr> + + <tr> + <td><code>info</code> </td> + <td>Bilgilendirme.</td> + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."<br />(Sunucu meşgul + görünüyor, (StartServers veya Min/MaxSpareServers değerlerini + arttırmanız gerekebilir)...)</td> + </tr> + + <tr> + <td><code>debug</code> </td> + <td>Hata ayıklama seviyesi iletileri</td> + <td>"Opening config file ..."<br />(... yapılandırma dosyası + açılıyor)</td> + </tr> + <tr> + <td><code>trace1</code> </td> + <td>İz sürme iletileri</td> + <td>"proxy: FTP: control connection complete"<br />(vekil: FTP: + denetim bağlantısı sağlandı)</td> + </tr> + <tr> + <td><code>trace2</code> </td> + <td>İz sürme iletileri</td> + <td>"proxy: CONNECT: sending the CONNECT request to the remote + proxy"<br />(vekil: CONNECT: uzak vekile CONNECT isteği + gönderiliyor)</td> + </tr> + <tr> + <td><code>trace3</code> </td> + <td>İz sürme iletileri</td> + <td>"openssl: Handshake: start"</td> + </tr> + <tr> + <td><code>trace4</code> </td> + <td>İz sürme iletileri</td> + <td>"read from buffered SSL brigade, mode 0, 17 bytes"<br />(tamponlu + SSL gruplamasından okuma, kip 0, 17 baytİz sürme iletileri</td> + </tr> + <tr> + <td><code>trace5</code> </td> + <td>İz sürme iletileri</td> + <td>"map lookup FAILED: map=rewritemap key=keyname"<br />(eşleşme + araması BAŞARISIZ: map=rewritemap key=keyname)</td> + </tr> + <tr> + <td><code>trace6</code> </td> + <td>İz sürme iletileri</td> + <td>"cache lookup FAILED, forcing new map lookup"<br />(arabellek + araması BAŞARISIZ, yeni bir eşleşme araması başlatılıyor)</td> + </tr> + <tr> + <td><code>trace7</code> </td> + <td>İz sürme iletileri, büyük miktarda veri dökümü</td> + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + <tr> + <td><code>trace8</code> </td> + <td>İz sürme iletileri, büyük miktarda veri dökümü</td> + <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td> + </tr> + </table> + + <p>Belli bir seviye belirtildiğinde daha yüksek seviyeden iletiler de + raporlanır. Örneğin, <code>LogLevel info</code> belirtildiğinde + <code>notice</code> ve <code>warn</code> günlük seviyelerinin iletileri + ayrıca raporlanacaktır.</p> + + <p>En az <code>crit</code> seviyesinin kullanılması önerilir.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">LogLevel notice</pre> + + + + <div class="note"><h3>Ek Bilgi</h3> + <p>Günlük iletileri normal bir dosyaya yazılırken <code>notice</code> + seviyesinden iletiler engellenemez ve dolayısıyla daima raporlanırlar. + Ancak, günlük kaydı <code>syslog</code> kullanılarak yapılıyorsa bu + uygulanmaz.</p> + </div> + + <p>Bir modül ismi olmaksızın bir seviye belirtmek seviyeyi bu seviyedeki + tüm modüller için sıfırlayacaktır. Bir seviyyi bir modül ismiyle + birlikte belirtmek seviyeyi sadece bu modül için sıfırlayacaktır. Modül + ismi olarak, modülün kaynak dosyası ismini, modül kimliği veya + <code>_module</code> sonekli modül ismi belirtmek mümkündür. + Yani, aşağıdaki üç belirtim eşdeğerdedir:</p> + + <pre class="prettyprint lang-config">LogLevel info ssl:warn +LogLevel info mod_ssl.c:warn +LogLevel info ssl_module:warn</pre> + + + <p>Ayrıca seviyeyi dizin bağlamında değiştirmek de mümkündür:</p> + + <pre class="prettyprint lang-config">LogLevel info +<Directory "/usr/local/apache/htdocs/app"> + LogLevel debug +</Directory></pre> + + + <div class="note">Dizin bağlamında günük seviyesi yapılandırması sadece istek + çözümlendikten ve istek dizinle ilişkilendirildikten sonra günlüklenen + iletileri etkiler. Bağlantı veya sunucu ile ilişkilendirilmemiş günlük + iletileri etkilenmez.</div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li> +<li><code class="directive"><a href="#errorlogformat">ErrorLogFormat</a></code></li> +<li><a href="../logs.html">Apache HTTP Server Log Files</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir kalıcı bağlantıda izin verilen istek sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxKeepAliveRequests <code>sayı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">MaxKeepAliveRequests</code> yönergesi <code class="directive"><a href="#keepalive">KeepAlive</a></code> etkinken bağlantı başına izin + verilecek istek sayısını sınırlar. Değer olarak <code>0</code> + belirtilirse istek sayısı sınırsız olur. Sunucu başarımını yüksek tutmak + için yüksekçe bir değer belirtmenizi öneririz.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">MaxKeepAliveRequests 500</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a> <a name="maxrangeoverlaps" id="maxrangeoverlaps">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Özkaynağın tamamını döndürmeden önce izin verilen üst üste binen + aralık sayısı (<code>100-200,150-300</code> gibi)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | + <code>aralık-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.15 ve sonraki sürümlerinde + kullanılabilmektedir.</td></tr> +</table> + <p><code class="directive">MaxRangeOverlaps</code> yönergesi, sunucunun istemciye + göndermeye gönüllü olacağı üst üste binen HTTP Range'lerinin sayısını + sınırlar. İzin verilenden daha fazlası istenmişse özkaynağın tamamı + döndürülür.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Üst üste binen HTTP Range'lerinin sayısını derleme sırasında + belirlenen öntanımlı 20 değeriyle sınırlar.</dd> + + <dt><strong>none</strong></dt> + <dd>Üst üste binen Range başlıkları yoksayılır.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>Sunucunun sağlamaya gönüllü olacağı üst üste binen HTTP + Range'lerinin sayısı sınırlanmaz.</dd> + + <dt><code>aralık sayısı</code></dt> + <dd>Sunucunun sağlamaya gönüllü olacağı üst üste binen HTTP + Range'lerinin azami sayısını ifade eden pozitif bir tamsayı.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a> <a name="maxrangereversals" id="maxrangereversals">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Özkaynağın tamamını döndürmeden önce izin verilen ters sıralı + aralık sayısı (<code>100-200,50-70</code> gibi)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxRangeReversals default | unlimited | none | + <code>aralık-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxRangeReversals 20</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.15 ve sonraki sürümlerinde + kullanılabilmektedir.</td></tr> +</table> + <p>The <code class="directive">MaxRangeReversals</code> yönergesi, sunucunun + istemciye göndermeye gönüllü olacağı ter sıralı HTTP Range'lerinin + sayısını sınırlar. İzin verilenden daha fazlası istenmişse + özkaynağın tamamı döndürülür.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>Ters sıralı HTTP Range'lerinin sayısını derleme sırasında + belirlenen öntanımlı 20 değeriyle sınırlar.</dd> + + <dt><strong>none</strong></dt> + <dd>Ters sıralı Range başlıkları yoksayılır.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>Sunucunun sağlamaya gönüllü olacağı ters sıralı HTTP + Range'lerinin sayısı sınırlanmaz.</dd> + + <dt><code>aralık-sayısı</code></dt> + <dd>Sunucunun sağlamaya gönüllü olacağı ters sıralı HTTP + Range'lerinin azami sayısını ifade eden pozitif bir tamsayı.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRanges" id="MaxRanges">MaxRanges</a> <a name="maxranges" id="maxranges">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Özkaynağın tamamını döndürmeden önce izin verilen aralık sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxRanges default | unlimited | none | + <code>aralık-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxRanges 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.15 ve sonraki sürümlerinde + kullanılabilmektedir.</td></tr> +</table> + <p><code class="directive">MaxRanges</code> yönergesi, sunucunun istemciye + göndermeye gönüllü olacağı HTTP Range'lerinin sayısını sınırlar. İzin + verilenden daha fazlası istenmişse özkaynağın tamamı döndürülür.</p> + + <dl> + <dt><strong>default</strong></dt> + <dd>HTTP Range'lerinin sayısını derleme sırasında belirlenen öntanımlı + 200 değeriyle sınırlar.</dd> + + <dt><strong>none</strong></dt> + <dd>Range başlıkları yoksayılır.</dd> + + <dt><strong>unlimited</strong></dt> + <dd>Sunucunun sağlamaya gönüllü olacağı HTTP Range'lerinin sayısı + sınırlanmaz.</dd> + + <dt><code>aralık-sayısı</code></dt> + <dd>Sunucunun sağlamaya gönüllü olacağı HTTP Range'lerinin azami + sayısını ifade eden pozitif bir tamsayı.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeSlashes" id="MergeSlashes">MergeSlashes</a> <a name="mergeslashes" id="mergeslashes">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun URL’lerde ardışık bölü çizgilerini birleştirip birleştirmeyeceğini denetler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MergeSlashes ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MergeSlashes ON</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.39 sürümünde eklendi</td></tr> +</table> + <p>Öntanımlı olarak, sunucu istek adresinin yol bileşenindeki ardışık bölü + çizgilerini ('/') birleştirip tek bölü çizgisi olarak ele alır.</p> + + <p>Bu adresleri dosya sistemi ile eşleştirirken, bu ardışık bölü + çizgilerinin önemi yoktur. Ancak, bu adresler CGI veya vekil gibi başka + yollardan değerlendiriliyorsa bu ardışık bölü çizgilerinin olduğu gibi + kalması tercih edilebilir. Bu durumlarda ardışık bölü çizgilerinin + birleştirilmesini önlemek için, eskiden, <code class="directive">MergeSlashes</code> + yönergesine <em>OFF</em> atanabiliyordu.</p> + + <p><em>OFF</em> atanması durumunda, yapılandırma dosyasında, adresin yol + bileşeni ile eşleşen düzenli ifadelerde + (<code class="directive">LocationMatch</code>, <code class="directive">RewriteRule</code>, + ...) ardışık bölü çizgilerinin hesaba katılması gerekir. Düzenli ifade + içermeyen <code class="directive">Location</code> yönergeleri daima birleştirilmiş + bölü çizgileri içeren bir URL'ye karşı çalışır ve çok sayıdaki bölü + çizgileri arasında bir ayrım yapamaz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a> <a name="mergetrailers" id="mergetrailers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Trailer alanlarının başlığa dahil edilip edilmeyeceğini belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MergeTrailers [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MergeTrailers off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.11 ve sonrası</td></tr> +</table> + <p>Bu yönerge HTTP Trailer alanlarının dahili HTTP başlıklarına kopyalanıp + kopyalanmayacağını belirler. Kopyalama işlemi istek gövdesi tamamen + alındığında gerçekleşir, çoğu başlık işleminin çok sonra istek + başlıklarını inceleme veya değiştirme şansı olur.</p> + <p>Bu seçenek, Trailer alanlarını daima kopyalayan 2.4.11 öncesi + dağıtımlarla uyumluluk için vardır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Mutex" id="Mutex">Mutex</a> <a name="mutex" id="mutex">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Muteks mekanizmasını ve kilit dosyası dizinini tüm muteksler veya belirtilenler için yapılandırır</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Mutex <code>mekanizma</code> [default|<code>muteks-ismi</code>] ... [OmitPID]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Mutex default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.4 ve sonraki sürümlerinde + kullanılabilmektedir.</td></tr> +</table> + <p><code class="directive">Mutex</code> yönergesi httpd ve diğer modüllerin + özkaynaklara erişimi dizgeleştirmekte kullandıkları mekanizmanın yanında + isteğe bağlı olarak kilit dosyasının yerini belirler. İlk değiştirge + olarak <code>default</code> belirtilirse tüm mutekslerin ayarları + değişir; ikinci değiştirge olarak bir muteks ismi belirtilirse (aşağıdaki + tabloya bakın) yalnızca bu muteksin öntanımlıları değişir.</p> + + <p><code class="directive">Mutex</code> yönergesi genelde aşağıdaki istisnai + durumlarda kullanılır:</p> + + <ul> + <li>İşlevsel veya başarımsal bir soruna sahip <a class="glossarylink" href="../glossary.html#apr" title="sözlüğe bakınız">APR</a> + tarafından öntanımlı mekanizma seçildiği takdirde muteks + mekanizmasını değiştirmek için</li> + + <li>Öntanımlı dizin, kilitlemeyi desteklemediği takdirde dosya tabanlı + muteksler tarafından kullanılan dizini değiştirmek için</li> + </ul> + + <div class="note"><h3>Destekleyen modüller</h3> + <p>Bu yönerge sadece <code>ap_mutex_register()</code> API'si kullanılarak + çekirdek sunucuda imlenmiş muteksleri yapılandırır. httpd ile birlikte + dağıtılan tüm modüller <code class="directive">Mutex</code> yönergesini + destekler, fakat üçüncü parti modüllerin hepsi desteklemeyebilir. Bu + yönergenin desteklenip desteklenmediğini öğrenmek için üçüncü parti + modülün belgelerini inceleyin; destekliyorsa muteks ad(lar)ı + belirtilmiştir.</p> + </div> + + <p>Kullanılabilen muteks <em>mekanizmaları</em>:</p> + <ul> + <li><code>default | yes</code> + <p><a class="glossarylink" href="../glossary.html#apr" title="sözlüğe bakınız">APR</a> tarafından saptanan öntanımlı kilitleme + gerçeklenimini seçer. Öntanımlı kilitleme gerçeklenimi + <code class="program"><a href="../programs/httpd.html">httpd</a></code> <code>-V</code> seçeneği ile çalıştırılarak + öğrenilebilir.</p></li> + + <li><code>none | no</code> + <p>Muteksi etkin şekilde iptal eder. Buna bir mutekste izin + verilebilmesi için modülün bunun geçerli bir seçim olduğunu + belirtmesi gerekir. Daha fazla bilgi için modül belgelerini + inceleyin.</p></li> + + <li><code>posixsem</code> + <p>POSIX semaforuna dayalı bir muteks çeşididir.</p> + <div class="warning"><h3>Uyarı</h3> + <p>Süreçteki bir evre muteks parçalama arızalarını tutuyorsa, + httpd'nin çökmesi sonucu, semafor sahipliği geri kazanılmaz.</p> + </div> + </li> + + <li><code>sysvsem</code> + <p>SystemV IPC semaforuna dayalı bir muteks çeşididir.</p> + <div class="warning"><h3>Uyarı</h3> + <p>Semafor geri kazanılmadan süreçler çökerse SysV semaforlarının + "sızıntı" yapması mümkündür.</p> + </div> + <div class="warning"><h3>Güvenlik</h3> + <p>Semafor API'si, HTTP sunucusu ile aynı kullanıcı kimliği altında + çalışan bir CGI (<em>örn</em>, <code class="program"><a href="../programs/suexec.html">suexec</a></code> veya + <code>cgiwrapper</code> gibi bir araç kullanmıyorsanız bütün + CGI'ler) tarafından hizmet reddi saldırısı yapılmasına izin + verir.</p> + </div> + </li> + + <li><code>sem</code> + <p>POSIX ve SystemV IPC semaforları arasından kullanılabilir "en iyi" + semafor gerçeklenimini seçer.</p></li> + + <li><code>pthread</code> + <p>Süreç çaprazlamalı POSIX evre mutekslerine dayalı bir muteks + çeşididir.</p> + <div class="warning"><h3>Uyarı</h3> + <p>Çoğu sistemde, bir çocuk süreç bu gerçeklenim tarafından kullanılan + bir muteksi tutarken olağandışı bir şekilde sonlanırsa httpd donar + ve isteklere yanıt vermeyi durdurur. Bu olduğunda sunucuyu bu + durumdan kurtarmak için elle yeniden başlatmak gerekir.</p> + <p>Bu duruma karşı bir mekanizma sağlayan Solaris ve Linux dikkate + değer bir istisnadır. Bu mekanizma, bir muteksi tutan bir çocuk + süreç olağandışı bir şekilde sonlandıktan sonra muteksin + kurtarılmasını sağlar.</p> + <p>Sisteminiz POSIX uyumluysa veya + <code>pthread_mutexattr_setrobust_np()</code> işlevini + sağlıyorsa <code>pthread</code> seçeneğini rahatça + kullanabilirsiniz.</p> + </div> + </li> + + <li><code>fcntl:/path/to/mutex</code> + <p>Muteks olarak <code>fcntl()</code> işlevini ve fiziksel bir (lock-) + dosyasını kullanan bir muteks çeşididir.</p> + <div class="warning"><h3>Uyarı</h3> + <p>Bu mekanizmaya dayalı çok sayıda muteks, çok evreli ve çok süreçli + ortamlarda kullanıldığında, örneğin Solaris'te olduğu gibi + <code>fcntl()</code> evrelerden bihaberse, geçerli muteks + işlemlerinde donma hataları (EDEADLK) raporlanabilir.</p> + </div> + </li> + + <li><code>flock:/path/to/mutex</code> + <p><code>flock()</code> işlevinin dosya kilitlemeyi sağlaması dışında + <code>fcntl:/path/to/mutex</code> yöntemine benzer.</p></li> + + <li><code>file:/path/to/mutex</code> + <p><code>fcntl</code> ve <code>flock</code> arasından kullanılabilir + "en iyi" dosya kilitleme gerçeklenimini seçer.</p></li> + </ul> + + <p>Çoğu mekanizma, yalnız kendilerini destekleyen platformlarda + <a class="glossarylink" href="../glossary.html#apr" title="sözlüğe bakınız">APR</a> tarafından da destekleniyorsa kullanılabilir. + Tüm platformlarda kullanılamayan mekanizmalar <em>posixsem</em>, + <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>, + <em>flock</em> ve <em>file</em> mekanizmalarıdır.</p> + + <p><em>fcntl</em> ve <em>flock</em> dosya tabanlı mekanizmaları ile bir + yol sağlandığı takdirde bu, kilit dosyasının oluşturulacağı dizindir. + Öntanımlı dizin, httpd'nin çalışma anı dizini <code class="directive"><a href="#serverroot">ServerRoot</a></code>'a görelidir. + <code>/path/to/mutex</code> için daima bir yerel diskteki dosya sistemi + kullanılır, asla NFS- veya AFS gibi bir ağ dosya sistemi kullanılmaz. + Dosya ismi daima muteks ismi ile başlar, buna modül tarafından sağlanan + isteğe bağlı bir aşama dizgesi eklenebilir, <code>OmitPID</code> değeri + belirtilmemişse httpd ebeveyn sürecinin süreç kimliği buna eklenerek + dosya ismi eşsiz kılınır. Böylece, çok sayıda httpd süreci aynı kilit + dosyası dizinini paylaştığı durumda çakışmalar önlenmiş olur. Örneğin, + muteks ismi <code>mpm-accept</code> ise ve kilit dosyası dizini + <code>/var/httpd/locks</code> ise ve ebeveyn süreç kimliği 12345 ise bu + httpd sürecine ait kilit dosyası ismi + <code>/var/httpd/locks/mpm-accept.12345</code> olurdu.</p> + + <div class="warning"><h3>Güvenlik</h3> + <p>Muteks dosyalarını herkesin yazabildiği <code>/var/tmp</code> gibi + dizinlere koymaktan <em>kaçınmak</em> en iyisidir. Örneğin, birinin aynı + dizinde oluşturmaya çalıştığı bir dosya ile aynı isimde bir kilit + dosyasını sunucunun da oluşturmaya çalıştığı durumda sunucu engellenerek + bir hizmet reddi saldırısı gerçekleştirilmiş gibi olur.</p> + </div> + + <p>httpd ve birlikte dağıtılan modüller tarafından kullanılan mutekslerin + isimleri:</p> + + <table class="bordered"><tr class="header"> + <th>Muteks ismi</th> + <th>Modül(ler)</th> + <th>Korunan özkaynak</th> + </tr> +<tr> + <td><code>mpm-accept</code></td> + <td><code class="module"><a href="../mod/prefork.html">prefork</a></code> ve <code class="module"><a href="../mod/worker.html">worker</a></code> MPM'leri + </td> + <td>Gürleyen sürü sorunundan kaçınmak için gelen bağlantılar; daha + fazla bilgi için <a href="../misc/perf-tuning.html">başarımın + arttırılması</a> belgesine bakın.</td> + </tr> +<tr class="odd"> + <td><code>authdigest-client</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>Paylaşımlı bellekteki istemci listesi</td> + </tr> +<tr> + <td><code>authdigest-opaque</code></td> + <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td> + <td>Paylaşımlı bellekteki sayaç</td> + </tr> +<tr class="odd"> + <td><code>ldap-cache</code></td> + <td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td> + <td>LDAP sonuç arabelleği</td> + </tr> +<tr> + <td><code>rewrite-map</code></td> + <td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td> + <td>Çoklu isteklerdeki birbirine karışmış G/Ç'tan kaçınmak için + harici eşleştirme progamlarıyla iletişim</td> + </tr> +<tr class="odd"> + <td><code>ssl-cache</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>SSL oturum arabelleği</td> + </tr> +<tr> + <td><code>ssl-stapling</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td> + <td>OCSP zımbalama yanıtı arabelleği</td> + </tr> +<tr class="odd"> + <td><code>watchdog-callback</code></td> + <td><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code></td> + <td>Bir istemci modülünün geri çağırım işlevi</td> + </tr> +</table> + + <p><code>OmitPID</code> seçeneği, httpd ebeveyn süreç kimliğinin kilit + dosyası ismine eklenmesini engeller.</p> + + <p>Aşağıdaki örnekte, <code>mpm-accept</code> muteksinin mekanizmasının + derleme sırasındaki öntanımlısı, kilit dosyasının oluşturulacağı dizinin + <code>/var/httpd/locks</code> olarak belirtildiği <code>fcntl</code> + mekanizmasıyla değiştirilmektedir.Tüm diğer mutekslerin derleme anı + öntanımlı mekanizması ise <code>sysvsem</code> ile + değiştirilmektedir.</p> + + <pre class="prettyprint lang-config">Mutex sysvsem default +Mutex fcntl:/var/httpd/locks mpm-accept</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>ÖNERİLMİYOR: İsme dayalı sanal konaklar için IP adresi belirtir</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>NameVirtualHost <code>adres</code>[:<code>port</code>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>2.3.11 öncesinde, <code class="directive">NameVirtualHost</code> yönergesi, + isme dayalı sanal konaklar için belli bir IP adresi ve port çiftini + sunucuya tanıtmak için gerekliydi. 2.3.11 ve sonrasında, bir IP adresi + ve port çifti her zaman çok sayıda sanal konakta kullanılabilmekte, + isme dayalı sanal barındırma bu adres için özdevinimli olarak etkin + kılınmaktadır.</p> + + <p>Bu yönerge şu an etkisizdir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belli bir dizinde geçerli olacak özellikleri yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Options + [+|-]<code>seçenek</code> [[+|-]<code>seçenek</code>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Options FollowSymlinks</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.3.11 sürümünde öntanımlı değer All değiştirilip FollowSymlinks yapıldı.</td></tr> +</table> + <p><code class="directive">Options</code> yönergesi belli bir dizinde hangi + sunucu özelliklerinin etkin olacağını (veya olmayacağını) + belirler.</p> + + <p><code>seçenek</code> olarak hiçbir ek özellik etkin olmayacaksa + <code>None</code>, aksi takdirde aşağıdakilerden biri veya bir kaçı + belirtilir:</p> + + <dl> + <dt><code>All</code></dt> + <dd><code>MultiViews</code> hariç tüm seçenekler.</dd> + + <dt><code>ExecCGI</code></dt> + <dd><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> kullanan CGI betiklerinin çalışmasına izin + verilir.</dd> + + <dt><code>FollowSymLinks</code></dt> + <dd>Sunucu bu dizindeki sembolik bağları izler. Bu öntanımlıdır. + <div class="note"> + <p>Sembolik bağlar izlense bile <code class="directive"><a href="#directory"><Directory></a></code> bölümleriyle eşleşen dosya + yolları değiştirilmez.</p> + <p><code>FollowSymLinks</code> ve + <code>SymLinksIfOwnerMatch</code> <code class="directive"><a href="#options">Options</a></code> sadece <code class="directive"><a href="#directory"><Directory></a></code> bölümlerinde veya + <code>.htaccess</code> dosyaları içinde çalışır.</p> + <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu + olduğundan bu seçeneğin yokluğu bir güvenlik sınırlaması olarak + değerlendirilmemelidir.</p> + </div></dd> + + <dt><code>Includes</code></dt> + <dd><code class="module"><a href="../mod/mod_include.html">mod_include</a></code> tarafından sağlanan sunucu taraflı + içeriklere izin verilir.</dd> + + <dt><code>IncludesNOEXEC</code></dt> + <dd>Sunucu taraflı içeriklere izin verilir fakat <code>#exec cmd</code> + ve <code>#exec cgi</code> iptal edilir. Ancak, <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>’lı dizinlerdeki CGI + betikleri için <code>#include virtual</code> hala mümkün olacaktır.</dd> + + <dt><code>Indexes</code></dt> + <dd>İstenen URL bir dizin ile eşleşiyorsa ve bu dizin için bir <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<code>index.html</code> + gibi) belirtilmemişse <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> bu dizinin + biçimlenmiş bir listesini döndürecektir.</dd> + + <dt><code>MultiViews</code></dt> + <dd><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> kullanılarak <a href="../content-negotiation.html">içerik uzlaştırmalı</a> çok + görünümlü içeriğe izin verilir. + <div class="note"><h3>Bilgi</h3> <p><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> + karşılaştırmak değerlendirmek için gerçek özkaynaklara ihtiyaç + duyduğundan <code class="directive"><a href="#directory"><Directory></a></code> yönergesinde belirtilendan farklı bir yer + ayarlanırsa bu seçenek yoksayılır.</p></div> + </dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + <dd>Sunucu sembolik bağları sadece sembolik bağın hedefi ile bulunduğu + dizinin sahibinin aynı kullanıcı olması halinde izleyecektir. + + <p><code>FollowSymLinks</code> ve + <code>SymLinksIfOwnerMatch</code> <code class="directive"><a href="#options">Options</a></code> sadece <code class="directive"><a href="#directory"><Directory></a></code> bölümlerinde veya + <code>.htaccess</code> dosyaları içinde çalışır.</p> + + <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu + olduğundan bu seçenek bir güvenlik sınırlaması olarak + değerlendirilmemelidir.</p> + </dd> + </dl> + + <p>Normalde, bir dizine çok sayıda <code class="directive">Options</code> + uygulanabilirse de, dizine en uygun olanı uygulanıp diğerleri yok + sayılır; seçenekler katıştırılmaz (bkz, <a href="../sections.html#merging">Bölümler Nasıl Katıştırılır?</a>). Bununla birlikte, önüne bir + <code>+</code> veya <code>-</code> simgesi konmuş seçenekler varsa, o + seçenekler katıştırılır. Önüne <code>+</code> konmuş seçenekler + mevcutlara eklenirken <code>-</code> konmuş seçenekler silinir.</p> + + <div class="note"><h3>Bilgi</h3> + <p><code>+</code> veya <code>-</code> imli seçenekler içeren + <code class="directive">Options</code> ile imsiz seçenekler içerenlerin karışık + olarak kullanılması aslında geçersiz bir sözdizimi olup sunucunun + başlatılması sırasında sözdizimi denetiminin çıkmasıyla reddedilir.</p> + </div> + + <p>Örneğin, <code>+</code> ve <code>-</code> imleri olmaksızın,</p> + + <pre class="prettyprint lang-config"><Directory "/web/docs"> + Options Indexes FollowSymLinks +</Directory> + +<Directory "/web/docs/spec"> + Options Includes +</Directory></pre> + + + <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde sadece + <code>Includes</code> seçeneği etkin olacaktır. Bununla birlikte, ikinci + <code class="directive">Options</code> yönergesinde <code>+</code> ve + <code>-</code> imleri kullanılırsa,</p> + + <pre class="prettyprint lang-config"><Directory "/web/docs"> + Options Indexes FollowSymLinks +</Directory> + +<Directory "/web/docs/spec"> + Options +Includes -Indexes +</Directory></pre> + + + <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde + <code>FollowSymLinks</code> ve <code>Includes</code> seçenekleri etkin + olacaktır.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p><code>-IncludesNOEXEC</code> veya <code>-Includes</code> kullanımı, + önceki ayarların ne olduğuna bakılmaksızın sunucu taraflı içeriğin + tamamen iptaline sebep olur.</p> + </div> + + <p>Herhangi bir başka değer belirtilmedikçe <code>FollowSymlinks</code> + öntanımlıdır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dinlenen bir soket için protokol</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Protocol <code>protokol</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache httpd 2.1.5 ve sonrasında kullanılabilmektedir. + Windows'ta ise Apache httpd 2.3.3 ve sonrasında + kullanılabilmektedir. +</td></tr> +</table> + <p>Bu yönerge dinlenen belli bir soket için kullanılacak protokolü + belirler. Belirtilen protokol bir isteği hangi modülün ele alacağını ve + <code class="directive">AcceptFilter</code> yönergesiyle yapılan özel + eniyilemelere uygulanacak protokolü belirler.</p> + + <p>Bu yönerge çoğu yapılandırma için gerekli değildir. Belirtilmezse, + port 443 için <code>https</code> öntanımlıdır ve diğer tüm portlar + için <code>http</code> ntanımlıdır. Protokol, hangi modülün bir isteği + işleyeceğini belirlemek ve <code class="directive"><a href="#acceptfilter">AcceptFilter</a></code> yönergesi ile protokole özgü + eniyilemeleri uygulamak için kullanılır.</p> + + <p>Örneğin, <code>https</code>'i standartdışı bir portta çalıştırmak + isterseniz protokolü şöyle belirtebilirsiniz:</p> + + <pre class="prettyprint lang-config">Protocol https</pre> + + + <p>Protokolü <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> + yönergesini kullanarak da belirtebilirsiniz.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive">AcceptFilter</code></li> +<li><code class="directive"><a href="#acceptfilter">AcceptFilter</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocols" id="Protocols">Protocols</a> <a name="protocols" id="protocols">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucu/sanal konak için kullanılabilecek protokoller</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Protocols <code>protokol</code> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Protocols http/1.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Sadece Apache 2.4.17 ve sonrasında kullanılabilir.</td></tr> +</table> + <p>Bu yönerge bir sunucu/sanal konak için kullanılabilecek + protokolleri belirtmekte kullanılır. Bu liste, bir istemcinin bir + sanal konak veya sunucu ile uzlaşabilmesini sağlayan prokolleri + belirler.</p> + + <p>Bir sanal konak veya sunucuda kullanılabilecek protolleri + çeşitlendirmek isterseniz bu protokolleri belirtmeniz gerekir. + 1.0 ve 0.9 istemcilerle uyumlu olan http/1.1 protokolü + öntanımlıdır.</p> + + <p>Örneğin, bir sunucunun TLS'li HTTP/2 protokolünü desteklemesini + şöyle sağlayabilirsiniz:</p> + + <pre class="prettyprint lang-config">Protocols h2 http/1.1</pre> + + + <p>Geçerli protokoller, http ve https bağlantıları için + <code>http/1.1</code> htps bağlantıları için <code>h2</code> ve + http bağlantıları için <code>h2c</code> protokolleridir. Modüller + başka protokollerin de etkinleştirilmesini gerektirebilir.</p> + + <p>Kullanımından vazgeçilmiş protokollerin silinmesi gerekmez. Böyle + protokol isimleri basitçe yoksayılır.</p> + + <p>Ana sunucu için belirtilen protokoller, kendi protokol yönergesi + olmayan sanal konaklar için de geçerlidir. Diğer yandan sanal + konaklarda protokol belirtilmesi ana sunucuda belirtien + protollerin bu sanal konaklarda geçersiz olmasına sebep olur. + </p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#protocolshonororder">ProtocolsHonorOrder</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a> <a name="protocolshonororder" id="protocolshonororder">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Uzlaşma sırasında protokollerin öncelik sırasını belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Sadece Apache 2.4.17 ve sonrasında kullanılabilir.</td></tr> +</table> + <p>Sunucuda <code class="directive">Protocols</code> yönergesinde listelemiş + protokollerin mi yoksa istemcinin protokol listesinin mi öncelikli + olacağı bu yönerge ile belirtilir.</p> + + <p>Off belirtilirse, istemcinin protokol listesi sunucu + yapılandırmasındaki sıralamanın önüne geçer.</p> + + <p><code class="directive">ProtocolsHonorOrder</code> yönergesine <code>on</code> + belirtilirse (öntanımlıdır), istemicinin protokol sıralaması dikkate + alınmaz ve protokol uzlaşımının sonucunu sunucu ayarlarındaki + sıralama belirler.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#protocols">Protocols</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a> <a name="qualifyredirecturl" id="qualifyredirecturl">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>REDIRECT_URL ortam değişkeninin tamamen nitelenmiş olup +olmayacağını denetler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>QualifyRedirectURL On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>QualifyRedirectURL Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Yönerge 2.4.18 ve sonrasında desteklenmektedir. 2.4.17 +sürümünde 'QualifyRedirectURL On' yapılandırması mevcutmuş gibi +davranılır.</td></tr> +</table> + <p>Bu yönerge sunucuya REDIRECT_URL ortam değişkenin tamamen nitelenmiş + olacağını temin eder. Değişken öntanımlı olarak istemci tarafından talep + edilen URL'yi harfi harfine içerir, "/index.html" gibi. + <code class="directive"><a href="#qualifyredirecturl on">QualifyRedirectURL On</a></code> belirtilseydi + aynı istek "http://www.example.com/index.html" gibi bir değerle + sonuçlanırdı.</p> + + <p>Böyle belirtilmemiş olsa bile, istek tam nitelenmiş bir URL + içerseydi REDIRECT_URL de tam nitelenmiş URL'yi içerirdi. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadBufferSize" id="ReadBufferSize">ReadBufferSize</a> <a name="readbuffersize" id="readbuffersize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Veriyi okumakta kullanılacak tampon sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ReadBufferSize <code>bayt-sayısı</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ReadBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.27 ve sonrası</td></tr> +</table> + <p>Bu yönerge, ağdan veya dosyalardan veri okumak için kullanılan bellek + tamponunun boyutunu (bayt cinsinden) yapılandırmaya izin verir.</p> + + <p>Daha büyük bir arabellek, daha büyük verilerle başarımı artırabilir, + ancak bağlantı başına tüketilen bellek artar. Yapılandırılabilir en küçük + boyut <code>1024</code>'tür.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegexDefaultOptions" id="RegexDefaultOptions">RegexDefaultOptions</a> <a name="regexdefaultoptions" id="regexdefaultoptions">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Regex düzenli ifadeleri için öntanımlı/küresel seçenekleri yapılandırır</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RegexDefaultOptions [none] [+|-]<code>seçenek</code> [[+|-]<code>seçenek</code>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>RegexDefaultOptions DOTALL DOLLAR_ENDONLY</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Sadece Apache 2.4.30 ve sonrasında kullanılabilmektedir.</td></tr> +</table> + <p>Bu yönerge kendisinden sonra kullanılan bütün düzenli ifsdelerin + davranışını etkiler.</p> + + <p>'+' ile öncelenmiş bütün seçenekler önceden atanmış seçeneklere + eklenir.<br /> + '-' ile öncelenmiş bütün seçenekler önceden atanmış seçeneklerden + çıkarılır.<br /> + '+' veya '-' ile öncelenmemiş her seçenek önceden atanmış seçenekleri + silerek onların yerini alır.<br /> + <code>none</code> ile önceden atanmış tüm seçenekler sıfırlanır.</p> + + <p><code>seçenek</code> şunlardan biri olabilir:</p> + <dl> + <dt><code>ICASE</code></dt> + <dd>Harf büyüklüğüne duyarlı eşleşmeler kullanılır.</dd> + + <dt><code>EXTENDED</code></dt> + <dd>Perl'ün /x seçeneği; kalıp içindeki açıklamaları ve + (öncelenmemiş) boşlukları yoksayar.</dd> + + <dt><code>DOTALL</code></dt> + <dd>Perl'ün /s seçeneği; '.' karakteri, satırsonu karakteri ile + eşleşir.</dd> + + <dt><code>DOLLAR_ENDONLY</code></dt> + <dd>'$' dizgenin sonu ile eşleşir.</dd> + </dl> + <pre class="prettyprint lang-config"># Tüm düzenli ifadeler için öntanımlı olarak ICASE seçeneğini ekler: +RegexDefaultOptions +ICASE +... +# Öntanımlı DOLLAR_ENDONLY seçeneği silinir, diğer seçenekler tutulur: +RegexDefaultOptions -DOLLAR_ENDONLY +... +# Atanmış seçenekler silinir, DOTALL öntanımlı seçenek yapılır: +RegexDefaultOptions DOTALL +... +# Tüm seçenekler silinir, öntanımlı seçenek kalmaz. +RegexDefaultOptions none +...</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a> <a name="registerhttpmethod" id="registerhttpmethod">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Standart olmayan HTTP yöntemlerini devreye alır</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RegisterHttpMethod <code>yöntem</code> [<code>yöntem</code> [...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.4.24 ve sonraki sürümlerinde kullanılabilmektedir.</td></tr> +</table> + <p>Bu yönerge sunucunun standatta bulunmayan ek HTTP yöntemlerini + kullanabilmesini sağlar. Yönergelerde standartta olmayan yöntem isimleri + kullanmak gerektiğinde veya sunucunun modüllere sadece standart yöntemleri + aktaracak şekilde yapılandırıldığı durumlarda bazı standart-dışı + yöntemleri vekil veya CGI betikleriyle aktarmayı mümkün kılmak için bu + gereklidir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#httpprotocoloptions">HTTPProtocolOptions</a></code></li> +<li><code class="directive"><a href="../mod/mod_allowmethods.html#allowmethods">AllowMethods</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + işlemci tüketimine sınırlama getirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RLimitCPU <code>saniye</code>|max [<code>saniye</code>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak + sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de + birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında + izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code> + olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun + <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması + gerekir.</p> + + <p>Bu sınırlar Apache httpd’nin kendi alt süreçlerine değil, isteklere + yanıt verirken Apache httpd alt süreçlerinin çatalladıkları süreçlere + uygulanır. Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir + fakat borulu günlük kaydı gibi ana Apache httpd süreci tarafından + çatallanmış süreçler olmazlar.</p> + + <p>İşlemci özkaynak sınırları saniye cinsinden ifade edilir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + bellek tüketimine sınırlama getirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RLimitMEM <code>bayt-sayısı</code>|max [<code>bayt-sayısı</code>|max] +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak + sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de + birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında + izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code> + olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun + <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması + gerekir.</p> + + <p>Bu sınırlar Apache httpd’nin kendi alt süreçlerine değil, isteklere + yanıt verirken Apache httpd alt süreçlerinin çatalladıkları süreçlere + uygulanır. Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir + fakat borulu günlük kaydı gibi ana Apache httpd süreci tarafından + çatallanmış süreçler olmazlar.</p> + + <p>Bellek özkaynak sınırları süreç başına bayt sayısı olarak ifade edilir. + </p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Apache httpd alt süreçleri tarafından çalıştırılabilecek süreç + sayısına sınırlama getirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RLimitNPROC <code>sayı</code>|max [<code>sayı</code>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak + sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de + birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında + izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code> + olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun + <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması + gerekir.</p> + + <p>Bu sınırlar Apache httpd’nin kendi alt süreçlerine değil, isteklere + yanıt verirken Apache httpd alt süreçlerinin çatalladıkları süreçlere + uygulanır. Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir + fakat borulu günlük kaydı gibi ana Apache httpd süreci tarafından + çatallanmış süreçler olmazlar.</p> + + <p>Süreç sayısı sınırı kullanıcı başına süreç sayısına sınırlama getirir. + </p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>CGI süreçleri sunucu kullanıcı kimliğinden farklı bir kullanıcı + kimliği altında çalışmıyorsa bu yönerge sunucunun kendi oluşturduğu + süreç sayısını sınırlayacaktır. Bunun kanıtı <code>error_log</code>’da + iletilerin çatallanamamasıdır.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>CGI betikleri için yorumlayıcı belirleme tekniği</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Sadece Win32 için.</td></tr> +</table> + <p>Bu yönerge Apache httpd’nin CGI betiklerini çalıştıracak yorumlayıcıyı + nasıl tespit edeceğini belirler. <code>Script</code> öntanımlı olup + Apache httpd’nin yorumlayıcı olarak betiğin diyezli ünlem satırında + (<code>#!</code> ile başlayan ilk satır) belirtilen yorumlayıcıyı + kullanacağını belirtir. Win32 sistemlerinde bu satır genellikle + şöyledir:</p> + + <pre class="prettyprint lang-perl">#!C:/Perl/bin/perl.exe</pre> + + + <p><code>perl</code> yorumlayıcının yeri <code>PATH</code> değişkeninde + kayıtlı ise şöyle de olabilir:</p> + + <pre class="prettyprint lang-perl">#!perl</pre> + + + <p><code>ScriptInterpreterSource Registry</code> değeri ise betik dosyası + uzantısının (<code>.pl</code> gibi) Windows Sicili içindeki + <code>HKEY_CLASSES_ROOT</code> ağacında arama yapmak için bir arama + anahtarı olarak kullanılmasını sağlar. Betik dosyasını çalıştırmak için + tanımlanmış komutu bulmak için <code>Shell\ExecCGI\Command</code> yoluna, + orada yoksa <code>Shell\Open\Command</code> yoluna bakılır. İkisi de + yoksa son çare olarak <code>Script</code> seçeneğinin davranışına + dönülür.</p> + + <div class="warning"><h3>Güvenlik</h3> + <p><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>’lı dizinlerde + Apache httpd bulduğu <strong>her</strong> dosyayı çalıştırmayı deneyeceğinden + <code>ScriptInterpreterSource Registry</code> yapılandırmasını + kullanırken dikkatli olun. <code>Registry</code> seçeneği genellikle + çalıştırılmayacak dosyalar için istenmeyen program çağrılarına sebep + olabilir. Örneğin, çoğu Windows sisteminde <code>.htm</code> dosyaları + için ön tanımlı "open" komutu Microsoft Internet Explorer’ın + çalıştırılmasına sebep olur; bu bakımdan, betik dizininde bulunan bir + <code>.htm</code> dosyası için yapılan bir HTTP isteği tarayıcının sunucu + artalanında çalıştırılmasına sebep olacaktır. Bu, sistemi bir kaç dakika + içinde çökertmek için iyi bir yoldur.</p> + </div> + + <p><code>Registry-Strict</code> seçeneği <code>Registry</code> + seçeneğinin yaptığını + <code>Shell\ExecCGI\Command</code> yolu için yapar. <code>ExecCGI</code> + sistem tarafından bilinen bir anahtar olmadığından Windows Siciline elle + kaydedilmesi gerekir ve dolayısıyla sisteminiz üzerinde istenmeyen + program çağrılarına sebep olmaz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a> <a name="seerequesttail" id="seerequesttail">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İsteğin 63 karakterden büyük olduğu varsayımıyla, mod_status'un + ilk 63 karakteri mi yoksa son 63 karakteri mi göstereceğini + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SeeRequestTail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>SeeRequestTail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache httpd 2.2.7 ve sonrasında kullanılabilmektedir. +</td></tr> +</table> + <p><code class="module"><a href="../mod/mod_status.html">mod_status</a></code> modülü <code>ExtendedStatus On</code> + ile işleme alınan asıl isteği gösterir. Tarihsel amaçlarla, isteğin + sadece 63 karakteri gösterme amacıyla saklanır. Bu yönerge ilk 63 + karakterin mi (önceki davranış ve öntanımlı durum) yoksa son 63 + karakterin mi saklanacağını belirler. Bu, şüphesiz, isteğin uzunluğu 64 + karakter veya daha fazlaysa uygulanabilirdir.</p> + + <p>Apache httpd'ye gelen istek <code>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</code> + ise <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> şunu gösterir:</p> + + <table class="bordered"> + <tr> + <th>Off (öntanımlı)</th> + <td>GET /disk1/storage/apache/htdocs/images/imagestore1/food/apples</td> + </tr> + <tr> + <th>On</th> + <td>orage/apache/htdocs/images/imagestore1/food/apples.jpg HTTP/1.1</td> + </tr> + </table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun hata iletilerinde istemciye göstereceği eposta adresi +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerAdmin <code>eposta-adresi</code>|<code>URL</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerAdmin</code> yönergesi, sunucunun bir hata + durumunda istemciye döndüreceği hata iletilerinde içereceği iletişim + adresini belirtmek için kullanılır. Eğer <code class="program"><a href="../programs/httpd.html">httpd</a></code> + sağlanan değerin bir URL olmadığını saptarsa değerin bir eposta adresi + olduğuna hükmeder ve önüne <code>mailto:</code> getirerek onu bir hiper + bağ hedefi olarak kullanır. Çoğu CGI betiği bir eposta adresi + belirtildiği kabulünü yaptığından değer olarak bir URL değil bir eposta + adresi belirtmeniz önerilir. Eğer bir URL belirtecekseniz hedef sizin + denetiminizde olan başka bir sunucuda bulunmalıdır, yoksa kullanıcılar + hata durumunda bu adrese erişemeyebilirler.</p> + + <p>Kullanıcıların sunucu hakkında konuşurken isminizden bahsetmemeleri için + burada belirtilecek adresin sırf bu işe adanmış bir adres olması daha + iyidir. Örnek:</p> + + <pre class="prettyprint lang-config">ServerAdmin www-admin@foo.example.com</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstekleri isme dayalı sanal konaklarla eşleştirilirken +kullanılacak konak adları için başka isimler belirtebilmeyi sağlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerAlias <code>konakadı</code> [<code>konakadı</code>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerAlias</code> yönergesi, istekleri <a href="../vhosts/name-based.html">isme dayalı sanal konaklarla</a> + eşleştirilirken kullanılacak konak adları için başka isimler + belirtebilmeyi sağlar. <code class="directive">ServerAlias</code> dosya adı kalıp + karakterleri içerebilir.</p> + + <pre class="prettyprint lang-config"><VirtualHost *:80> + ServerName server.example.com + ServerAlias server server2.example.com server2 + ServerAlias *.example.com + UseCanonicalName Off + # ... +</VirtualHost></pre> + + + <p>İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar + yapılandırmada göründükleri sıraya göre işleme sokulur. Joker + kullanımları arasında fark gözetilmeksizin <code class="directive"><a href="#servername">ServerName</a></code> veya <code class="directive"><a href="#serveralias">ServerAlias</a></code> yönergesi eşleşen ilk sanal konak + kullanılır.</p> + + <p><code class="directive"><a href="#virtualhost"><VirtualHost></a></code> + bölümü içindeki isimlerin sırası (jokersiz) + <code class="directive">ServerAlias</code> yönergesindeki gibi ele + alınır.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/">Apache HTTP Sunucusu Sanal Konak Belgeleri</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun özdeşleşeceği konak ismi ve port.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerName [<code>şema</code>://]<code>alan-adı</code>|<code>ip-adresi</code>[:<code>port</code>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerName</code> yönergesi, sunucunun kendini + betimlemekte kullanacağı şema, konak adı ve port değerlerini belirler. + </p> + + <p><a href="../vhosts/name-based.html">isme dayalı sanal + konaklar</a> kullanılırken bir sanal konağı eşsiz bir şekilde betimlemek + için <code class="directive">ServerName</code> kullanılır (muhtemelen + <code class="directive"><a href="#serveralias">ServerAlias</a></code> ile birlikte).</p> + + <p>Ek olarak, <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> + yönergesine öntanımlı olmayan bir değer atanarak özüne yönlendiren + URL'ler oluştururken de bu yönerge kullanılır.</p> + + <p>Örneğin, HTTP + sunucusunun barındırıldığı makinenin ismi <code>mail.example.com</code> + olduğu halde makinenin bir de <code>www.example.com</code> diye bir de + DNS rumuzu varsa ve HTTP sunucunuzun bu rumuzla kendini + özdeşleştirmesini isterseniz bunu şöyle belirtebilirsiniz:</p> + + <pre class="prettyprint lang-config">ServerName www.example.com</pre> + + + <p><code class="directive">ServerName</code> yönergesi sunucu tanımının içinde + herhangi bir yerde görünebilirse de her göründüğü yerde bir öncekini + iptal eder.</p> + + <p>Bir <code class="directive">ServerName</code> ataması yapılmamışsa sunucu + istemciye görünen sunucu ismini anlamak için önce işletim sistemine + sistemin konak adını sorar. Bu başarılı olmazsa sistem üzerinde IP + adresine bir ters DNS sorgusu yapar.</p> + + <p><code class="directive">ServerName</code> yönergesinde bir port belirtilmediği + takdirde sunucu, isteğin geldiği portu kullanacaktır. Öngörülebilirlik ve + güvenilirlik açısından en iyisi <code class="directive">ServerName</code> + yönergesini kullanarak açıkça bir konak ismi ve port belirtmektir.</p> + + <p><a href="../vhosts/name-based.html">İsme dayalı sanal konaklar</a> + kullanıyorsanız, <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> bölümü içindeki + <code class="directive">ServerName</code> yönergesi, isteğin <code>Host:</code> + başlığında bu sanal konakla eşleşecek konak ismini belirler.</p> + + + <p>Bazen sunucu, bir ters vekil, yük dengeleyici veya SSL yük aktarım + uygulaması gibi bir aygıtın arkasında çalışır. Böyle durumlarda sunucunun + kendine yönelik URL’leri doğru üretebildiğinden emin olmak için + <code class="directive">ServerName</code> yönergesinde istemcinin bağlanacağı + <code>https://</code> şeması ve port numarası belirtilir.</p> + + <p>Sunucunun kendine yönelik URL’lerin belirtilen portu içerip içermediğini + veya istemcinin yaptığı istekte belirtilen port numarasının verilip + verilmediğinin saptamasını sağlayan (örneğin, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + modülü tarafından) ayarlar için <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> ve + <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> + yönergelerinin açıklamalarına bakınız.</p> + + <div class="warning"> + <p><code class="directive">ServerName</code> yönergesine isim atamadaki bir + başarısızlık, sunucu başlatılırken isim bir IP adresine + çözümlenebileceğinden bir uyarı çıktılanmasına sebep olur. + <code>httpd</code> böyle bir durumda sistemin <code>hostname</code> + komutunu kullanarak saptadığı konak ismini kullanacaktır. Bu konak ismi + hemen hemen daima sizin istediğiniz isim olmayacaktır.</p> + <div class="example"><p><code> + httpd: Could not reliably determine the server's fully qualified domain name, using belgeler.yerel for ServerName + </code></p></div> + <p>Çevirisi: Sunucunun tamamen nitelenmiş alan adı gerektiği gibi + saptanamadı, ServerName için belgeler.yerel kullanılıyor</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../dns-caveats.html">DNS ile ilgili konular ve Apache HTTP + Sunucusu</a></li> +<li><a href="../vhosts/">Apache HTTP Sunucusu Sanal Konak Belgeleri</a> +</li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Uyumsuz bir tarayıcı tarafından erişilmesi için bir isme dayalı sanal konak için meşru URL yolu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerPath <code>URL-yolu</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerPath</code> yönergesi <a href="../vhosts/">isme + dayalı sanal konaklar</a>da kullanmak için konağa meşru bir URL yolu + belirler.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../vhosts/">Apache HTTP Sunucusu Sanal Konak Belgeleri</a> +</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucu yapılandırması için kök dizin</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerRoot <code>dizin-yolu</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerRoot</code> yönergesi sunucu yapılandırmasını + içeren dizinin yerini belirtir. Genellikle <code>conf/</code> ve + <code>logs/</code> gibi alt dizinler içerir. <code class="directive"><a href="#include">Include</a></code>, <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> gibi diğer yapılandırma + yönergelerindeki göreli yollar bu dizine göre ele alınır.</p> + + <pre class="prettyprint lang-config">ServerRoot "/home/httpd"</pre> + + + <p><code class="directive">ServerRoot</code> için öntanımlı yer <a href="../programs/configure.html"><code>configure</code></a> betiğinin + <code>--prefix</code> seçeneği ile değiştirilebilir ve sunucunun çoğu + üçüncü parti dağıtıcısı öntanımlı yeri yukardakilerden farklı bir yere + ayarlar.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../invoking.html"><code>httpd</code> için <code>-d</code> seçeneği</a></li> +<li><code class="directive">ServerRoot</code> dizininin erişim izinlerinin nasıl + ayarlanması gerektiğini öğrenmek için <a href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucu tarafından üretilen belgelerin dipnotunu ayarlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerSignature</code> yönergesi, sunucu tarafından + üretilen belgelerin (hata iletileri, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ftp dizin + listeleri, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> çıktısı, vs.) altındaki dipnot + satırını yapılandırabilmenizi sağlar. Böyle bir dipnot satırın + istenmesinin sebebi vekil zincirlerinde istemciye dönen hata iletisinin + aslında hangi sunucu tarafından üretildiğini kullanıcıya bildirmektir.</p> + + <p><code>Off</code> değeri öntanımlı değer olup dipnot satırının + gösterilmemesini sağlar. + <code>On</code> değeri, sunucu sürüm numarası ve hizmeti sunan sanal + konağın isminden (<code class="directive"><a href="#servername">ServerName</a></code>) oluşan + bir dipnot satırı oluşturulmasını sağlar; <code>EMail</code> değeri bu + ikisine ek olarak satıra <code class="directive"><a href="#serveradmin">ServerAdmin</a></code> + ile belirtilen adres için bir "mailto:" bağı ekler.</p> + + <p>Sunucu sürüm numarasının ayrıntıları <code class="directive"><a href="#servertokens">ServerTokens</a></code> yönergesi ile belirlenmektedir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>Server</code> HTTP yanıt başlığını yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge <code>Server</code> HTTP yanıt başlığı alanında istemcilere + sunucunun işletim sistemi, sunucuyla derlenmiş modüller, vs. hakkında + bilgi verilip verilmeyeceğini belirler.</p> + + <dl> + <dt><code>ServerTokens Full</code> (veya belirtilmezse)</dt> + <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.4.2 + (Unix) PHP/4.2.2 MyMod/1.2</code></dd> + + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: + Apache</code></dd> + + <dt><code>ServerTokens Major</code></dt> + <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: + Apache/2.4</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: + Apache/2.4.2</code></dd> + + <dt><code>ServerTokens OS</code></dt> + <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.4.2 + (Unix)</code></dd> + + </dl> + + <p>Bu ayarlama sunucunun tamamını etkiler ve her sanal konak için + farklılaştırılamaz.</p> + + <p>Bu yönerge <code class="directive"><a href="#serversignature">ServerSignature</a></code> + yönergesi tarafından sunulan bilgiyi de etkilemektedir.</p> + + <div class="note"><code class="directive">ServerTokens</code> yönergesinde + <code>minimal</code>'den azının belirtilmesi önerilmez. Bunun sebebi ara + işlemlerle ilgili hata ayıklamasını zorlaştırmasıdır. Ayrıca, + <code>Server:</code> başlığının iptal edilmesinin sunucunuzu daha güvenli + yapmayacağına dikkat ediniz; "çapraşıklıkla sağlanan güvenlik" düşüncesi + gerçekle bağdaşmaz ve güvenliği olumsuz etkiler.</div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Eşleşen tüm dosyaların belli bir eylemci tarafından işlenmesine +sebep olur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetHandler <code>eylemci-ismi</code>|none|<code>ifade</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>ifade seçeneği 2.4.19 sürümünde eklendi</td></tr> +</table> + <p>Bir <code>.htaccess</code> dosyasına veya bir <code class="directive"><a href="#directory"><Directory></a></code> ya da <code class="directive"><a href="#location"><Location></a></code> bölümüne yerleştirildiğinde, eşleşen + tüm dosyaların, ismi <code>eylemci-ismi</code> ile belirtilen <a href="../handler.html">eylemci</a> tarafından çözümlenmesine sebep olur. + Örneğin, bir dizin içindeki bütün dosyaların, uzantılarına bakılmaksızın + birer imagemap kural dosyası olarak çözümlenmesini istersiniz, bu dizin + içindeki bir <code>.htaccess</code> dosyasına şöyle bir satır + koyabilirsiniz:</p> + + <pre class="prettyprint lang-config">SetHandler imap-file</pre> + + + <p>Başka bir örnek: <code>http://localhost/status</code> gibi bir istek + yapıldığında sunucunun bir durum bilgisi göstermesi için + <code>httpd.conf</code> dosyasına şöyle bir satır koyabilirsiniz:</p> + + <pre class="prettyprint lang-config"><Location "/status"> + SetHandler server-status +</Location></pre> + + + <p>Bu yönergeyi ayrıca, belli bir dosya uzantısına sahip dosyalara uygun + bir eylemci atamak için de kullanabilirsiniz. örnek:</p> + + <pre class="prettyprint lang-config"><FilesMatch "\.php$"> + SetHandler application/x-httpd-php +</FilesMatch></pre> + + + <p>Dizge değerli ifadeler istek öncesi değişkenleri içerecek şekilde + düzenlenebilir. Buna ismli düzenli ifadelere yapılan geriye başvurular + dahildir:</p> + + <pre class="prettyprint lang-config"><LocationMatch ^/app/(?<sub>[^/]+)/> + SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080" +</LocationMatch></pre> + + + <p>Evvelce tanımlanmış bir <code class="directive">SetHandler</code> yönergesini + <code>None</code> değeriyle geçersiz hale getirebilirsiniz.</p> + + <div class="note"><h3>Bilgi</h3> + <p><code class="directive">SetHandler</code> yönergesi, + öntanımlı eylemcileri geçersiz kıldığından, index dosyaları ve dizinleri + belirtmek için URL’nin sonuna bölü çizgisi (/) getirmek şeklindeki + normal davranış baskılanır.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>POST girdilerini ve istemci isteklerini işleyecek süzgeçleri +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetInputFilter <code>süzgeç</code>[;<code>süzgeç</code>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">SetInputFilter</code> yönergesi, istemci isteklerini + ve sunucu tarafından alındığı takdirde POST girdisini işleyecek süzgeç + veya süzgeçleri belirler. Bu, diğer <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> yönergeleri dahil evvelce tanımlanmış + süzgeçlere eklenir.</p> + + <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı + virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak + sıralanmalıdırlar.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../filter.html">Süzgeçler</a> belgesi</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun yanıtlarını işleyecek süzgeçleri belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetOutputFilter <code>süzgeç</code>[;<code>süzgeç</code>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">SetOutputFilter</code> yönergesi, istemciye + gönderilmeden önce sunucunun yanıtlarını işleyecek süzgeçleri belirler. + Bu, diğer <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> + yönergeleri dahil evvelce tanımlanmış süzgeçlere eklenir.</p> + + <p>Örneğin, aşağıdaki yapılandırma ile <code>/www/data/</code> dizinindeki + bütün dosyalar sunucu taraflı içerik kapsamında ele alınacaktır.</p> + + <pre class="prettyprint lang-config"><Directory "/www/data/"> + SetOutputFilter INCLUDES +</Directory></pre> + + + <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı + virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak + sıralanmalıdırlar.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../filter.html">Süzgeçler</a> belgesi</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StrictHostCheck" id="StrictHostCheck">StrictHostCheck</a> <a name="stricthostcheck" id="stricthostcheck">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun, istenen konak adının, isteği işleyen sanal konakta +listelenmesini gerektirip gerektirmediğini denetler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>StrictHostCheck ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>StrictHostCheck OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.49'da eklendi.</td></tr> +</table> + <p>Öntanımlı olarak sunucu, beklenmeyen veya yapılandırılmamış konak + adlarına yönelik istekler de dahil olmak üzere her konak adı isteğine + yanıt verir. Bu uygun olsa da, genellikle kendine dönen yanıtlar + üretileceğinden, arkada çalışan bir uygulamanın işlenen konak adlarını + bazı durumlarda sınırlaması istenebilir.</p> + + <p><code class="directive">StrictHostCheck</code> yönergesine <em>ON</em>, + atanarak, gelen bağlantıyla en iyi eşleşen sanal konaktaki + <code class="directive"><a href="#servername">ServerName</a></code> veya + <code class="directive"><a href="#serveralias">ServerAlias</a></code> yönergesinde istenen + konak adı açıkça listelenmemişse, sunucunun HTTP 400 hatası döndürmesi + sağlanabilir.</p> + + <p>Bu yönerge ayrıca, istenen konak adının, ek <code class="directive"><a href="#serveralias">ServerAlias</a></code> girdileri gibi davranan ve nispeten + belirsiz bir yapılandırma mekanizması olan, <code class="directive"><a href="#virtualhost">VirtualHost</a></code> açılış etiketinde belirtilen konak + adlarıyla eşleşmesini de sağlar.</p> + + <p>Bu yönergenin öntanımlı olmayan sanal konaklarda hiçbir etkisi yoktur. + Etkin değeri, genel sunucu yapılandırmasından devralınan değer veya ilgili + bağlantının ip:port'u için öntanımlı olan sanal konak belirler.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir istek için başarısız olmadan önce belirli olayların +gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>TimeOut <code>saniye</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>TimeOut 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive">TimeOut</code> yönergesi Apache httpd’nin aşağıdaki + durumlarda G/Ç için bekleyeceği süreyi belirler:</p> + + <ul> + <li><p>Veriyi istemciden okurken, okuma tamponu boş olduğu takdirde bir + TCP paketinin gelmesini bekleyeceği süre.</p> + <p>Yeni bir bağlantıda ilk veri için, sunucuya yeni bağlantıyı aktaran + bir <code class="directive"><a href="#acceptfilter">AcceptFilter</a></code> yönergesi ile + ilgili yapılandırma ele alınıncaya kadar bu yönerge etkilenmez.</p> + </li> + + <li>Veriyi istemciye yazarken, gönderme tamponu dolu olduğu takdirde bir + paket alındısı için beklenecek süre.</li> + + <li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> ve <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> modülünde, bir CGI + betiğinden belli bir çıktı kümesi için beklenecek süre.</li> + + <li><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> modülünde, bir süzme işleminden çıktı + almak için beklenecek süre.</li> + + <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> modülünde, <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> yönergesi + yapılandırılmamışsa öntanımlı zaman aşımı değeri.</li> + </ul> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a> <a name="traceenable" id="traceenable">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>TRACE</code> isteklerinde davranış şeklini belirler +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>TraceEnable <code>[on|off|extended]</code></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Bu yönerge çekirdek ve vekil (<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>) sunucuların + her ikisi için öntanımlı <code>TRACE</code> davranışını değiştirir. + Öntanımlı olan <code>TraceEnable on</code> ile RFC 2616’dan kaynaklanan + ve isteğe herhangi bir istek gövdesinin eşlik etmesine izin vermeyen + <code>TRACE</code> isteklerine izin verilir. <code>TraceEnable off</code> + ile çekirdek ve vekil (<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>) sunucuların her ikisi + de <code>TRACE</code> isteklerine yanıt olarak bir <code>405</code> + (Yönteme izin verilmiyor) hatası döndürür.</p> + + <p><code>TraceEnable extended</code> ile sadece sınama ve tanı koyma + amaçlarına yönelik olarak istek gövdelerine izin verilir. Asıl sunucu + istek gövdesini 64kB ile sınırlar (<code>Transfer-Encoding: chunked</code> + kullanılmışsa bölüm başlıkları için 8kB daha). Asıl sunucu yanıt + gövdesinde tüm başlıkları ve bölüm başlıklarının tamamını yansıtacaktır. + Vekil sunucuda ise istek gövdesi için 64kB’lık sınır yoktur.</p> + + <div class="note"><h3>Bilgi</h3> + <p>Aksine iddialara rağmen, <code>TRACE</code> yöntemini etkinleştirmek + Apache httpd'de bir güvenlik açığı değildir. <code>TRACE</code> yöntemi + HTTP/1.1 belirtiminde tanımlanmış olup desteklenmesi umulmuştur.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnDefine" id="UnDefine">UnDefine</a> <a name="undefine" id="undefine">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir değişkeni tanımsız yapar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>UnDefine <code>değişken-ismi</code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><a href="#define">Define</a></code> yönergesinde veya + <code class="program"><a href="../programs/httpd.html">httpd</a></code>'nin <code>-D</code> seçeneğiyle belirtileni + geri alır.</p> + + <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesinin + sözdizimi ile çatışmalardan kaçınmak için değişken isimleri iki nokta + üst üste ":" karakterlerini içerebilir.</p> + + <div class="note"><h3>Virtual Host scope and pitfalls</h3> + <p>Bu yönerge başlatma betiklerinde <code>-D</code> seçeneğinin + argümanını değiştirmek gerekmeksizin <code class="directive"><a href="#ifdefine"><IfDefine></a></code> bölümlerinin kullanımını + değiştirmek için kullanılabilir.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#define">Define</a></code></li> +<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>UseCanonicalName Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Apache httpd‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar + aynı sunucuya yapıldığı bir URL türü) oluşturması gerekir. + <code>UseCanonicalName On</code> ile Apache httpd, sunucu için meşru + ismi ve portu oluşturmak için + <code class="directive"><a href="#servername">ServerName</a></code> + yönergesinde belirtilen ismi ve portu kullanır. Bu isim CGI'lerde + <code>SERVER_NAME</code> ve <code>SERVER_PORT</code> değerlerinde ve tüm + özüne yönelik URL’lerde kullanılır.</p> + + <p><code>UseCanonicalName Off</code> ile Apache httpd, özüne yönelik URL’leri + varsa istemci tarafından sağlanan konak ismini ve portu kullanarak + oluşturur; bunlar istemci tarafından sağlanmamışsa yukarıda tanımlanan + işleme başvurulur. Bu değerler, <a href="../vhosts/name-based.html">isme + dayalı sanal konakları</a> gerçekleştirirken kullanılan değerlerle aynı + olup aynı istemcilerle kullanılabilir. <code>SERVER_NAME</code> ve + <code>SERVER_PORT</code> CGI değişkenleri de istemci tarafından sağlanan + isim ve portla oluşturulur.</p> + + <p>Bir örnek olarak, iç ağdaki istemcilerin sunucuya <code>www</code> gibi + bir kısa isim kullanarak bağlandığı durumu ele alırsak daha yararlı + olur. Kullanıcılar bir kısa isim ve bir dizin isminden oluşan ve <em>bir + / ile sonlandırılmamış</em> <code>http://www/splat</code> şeklinde bir + istek yaparlarsa, Apache httpd onları + <code>http://www.example.com/splat/</code> adresine yönlendirecektir. + Eğer kimlik doğrulama da etkinse bu kullanıcının iki defa kimlik + doğrulamasına sokulmasına sebep olacaktır (bir kere <code>www</code> + için bir kere de <code>www.example.com</code> için; daha fazla bilgi için <a href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">SSS</a>’ye bakınız). Fakat <code class="directive">UseCanonicalName Off</code> + olsaydı Apache httpd isteği <code>http://www/splat/</code> adresine + yönlendirecekti.</p> + + <p><code>UseCanonicalName DNS</code> diye üçüncü bir seçenek daha vardır ve + istek yaparken <code>Host:</code> başlığını kullanmayan eski istemcileri + desteklemek amacıyla IP’ye dayalı sanal konaklarla kullanmak için + tasarlanmıştır. Bu seçenek etkin olduğunda Apache httpd, istemciyi özüne + yönelik URL’lerle doğru yere bağlamak için sunucu IP adresi üzerinde bir + ters DNS sorgusu yapar.</p> + + <div class="warning"><h3>Uyarı</h3> + <p>Eğer CGI’ler <code>SERVER_NAME</code> değerleri için önkabuller + yapıyorlarsa bu seçenek işlerinin bozulmasına yol açabilir. Aslında + istemciler konak ismi olarak istedikleri değeri vermekte özgürdürler. + Fakat eğer CGI, özüne yönelik URL’leri oluştururken sadece + <code>SERVER_NAME</code> değerini kullanıyorsa bu istendiği gibi + çalışacaktır.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p>Apache httpd‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar + aynı sunucuya yapıldığı bir URL türü) oluşturması gerekir. Apache httpd + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> yönergesine bağlı + olarak sunucu için meşru portu oluştururken + <code>UseCanonicalPhysicalPort On</code> ile olası port olarak istek + tarafından kullanılmakta olan fiziksel portu kullanacaktır. + <code>UseCanonicalPhysicalPort Off</code> olduğunda ise geçerli bir port + numarası oluşturmak için asıl fiziksel port yerine yapılandırma bilgisi + kullanılır.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Fiziksel port kullanımı etkin olduğunda işlemler şu sırayla + yürütülür:</p> + <dl> + <dt><code>UseCanonicalName On</code></dt> + <dd> + <ol> + <li><code class="directive"><a href="#servername">Servername</a></code> ile sağlanan port + </li> + <li>Fiziksel port</li> + <li>Öntanımlı port</li> + </ol> + </dd> + <dt><code>UseCanonicalName Off | DNS</code></dt> + <dd> + <ol> + <li><code>Host:</code> başlığından çözümlenen port</li> + <li>Fiziksel port</li> + <li><code class="directive"><a href="#servername">Servername</a></code> yönergesinde + belirtilen port</li> + <li>Öntanımlı port</li> + </ol> + </dd> + </dl> + + <p><code>UseCanonicalPhysicalPort Off</code> olduğunda işlem sırasında + fiziksel port adımları atlanır.</p> + </div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a> <a name="virtualhost" id="virtualhost">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code><VirtualHost + <code>adres</code>[:<code>port</code>] [<code>adres</code>[:<code>port</code>]] + ...> ... </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Çekirdek</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><VirtualHost></code> ve + <code></VirtualHost></code> birlikte sadece belli bir sanal konağa + uygulanacak yönergeleri sarmalamakta kullanılırlar. Bir sanal konak + kapsamında belirtilebilecek her yönerge kullanılabilir. Sunucu belli bir + sanal konak üzerindeki bir belge için bir istek aldığında <code class="directive"><VirtualHost></code> bölümünde bulunan yapılandırma + yönergelerini kullanır. <code>adres</code> şunlardan biri olabilir, + istemlik olarak ikinokta imi ve bir port numarası (veya *) + eklenebilir:</p> + + <ul> + <li>Sanal konağın IP adresi.</li> + + <li>Sanal konağın IP adresi için tam nitelenmiş alan adı (önerilmez). + </li> + + <li>Tüm IP adresleri ile eşleşmek üzere <code>*</code> karakteri.</li> + + <li><code>*</code> için bir takma ad olarak <code>_default_</code> + dizgesi.</li> + </ul> + + <pre class="prettyprint lang-config"><VirtualHost 10.1.2.3:80> + ServerAdmin webmaster@host.example.com + DocumentRoot "/www/docs/host.example.com" + ServerName host.example.com + ErrorLog "logs/host.example.com-error_log" + TransferLog "logs/host.example.com-access_log" +</VirtualHost></pre> + + + + <p>İsteğe bağlı port numarasını belirtmeyi mümkün kılmak için IPv6 + adresleri köşeli ayraç içine alınır. IPv6 adresi kullanılan bir + örnek:</p> + + <pre class="prettyprint lang-config"><VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80> + ServerAdmin webmaster@host.example.com + DocumentRoot "/www/docs/host.example.com" + ServerName host.example.com + ErrorLog "logs/host.example.com-error_log" + TransferLog "logs/host.example.com-access_log" +</VirtualHost></pre> + + + <p>Her sanal konağın ya farklı bir IP adresi ve port ile ya da farklı bir + konak ismiyle eşleşmesi gerekir. Birinci durumda sunucu makinesinin çok + sayıda adresten IP paketleri kabul edecek şekilde yapılandırılması + gerekir. (Eğer makinede çok sayıda ağ arabirimi yoksa bu, işletim sistemi + desteklediği takdirde <code>ifconfig alias</code> komutuyla + sağlanabilir.)</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p><code class="directive"><VirtualHost></code> kullanımı Apache + httpd’nin dinleyeceği adresler üzerinde belirleyici değildir. Apache + httpd’nin doğru adresi dinlediğinden emin olmak için <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> kullanmanız gerekebilir.</p> + </div> + + <p>Her <code class="directive"><VirtualHost></code> bloku içinde bir + <code class="directive"><a href="#servername">ServerName</a></code> yönergesi mutlaka + olmalıdır. Yokluğu halinde "ana" sunucu yapılandırmasındaki <code class="directive"><a href="#servername">ServerName</a></code> miras alınacaktır.</p> + + <p>Bir istek alındığında, sunucu isteği, sadece yerel IP adresi ve port + çiftine dayalı en iyi eşleşen ilk <code class="directive"><VirtualHost></code> bölümüne eşler. Joker kullanmayanlar daha + yüksek önceliğe sahiptir. IP ve port çiftine dayalı bir eşleşme + bulunamazsa istek için ana sunucu yapılandırması kullanılır.</p> + + <p>En iyi eşleşen IP adresi ve port çiftini birden fazla sanal konak + kullanıyorsa sunucu bu sanal konaklar (liste) arasından istenen konak + ismiyle en iyi eşleşeni seçer. Eşleşen hiçbir isme dayalı sanal konak + yoksa listedeki IP adresi ile eşleşen ilk sanal konak kullanılır. Bunun + sonucu olarak, belirtilen IP adresi ve port çifti için listedeki ilk + sanal konak, bu IP adresi ve port çifti için öntanımlı sanal + konaktır.</p> + + <div class="warning"><h3>Güvenlik</h3> + <p>Günlük dosyalarının sunucuyu çalıştıran kullanıcıdan başka herkes + tarafından yazılabilen bir yerde saklanmasından dolayı ortaya çıkabilecek + güvenlik sorunları hakkında daha ayrıntılı bilgi için <a href="../misc/security_tips.html">güvenlik ipuçları</a> belgesine + bakınız.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../vhosts/">Apache HTTP Sunucusu Sanal Konak Belgeleri</a> +</li> +<li><a href="../dns-caveats.html">DNS ile İlgili Konular ve Apache HTTP + Sunucusu</a></li> +<li><a href="../bind.html">Apache HTTP Sunucusunun belli adresleri ve + portları dinlemek üzere yapılandırılması</a></li> +<li>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir + arada ele alındığının açıklaması için <a href="../sections.html"> + <Directory>, <Location> ve <Files> bölümleri nasıl + çalışır?</a> belgesine bakınız.</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html b/docs/manual/mod/directive-dict.html new file mode 100644 index 0000000..c288bb0 --- /dev/null +++ b/docs/manual/mod/directive-dict.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: directive-dict.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: directive-dict.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: directive-dict.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: directive-dict.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: directive-dict.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: directive-dict.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/directive-dict.html.en b/docs/manual/mod/directive-dict.html.en new file mode 100644 index 0000000..3222194 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.en @@ -0,0 +1,323 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Terms Used to Describe Directives - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Terms Used to Describe Directives</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/directive-dict.html" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>This document describes the terms that are used to describe + each Apache <a href="directives.html">configuration + directive</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Description</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Syntax">Syntax</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Default">Default</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Context">Context</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Override">Override</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">Status</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Module">Module</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibility</a></li> +</ul><h3>See also</h3><ul class="seealso"><li><a href="../configuring.html">Configuration files</a></li><li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">Description</a></h2> + +<p>A brief description of the purpose of the directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Syntax" id="Syntax">Syntax</a></h2> + + <p>This indicates the format of the directive as it would + appear in a configuration file. This syntax is extremely + directive-specific, and is described in detail in the + directive's definition. Generally, the directive name is + followed by a series of one or more space-separated arguments. + If an argument contains a space, the argument must be enclosed + in double quotes. Optional arguments are enclosed in square + brackets. Where an argument can take on more than one possible + value, the possible values are separated by vertical bars "|". + Literal text is presented in the default font, while + argument-types for which substitution is necessary are + <em>emphasized</em>. Directives which can take a variable + number of arguments will end in "..." indicating that the last + argument is repeated.</p> + + <p>Directives use a great number of different argument types. A + few common ones are defined below.</p> + + <dl> + <dt><em>URL</em></dt> + + <dd>A complete Uniform Resource Locator including a scheme, + hostname, and optional pathname as in + <code>http://www.example.com/path/to/file.html</code></dd> + + <dt><em>URL-path</em></dt> + + <dd>The part of a <em>url</em> which follows the scheme and + hostname as in <code>/path/to/file.html</code>. The + <em>url-path</em> represents a web-view of a resource, as + opposed to a file-system view.</dd> + + <dt><em>file-path</em></dt> + + <dd>The path to a file in the local file-system beginning + with the root directory as in + <code>/usr/local/apache/htdocs/path/to/file.html</code>. + Unless otherwise specified, a <em>file-path</em> which does + not begin with a slash will be treated as relative to the <a href="core.html#serverroot">ServerRoot</a>.</dd> + + <dt><em>directory-path</em></dt> + + <dd>The path to a directory in the local file-system + beginning with the root directory as in + <code>/usr/local/apache/htdocs/path/to/</code>.</dd> + + <dt><em>filename</em></dt> + + <dd>The name of a file with no accompanying path information + as in <code>file.html</code>.</dd> + + <dt><em>regex</em></dt> + + <dd>A Perl-compatible <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular + expression</a>. The directive definition will specify what the + <em>regex</em> is matching against.</dd> + + <dt><em>extension</em></dt> + + <dd>In general, this is the part of the <em>filename</em> + which follows the last dot. However, Apache recognizes + multiple filename extensions, so if a <em>filename</em> + contains more than one dot, each dot-separated part of the + filename following the first dot is an <em>extension</em>. + For example, the <em>filename</em> <code>file.html.en</code> + contains two extensions: <code>.html</code> and + <code>.en</code>. For Apache directives, you may specify + <em>extension</em>s with or without the leading dot. In + addition, <em>extension</em>s are not case sensitive.</dd> + + <dt><em>MIME-type</em></dt> + + <dd>A method of describing the format of a file which + consists of a major format type and a minor format type, + separated by a slash as in <code>text/html</code>.</dd> + + <dt><em>env-variable</em></dt> + + <dd>The name of an <a href="../env.html">environment + variable</a> defined in the Apache configuration process. + Note this is not necessarily the same as an operating system + environment variable. See the <a href="../env.html">environment variable documentation</a> for + more details.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Default" id="Default">Default</a></h2> + + <p>If the directive has a default value (<em>i.e.</em>, if you + omit it from your configuration entirely, the Apache Web server + will behave as though you set it to a particular value), it is + described here. If there is no default value, this section + should say "<em>None</em>". Note that the default listed here + is not necessarily the same as the value the directive takes in + the default httpd.conf distributed with the server.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Context" id="Context">Context</a></h2> + + <p>This indicates where in the server's configuration files the + directive is legal. It's a comma-separated list of one or more + of the following values:</p> + + <dl> + <dt>server config</dt> + + <dd>This means that the directive may be used in the server + configuration files (<em>e.g.</em>, <code>httpd.conf</code>), but + <strong>not</strong> within any + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + or <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + containers. It is not allowed in <code>.htaccess</code> files + at all.</dd> + + <dt>virtual host</dt> + + <dd>This context means that the directive may appear inside + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + containers in the server + configuration files.</dd> + + <dt>directory</dt> + + <dd>A directive marked as being valid in this context may be + used inside <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#if"><If></a></code>, and <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> containers + in the server configuration files, subject to the restrictions + outlined in <a href="../sections.html">Configuration + Sections</a>.</dd> + + <dt>.htaccess</dt> + + <dd>If a directive is valid in this context, it means that it + can appear inside <em>per</em>-directory + <code>.htaccess</code> files. It may not be processed, though + depending upon the <a href="#Override">overrides</a> currently active.</dd> + </dl> + + <p>The directive is <em>only</em> allowed within the designated + context; if you try to use it elsewhere, you'll get a + configuration error that will either prevent the server from + handling requests in that context correctly, or will keep the + server from operating at all -- <em>i.e.</em>, the server won't + even start.</p> + + <p>The valid locations for the directive are actually the + result of a Boolean OR of all of the listed contexts. In other + words, a directive that is marked as being valid in + "<code>server config, .htaccess</code>" can be used in the + <code>httpd.conf</code> file and in <code>.htaccess</code> + files, but not within any <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> or + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + containers.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Override" id="Override">Override</a></h2> + + <p>This directive attribute indicates which configuration + override must be active in order for the directive to be + processed when it appears in a <code>.htaccess</code> file. If + the directive's <a href="#Context">context</a> + doesn't permit it to appear in <code>.htaccess</code> files, + then no context will be listed.</p> + + <p>Overrides are activated by the <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directive, and apply + to a particular scope (such as a directory) and all + descendants, unless further modified by other + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directives at + lower levels. The documentation for that directive also lists the + possible override names available.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">Status</a></h2> + + <p>This indicates how tightly bound into the Apache Web server + the directive is; in other words, you may need to recompile the + server with an enhanced set of modules in order to gain access + to the directive and its functionality. Possible values for + this attribute are:</p> + + <dl> + <dt>Core</dt> + + <dd>If a directive is listed as having "Core" status, that + means it is part of the innermost portions of the Apache Web + server, and is always available.</dd> + + <dt>MPM</dt> + + <dd>A directive labeled as having "MPM" status is provided by + a <a href="../mpm.html">Multi-Processing Module</a>. This + type of directive will be available if and only if you are + using one of the MPMs listed on the <a href="#Module">Module</a> line of the directive + definition.</dd> + + <dt>Base</dt> + + <dd>A directive labeled as having "Base" status is supported + by one of the standard Apache modules which is compiled into + the server by default, and is therefore normally available + unless you've taken steps to remove the module from your + configuration.</dd> + + <dt>Extension</dt> + + <dd>A directive with "Extension" status is provided by one of + the modules included with the Apache server kit, but the + module isn't normally compiled into the server. To enable the + directive and its functionality, you will need to change the + server build configuration files and re-compile Apache.</dd> + + <dt>Experimental</dt> + + <dd>"Experimental" status indicates that the directive is + available as part of the Apache kit, but you're on your own + if you try to use it. The directive is being documented for + completeness, and is not necessarily supported. The module + which provides the directive may or may not be compiled in by + default; check the top of the page which describes the + directive and its module to see if it remarks on the + availability.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Module" id="Module">Module</a></h2> + + <p>This quite simply lists the name of the source module which + defines the directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">Compatibility</a></h2> + + <p>If the directive wasn't part of the original Apache version + 2 distribution, the version in which it was introduced should + be listed here. In addition, if the directive is available + only on certain platforms, it will be noted here.</p> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/directive-dict.html" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directive-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.es b/docs/manual/mod/directive-dict.html.es new file mode 100644 index 0000000..cf5f7ef --- /dev/null +++ b/docs/manual/mod/directive-dict.html.es @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Términos que se Usan para Describir Directivas - Servidor HTTP Apache Versión 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p> +<p class="apache">Versión 2.4 del Servidor HTTP Apache</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.4</a></div><div id="page-content"><div id="preamble"><h1>Términos que se Usan para Describir Directivas</h1> +<div class="toplang"> +<p><span>Idiomas disponibles: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>Este documento describe los términos que se usan para describir + cada <a href="directives.html">directiva de configuración</a> de + Apache.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Descripción</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Syntax">Sintaxis</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Default">Por defecto</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Context">Contexto</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Override">Override</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">Estado</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Module">Módulo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibilidad</a></li> +</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../configuring.html">Ficheros de Configuración</a></li><li><a href="#comments_section">Comentarios</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">Descripción</a></h2> + + <p>Una breve descripción del propósito de la directiva.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Syntax" id="Syntax">Sintaxis</a></h2> + + <p>Indica el formato de la directiva tal y como aparecería en un fichero de + configuración. Esta sintaxis es muy específica de cada directiva, y se + describe con detalle en la definición de la directiva. Generalmente, el + nombre de la directiva va seguido de una serie de uno o más parámetros + separados por un espacio. Si un parámetro contiene un espacio, éste debe + especificarse entre comillas dobles. Los parámetros opcionales van + especificados entre corchetes. Donde un parámetro puede tener uno o más + valores, los valores posibles se separan con barras verticales "|". El Texto + Literal se muestra con la fuente por defecto, mientras que los distintos + tipos de parámetros para los que una sustitución resulta necesaria son + <em>enfatizados</em>. Las directivas que pueden tomar una lista variada de + parámetros acaban en "..." indicando que el último parámetro se repite.</p> + + <p>Las Directivas usan un gran número de diferentes tipos de parámetros. A + continuación definimos algunos de los más comunes.</p> + + <dl> + <dt><em>URL</em></dt> + <dd>Un Localizador de Recursos Uniforme, incluye un esquema, + nombre de host, y un path opcional como en + <code>http://www.example.com/path/to/file.html</code></dd> + + <dt><em>Ruta de URL</em></dt> + <dd>La parte de una <em>url</em> que sigue al esquema y el + nombre de host como en <code>/path/to/file.html</code>. El + <em>url-path</em> representa una vista-web de un recurso, en + contraposición a una vista de sistema-de-ficheros.</dd> + + <dt><em>Ruta del Fichero</em></dt> + <dd>La ruta a un fichero en el sistema de ficheros local que + comienza desde el directorio raíz como en + <code>/usr/local/apache/htdocs/path/to/file.html</code>. + A menos que se especifique, una <em>ruta de fichero</em> que no comienza + con una barra "/" se tratará como una ruta relativa a <a href="core.html#serverroot">ServerRoot</a>.</dd> + + <dt><em>Ruta del Directorio</em></dt> + + <dd>La ruta a un directorio en el sistema de ficheros local que + comienza con el directorio ráiz como en + <code>/usr/local/apache/htdocs/path/to/</code>.</dd> + + <dt><em>Nombre del Fichero</em></dt> + + <dd>El nombre de un fichero sin ir acompañado de información de la ruta + como en <code>file.html</code>.</dd> + + <dt><em>regex</em></dt> + + <dd>Una <a class="glossarylink" href="../glossary.html#regex" title="ver glosario"> + expresión regular</a> compatible con Perl. La definición + de directiva especificará contra qué se compara la + <em>regex</em>.</dd> + + <dt><em>extensión</em></dt> + + <dd>En general, esta es la parte del <em>nombre de fichero</em> + que sigue al último punto. Sin embargo, Apache reconoce múltiples + extensiones de fichero, así que si un <em>nombre de fichero</em> + contiene más de un punto, cada parte separada por un punto del + nombre de fichero después del primer punto es una <em>extensión</em>. + Por ejemplo, el <em>nombre de fichero</em> <code>file.html.en</code> + contiene dos extensiones: <code>.html</code> y + <code>.en</code>. Para las directivas de Apache, podrá especificar + la <em>extensiones</em> con o sin el punto inicial. Además, las + <em>extensiones</em> no son sensibles a mayúsculas o minúsculas.</dd> + + <dt><em>Tipo MIME</em></dt> + + <dd>Un método de describir el formato de un fichero que está formado + por un tipo de formato mayor y un tipo de formato menor, separados de + de una barra como en <code>text/html</code>.</dd> + + <dt><em>Variable de Entorno</em></dt> + + <dd>El nombre de una <a href="../env.html">variable de entorno</a> + definida en el proceso de configuración de Apache. Tenga en cuenta + que esto no es necesariamente lo mismo que la variable de entorno + de un sistema operativo. Vea la <a href="../env.html">documentación de variable de entorno</a> para + más detalles.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Default" id="Default">Por defecto</a></h2> + + <p>Si la directiva tiene un valor por defecto (<em>p.ej.</em>, si + la omite de la configuración completamente, el servidor Web Apache + se comportará como si la hubiera configurado con un valor en + particular), se describe aquí. Si no tiene valor por defecto, esta + sección debería indicar "<em>Ninguno</em>". Tenga en cuenta que el + valor por defecto listado aquí no es necesariamente el mismo que el + valor que toma la directiva en el httpd.conf por defecto distribuido + con el servidor.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Context" id="Context">Contexto</a></h2> + + <p>Esto indica dónde se acepta la directiva en los ficheros de + configuración. Es una lista separada por comas para uno o más de los + siguientes valores:</p> + + <dl> + <dt>server config</dt> + + <dd>Esto indica que la directiva puede usarse en los ficheros de + configuración del servidor (<em>p.ej.</em>, <code>httpd.conf</code>), + pero <strong>not</strong> dentro de cualquier contenedor + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + o <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>. + No se permite en ficheros <code>.htaccess</code> de ninguna + manera.</dd> + + <dt>virtual host</dt> + + <dd>Este contexto significa que la directiva puede aparecer dentro de un + contenedor <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + en el fichero de configuración del servidor.</dd> + + <dt>directory</dt> + + <dd>Una directiva marcada como válida en este contexto puede usarse dentro + de contenedores <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#if"><If></a></code>, <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> en los ficheros de + configuración del servidor, sujeta a las restricciones destacadas en + las <a href="../sections.html">Secciones de Configuración</a>.</dd> + + <dt>.htaccess</dt> + + <dd>Si una directiva es válida en este contexto, significa que puede + aparecer dentro de ficheros <code>.htaccess</code> de <em>contexto de + directorio</em>. Aunque podría no ser procesada, dependiendo de la + configuración activa de <a href="#Override">AllowOverride</a> en ese + momento.</dd> + </dl> + + <p>La directiva <em>solo</em> se permite dentro del contexto designado; si + intenta usarlo en algún otro, obtendrá un error de configuración que + impedirá que el servidor gestione correctamente las solicitudes en ese + contexto, o impedirá que el servidor pueda funcionar completamente -- + <em>p.ej.</em>, el servidor no arrancará.</p> + + <p>Las ubicaciones válidas para la directiva son actualmente el resultado de + un Boolean OR de todos los contextos listados. En otras palabras, una + directiva que está marcada como válida en + "<code>server config, .htaccess</code>" puede usarse en el fichero + <code>httpd.conf</code> y en ficheros <code>.htaccess</code>, pero no dentro + de contenedores <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + o <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Override" id="Override">Override</a></h2> + + <p>Este atributo de directiva indica qué Override de configuración debe + estar activo para que la directiva se procese cuando aparece en un fichero + <code>.htaccess</code>. Si el <a href="#Context">contexto</a> de la + directiva no permite que aparezca en ficheros <code>.htaccess</code>, + entonces no se listará ningún contexto.</p> + + <p>Los Override se activan con la directiva <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, si se aplican a un ámbito en + particular (como por ejemplo un directorio) y todos sus descendientes, a + menos que se modifique más adelante por otras directivas + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> en niveles + inferiores. La documentación para la directiva también muestra una lista de + los posibles nombres de Override disponibles.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">Estado</a></h2> + + <p>Esto indica cuan vinculada está esta directiva al servidor Web de Apache; + o en otras palabras, puede que necesite recompilar el servidor con un + conjunto mejor de módulos para obtener acceso a esta directiva y su + funcionalidad. Valores posibles para estar directiva son:</p> + + <dl> + <dt>Core</dt> + + <dd>Si una directiva aparece listada con estado "Core", eso significa + que forma parte de las partes más internas del Servidor Apache Web, y que + siempre está disponible.</dd> + + <dt>MPM</dt> + + <dd>La directivas facilitadas por un + <a href="../mpm.html">Módulo de Multi-Proceso</a> están etiquetadas con + Estado "MPM". Este tipo de directiva estará disponible si y sólo si está + usando uno de los MPM listados en la línea <a href="#Module">Módulo</a> + de la definición de la directiva.</dd> + + <dt>Base</dt> + + <dd>Una directiva listada con estado "Base" está facilitada por uno + de los módulos estándar de Apache que están compilados con el servidor + por defecto, y por tanto está normalmente disponible a menos que usted + haga las acciones necesarias para eliminar este módulo de su + configuración.</dd> + + <dt>Extensión</dt> + + <dd>Una directiva con estado "Extensión" está facilitada por uno de los + módulos incluidos en el kit del servidor Apache, pero el módulo no + está compilado generalmente dentro del servidor. Para activar esta y su + funcionalidad, necesirará cambiar la configuración de compilación + del servidor y recompilar Apache.</dd> + + <dt>Experimental</dt> + + <dd>El estado "Experimental" indica que la directiva está disponible como + parte del kit de Apache, pero usted tendrá que ir por su cuenta si intenta + usarla. La directiva se documenta para aportar información, pero no tiene + por qué estar soportada de manera oficial. El módulo que provee esta + directiva puede o puede que no esté compilado por defecto, compruebe + la parte superior de la página que describe la direcitiva y el módulo para + ver las anotaciones sobre su disponibilidad.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Module" id="Module">Módulo</a></h2> + + <p>Esto simplemente hace referencia al nombre del módulo original que provee + la directiva.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">Compatibilidad</a></h2> + + <p>Si la directiva no era parte de la distribución original de Apache + versión 2, la versión en la que se introdujo debería estar referida aquí. + Además, si la direcitva solo está disponible en ciertas plataformas, se verá + anotado aquí.</p> +</div></div> +<div class="bottomlang"> +<p><span>Idiomas disponibles: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comentarios</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directive-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.fr.utf8 b/docs/manual/mod/directive-dict.html.fr.utf8 new file mode 100644 index 0000000..676f7e8 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.fr.utf8 @@ -0,0 +1,319 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Termes utilisés pour la description des directives - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Termes utilisés pour la description des directives</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>Ce document décrit les termes utilisés pour décrire chaque <a href="directives.html">directive de configuration</a> d'Apache.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Description</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Syntax">Syntaxe</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Default">Défaut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Context">Contexte</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Override">Surcharge/Écrasement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">Statut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Module">Module</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibilité</a></li> +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../configuring.html">Fichiers de configuration</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">Description</a></h2> + +<p>Une brève description des fonctions de cette directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Syntax" id="Syntax">Syntaxe</a></h2> + + <p>Ce terme introduit le format sous lequel la directive doit + apparaître dans le fichier de configuration. Cette syntaxe est très + spécifique à la directive et est décrite en détail dans la + définition de cette dernière. En général, le nom de la directive est + suivi d'un ou plusieurs arguments séparés par des espaces. Si un + argument contient un espace, il doit être entouré de guillemets. Les + arguments optionnels sont entourés de crochets. Lorsqu'un argument + accepte une valeur parmi une liste de valeurs possibles, cette liste + est spécifiée en séparant les valeurs par une barre verticale "|". + Les textes littéraux sont présentés dans la fonte par défaut, alors + que les types d'argument pour lesquels une substitution est + nécessaire sont en <em>gras</em>. La syntaxe des directives + acceptant un nombre variable d'arguments se termine par "...", ce + qui indique que le dernier argument peut être répété.</p> + + <p>Les directives utilisent un grand nombre de types d'arguments + différents. Les plus courants sont définis ci-dessous.</p> + + <dl> + <dt><em>URL</em></dt> + + <dd>Un Localisateur de Ressource Uniforme (Uniform Resource + Locator) complet comportant un protocole, un nom d'hôte et un nom + de chemin optionnel comme dans + <code>http://www.example.com/chemin/vers/fichier.html</code></dd> + + <dt><em>chemin-URL</em></dt> + + <dd>La partie de l'<em>url</em> qui suit le protocole et le nom + d'hôte comme dans <code>/chemin/vers/fichier.html</code>. Le + <em>chemin-URL</em> représente la ressource vue du web, et est + différente de la représentation de cette même ressource vue du + système de fichiers.</dd> + + <dt><em>chemin-fichier</em></dt> + + <dd>Le chemin d'un fichier dans le système de fichiers local + commençant par le répertoire racine comme dans + <code>/usr/local/apache/htdocs/chemin/vers/fichier.html</code>. + Sauf mention contraire, un <em>chemin-fichier</em> qui ne commence + pas par un slash sera considéré comme relatif au répertoire défini + par la directive <a href="core.html#serverroot">ServerRoot</a>.</dd> + + <dt><em>chemin-répertoire</em></dt> + + <dd>Le chemin d'un répertoire dans le système de fichiers local + commençant par le répertoire racine comme dans + <code>/usr/local/apache/htdocs/chemin/vers/</code>.</dd> + + <dt><em>nom-fichier</em></dt> + + <dd>Le nom d'un fichier sans son chemin comme dans + <code>fichier.html</code>.</dd> + + <dt><em>regex</em></dt> + + <dd>Une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> + compatible Perl. La définition de la directive spécifiera à quoi + <em>regex</em> sera comparée.</dd> + + <dt><em>extension</em></dt> + + <dd>En général, c'est la partie du <em>nom de fichier</em> qui + suit le dernier point. Cependant, Apache reconnaît plusieurs + extensions de noms de fichiers ; ainsi, si un <em>nom de + fichier</em> + contient plusieurs points, chacune des parties du nom de fichier + séparées par des points et situées après le premier point est une + <em>extension</em>. Par exemple, le <em>nom de fichier</em> + <code>fichier.html.en</code> comporte deux extensions : + <code>.html</code> et <code>.en</code>. Pour les directives + Apache, vous pouvez spécifier les <em>extension</em>s avec ou sans + le point initial. Enfin, les <em>extension</em>s ne sont pas + sensibles à la casse.</dd> + + <dt><em>MIME-type</em></dt> + + <dd>Une méthode de description du format d'un fichier consistant + en un type de format majeur et un type de format mineur séparés + par un slash comme dans <code>text/html</code>.</dd> + + <dt><em>env-variable</em></dt> + + <dd>Le nom d'une <a href="../env.html">variable + d'environnement</a> définie au cours du processus de configuration + d'Apache. Notez qu'elle peut être différente d'une variable + d'environnement du système d'exploitation. Voir la <a href="../env.html">documentation sur les variables d'environnement</a> + pour plus de détails.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Default" id="Default">Défaut</a></h2> + + <p>Si la directive possède une valeur par défaut (en d'autres + termes, si le serveur Web Apache se comporte comme si vous l'aviez + définie à une valeur particulière, alors que vous l'avez omise dans + votre configuration), elle est spécifiée ici. Si la directive ne + possède pas de valeur par défaut, cette section doit spécifier + "<em>Aucune</em>". Notez que la valeur par défaut dont il est + question n'est pas nécessairement la même que la valeur attribuée à + la directive dans le fichier httpd.conf par défaut distribué avec le + serveur.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Context" id="Context">Contexte</a></h2> + + <p>Indique les parties des fichiers de configuration du serveur + où cette directive est valide. Il s'agit d'une liste d'une ou + plusieurs des valeurs suivantes séparées par des virgules :</p> + + <dl> + <dt>configuration globale</dt> + + <dd>Signifie que la directive peut être utilisée dans les fichiers + de configuration globale (par exemple <code>httpd.conf</code>), + mais <strong>pas</strong> à l'intérieur d'un conteneur <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>. De même, elle + n'est pas valide dans les fichiers <code>.htaccess</code>.</dd> + + <dt>serveur virtuel</dt> + + <dd>Signifie que la directive peut apparaître à l'intérieur d'un + conteneur <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> dans les fichiers de + configuration du serveur.</dd> + + <dt>répertoire</dt> + + <dd>Une directive spécifiée comme valide dans ce contexte peut + être utilisée à l'intérieur de conteneurs <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#if"><If></a></code>, et <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> dans les + fichiers de configuration du serveur, en tenant compte des + restrictions précisées dans la documentation sur les <a href="../sections.html">Sections de configuration</a>.</dd> + + <dt>.htaccess</dt> + + <dd>Si une directive est valide dans ce contexte, cela signifie + qu'elle peut apparaître à l'intérieur de fichiers de configuration + de <em>niveau</em> répertoire <code>.htaccess</code>. Elle sera ou + ne sera pas traitée, selon la définition de l'option <a href="#Override">overrides</a> pour le contexte courant.</dd> + </dl> + + <p>La directive n'est autorisée <em>que</em> dans le contexte + désigné ; si vous essayez de l'utiliser ailleurs, vous générerez une + erreur de configuration qui va soit empêcher le serveur de traiter + les requêtes correctement dans ce contexte, soit tout simplement + empêcher le serveur de fonctionner -- en d'autres termes, le serveur + refusera de démarrer.</p> + + <p>Les lieux de définition valides pour une directive résultent en + fait d'un + OU logique de tous les contextes spécifiés. En d'autres termes, une + directive spécifiée comme valide dans "<code>configuration globale, + .htaccess</code>" peut être utilisée dans le fichier + <code>httpd.conf</code> et dans les fichiers <code>.htaccess</code>, + mais pas dans un conteneur <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Override" id="Override">Surcharge/Écrasement</a></h2> + + <p>Ce terme indique quelle autorisation de surcharge ("override") doit être + active pour que la directive puisse être traitée lorsqu'elle + apparaît dans un fichier <code>.htaccess</code>. Si le <a href="#Context">context</a> de la directive ne lui permet pas + d'apparaître dans un fichier <code>.htaccess</code>, aucun contexte + ne sera spécifié.</p> + + <p>Les autorisations de surcharge sont activées via la directive + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, et possèdent une + portée particulière, comme un répertoire et tous ses + sous-répertoires, sauf si une autre directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> apparaît à un niveau + inférieur. La documentation pour cette directive spécifie aussi les + noms d'autorisations de surcharge disponibles.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">Statut</a></h2> + + <p>Cet attribut indique le degré de rapprochement de la directive du + coeur d'Apache ; en d'autres termes, vous pouvez être amené à + recompiler le serveur avec un jeu de modules supplémentaires pour + pouvoir utiliser la directive, et ainsi accéder à ses + fonctionnalités. Les valeurs possible pour cet attribut sont :</p> + + <dl> + <dt>Core</dt> + + <dd>Lorsqu'une directive a pour statut "Core", cela signifie + qu'elle fait partie du coeur du serveur web Apache, et est de ce + fait toujours disponible.</dd> + + <dt>MPM</dt> + + <dd>Une directive dont le statut est "MPM" est fournie par un <a href="../mpm.html">module Multi-Processus</a>. Ce type de + directive sera disponible si et seulement si vous utilisez un des + MPMs spécifiés dans la ligne <a href="#Module">Module</a> de la + définition de la directive.</dd> + + <dt>Base</dt> + + <dd>Une directive dont le statut est "Base" est fournie par un des + modules Apache standards qui sont compilés dans le serveur par + défaut, et sont de ce fait toujours disponibles, sauf si vous avez + fait en sorte de les supprimer de votre configuration.</dd> + + <dt>Extension</dt> + + <dd>Une directive dont le statut est "Extension" est fournie par + un des modules inclus dans le kit du serveur Apache, mais qui ne + sont pas compilés dans le serveur par défaut. Pour activer la + directive et accéder à ses fonctionnalités, vous devez modifier + les fichiers de configuration de la compilation du serveur, et + recompiler Apache.</dd> + + <dt>Expérimental</dt> + + <dd>Le statut "Expérimental" indique que la directive fait partie + du kit Apache, mais que vous l'utilisez à vos risques et périls. + La directive est documentée à titre d'exhaustivité, et n'est pas + obligatoirement supportée. Le module qui fournit la directive peut + être compilé par défaut dans le serveur ou non ; consultez le haut + de la page qui décrit la directive et son module pour vérifier sa + disponibilité.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Module" id="Module">Module</a></h2> + + <p>Il s'agit d'une simple liste des noms des modules sources qui + fournissent la directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">Compatibilité</a></h2> + + <p>Si la directive ne faisait pas partie de la distribution + originale d'Apache version 2, la version dans laquelle elle a été + introduite est indiquée ici. Cette section indique aussi si la + directive n'est disponible que sur certaines plates-formes.</p> +</div></div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directive-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.ja.utf8 b/docs/manual/mod/directive-dict.html.ja.utf8 new file mode 100644 index 0000000..85d10a3 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.ja.utf8 @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ディレクティブの解説に使われる用語 - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a></div><div id="page-content"><div id="preamble"><h1>ディレクティブの解説に使われる用語</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>この文書は各 Apache <a href="directives.html">設定ディレクティブ</a> + を説明するために使われている用語を説明します。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">説明</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Syntax">構文</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Default">デフォルト</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Context">コンテキスト</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Override">上書き</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">ステータス</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Module">モジュール</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">互換性</a></li> +</ul><h3>参照</h3><ul class="seealso"><li><a href="../configuring.html">設定ファイル</a></li><li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">説明</a></h2> + +<p>ディレクティブの目的の簡単な説明。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Syntax" id="Syntax">構文</a></h2> + + <p>設定ファイル中のディレクティブの書式を示します。 + この構文はディレクティブ特有なので、詳細はディレクティブの説明を + 参照してください。一般的に、ディレクティブ名の後には + 空白により分割されたいくつかの引数が続きます。 + 引数が空白を含むときは二重引用符 (訳注: ") + で囲まれています。 オプショナルな引数は括弧 + (訳注: []) で囲まれています。 + 引数が複数の値を取り得る場合は、それらの値は垂直の棒 "|" + で 分割されています。 + 変更されないテキストはデフォルトのフォントで表示され、置換の必要な + 引数は<em>強調されて</em>表示されます。 + 引数の数が変わるディレクティブは最後の + 引数が繰り返されることを示すために "..." + で終わります。</p> + + <p> + ディレクティブは多くの違う型の引数をとります。いくつか、良く + 使われるものを以下で定義します。</p> + + <dl> + <dt><em>URL</em></dt> + + <dd><code>http://www.example.com/path/to/file.html</code> + のように、 + スキーム、ホスト名、パス名(省略可能)を含んでいる完全な + Uniform Resource Locator。</dd> + + <dt><em>URL-path</em></dt> + + <dd><code>/path/to/file.html</code> のように、スキームと + ホスト名の後に続く <em>url</em> + の一部。<em>url-path</em> は + ファイルシステムからの視点ではなく、 + ウェブからの視点でリソースを表現します。</dd> + + <dt><em>file-path</em></dt> + + <dd><code>/usr/local/apache/htdocs/path/to/file.html</code> + のように、 + ルートディレクトリから始まるローカルのファイルシステム上のファイルへのパス。 + 通常、スラッシュで始まらない <em>file-path</em> は <a href="core.html#serverroot">ServerRoot</a> + からの相対パスとして 扱われます。</dd> + + <dt><em>directory-path</em></dt> + + <dd><code>/usr/local/apache/htdocs/path/to/</code> + のように、 + ルートディレクトリから始まるローカルのファイルシステムのディレクトリへの + パス。</dd> + + <dt><em>filename</em></dt> + + <dd><code>file.html</code> のように、パス情報の付いていない + ファイル名。</dd> + + <dt><em>regex</em></dt> + + <dd>Perl 互換の<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>です。 + ディレクティブの定義が <em>regex</em> + が何に対してマッチを行なうのかを指定します。</dd> + + <dt><em>extension</em></dt> + + <dd>一般的には <em>filename</em> + の最後のドットの後の部分です。 しかし、Apache + は複数のファイルの拡張子を認識しますので、<em>filename</em> + に複数のドットがあると、最初のドットの後の、それぞれのドットで分離された部分が + <em>extension</em> (訳注: 拡張子) + になります。例えば、<em>filename</em> + <code>file.html.en</code> + には二つの拡張子があります。<code>.html</code> と + <code>.en</code> です。Apache + のディレクティブでは、<em>extension</em> + はドット付きでも無しでも指定できます。さらに、<em>extension</em> + は 大文字小文字を区別しません。</dd> + + <dt><em>MIME-type</em></dt> + + <dd><code>text/html</code> のように、スラッシュで分離された + 主フォーマットと副フォーマットによってファイルの形式を + 表す方法です。</dd> + + <dt><em>env-variable</em></dt> + + <dd>Apache の設定により定義される <a href="../env.html">環境変数</a>の名前です。これはオペレーティングシステムの + 環境変数と同じとは限らないことに注意してください。詳細は <a href="../env.html">環境変数の説明</a>を参照してください。</dd> + </dl> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Default" id="Default">デフォルト</a></h2> + + <p>ディレクティブにデフォルト値 + (<em>すなわち</em>、設定ファイルから + 省略されていても、Apache + ウェブサーバは特定の値に設定されているかのように + 動作します) がある場合はここに記述されます。 + デフォルト値の無い場合、ここは "<em>None</em>" と + 書かれます。ここで書かれているデフォルトはサーバと共に配布されている + デフォルトの httpd.conf + 内に書かれているディレクティブの値と + 違う可能性があることに注意してください。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Context" id="Context">コンテキスト</a></h2> + + <p> + これは、サーバの設定ファイル中のどこでディレクティブが有効なのかを示します。 + 次に示す値が一つ以上カンマ区切りで列挙されています。</p> + + <dl> + <dt>サーバ設定ファイル</dt> + + <dd>これは、サーバ設定ファイル + (<em>例えば</em>、<code>httpd.conf</code>, + <code>srm.conf</code>, <code>access.conf</code>) + 内では使用できますが、 + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> や + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> の中では + <strong>使用できない</strong>ことを示します。 + <code>.htaccess</code>ファイルでの使用は許可されていません。</dd> + + <dt>バーチャルホスト</dt> + + <dd>これは、サーバ設定ファイルの + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + の中で使用できることを示します。</dd> + + <dt>ディレクトリ</dt> + + <dd>これは、サーバ設定ファイルの + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, + <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, + <code class="directive"><a href="../mod/core.html#if"><If></a></code>, + <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> + コンテナの中で、 <a href="../sections.html">設定セクション</a> + で説明されている制限の下で使用できることを示します。</dd> + + <dt>.htaccess</dt> + + <dd>これは、ディレクトリ<em>毎</em>の + <code>.htaccess</code> ファイル内で + 使用可能であることを示します。 ただ、<a href="#Override">上書き</a> + の設定によっては、処理されないかもしれません。</dd> + </dl> + + <p> + ディレクティブは指示されたコンテキストで<em>のみ</em>許可されます。 + 他の場所で使おうとすると、サーバがそのコンテキストを正しく扱えなく + なるような設定エラーが発生するか、サーバがまったく動作しなくなる、 + <em>すなわち</em>、サーバが起動しなくなるということになります。</p> + + <p> + ディレクティブの有効な位置は、実際は挙げられているコンテキストの + 論理和 (訳注: Boolen OR) + になります。言い換えると、 + "<code>サーバ設定ファイル、.htaccess</code>" で有効だと + 記されているディレクティブは <code>httpd.conf</code> + ファイルと <code>.htaccess</code> + ファイルとで有効ですが、 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + や <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + の中では使用できません。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Override" id="Override">上書き</a></h2> + + <p>このディレクティブの属性は、<code>.htaccess</code> + ファイル中に + ディレクティブが現れたときに、それの処理を有効にするために + どの設定の上書きが必要かを示します。 ディレクティブの + <a href="#Context">コンテキスト</a> + が、<code>.htaccess</code> + ファイル中では許可していない場合は、 この属性は + "<em>適用不可</em>" と書かれます。</p> + + <p>上書きは、<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + ディレクティブによって有効にされ、 + 特定のスコープ(ディレクトリなど)と、 + さらに下位のレベルの <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + で修正されない限り、 その配下に対して適用されます。 + ディレクティブのドキュメントは取り得る上書きの名前も挙げます。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">ステータス</a></h2> + + <p>これはディレクティブが Apache + ウェブサーバにどれくらいきつく組み込まれているかを + 示します。言い換えれば、ディレクティブとその機能を利用するために、 + モジュールの数を増やして、サーバを再コンパイルする必要があるかもしれない + ということを示します。 + この属性が取り得る値は以下のものです:</p> + + <dl> + <dt>Core</dt> + + <dd>"Core" のディレクティブは Apache + ウェブサーバの基本となるべきものであり、 + 常に使用可能であることを示します。</dd> + + <dt>MPM</dt> + + <dd>"MPM" のディレクティブは<a href="../mpm.html">マルチプロセッシングモジュール</a>で提供されています。 + この種類のディレクティブはディレクティブの定義の<a href="#Module">モジュール</a>の行に使っているモジュールの名前が書かれている + 場合にのみ使用可能です。</dd> + + <dt>Base</dt> + + <dd>"Base" のディレクティブは + デフォルトでサーバに組み込まれている標準モジュールの中の一つでサ + ポートされていて、わざわざ設定からモジュールを削除したときを除いて、 + 通常では使用可能であることを示します。</dd> + + <dt>Extension</dt> + + <dd>"Extension" のディレクティブは、 Apache + サーバの配布物に同梱されているモジュールの一つで提供されているものの、 + 通常ではサーバに組み込まれていないことを示します。 + ディレクティブとその機能を有効にするには、サーバビルド用の設定ファイルを + 変更して Apache + を再コンパイルする必要があります。</dd> + + <dt>Experimental</dt> + + <dd>"Experimental" のディレクティブは、Apache + 配布物に + 同梱されているものの、試したい場合は自己責任で行なう + 必要があるということを示します。ディレクティブは、すべてのドキュメントを + 完全にそろわせるために解説されていますが、サポートされているとは限りません。 + ディレクティブを提供するモジュールはデフォルトで組み込まれているかも + しれませんし、そうでないかもしれません。使用可能かどうかは、 + ディレクティブとモジュールの説明をしているページの先頭を調べてください。</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Module" id="Module">モジュール</a></h2> + + <p> + これは単純にディレクティブが定義されているモジュールの名前を記載します。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">互換性</a></h2> + + <p>ディレクティブが Apache 2 + の配布に組み込まれていなかった場合、 + ディレクティブが導入されたバージョンがここに書かれています。 + また、ディレクティブが特定のプラットフォームにのみ存在するときも + ここに書かれています。</p> +</div></div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directive-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.ko.euc-kr b/docs/manual/mod/directive-dict.html.ko.euc-kr new file mode 100644 index 0000000..78a8330 --- /dev/null +++ b/docs/manual/mod/directive-dict.html.ko.euc-kr @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>þ ϴµ - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>þ ϴµ </h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> + + <p> ġ <a href="directives.html"> + þ</a> ϴµ Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description"> (Description)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Syntax"> (Syntax)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Default">⺻ (Default)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Context"> (Context)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Override">Override ɼ (Override)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status"> (Status)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Module"> (Module)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility"> (Compatibility)</a></li> +</ul><h3></h3><ul class="seealso"><li><a href="../configuring.html"></a></li><li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description"> (Description)</a></h2> + +<p>þ .</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Syntax" id="Syntax"> (Syntax)</a></h2> + + <p>Ͽ þ ˷ش. + þ ſ ٸ, þ ڼ Ѵ. + Ϲ þ ̸ ڿ ƱԸƮ + ´. ƱԸƮ Ѵٸ ƱԸƮ ֵǥ + Ѵ. ƱԸƮ ߰ȣ ´. ƱԸƮ + ϳ "|" Ѵ. + ڱ״ κ ⺻ ü , ü ƱԸƮ + <em>Ѵ</em>. ƱԸƮ þ + ƱԸƮ ݺ Ÿ "..." .</p> + + <p>þ ſ پ ƱԸƮ ´. + ϴ Ʒ .</p> + + <dl> + <dt><em>URL</em></dt> + + <dd><code>http://www.example.com/path/to/file.html</code> + Ŵ(scheme), ȣƮ, θ + Uniform Resource Locator</dd> + + <dt><em>URL-path</em></dt> + + <dd><code>/path/to/file.html</code> <em>url</em> + Ŵ ȣƮ ڿ κ. <em>url-path</em> + Ͻýۿ ƴ ڷḦ + Ÿ.</dd> + + <dt><em>file-path</em></dt> + + <dd><code>/usr/local/apache/htdocs/path/to/file.html</code> + root 丮 ϴ Ͻýۻ . + , <em>file-path</em> + <a href="core.html#serverroot">ServerRoot</a> η + Ѵ.</dd> + + <dt><em>directory-path</em></dt> + + <dd><code>/usr/local/apache/htdocs/path/to/</code> + root 丮 ϴ Ͻýۻ 丮 .</dd> + + <dt><em>filename</em></dt> + + <dd><code>file.html</code> ϸ.</dd> + + <dt><em>regex</em></dt> + + <dd>Perl <a href="../glossary.html#regex">ǥ(regular + expression)</a>. þ <em>regex</em> ΰ ˻Ѵ.</dd> + + <dt><em>extension</em></dt> + + <dd>Ϲ <em>filename</em> ħǥ ڿ + κ̴. ġ Ȯڸ ν + ֱ, <em>filename</em> ħǥ Ե + ħǥ е κ <em>Ȯ(extension)</em> + óѴ. , <em>ϸ</em> <code>file.html.en</code> + <code>.html</code> <code>.en</code>̶ ΰ Ȯڸ + . ġ þ <em>extension</em> + տ ħǥ ־ ǰ ȴ. , + <em>extension</em> ҹڸ ʴ´.</dd> + + <dt><em>MIME-type</em></dt> + + <dd><code>text/html</code> major format + type minor format type Ͽ ϴ + .</dd> + + <dt><em>env-variable</em></dt> + + <dd>ġ <a href="../env.html">ȯ溯</a> + ̸. ü ȯ溯 ٸ ϶. ڼ + <a href="../env.html">ȯ溯 </a> ϶.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Default" id="Default">⺻ (Default)</a></h2> + + <p>þ ⺻ ִٸ (<em> </em>, + þ ġ Ѵ.) + ´. ⺻ ٸ + "<em>None</em>"̾ Ѵ. ⺻ Ե ⺻ + httpd.conf þ ٸ ϶.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Context" id="Context"> (Context)</a></h2> + + <p> þ ִ + ˷ش. ǥ ̴:</p> + + <dl> + <dt>ּ (server config)</dt> + + <dd>þ Ͽ (<em> </em>, + <code>httpd.conf</code>) , <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + <strong></strong> Ѵ. þ + <code>.htaccess</code> Ͽ .</dd> + + <dt>ȣƮ (virtual host)</dt> + + <dd>þ <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ȿ + Ѵ.</dd> + + <dt>丮 (directory)</dt> + + <dd>þ <a href="../sections.html"> </a> + , <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> + Ѵ.</dd> + + <dt>.htaccess</dt> + + <dd>þ 丮<em></em> <code>.htaccess</code> + Ͽ Ѵ. þ ϴ + <a href="#Override">overrides</a> õ + ִ.</dd> + </dl> + + <p>þ ҿ<em></em> ִ. ٸ + ϸ ϰ κп û + ùٷ ó ϰų ۵, <em> </em> , + ȵ ִ.</p> + + <p>þ ִ Ҵ Ҹ + Ҹ(boolean) OR ̴. , + "<code>server config, .htaccess</code>" ϴٴ + þ <code>httpd.conf</code> ϰ <code>.htaccess</code> + Ͽ , <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> .</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Override" id="Override">Override ɼ (Override)</a></h2> + + <p> þ <code>.htaccess</code> Ͽ Ϸ + override ɼ ؾ ϴ Ÿ. þ + <a href="#Context"></a> þ <code>.htaccess</code> + Ͽ ٰ Ѵٸ ҵ + ʴ´.</p> + + <p>Overrides <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> þ ϰ, + (丮 ) Ư ٸ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> þ ٸ + ʾҴٸ ״ ȴ. þ + 밡 override ̸ ´.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status"> (Status)</a></h2> + + <p>þ ġ ִ + Ÿ. , þ ϱ + ٽ ʿ䰡 ִ. + :</p> + + <dl> + <dt>Core</dt> + + <dd>þ "Core" ¸ , þ ġ + ٽɺκп ϰ 밡 Ѵ.</dd> + + <dt>MPM</dt> + + <dd>"MPM" þ <a href="../mpm.html">ó + </a> Ѵ. ̷ þ þ <a href="#Module"></a> ŵ MPM ϳ Ҷ + ϴ.</dd> + + <dt>Base</dt> + + <dd>⺻ ϵǹǷ + ʾҴٸ Ϲ 밡 ǥ ġ + ϴ þ "Base" ̴.</dd> + + <dt>Extension</dt> + + <dd>ġ Ե + ϵʴ ϴ þ "Extension" ̴. + ̷ þ Ϸ ϰ + ġ ٽ ؾ Ѵ.</dd> + + <dt>Experimental</dt> + + <dd>"Experimental" þ ġ Ե, + ڽ å Ÿ. þ ȭ, + ٸ ִ. þ ϴ ⺻ + ġ ϵ ȵ ִ. þ + ϴ տ ִ .</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Module" id="Module"> (Module)</a></h2> + + <p>ܼ þ ҽ Ѵ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility"> (Compatibility)</a></h2> + + <p>þ ġ 2 Ϻΰ ƴϿٸ, + þ ߰ϱ ´. , + ÷ 밡 þ ´.</p> +</div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directive-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directive-dict.html.tr.utf8 b/docs/manual/mod/directive-dict.html.tr.utf8 new file mode 100644 index 0000000..c8d315e --- /dev/null +++ b/docs/manual/mod/directive-dict.html.tr.utf8 @@ -0,0 +1,305 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Yönergeleri Tanımlamakta Kullanılan Terimler - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Yönergeleri Tanımlamakta Kullanılan Terimler</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belgede Apache <a href="directives.html">yapılandırma + yönergeler</a>ini tanımlamakta kullanılan terimler açıklanmıştır.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Açıklama</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Syntax">Sözdizimi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Default">Öntanımlı</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Context">Bağlam</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Override">Geçersizleştirme</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">Durum</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Module">Modül</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Uyumluluk</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../configuring.html">Yapılandırma dosyaları</a></li><li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">Açıklama</a></h2> + +<p>Yönergenin kullanım amacının kısa bir açıklaması.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Syntax" id="Syntax">Sözdizimi</a></h2> + + <p>Yönergenin bir yapılandırma dosyasında hangi söz dizimiyle + görünebileceği belirtilir. Bu sözdizimi yönergeye özeldir ve ayrıntıları + yönerge tanımında açıklanır. Genelde yönerge ismini aralarında boşluklar + bırakılmış bir dizi argüman izler. Eğer argümanlardan biri kendi içinde + boşluk içeriyorsa çift tırnak içine alınır. İsteğe bağlı argümanlar + sözdiziminde köşeli ayraçların arasında gösterilmiştir. Birden fazla + olası değeri olan argümanlarda değerler aralarına | karakteri konarak + ayrılmıştır. Değerin yerine ismi belirtilen argümanlarda bu isimler + <em>eğik</em> yazılırken, kendisi değer olan dizgeler öntanımlı yazıtipi + ile gösterilmiştir. Değişik sayıda argüman alan yönergelerde bu durum son + argümanı takibeden “...” ile belirtilmiştir.</p> + + <p>Yönergelerde kullanılan argüman türleri çok çeşitlidir. Çok + kullanılanlardan bazıları aşağıda tanımlanmıştır.</p> + + <dl> + <dt><em>URL</em></dt> + + <dd><code>http://host.example.com/yol/yordam/dosya.html</code> + örneğindeki gibi protokol şeması ve konak ismini isteğe bağlı bir dosya + yolunun izlediği, açılımı “Uniform Resource Locator” olan ve Türkçe’ye + “Tektip Özkaynak Konumlayıcı” şeklinde çevrilebilecek adresleri + betimler.</dd> + + <dt><em>URL-yolu</em></dt> + + <dd><code>/yol/yordam/dosya.html</code> örneğindeki gibi bir + <em>url</em>’nin parçası olarak protokol şeması ve konak ismini izleyen + bir yol dizgesini betimler. <em>url-yolu</em>, bir dosya sisteminin kök + dizinine göre değil, <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + ile belirtilen dizine göre bir dosya yolu betimler.</dd> + + <dt><em>dosya-yolu</em></dt> + + <dd><code>/usr/local/apache/htdocs/yol/yordam/dosya.html</code> + örneğindeki gibi yerel dosya sisteminin kök dizini ile başlayan bir + dosya yolunu betimler. Aksi belirtilmedikçe, bir / ile başlamayan bir + <em>dosya-yolu</em> <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> ile + belirtilen dizine göre ele alınır.</dd> + + <dt><em>dizin-yolu</em></dt> + + <dd><code>/usr/local/apache/htdocs/yol/yordam/</code> örneğindeki gibi + kök dizin ile başlayan, yerel dosya sistemindeki bir dizin yolunu + betimler.</dd> + + <dt><em>dosya-ismi</em></dt> + + <dd><code>dosya.html</code> örneğindeki gibi dizin yolu içermeyen bir + dosya ismini betimler.</dd> + + <dt><em>düzifd</em></dt> + + <dd>Bir Perl uyumlu <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> + betimler. Yönerge tanımında <em>düzifd</em> ile eşleşenler argüman + olarak ele alınır.</dd> + + <dt><em>uzantı</em></dt> + + <dd>Bu genelde, <em>dosya-ismi</em>’nin bir parçası olarak son noktadan + sonraki kısmı betimler. Bununla birlikte, Apache çok sayıda nokta + içeren dosya isimlerinde ilk noktadan sonrasını <em>uzantı</em> kabul + eden çoklu dosya ismi uzantılarını da tanır. Örneğin, <em>dosya- + ismi</em> olarak <code>dosya.html.tr</code> değeri iki uzantı içerir: + <code>.html</code> ve <code>.tr</code>. Apache yönergelerinde + <em>uzantı</em>’ları başında noktası olmaksızın da belirtebilirsiniz. + Ayrıca, <em>uzantı</em>’lar harf büyüklüğüne de duyarlı değildir.</dd> + + <dt><em>MIME-türü</em></dt> + + <dd>Dosya biçiminin, <code>text/html</code> örneğindeki gibi aralarına + bir / konulmuş asıl ve alt biçimler şeklinde açıklandığı yönteme göre + belirtileceğini betimler.</dd> + + <dt><em>ortam-değişkeni</em></dt> + + <dd>Apache yapılandırma sürecinde tanımlanmış bir <a href="../env.html">ortam değişkeni</a>nin ismini betimler. Daha + ayrıntılı bilgi için <a href="../env.html">ortam değişkenleri + belgesi</a>ne bakınız.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Default" id="Default">Öntanımlı</a></h2> + + <p>Eğer yönerge öntanımlı bir değere sahipse o burada belirtilir (öntanımlı + değer, yönergede kullanıcı tarafından belirtilmediği halde Apache + tarafından belirtildiği varsayılarak işlem yapılan değerdir). Eğer + öntanımlı bir değer yoksa bu bölümde bu durum “<em>Yok</em>” şeklinde + belirtilir. Burada belirtilen öntanımlı değerin sunucu ile dağıtılan + öntanımlı httpd.conf içindeki yönergede kullanılan değerle aynı olmasının + gerekmediğine dikkat ediniz.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Context" id="Context">Bağlam</a></h2> + + <p>Yönergenin sunucunun yapılandırma dosyalarının nerelerinde meşru kabul + edildiği aşağıdaki değerlerin virgül ayraçlı bir listesi halinde burada + belirtilir.</p> + + <dl> + <dt>sunucu geneli</dt> + + <dd>Yönergenin sunucunun (<code>httpd.conf</code> gibi) yapılandırma + dosyalarında <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ve <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümleri <strong>dışında</strong> + her yerde kullanılabileceğini belirtir. Ayrıca, <code>.htaccess</code> + dosyalarında bulunmasına da izin verilmez.</dd> + + <dt>sanal konak</dt> + + <dd>Yönergenin sunucunun yapılandırma dosyalarının sadece <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümlerinde + kullanıldığında geçerli kabul edileceğini belirtir.</dd> + + <dt>dizin</dt> + + <dd>Yönergenin sunucunun yapılandırma dosyalarında sadece <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#if"><If></a></code> ve <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> bölümlerinde + kullanıldığında geçerli kabul edileceğini belirtir. Bu bağlama konu + sınırlamaların çerçevesi <a href="../sections.html">Yapılandırma + Bölümleri</a> içinde çizilmiştir.</dd> + + <dt>.htaccess</dt> + + <dd>Bu bağlamda geçerli olacağı kabul edilen bir yönerge sadece dizin içi + <code>.htaccess</code> dosyalarında görüldüğü zaman işleme sokulur. + Üzerinde bir <a href="#Override">geçersizleştirme</a> etkin kılınmışsa + yönerge her şeye rağmen işleme sokulmayabilir.</dd> + </dl> + + <p>Yönergeye <em>sadece</em> tasarlandığı bağlam içinde izin verilir; başka + bir yerde kullanmayı denerseniz ya sunucunun bu bağlamı doğru şekilde + işlemesine engel olan ya da sunucunun tamamen işlevsiz kalmasına sebep + olan -- sunucu hiç başlatılamayabilir -- bir yapılandırma hatası + alırsınız.</p> + + <p>Yönergenin geçerli olacağı konumlar, aslında, listelenen bağlamların + tamamına mantıksal VEYA uygulanarak bulunur. Başka bir deyişle, bir + yönergenin geçerli olacağı yerler "<code>sunucu geneli, .htaccess</code>" + şeklinde belirtilmişse yönerge <code>httpd.conf</code> dosyasında ve + <code>.htaccess</code> dosyalarında, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> veya <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümleri haricinde her yerde + kullanılabilir.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Override" id="Override">Geçersizleştirme</a></h2> + + <p>Bir <code>.htaccess</code> dosyasında göründüğü takdirde yönerge + işlenirken hangi yapılandırma geçersizleşirmesinin etkin olacağı burada + belirtilir. Eğer yönerge <a href="#Context">bağlam</a>ının + <code>.htaccess</code> dosyalarında görünmesine izin verilmiyorsa hiçbir + bağlam listelenmez.</p> + + <p>Geçersizleştirmeler <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + yönergesi tarafından etkinleştirilir ve belli bir bağlama ve alt + seviyelerde başka <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> + yönergeleri ile değiştirilmedikçe tüm çocuklarına uygulanır. Yönergenin + belgesinde ayrıca kullanılabilecek tüm olası geçersizleştirme isimleri + belirtilir.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">Durum</a></h2> + + <p>Yönergenin Apache HTTP sunucusuna ne kadar sıkı bağlı olduğunu belirtir. + Başka bir deyişle, yönergeye ve işlevselliğine erişim kazanmak için + sunucuyu belli bir modül kümesiyle yeniden derlemek gerekip gerekmediği + ile ilgili durumu belirtir. Bu özniteliğin olası değerleri şunlardır:</p> + + <dl> + <dt>Çekirdek</dt> + + <dd>Eğer bir yönerge “Çekirdek” durumuna sahip olarak listelenmişse bu, + yönergenin Apache HTTP sunucusunun en iç kısımlarının bir parçası + olduğu ve daima kullanılabilir olacağı anlamına gelir.</dd> + + <dt>MPM</dt> + + <dd>“MPM” durumuna sahip bir yönerge <a href="../mpm.html">Çok Süreklilik + Modülü</a> tarafından sağlanır. Bu yönerge türü sadece ve sadece + yönerge tanımının <a href="#Module">Modül</a> satırında listelenmiş + MPM’lerden birini kullanıyorsanız mevcut olacaktır.</dd> + + <dt>Temel</dt> + + <dd>“Temel” durumuna sahip bir yönerge, sunucuda öntanımlı derlenmiş + standart Apache modüllerinden biri tarafından destekleniyor demektir. + Bu nedenle sunucuyu derlemek için yapılandırırken yönergeyi içeren + modülü yapılandırmadan özellikle kaldırmazsanız yönerge normal olarak + kullanılabilir olacaktır.</dd> + + <dt>Eklenti</dt> + + <dd>“Eklenti” durumuna sahip bir yönerge, Apache sunucu kitinde bulunan + ancak normalde sunucuyla birlikte derlenmeyen modüllerden biri + tarafından sağlanır. Yönergeyi ve işlevselliğini etkin kılmak için + sunucunun derleme öncesi paket yapılandırması sırasında modülün + derleneceğini açıkça belirttikten sonra gerekirse sunucuyu yeniden + derlemeniz gerekir.</dd> + + <dt>Deneysel</dt> + + <dd>“Deneysel” durumuna sahip bir yönerge, Apache sunucu kitinde bulunan + modüllerden biri tarafından sağlanır ve modülün denenmesi tamamen sizin + insiyatifinize bırakılır. Böyle bir yönerge her şeyiyle belgelenmiştir + fakat gerektiği gibi desteklenmemiştir. Yönergeyi içeren modül + öntanımlı olarak sunucuyla birlikte derlenebileceği gibi + derlenmeyebilir de; bunun için yönergenin açıklandığı sayfanın başına + ve kullanılabilirliği hakkında bilgi edinmek için yönergeyi içeren + modüle bakın.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Module" id="Module">Modül</a></h2> + + <p>Burada sadece yönergeyi tanımlayan kaynak modülün ismi yazılır.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">Uyumluluk</a></h2> + + <p>Eğer yönerge Apache’nin 2. sürüm dağıtımının özgün parçası değilse söz + konusu sürüm burada belirtilir. Ayrıca, yönergenin kullanımı belli + platformlarla sınırlıysa bunun ayrıntıları da burada belirtilir.</p> +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directive-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directive-dict.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directive-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html b/docs/manual/mod/directives.html new file mode 100644 index 0000000..e23c193 --- /dev/null +++ b/docs/manual/mod/directives.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: directives.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: directives.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: directives.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: directives.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: directives.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: directives.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: directives.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: directives.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/directives.html.de b/docs/manual/mod/directives.html.de new file mode 100644 index 0000000..2f026d3 --- /dev/null +++ b/docs/manual/mod/directives.html.de @@ -0,0 +1,807 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Verzeichnis der Direktiven - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div><div id="preamble"><h1>Verzeichnis der Direktiven</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/directives.html" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + Hier sind alle Apache-Direktiven aufgeführt, die in der + Standard-Apache-Distribution verfügbar sind. Sie sind in + einem einheitlichen Format beschrieben. Ein <a href="directive-dict.html" rel="Glossary">Glossar</a> + erläutert die in der Beschreibung verwendeten Begriffe. + </p> + + <p> + Außerdem existiert eine <a href="quickreference.html">Kurzreferenz der Direktiven</a>, welche + zu jeder Direktive eine Zusammenfassung der Details enthält. + </p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/directives.html" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html.en b/docs/manual/mod/directives.html.en new file mode 100644 index 0000000..26924e4 --- /dev/null +++ b/docs/manual/mod/directives.html.en @@ -0,0 +1,808 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Directive Index - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div><div id="preamble"><h1>Directive Index</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + Each Apache directive available in the standard Apache + distribution is listed here. They are described using a + consistent format, and there is <a href="directive-dict.html" rel="Glossary">a dictionary</a> of the terms used in their + descriptions available. + </p> + + <p> + A <a href="quickreference.html">Directive Quick-Reference</a> + is also available giving details about each directive in a + summary form. + </p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html.es b/docs/manual/mod/directives.html.es new file mode 100644 index 0000000..d825016 --- /dev/null +++ b/docs/manual/mod/directives.html.es @@ -0,0 +1,810 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Índice de Directivas - Servidor HTTP Apache Versión 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p> +<p class="apache">Versión 2.4 del Servidor HTTP Apache</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.4</a> > <a href="./">Módulos</a></div><div id="preamble"><h1>Índice de Directivas</h1> +<div class="toplang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + Todas las directivas disponibles en la distribución + estándar de Apache están en la lista que se muestra más + abajo. Cada una se describe usando un formato uniforme, y existe + un <a href="directive-dict.html" rel="Glossary">glosario</a> + de los términos usados en las descripciones que puede + consultar. + </p> + + <p> + También existe una <a href="quickreference.html">Guía Rápida de + Referencia de Directivas</a> con información de cada + directiva de forma resumida. + </p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comentarios</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html.fr.utf8 b/docs/manual/mod/directives.html.fr.utf8 new file mode 100644 index 0000000..bc136b6 --- /dev/null +++ b/docs/manual/mod/directives.html.fr.utf8 @@ -0,0 +1,808 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Index des directives - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div><div id="preamble"><h1>Index des directives</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + Toutes les directives Apache disponibles dans la distribution standard + d'Apache sont référencées ici. Elles sont décrites en utilisant un + format normalisé, et <a href="directive-dict.html" rel="Glossary">un dictionnaire</a> des termes utilisés dans leurs + descriptions est disponible. + </p> + + <p> + Un <a href="quickreference.html">Document de référence rapide des directives</a> + est également disponible. Il donne des détails à propos de chaque directive + sous une forme abrégée. + </p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html.ja.utf8 b/docs/manual/mod/directives.html.ja.utf8 new file mode 100644 index 0000000..085955d --- /dev/null +++ b/docs/manual/mod/directives.html.ja.utf8 @@ -0,0 +1,805 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ディレクティブ一覧 - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div><div id="preamble"><h1>ディレクティブ一覧</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + 標準 Apache 配布にあるすべての Apache のディレクティブの一覧です。 + これらは一貫した形式で書かれていて、使われている用語の + <a href="directive-dict.html" rel="Glossary">用語集</a> も用意されています。 + </p> + <p> + 各ディレクティブの概要を説明した <a href="quickreference.html">ディレクティブクイックリファレンス</a>も + あります。 + </p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html.ko.euc-kr b/docs/manual/mod/directives.html.ko.euc-kr new file mode 100644 index 0000000..4b6fb51 --- /dev/null +++ b/docs/manual/mod/directives.html.ko.euc-kr @@ -0,0 +1,805 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>þ - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div><div id="preamble"><h1>þ </h1> +<div class="toplang"> +<p><span> : </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + ǥ ġ 밡 þ ̴. + ̵ Ͽ, + <a href="directive-dict.html" rel="Glossary"></a> ִ. + </p> + + <p> + þ Ͽ <a href="quickreference.html">þ </a> ִ. + </p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span> : </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html.tr.utf8 b/docs/manual/mod/directives.html.tr.utf8 new file mode 100644 index 0000000..07d8ca4 --- /dev/null +++ b/docs/manual/mod/directives.html.tr.utf8 @@ -0,0 +1,804 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Yönerge Dizini - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div><div id="preamble"><h1>Yönerge Dizini</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>Standart Apache dağıtımında bulunan yönergelerin tamamı burada + listelenmiştir. Hepsi aralarında şekilsel bir uyum sağlanarak + açıklanmışlardır. Açıklamalarında kullanılan terimler için <a href="directive-dict.html" rel="Glossary">Yönerge Sözlüğü</a>ne + bakabilirsiniz.</p> + + <p>Ayrıca, yönerge ayrıntılarının bir özet olarak listelendiği bir + <a href="quickreference.html">Hızlı Yönerge Kılavuzu</a> da + mevcuttur.</p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/directives.html.zh-cn.utf8 b/docs/manual/mod/directives.html.zh-cn.utf8 new file mode 100644 index 0000000..cc9c789 --- /dev/null +++ b/docs/manual/mod/directives.html.zh-cn.utf8 @@ -0,0 +1,803 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>指令索引 - Apache HTTP 服务器 版本 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"><div id="page-header"> +<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p> +<p class="apache">Apache HTTP 服务器版本 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.4</a> > <a href="./">模块</a></div><div id="preamble"><h1>指令索引</h1> +<div class="toplang"> +<p><span>可用语言: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + 每个在 Apache 标准发行版中可用的指令都列在这里。它们使用一致的格式描述,而且有<a href="directive-dict.html" rel="Glossary">术语字典</a>。 + </p> + + <p> + <a href="quickreference.html">指令快速参考</a>用来以摘要的形式提供有关每个指令的详细信息。 + </p> + +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +</div> +<div id="directive-list"><ul> +<li><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter</a></li> +<li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li> +<li><a href="core.html#accessfilename">AccessFileName</a></li> +<li><a href="mod_actions.html#action">Action</a></li> +<li><a href="mod_autoindex.html#addalt">AddAlt</a></li> +<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li> +<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li> +<li><a href="mod_mime.html#addcharset">AddCharset</a></li> +<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li> +<li><a href="mod_autoindex.html#adddescription">AddDescription</a></li> +<li><a href="mod_mime.html#addencoding">AddEncoding</a></li> +<li><a href="mod_mime.html#addhandler">AddHandler</a></li> +<li><a href="mod_autoindex.html#addicon">AddIcon</a></li> +<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li> +<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li> +<li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li> +<li><a href="mod_mime.html#addlanguage">AddLanguage</a></li> +<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li> +<li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li> +<li><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><a href="mod_mime.html#addtype">AddType</a></li> +<li><a href="mod_alias.html#alias">Alias</a></li> +<li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li> +<li><a href="mod_access_compat.html#allow">Allow</a></li> +<li><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT</a></li> +<li><a href="core.html#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><a href="mod_allowmethods.html#allowmethods">AllowMethods</a></li> +<li><a href="core.html#allowoverride">AllowOverride</a></li> +<li><a href="core.html#allowoverridelist">AllowOverrideList</a></li> +<li><a href="mod_authn_anon.html#anonymous">Anonymous</a></li> +<li><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +<li><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></li> +<li><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></li> +<li><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +<li><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +<li><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></li> +<li><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li> +<li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li> +<li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></li> +<li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li> +<li><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize</a></li> +<li><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></li> +<li><a href="mod_auth_form.html#authformbody">AuthFormBody</a></li> +<li><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><a href="mod_auth_form.html#authformlocation">AuthFormLocation</a></li> +<li><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><a href="mod_auth_form.html#authformmethod">AuthFormMethod</a></li> +<li><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype</a></li> +<li><a href="mod_auth_form.html#authformpassword">AuthFormPassword</a></li> +<li><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></li> +<li><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><a href="mod_auth_form.html#authformsize">AuthFormSize</a></li> +<li><a href="mod_auth_form.html#authformusername">AuthFormUsername</a></li> +<li><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></li> +<li><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></li> +<li><a href="mod_authz_core.html#authmerging">AuthMerging</a></li> +<li><a href="mod_authn_core.html#authname">AuthName</a></li> +<li><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext</a></li> +<li><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></li> +<li><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></li> +<li><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></li> +<li><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +<li><a href="mod_authn_core.html#authtype">AuthType</a></li> +<li><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></li> +<li><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery</a></li> +<li><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +<li><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></li> +<li><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias></a></li> +<li><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth</a></li> +<li><a href="mod_proxy.html#balancerinherit">BalancerInherit</a></li> +<li><a href="mod_proxy.html#balancermember">BalancerMember</a></li> +<li><a href="mod_proxy.html#balancerpersist">BalancerPersist</a></li> +<li><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag</a></li> +<li><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote</a></li> +<li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li> +<li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><a href="mod_log_config.html#bufferedlogs">BufferedLogs</a></li> +<li><a href="mod_buffer.html#buffersize">BufferSize</a></li> +<li><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire</a></li> +<li><a href="mod_cache.html#cachedetailheader">CacheDetailHeader</a></li> +<li><a href="mod_cache_disk.html#cachedirlength">CacheDirLength</a></li> +<li><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></li> +<li><a href="mod_cache.html#cachedisable">CacheDisable</a></li> +<li><a href="mod_cache.html#cacheenable">CacheEnable</a></li> +<li><a href="mod_file_cache.html#cachefile">CacheFile</a></li> +<li><a href="mod_cache.html#cacheheader">CacheHeader</a></li> +<li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><a href="mod_cache.html#cachelock">CacheLock</a></li> +<li><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge</a></li> +<li><a href="mod_cache.html#cachelockpath">CacheLockPath</a></li> +<li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li> +<li><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><a href="mod_cache.html#cacheminexpire">CacheMinExpire</a></li> +<li><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></li> +<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><a href="mod_cache.html#cachequickhandler">CacheQuickHandler</a></li> +<li><a href="mod_cache_disk.html#cachereadsize">CacheReadSize</a></li> +<li><a href="mod_cache_disk.html#cachereadtime">CacheReadTime</a></li> +<li><a href="mod_cache_disk.html#cacheroot">CacheRoot</a></li> +<li><a href="mod_cache_socache.html#cachesocache">CacheSocache</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></li> +<li><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError</a></li> +<li><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired</a></li> +<li><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore</a></li> +<li><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate</a></li> +<li><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><a href="core.html#cgimapextension">CGIMapExtension</a></li> +<li><a href="core.html#cgipassauth">CGIPassAuth</a></li> +<li><a href="core.html#cgivar">CGIVar</a></li> +<li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li> +<li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li> +<li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li> +<li><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></li> +<li><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></li> +<li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li> +<li><a href="mod_unixd.html#chrootdir">ChrootDir</a></li> +<li><a href="core.html#contentdigest">ContentDigest</a></li> +<li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li> +<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li> +<li><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></li> +<li><a href="mod_usertrack.html#cookiename">CookieName</a></li> +<li><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></li> +<li><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></li> +<li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li> +<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li> +<li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mod_log_config.html#customlog">CustomLog</a></li> +<li><a href="mod_dav.html#dav" id="D" name="D">Dav</a></li> +<li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li> +<li><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdb">DavLockDB</a></li> +<li><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery</a></li> +<li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li> +<li><a href="mod_dbd.html#dbdexptime">DBDExptime</a></li> +<li><a href="mod_dbd.html#dbdinitsql">DBDInitSQL</a></li> +<li><a href="mod_dbd.html#dbdkeep">DBDKeep</a></li> +<li><a href="mod_dbd.html#dbdmax">DBDMax</a></li> +<li><a href="mod_dbd.html#dbdmin">DBDMin</a></li> +<li><a href="mod_dbd.html#dbdparams">DBDParams</a></li> +<li><a href="mod_dbd.html#dbdpersist">DBDPersist</a></li> +<li><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></li> +<li><a href="mod_dbd.html#dbdriver">DBDriver</a></li> +<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li> +<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li> +<li><a href="core.html#defaultruntimedir">DefaultRuntimeDir</a></li> +<li><a href="core.html#defaulttype">DefaultType</a></li> +<li><a href="core.html#define">Define</a></li> +<li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li> +<li><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li> +<li><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li> +<li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li> +<li><a href="mod_access_compat.html#deny">Deny</a></li> +<li><a href="core.html#directory"><Directory></a></li> +<li><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li> +<li><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><a href="core.html#directorymatch"><DirectoryMatch></a></li> +<li><a href="mod_dir.html#directoryslash">DirectorySlash</a></li> +<li><a href="core.html#documentroot">DocumentRoot</a></li> +<li><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges</a></li> +<li><a href="mod_dumpio.html#dumpioinput">DumpIOInput</a></li> +<li><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput</a></li> +<li><a href="core.html#else" id="E" name="E"><Else></a></li> +<li><a href="core.html#elseif"><ElseIf></a></li> +<li><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><a href="core.html#enablemmap">EnableMMAP</a></li> +<li><a href="core.html#enablesendfile">EnableSendfile</a></li> +<li><a href="core.html#error">Error</a></li> +<li><a href="core.html#errordocument">ErrorDocument</a></li> +<li><a href="core.html#errorlog">ErrorLog</a></li> +<li><a href="core.html#errorlogformat">ErrorLogFormat</a></li> +<li><a href="mod_example_hooks.html#example">Example</a></li> +<li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li> +<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li> +<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li> +<li><a href="core.html#extendedstatus">ExtendedStatus</a></li> +<li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li> +<li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li> +<li><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource</a></li> +<li><a href="core.html#fileetag">FileETag</a></li> +<li><a href="core.html#files"><Files></a></li> +<li><a href="core.html#filesmatch"><FilesMatch></a></li> +<li><a href="mod_filter.html#filterchain">FilterChain</a></li> +<li><a href="mod_filter.html#filterdeclare">FilterDeclare</a></li> +<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li> +<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li> +<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li> +<li><a href="core.html#flushmaxpipelined">FlushMaxPipelined</a></li> +<li><a href="core.html#flushmaxthreshold">FlushMaxThreshold</a></li> +<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><a href="core.html#forcetype">ForceType</a></li> +<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li> +<li><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog</a></li> +<li><a href="core.html#gprofdir">GprofDir</a></li> +<li><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><a href="mod_unixd.html#group">Group</a></li> +<li><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles</a></li> +<li><a href="mod_http2.html#h2direct">H2Direct</a></li> +<li><a href="mod_http2.html#h2earlyhints">H2EarlyHints</a></li> +<li><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><a href="mod_http2.html#h2maxworkers">H2MaxWorkers</a></li> +<li><a href="mod_http2.html#h2minworkers">H2MinWorkers</a></li> +<li><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering</a></li> +<li><a href="mod_http2.html#h2padding">H2Padding</a></li> +<li><a href="mod_http2.html#h2push">H2Push</a></li> +<li><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize</a></li> +<li><a href="mod_http2.html#h2pushpriority">H2PushPriority</a></li> +<li><a href="mod_http2.html#h2pushresource">H2PushResource</a></li> +<li><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders</a></li> +<li><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><a href="mod_http2.html#h2upgrade">H2Upgrade</a></li> +<li><a href="mod_http2.html#h2windowsize">H2WindowSize</a></li> +<li><a href="mod_headers.html#header">Header</a></li> +<li><a href="mod_autoindex.html#headername">HeaderName</a></li> +<li><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></li> +<li><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></li> +<li><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage</a></li> +<li><a href="core.html#hostnamelookups">HostnameLookups</a></li> +<li><a href="core.html#httpprotocoloptions">HttpProtocolOptions</a></li> +<li><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck</a></li> +<li><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout</a></li> +<li><a href="core.html#if"><If></a></li> +<li><a href="core.html#ifdefine"><IfDefine></a></li> +<li><a href="core.html#ifdirective"><IfDirective></a></li> +<li><a href="core.html#iffile"><IfFile></a></li> +<li><a href="core.html#ifmodule"><IfModule></a></li> +<li><a href="core.html#ifsection"><IfSection></a></li> +<li><a href="mod_version.html#ifversion"><IfVersion></a></li> +<li><a href="mod_imagemap.html#imapbase">ImapBase</a></li> +<li><a href="mod_imagemap.html#imapdefault">ImapDefault</a></li> +<li><a href="mod_imagemap.html#imapmenu">ImapMenu</a></li> +<li><a href="core.html#include">Include</a></li> +<li><a href="core.html#includeoptional">IncludeOptional</a></li> +<li><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></li> +<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li> +<li><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></li> +<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li> +<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li> +<li><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></li> +<li><a href="mod_sed.html#inputsed">InputSed</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><a href="mod_isapi.html#isapicachefile">ISAPICacheFile</a></li> +<li><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></li> +<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +<li><a href="core.html#keepalive" id="K" name="K">KeepAlive</a></li> +<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li> +<li><a href="mod_request.html#keptbodysize">KeptBodySize</a></li> +<li><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority</a></li> +<li><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></li> +<li><a href="mod_ldap.html#ldapretries">LDAPRetries</a></li> +<li><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay</a></li> +<li><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><a href="mod_ldap.html#ldaptimeout">LDAPTimeout</a></li> +<li><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert</a></li> +<li><a href="core.html#limit"><Limit></a></li> +<li><a href="core.html#limitexcept"><LimitExcept></a></li> +<li><a href="core.html#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><a href="core.html#limitrequestbody">LimitRequestBody</a></li> +<li><a href="core.html#limitrequestfields">LimitRequestFields</a></li> +<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><a href="core.html#limitrequestline">LimitRequestLine</a></li> +<li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li> +<li><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><a href="mod_so.html#loadfile">LoadFile</a></li> +<li><a href="mod_so.html#loadmodule">LoadModule</a></li> +<li><a href="core.html#location"><Location></a></li> +<li><a href="core.html#locationmatch"><LocationMatch></a></li> +<li><a href="mod_log_config.html#logformat">LogFormat</a></li> +<li><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></li> +<li><a href="core.html#loglevel">LogLevel</a></li> +<li><a href="mod_log_debug.html#logmessage">LogMessage</a></li> +<li><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider</a></li> +<li><a href="mod_lua.html#luacodecache">LuaCodeCache</a></li> +<li><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></li> +<li><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><a href="mod_lua.html#luahooklog">LuaHookLog</a></li> +<li><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></li> +<li><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><a href="mod_lua.html#luainherit">LuaInherit</a></li> +<li><a href="mod_lua.html#luainputfilter">LuaInputFilter</a></li> +<li><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></li> +<li><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter</a></li> +<li><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></li> +<li><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></li> +<li><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></li> +<li><a href="mod_lua.html#luaroot">LuaRoot</a></li> +<li><a href="mod_lua.html#luascope">LuaScope</a></li> +<li><a href="mod_macro.html#macro" id="M" name="M"><Macro></a></li> +<li><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps</a></li> +<li><a href="core.html#maxrangereversals">MaxRangeReversals</a></li> +<li><a href="core.html#maxranges">MaxRanges</a></li> +<li><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li> +<li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li> +<li><a href="mod_md.html#mdactivationdelay">MDActivationDelay</a></li> +<li><a href="mod_md.html#mdbaseserver">MDBaseServer</a></li> +<li><a href="mod_md.html#mdcachallenges">MDCAChallenges</a></li> +<li><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck</a></li> +<li><a href="mod_md.html#mdcertificatefile">MDCertificateFile</a></li> +<li><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus</a></li> +<li><a href="mod_md.html#mdchallengedns01">MDChallengeDns01</a></li> +<li><a href="mod_md.html#mdcontactemail">MDContactEmail</a></li> +<li><a href="mod_md.html#mddrivemode">MDDriveMode</a></li> +<li><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><a href="mod_md.html#mdhttpproxy">MDHttpProxy</a></li> +<li><a href="mod_md.html#mdmember">MDMember</a></li> +<li><a href="mod_md.html#mdmembers">MDMembers</a></li> +<li><a href="mod_md.html#mdmessagecmd">MDMessageCmd</a></li> +<li><a href="mod_md.html#mdmuststaple">MDMustStaple</a></li> +<li><a href="mod_md.html#mdnotifycmd">MDNotifyCmd</a></li> +<li><a href="mod_md.html#mdomain">MDomain</a></li> +<li><a href="mod_md.html#mdomainset"><MDomainSet></a></li> +<li><a href="mod_md.html#mdportmap">MDPortMap</a></li> +<li><a href="mod_md.html#mdprivatekeys">MDPrivateKeys</a></li> +<li><a href="mod_md.html#mdrenewmode">MDRenewMode</a></li> +<li><a href="mod_md.html#mdrenewwindow">MDRenewWindow</a></li> +<li><a href="mod_md.html#mdrequirehttps">MDRequireHttps</a></li> +<li><a href="mod_md.html#mdretrydelay">MDRetryDelay</a></li> +<li><a href="mod_md.html#mdretryfailover">MDRetryFailover</a></li> +<li><a href="mod_md.html#mdserverstatus">MDServerStatus</a></li> +<li><a href="mod_md.html#mdstapleothers">MDStapleOthers</a></li> +<li><a href="mod_md.html#mdstapling">MDStapling</a></li> +<li><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><a href="mod_md.html#mdstoredir">MDStoreDir</a></li> +<li><a href="mod_md.html#mdstorelocks">MDStoreLocks</a></li> +<li><a href="mod_md.html#mdwarnwindow">MDWarnWindow</a></li> +<li><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL</a></li> +<li><a href="core.html#mergeslashes">MergeSlashes</a></li> +<li><a href="core.html#mergetrailers">MergeTrailers</a></li> +<li><a href="mod_cern_meta.html#metadir">MetaDir</a></li> +<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li> +<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li> +<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li> +<li><a href="prefork.html#minspareservers">MinSpareServers</a></li> +<li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li> +<li><a href="mod_dialup.html#modemstandard">ModemStandard</a></li> +<li><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li> +<li><a href="core.html#mutex">Mutex</a></li> +<li><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost</a></li> +<li><a href="mod_proxy.html#noproxy">NoProxy</a></li> +<li><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><a href="core.html#options" id="O" name="O">Options</a></li> +<li><a href="mod_access_compat.html#order">Order</a></li> +<li><a href="mod_sed.html#outputsed">OutputSed</a></li> +<li><a href="mod_env.html#passenv" id="P" name="P">PassEnv</a></li> +<li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mod_privileges.html#privilegesmode">PrivilegesMode</a></li> +<li><a href="core.html#protocol">Protocol</a></li> +<li><a href="mod_echo.html#protocolecho">ProtocolEcho</a></li> +<li><a href="core.html#protocols">Protocols</a></li> +<li><a href="core.html#protocolshonororder">ProtocolsHonorOrder</a></li> +<li><a href="mod_proxy.html#proxy"><Proxy></a></li> +<li><a href="mod_proxy.html#proxy100continue">Proxy100Continue</a></li> +<li><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders</a></li> +<li><a href="mod_proxy.html#proxybadheader">ProxyBadHeader</a></li> +<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li> +<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li> +<li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate</a></li> +<li><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +<li><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><a href="mod_proxy.html#proxymatch"><ProxyMatch></a></li> +<li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li> +<li><a href="mod_proxy.html#proxypass">ProxyPass</a></li> +<li><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit</a></li> +<li><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch</a></li> +<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li> +<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li> +<li><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch</a></li> +<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile</a></li> +<li><a href="mod_proxy.html#proxyset">ProxySet</a></li> +<li><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress</a></li> +<li><a href="mod_proxy.html#proxystatus">ProxyStatus</a></li> +<li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li> +<li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li> +<li><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +<li><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL</a></li> +<li><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize</a></li> +<li><a href="mod_autoindex.html#readmename">ReadmeName</a></li> +<li><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><a href="mod_alias.html#redirect">Redirect</a></li> +<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li> +<li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li> +<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li> +<li><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><a href="mod_socache_redis.html#redistimeout">RedisTimeout</a></li> +<li><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></li> +<li><a href="core.html#regexdefaultoptions">RegexDefaultOptions</a></li> +<li><a href="core.html#registerhttpmethod">RegisterHttpMethod</a></li> +<li><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +<li><a href="mod_mime.html#removecharset">RemoveCharset</a></li> +<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li> +<li><a href="mod_mime.html#removehandler">RemoveHandler</a></li> +<li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li> +<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li> +<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li> +<li><a href="mod_mime.html#removetype">RemoveType</a></li> +<li><a href="mod_headers.html#requestheader">RequestHeader</a></li> +<li><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></li> +<li><a href="mod_authz_core.html#require">Require</a></li> +<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li> +<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li> +<li><a href="mod_authz_core.html#requirenone"><RequireNone></a></li> +<li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li> +<li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li> +<li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li> +<li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li> +<li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li> +<li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li> +<li><a href="core.html#rlimitcpu">RLimitCPU</a></li> +<li><a href="core.html#rlimitmem">RLimitMEM</a></li> +<li><a href="core.html#rlimitnproc">RLimitNPROC</a></li> +<li><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy</a></li> +<li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mod_actions.html#script">Script</a></li> +<li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li> +<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li> +<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li> +<li><a href="mod_nw_ssl.html#securelisten">SecureListen</a></li> +<li><a href="core.html#seerequesttail">SeeRequestTail</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><a href="core.html#serveradmin">ServerAdmin</a></li> +<li><a href="core.html#serveralias">ServerAlias</a></li> +<li><a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><a href="core.html#servername">ServerName</a></li> +<li><a href="core.html#serverpath">ServerPath</a></li> +<li><a href="core.html#serverroot">ServerRoot</a></li> +<li><a href="core.html#serversignature">ServerSignature</a></li> +<li><a href="core.html#servertokens">ServerTokens</a></li> +<li><a href="mod_session.html#session">Session</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName</a></li> +<li><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2</a></li> +<li><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></li> +<li><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +<li><a href="mod_session.html#sessionenv">SessionEnv</a></li> +<li><a href="mod_session.html#sessionexclude">SessionExclude</a></li> +<li><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><a href="mod_session.html#sessionheader">SessionHeader</a></li> +<li><a href="mod_session.html#sessioninclude">SessionInclude</a></li> +<li><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></li> +<li><a href="mod_env.html#setenv">SetEnv</a></li> +<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li> +<li><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></li> +<li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li> +<li><a href="core.html#sethandler">SetHandler</a></li> +<li><a href="core.html#setinputfilter">SetInputFilter</a></li> +<li><a href="core.html#setoutputfilter">SetOutputFilter</a></li> +<li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li> +<li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li> +<li><a href="mod_include.html#ssietag">SSIETag</a></li> +<li><a href="mod_include.html#ssilastmodified">SSILastModified</a></li> +<li><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li> +<li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li> +<li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li> +<li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li> +<li><a href="mod_ssl.html#sslcompression">SSLCompression</a></li> +<li><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice</a></li> +<li><a href="mod_ssl.html#sslengine">SSLEngine</a></li> +<li><a href="mod_ssl.html#sslfips">SSLFIPS</a></li> +<li><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable</a></li> +<li><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li> +<li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify</a></li> +<li><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li> +<li><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li> +<li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li> +<li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li> +<li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></li> +<li><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></li> +<li><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><a href="mod_ssl.html#sslusername">SSLUserName</a></li> +<li><a href="mod_ssl.html#sslusestapling">SSLUseStapling</a></li> +<li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li> +<li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li> +<li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><a href="core.html#stricthostcheck">StrictHostCheck</a></li> +<li><a href="mod_substitute.html#substitute">Substitute</a></li> +<li><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +<li><a href="mod_unixd.html#suexec">Suexec</a></li> +<li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li> +<li><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit</a></li> +<li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><a href="core.html#timeout">TimeOut</a></li> +<li><a href="mod_tls.html#tlscertificate">TLSCertificate</a></li> +<li><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsengine">TLSEngine</a></li> +<li><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><a href="mod_tls.html#tlsoptions">TLSOptions</a></li> +<li><a href="mod_tls.html#tlsprotocol">TLSProtocol</a></li> +<li><a href="mod_tls.html#tlsproxyca">TLSProxyCA</a></li> +<li><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine</a></li> +<li><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><a href="mod_tls.html#tlssessioncache">TLSSessionCache</a></li> +<li><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI</a></li> +<li><a href="core.html#traceenable">TraceEnable</a></li> +<li><a href="mod_log_config.html#transferlog">TransferLog</a></li> +<li><a href="mod_mime.html#typesconfig">TypesConfig</a></li> +<li><a href="core.html#undefine" id="U" name="U">UnDefine</a></li> +<li><a href="mod_macro.html#undefmacro">UndefMacro</a></li> +<li><a href="mod_env.html#unsetenv">UnsetEnv</a></li> +<li><a href="mod_macro.html#use">Use</a></li> +<li><a href="core.html#usecanonicalname">UseCanonicalName</a></li> +<li><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><a href="mod_unixd.html#user">User</a></li> +<li><a href="mod_userdir.html#userdir">UserDir</a></li> +<li><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode</a></li> +<li><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><a href="mod_privileges.html#vhostgroup">VHostGroup</a></li> +<li><a href="mod_privileges.html#vhostprivs">VHostPrivs</a></li> +<li><a href="mod_privileges.html#vhostsecure">VHostSecure</a></li> +<li><a href="mod_privileges.html#vhostuser">VHostUser</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><a href="core.html#virtualhost"><VirtualHost></a></li> +<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li> +<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +<li><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval</a></li> +<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li> +<li><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias</a></li> +<li><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></li> +<li><a href="mod_xml2enc.html#xml2startparse">xml2StartParse</a></li> +</ul></div> +<div class="bottomlang"> +<p><span>可用语言: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/directives.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/directives.html" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">评论</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p> +<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/event.html b/docs/manual/mod/event.html new file mode 100644 index 0000000..632cde4 --- /dev/null +++ b/docs/manual/mod/event.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: event.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: event.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/event.html.en b/docs/manual/mod/event.html.en new file mode 100644 index 0000000..e8bf955 --- /dev/null +++ b/docs/manual/mod/event.html.en @@ -0,0 +1,432 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>event - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM event</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/event.html" title="English"> en </a> | +<a href="../fr/mod/event.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mpm_event_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>event.c</td></tr></table> +<h3>Summary</h3> + + <p>The <code class="module"><a href="../mod/event.html">event</a></code> Multi-Processing Module (MPM) is + designed to allow more requests to be served simultaneously by + passing off some processing work to the listeners threads, freeing up + the worker threads to serve new requests.</p> + + <p>To use the <code class="module"><a href="../mod/event.html">event</a></code> MPM, add + <code>--with-mpm=event</code> to the <code class="program"><a href="../programs/configure.html">configure</a></code> + script's arguments when building the <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#event-worker-relationship">Relationship with the Worker MPM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it Works</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requirements">Requirements</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_event">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_event">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="worker.html">The worker MPM</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="event-worker-relationship" id="event-worker-relationship">Relationship with the Worker MPM</a></h2> +<p><code class="module"><a href="../mod/event.html">event</a></code> is based on the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM, which implements a hybrid +multi-process multi-threaded server. A single control process (the parent) is responsible for launching +child processes. Each child process creates a fixed number of server +threads as specified in the <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> directive, as well +as a listener thread which listens for connections and passes them to a worker thread for processing when they arrive.</p> + +<p>Run-time configuration directives are identical to those provided by <code class="module"><a href="../mod/worker.html">worker</a></code>, with the only addition +of the <code class="directive">AsyncRequestWorkerFactor</code>.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">How it Works</a></h2> + <p>This MPM tries to fix the 'keep alive problem' in HTTP. After a client + completes the first request, it can keep the connection + open, sending further requests using the same socket and saving + significant overhead in creating TCP connections. However, + Apache HTTP Server traditionally keeps an entire child + process/thread waiting for data from the client, which brings its own disadvantages. + To solve this problem, this MPM uses a dedicated listener thread for each process + to handle both the Listening sockets, all sockets that are in a Keep Alive state, + sockets where the handler and protocol filters have done their work + and the ones where the only remaining thing to do is send the data to the client. + </p> + + <p>This new architecture, leveraging non-blocking sockets and modern kernel + features exposed by <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a> (like Linux's epoll), + no longer requires the <code>mpm-accept</code> <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> + configured to avoid the thundering herd problem.</p> + + <p>The total amount of connections that a single process/threads block can handle is regulated + by the <code class="directive">AsyncRequestWorkerFactor</code> directive.</p> + + <h3><a name="async-connections" id="async-connections">Async connections</a></h3> + <p>Async connections would need a fixed dedicated worker thread with the previous MPMs but not with event. + The status page of <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> shows new columns under the Async connections section:</p> + <dl> + <dt>Writing</dt> + <dd>While sending the response to the client, it might happen that the TCP write buffer fills up because the connection is too slow. + Usually in this case, a <code>write()</code> to the socket returns <code>EWOULDBLOCK</code> or <code>EAGAIN</code> to become writable again after an idle time. + The worker holding the socket might be able to offload the waiting task to the listener thread, that in turn will re-assign it to the first idle worker thread available once an event will be raised for the socket (for example, "the socket is now writable"). + Please check the Limitations section for more information. + </dd> + + <dt>Keep-alive</dt> + <dd>Keep Alive handling is the most basic improvement from the worker MPM. + Once a worker thread finishes to flush the response to the client, it can offload the + socket handling to the listener thread, that in turn will wait for any event from the + OS, like "the socket is readable". If any new request comes from the client, then the + listener will forward it to the first worker thread available. Conversely, if the + <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> occurs then the socket will be + closed by the listener. In this way, the worker threads are not responsible for idle + sockets, and they can be re-used to serve other requests.</dd> + + <dt>Closing</dt> + <dd>Sometimes the MPM needs to perform a lingering close, namely sending back an early error to the client while it is still transmitting data to httpd. + Sending the response and then closing the connection immediately is not the correct thing to do since the client (still trying to send the rest of the + request) would get a connection reset and could not read the httpd's response. + The lingering close is time-bounded, but it can take a relatively long + time, so it's offloaded to a worker thread (including the shutdown hooks and real socket close). + From 2.4.28 onward, this is also the + case when connections finally timeout (the listener thread never handles connections besides waiting for and dispatching their events). + </dd> + </dl> + + <p>These improvements are valid for both HTTP/HTTPS connections.</p> + + + + <h3><a name="graceful-close" id="graceful-close">Graceful process termination and Scoreboard usage</a></h3> + <p>This mpm showed some scalability bottlenecks in the past, leading to the following + error: "<strong>scoreboard is full, not at MaxRequestWorkers</strong>". + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + limits the number of simultaneous requests that will be served at any given time + and also the number of allowed processes + (<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + / <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>); meanwhile, + the Scoreboard is a representation of all the running processes and + the status of their worker threads. If the scoreboard is full (so all the + threads have a state that is not idle) but the number of active requests + served is not <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, + it means that some of them are blocking new requests that could be served + but that are queued instead (up to the limit imposed by + <code class="directive"><a href="../mod/mpm_common.html#listenbacklog">ListenBacklog</a></code>). Most of the time, + the threads are stuck in the Graceful state, namely they are waiting to + finish their work with a TCP connection to safely terminate and free up a + scoreboard slot (for example, handling long-running requests, slow clients + or connections with keep-alive enabled). Two scenarios are very common:</p> + <ul> + <li>During a <a href="../stopping.html#graceful">graceful restart</a>, + the parent process signals all its children to complete + their work and terminate, while it reloads the config and forks new + processes. If the old children keep running for a while before stopping, + the scoreboard will be partially occupied until their slots are freed. + </li> + <li>The server load goes down in a way that causes httpd to + stop some processes (for example, due to + <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>). + This is particularly problematic because when the load increases again, + httpd will try to start new processes. + If the pattern repeats, the number of processes can rise quite a bit, + ending up in a mixture of old processes trying to stop and new ones + trying to do some work. + </li> + </ul> + <p>From 2.4.24 onward, mpm-event is smarter and it is able to handle + graceful terminations in a much better way. Some of the improvements are:</p> + <ul> + <li>Allow the use of all the scoreboard slots up to + <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>. + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> and + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> are used + to limit the amount of active processes; meanwhile, + <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> + takes also into account the ones doing a graceful + close to allow extra slots when needed. The idea is to use + <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> to instruct httpd + about how many overall processes are tolerated before impacting + the system resources. + </li> + <li>Force gracefully finishing processes to close their + connections in keep-alive state.</li> + <li>During graceful shutdown, if there are more running worker threads + than open connections for a given process, terminate these threads to + free resources faster (which may be needed for new processes).</li> + <li>If the scoreboard is full, prevent more processes from finishing + gracefully due to reduced load until old processes have terminated + (otherwise the situation would get worse once the load increases again).</li> + </ul> + <p>The behavior described in the last point is completely observable via + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> in the connection summary table through two new + columns: "Slot" and "Stopping". The former indicates the PID and + the latter if the process is stopping or not; the extra state "Yes (old gen)" + indicates a process still running after a graceful restart.</p> + + + <h3><a name="limitations" id="limitations">Limitations</a></h3> + <p>The improved connection handling may not work for certain connection + filters that have declared themselves as incompatible with event. In these + cases, this MPM will fall back to the behavior of the + <code class="module"><a href="../mod/worker.html">worker</a></code> MPM and reserve one worker thread per connection. + All modules shipped with the server are compatible with the event MPM.</p> + + <p>A similar restriction is currently present for requests involving an + output filter that needs to read and/or modify the whole response body. + If the connection to the client blocks while the filter is processing the + data, and the amount of data produced by the filter is too big to be + buffered in memory, the thread used for the request is not freed while + httpd waits until the pending data is sent to the client.<br /> + To illustrate this point, we can think about the following two situations: + serving a static asset (like a CSS file) versus serving content retrieved from + FCGI/CGI or a proxied server. The former is predictable, namely the event MPM + has full visibility on the end of the content and it can use events: the worker + thread serving the response content can flush the first bytes until <code>EWOULDBLOCK</code> + or <code>EAGAIN</code> is returned, delegating the rest to the listener. This one in turn + waits for an event on the socket and delegates the work to flush the rest of the content + to the first idle worker thread. Meanwhile in the latter example (FCGI/CGI/proxied content), + the MPM can't predict the end of the response and a worker thread has to finish its work + before returning the control to the listener. The only alternative is to buffer the + response in memory, but it wouldn't be the safest option for the sake of the + server's stability and memory footprint. + </p> + + + + <h3><a name="background" id="background">Background material</a></h3> + <p>The event model was made possible by the introduction of new APIs into the supported operating systems:</p> + <ul> + <li>epoll (Linux) </li> + <li>kqueue (BSD) </li> + <li>event ports (Solaris) </li> + </ul> + <p>Before these new APIs where made available, the traditional <code>select</code> and <code>poll</code> APIs had to be used. + Those APIs get slow if used to handle many connections or if the set of connections rate of change is high. + The new APIs allow to monitor many more connections, and they perform way better when the set of connections to monitor changes frequently. So these APIs made it possible to write the event MPM, that scales much better with the typical HTTP pattern of many idle connections.</p> + + <p>The MPM assumes that the underlying <code>apr_pollset</code> + implementation is reasonably threadsafe. This enables the MPM to + avoid excessive high level locking, or having to wake up the listener + thread in order to send it a keep-alive socket. This is currently + only compatible with KQueue and EPoll.</p> + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requirements" id="requirements">Requirements</a></h2> + <p>This MPM depends on <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>'s atomic + compare-and-swap operations for thread synchronization. If you are + compiling for an x86 target and you don't need to support 386s, or + you are compiling for a SPARC and you don't need to run on + pre-UltraSPARC chips, add + <code>--enable-nonportable-atomics=yes</code> to the + <code class="program"><a href="../programs/configure.html">configure</a></code> script's arguments. This will cause + APR to implement atomic operations using efficient opcodes not + available in older CPUs.</p> + + <p>This MPM does not perform well on older platforms which lack good + threading, but the requirement for EPoll or KQueue makes this + moot.</p> + + <ul> + + <li>To use this MPM on FreeBSD, FreeBSD 5.3 or higher is recommended. + However, it is possible to run this MPM on FreeBSD 5.2.1 if you + use <code>libkse</code> (see <code>man libmap.conf</code>).</li> + + <li>For NetBSD, at least version 2.0 is recommended.</li> + + <li>For Linux, a 2.6 kernel is recommended. It is also necessary to + ensure that your version of <code>glibc</code> has been compiled + with support for EPoll.</li> + + </ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AsyncRequestWorkerFactor" id="AsyncRequestWorkerFactor">AsyncRequestWorkerFactor</a> <a name="asyncrequestworkerfactor" id="asyncrequestworkerfactor">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limit concurrent connections per process</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AsyncRequestWorkerFactor <var>factor</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>event</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.13 and later</td></tr> +</table> + <p>The event MPM handles some connections in an asynchronous way, where + request worker threads are only allocated for short periods of time as + needed, and other connections with one request worker thread reserved per + connection. This can lead to situations where all workers are tied up and + no worker thread is available to handle new work on established async + connections.</p> + + <p>To mitigate this problem, the event MPM does two things:</p> + <ul> + <li>It limits the number of connections accepted per process, depending on the + number of idle request workers;</li> + <li>If all workers are busy, it will + close connections in keep-alive state even if the keep-alive timeout has + not expired. This allows the respective clients to reconnect to a + different process which may still have worker threads available.</li> + </ul> + + <p>This directive can be used to fine-tune the per-process connection + limit. A <strong>process</strong> will only accept new connections if the current number of + connections (not counting connections in the "closing" state) is lower + than:</p> + + <p class="indent"><strong> + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> + + (<code class="directive">AsyncRequestWorkerFactor</code> * + <var>number of idle workers</var>) + </strong></p> + + <p>An estimation of the maximum concurrent connections across all the processes given + an average value of idle worker threads can be calculated with: + </p> + + + <p class="indent"><strong> + (<code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> + + (<code class="directive">AsyncRequestWorkerFactor</code> * + <var>number of idle workers</var>)) * + <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> + </strong></p> + + <div class="note"><h3>Example</h3> + <pre class="prettyprint lang-config">ThreadsPerChild = 10 +ServerLimit = 4 +AsyncRequestWorkerFactor = 2 +MaxRequestWorkers = 40 + +idle_workers = 4 (average for all the processes to keep it simple) + +max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit + = (10 + (2 * 4)) * 4 = 72</pre> + + </div> + + <p>When all the worker threads are idle, then absolute maximum numbers of concurrent + connections can be calculared in a simpler way:</p> + + <p class="indent"><strong> + (<code class="directive">AsyncRequestWorkerFactor</code> + 1) * + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + </strong></p> + + + <div class="note"><h3>Example</h3> + <pre class="prettyprint lang-config">ThreadsPerChild = 10 +ServerLimit = 4 +MaxRequestWorkers = 40 +AsyncRequestWorkerFactor = 2</pre> + + + <p>If all the processes have all threads idle then: </p> + + <pre class="prettyprint lang-config">idle_workers = 10</pre> + + + <p>We can calculate the absolute maximum numbers of concurrent connections in two ways:</p> + + <pre class="prettyprint lang-config">max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit + = (10 + (2 * 10)) * 4 = 120 + +max_connections = (AsyncRequestWorkerFactor + 1) * MaxRequestWorkers + = (2 + 1) * 40 = 120</pre> + + </div> + + <p>Tuning <code class="directive">AsyncRequestWorkerFactor</code> requires knowledge about the traffic handled by httpd in each specific use case, so changing the default value requires extensive testing and data gathering from <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> was called + <code class="directive">MaxClients</code> prior to version 2.3.13. The above value + shows that the old name did not accurately describe its meaning for the event MPM.</p> + + <p><code class="directive">AsyncRequestWorkerFactor</code> can take non-integer + arguments, e.g "1.5".</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/event.html" title="English"> en </a> | +<a href="../fr/mod/event.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/event.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/event.html.fr.utf8 b/docs/manual/mod/event.html.fr.utf8 new file mode 100644 index 0000000..42906e5 --- /dev/null +++ b/docs/manual/mod/event.html.fr.utf8 @@ -0,0 +1,500 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>event - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM event</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/event.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/event.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conçue pour ne +mobiliser des threads que pour les connexions en cours de traitement</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_event_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>event.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module multi-processus (MPM) <code class="module"><a href="../mod/event.html">event</a></code> est conçu + pour permettre le traitement d'un nombre accru de requêtes + simultanées en déléguant certaines tâches + aux threads d'écoute, libérant par là-même les + threads de travail et leur permettant de traiter les nouvelles requêtes.</p> + + <p>Pour utiliser le MPM <code class="module"><a href="../mod/event.html">event</a></code>, ajoutez + <code>--with-mpm=event</code> aux arguments du script + <code class="program"><a href="../programs/configure.html">configure</a></code> lorsque vous compilez le programme + <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#event-worker-relationship">Relations avec le MPM Worker</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment tout cela fonctionne</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requirements">Prérequis</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_event">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_event">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="worker.html">Le MPM worker</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="event-worker-relationship" id="event-worker-relationship">Relations avec le MPM Worker</a></h2> +<p>Le MPM <code class="module"><a href="../mod/event.html">event</a></code> s'inspire du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> qui +implémente un serveur hybride multi-processus et multi-threads. Un processus de +contrôle unique (le parent) est chargé de lancer des processus enfants. Chaque +processus enfant crée un nombre de threads serveurs défini via la directive +<code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, ainsi qu'un thread +d'écoute qui surveille les requêtes entrantes et les distribue aux threads de +travail pour traitement au fur et à mesure de leur arrivée.</p> + +<p>Les directives de configuration à l'exécution sont identiques à celles que +propose le MPM <code class="module"><a href="../mod/worker.html">worker</a></code>, avec l'unique addition de la directive +<code class="directive">AsyncRequestWorkerFactor</code>.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Comment tout cela fonctionne</a></h2> + + <p>Ce module MPM tente de résoudre le "problème keep + alive" de HTTP. Lorsqu'un client a effectué une première requête, il peut + garder la connexion ouverte et envoyer les requêtes suivante en utilisant le + même socket, ce qui diminue considérablement la charge qui aurait été + induite par la création de nouvelles connexions TCP. Cependant, le + fonctionnement du serveur HTTP Apache impose de réserver un couple processus + enfant/thread pour attendre les données en provenance du client, ce qui + présente certains inconvénients. + Pour résoudre ce problème, le MPM Event utilise un thread d'écoute dédié + pour chaque processus pour gérer les sockets d'écoute, tous les sockets qui + sont dans un état de connexion persistante, les sockets où les + filtres de gestionnaire et de protocole ont fait leur travail, et ceux pour + lesquels la seule chose restant à faire est l'envoi des données au client. + </p> + + <p>Cette nouvelle architecture, en exploitant les sockets non blocants et + les fonctionnalités des noyaux modernes mis en valeur par + <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> (comme epoll de Linux), n'a plus besoin du + <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> <code>mpm-accept</code> pour + éviter le problème de "thundering herd".</p> + + <p>La directive <code class="directive">AsyncRequestWorkerFactor</code> permet de + définir le nombre total de connexions qu'un bloc processus/thread peut + gérer.</p> + + <h3><a name="async-connections" id="async-connections">Connexions asynchrones</a></h3> + <p>Avec les MPM précédents, les connexions asynchrones nécessitaient + un thread de travail dédié, mais ce n'est plus le cas avec le MPM Event. + La page d'état de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> montre de nouvelles + colonnes dans la section "Async connections" :</p> + <dl> + <dt>Writing</dt> + <dd>Lors de l'envoi de la réponse au client, il peut arriver que le + tampon d'écriture TCP soit plein si la connexion est trop lente. Si + cela se produit, une instruction <code>write()</code> vers le socket + renvoie en général <code>EWOULDBLOCK</code> ou <code>EAGAIN</code> + pour que l'on puisse y écrire à nouveau après un certain temps + d'inactivité. Le thread de travail qui utilise le socket doit alors + être en mesure de récupérer la tâche en attente et la restituer au + thread d'écoute qui, à son tour, la réattribuera au premier thread + de travail disponible, lorsqu'un évènement sera généré pour le socket + (par exemple, "il est maintenant possible d'écrire dans le socket"). + Veuillez vous reporter à la section à propos des limitations pour + plus de détails. + </dd> + + <dt>Keep-alive</dt> + <dd>La gestion des connexions persistantes constitue la principale + amélioration par rapport au MPM Worker. Lorsqu'un thread de travail + a terminé l'envoi d'une réponse à un client, il peut restituer la + gestion du socket au thread d'écoute, qui à son tour va attendre un + évènement en provenance du système d'exploitation comme "le socket + est lisible". Si une nouvelle requête arrive en provenance du + client, le thread d'écoute l'attribuera au premier thread de travail + disponible. Inversement, si le délai <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> est atteint, le socket + sera fermé par le thread d'écoute. Les threads de travail n'ont + donc plus à s'occuper des sockets inactifs et ils peuvent être + réutilisés pour traiter d'autres requêtes.</dd> + + <dt>Closing</dt> + <dd>Parfois, le MPM doit effectuer une fermeture progressive, c'est + à dire envoyer au client une erreur survenue précédemment alors que + ce dernier est en train de transmettre des données à httpd. Envoyer la réponse et + fermer immédiatement la connexion n'est pas une bonne solution car + le client (qui est encore en train d'envoyer le reste de la requête) + verrait sa connexion réinitialisée et ne pourrait pas lire la + réponse de httpd. La fermeture progressive est limitée dans le temps, + mais elle peut tout de même être assez longue, si bien qu'elle est + confiée à un thread de travail (y compris les procédures d'arrêt et + la fermeture effective du socket). A partir de la version 2.4.28, + c'est aussi le cas lorsque des connexions finissent par dépasser + leur délai d'attente (le thread d'écoute ne gère jamais les + connexions, si ce n'est attendre et dispatcher les évènements + qu'elles génèrent).</dd> + </dl> + + <p>Ces améliorations sont disponible pour les connexions HTTP ou HTTPS.</p> + + + + <h3><a name="graceful-close" id="graceful-close">Arrêt de processus en douceur et + utilisation du scoreboard</a></h3> + <p>Ce MPM présentait dans le passé des limitations de montée en + puissance qui + provoquaient l'erreur suivante : "<strong>scoreboard is full, not at + MaxRequestWorkers</strong>". La directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> permet de limiter le + nombre de requêtes pouvant être servies simultanément à un moment donné + ainsi que le nombre de processus autorisés (<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> / <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>), alors que le + scoreboard représente l'ensemble des processus en cours d'exécution et + l'état de leurs threads de travail. Si le scoreboard est plein + (autrement dit si aucun des threads n'est dans un état inactif) et si le + nombre de requêtes actives servies est inférieur à <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, cela signifie que + certains d'entre eux bloquent les nouvelles requêtes qui pourraient être + servies et sont en l'occurrence mises en attente (dans la limite de la + valeur imposée par la directive <code class="directive"><a href="../mod/mpm_common.html#listenbacklog">ListenBacklog</a></code>). La plupart du temps, ces + threads sont bloqués dans un état d'arrêt en douceur car ils attendent + de terminer leur travail sur une connexion TCP pour s'arrêter et ainsi libérer + une entrée dans le scoreboard (par exemple dans le cas du traitement des + requêtes de longue durée, des clients lents ou des connexions en + keep-alive). Voici deux scénarios courants :</p> + <ul> + <li>Pendant un <a href="../stopping.html#graceful">graceful + restart</a>, le processus parent demande à tous ses processus + enfants de terminer leur travail et de s'arrêter pendant qu'il + recharge la configuration et lance de nouveaux processus. Si les + processus existants continuent de s'exécuter pendant un certain + temps avant de s'arrêter, le scoreboard sera partiellement occupé + jusqu'à ce que les entrées correspondantes soient libérées. + </li> + <li>Lorsque la charge du serveur diminue suffisamment pour que httpd + commence à stopper certains processus (par exemple pour respecter la + valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>). Cette situation + est problèmatique car lorsque la charge augmente à nouveau, httpd va + essayer de lancer de nouveaux processus. Si cette situation se + répète, le nombre de processus peut augmenter sensiblement, + aboutissant à un mélange d'anciens processus tentant de s'arrêter et + de nouveaux processus tentant d'effectuer un travail quelconque. + </li> + </ul> + <p>A partir de la version 2.4.24, mpm-event est plus intelligent et peut + traiter les arrêts graceful de manière plus efficace. Voici certaines de + ces améliorations :</p> + <ul> + <li>Utilisation de toutes les entrées du scoreboard dans la limite + de la valeur définie par <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>. Les directives + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> et + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> + permettent de limiter le nombre de processus actifs, alors que la + directive <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> + prend aussi en compte les proccessus en arrêt graceful pour + permettre l'utilisation d'entrées supplémentaires du scoreboard en + cas de besoin. L'idée consiste à utiliser <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> pour indiquer à httpd + conbien de processus supplémentaires seront tolérés avant + d'atteindre les limites imposées par les ressources du système. + </li> + <li>Les processus en arrêt graceful doivent fermer leurs connexions + en keep-alive.</li> + <li>Lors d'un arrêt graceful, s'il y a plus de threads de travail en + cours d'exécution que de connexions ouvertes pour un processus + donné, ces threads sont arrêtés afin de libérer les ressources plus + vite (ce qui peut s'avérer nécessaire pour lancer de nouveaux + processus).</li> + <li>Si le scoreboard est plein, empêche d'arrêter d'autres processus + en mode graceful afin de réduire la charge jusqu'à ce que tous les + anciens processus soient arrêtés (sinon la situation empirerait lors + d'une remontée en charge).</li> + </ul> + <p>Le comportement décrit dans le dernier point est bien visible via + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> dans la table des connexions avec les deux + nouvelles colonnes "Slot" et "Stopping". La première indique le PID et + la seconde si le processus est en cours d'arrêt ou non ; l'état + supplémentaire "Yes (old gen)" indique un processus encore en exécution + après un redémarrage graceful.</p> + + + <h3><a name="limitations" id="limitations">Limitations</a></h3> + <p>La gestion améliorée des connexions peut ne pas fonctionner pour + certains filtres de connexion qui se sont déclarés eux-mêmes + incompatibles avec le MPM Event. Dans ce cas, le MPM Event réadoptera le + comportement du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> et réservera un thread de + travail par connexion. Notez que tous les modules inclus dans la + distribution du serveur httpd sont compatibles avec le MPM Event.</p> + + <p>Une restriction similaire apparaît lorsqu'une requête utilise un + filtre en sortie qui doit pouvoir lire et/ou modifier la totalité du + corps de la réponse. Si la connexion avec le client se bloque pendant + que le filtre traite les données, et si la quantité de données produites + par le filtre est trop importante pour être stockée en mémoire, le + thread utilisé pour la requête n'est pas libéré pendant que httpd attend + que les données soient transmises au client.<br /> + Pour illustrer ce cas de figure, nous pouvons envisager les deux + situations suivantes : servir une ressource statique (comme un fichier + CSS) ou servir un contenu issu d'un programme FCGI/CGI ou d'un serveur + mandaté. La première situation est prévisible ; en effet, le MPM Event a + une parfaite visibilité sur la fin du contenu, et il peut utiliser les + évènements : le thread de travail qui sert la réponse peut envoyer les + premiers octets jusqu'à ce que <code>EWOULDBLOCK</code> ou + <code>EAGAIN</code> soit renvoyé, et déléguer le reste de la réponse au thread + d'écoute. Ce dernier en retour attend un évènement sur le socket, et + délègue le reste de la réponse au premier + thread de travail disponible. Dans la deuxième situation par contre + (FCGI/CGI/contenu mandaté), le MPM n'a pas de visibilité sur la fin de + la réponse, et le thread de travail doit terminer sa tâche avant de + rendre le contrôle au thread d'écoute. La seule solution consisterait + alors à stocker la réponse en mémoire, mais ce ne serait pas l'option la + plus sure en matière de stabilité du serveur et d'empreinte mémoire. + </p> + + + + <h3><a name="background" id="background">Matériel d'arrière-plan</a></h3> + <p>Le modèle event a été rendu possible par l'introduction de nouvelles + APIs dans les systèmes d'exploitation supportés :</p> + <ul> + <li>epoll (Linux) </li> + <li>kqueue (BSD) </li> + <li>event ports (Solaris) </li> + </ul> + <p>Avant que ces APIs soient mises à disposition, les APIs + traditionnelles <code>select</code> et <code>poll</code> devaient être + utilisées. Ces APIs deviennent lentes si on les utilise pour gérer de + nombreuses connexions ou si le jeu de connexions possède un taux de + renouvellement élevé. Les nouvelles APIs permettent de gérer beaucoup + plus de connexions et leur performances sont meilleures lorsque le jeu + de connexions à gérer change fréquemment. Ces APIs ont donc rendu + possible l'écriture le MPM Event qui est mieux adapté à la situation + HTTP typique où de nombreuses connexions sont inactives.</p> + + <p>Le MPM Event suppose que l'implémentation de <code>apr_pollset</code> + sous-jacente est raisonnablement sure avec l'utilisation des threads + (threadsafe). Ceci évite au MPM de devoir effectuer trop verrouillages + de haut niveau, ou d'avoir à réveiller le thread d'écoute pour lui + envoyer un socket keep-alive. Ceci n'est possible qu'avec KQueue et + EPoll.</p> + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requirements" id="requirements">Prérequis</a></h2> + <p>Ce MPM dépend des opérations atomiques compare-and-swap + d'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> pour la synchronisation des threads. Si + vous compilez pour une plate-forme x86 et n'avez pas besoin du + support 386, ou si vous compilez pour une plate-forme SPARC et + n'avez pas besoin du support pre-UltraSPARC, ajoutez + <code>--enable-nonportable-atomics=yes</code> aux arguments du + script <code class="program"><a href="../programs/configure.html">configure</a></code>. Ceci permettra à APR + d'implémenter les opérations atomiques en utilisant des instructions + performantes indisponibles avec les processeurs plus + anciens.</p> + + <p>Ce MPM ne fonctionne pas de manière optimale sur les + plates-formes plus anciennes qui ne gèrent pas correctement les + threads, mais ce problème est sans objet du fait du prérequis + concernant EPoll ou KQueue.</p> + + <ul> + + <li>Pour utiliser ce MPM sous FreeBSD, la version 5.3 ou + supérieure de ce système est recommandée. Il est cependant + possible d'exécuter ce MPM sous FreeBSD 5.2.1 si vous utilisez + <code>libkse</code> (voir <code>man libmap.conf</code>).</li> + + <li>Pour NetBSD, il est recommander d'utiliser la version 2.0 ou + supérieure.</li> + + <li>Pour Linux, un noyau 2.6 est recommandé. Il faut aussi + s'assurer que votre version de <code>glibc</code> a été compilée + avec le support pour EPoll.</li> + + </ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="asyncrequestworkerfactor" id="asyncrequestworkerfactor">Directive</a> <a name="AsyncRequestWorkerFactor" id="AsyncRequestWorkerFactor">AsyncRequestWorkerFactor</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions simultanées par thread</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AsyncRequestWorkerFactor <var>facteur</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>event</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.13</td></tr> +</table> + <p>Le MPM event gère certaines connexions de manière asynchrone ; + dans ce cas, les threads traitant la requête sont alloués selon les + besoins et pour de courtes périodes. Dans les autres cas, un + thread est réservé par + connexion. Ceci peut conduire à des situations où tous les threads + sont saturés et où aucun thread n'est capable d'effectuer de + nouvelles tâches pour les connexions asynchrones établies.</p> + + <p>Pour minimiser les effets de ce problème, le MPM event utilise + deux méthodes :</p> + <ul> + <li>il limite le nombre de connexions + simultanées par thread en fonction du nombre de processus + inactifs;</li> + <li>si tous les processus sont occupés, il ferme des connexions + permanentes, même si la limite de durée de la connexion n'a + pas été atteinte. Ceci autorise les clients + concernés à se reconnecter à un autre processus + possèdant encore des threads disponibles.</li> + </ul> + + <p>Cette directive permet de personnaliser finement la limite du + nombre de connexions par thread. Un <strong>processus</strong> n'acceptera de + nouvelles connexions que si le nombre actuel de connexions (sans + compter les connexions à l'état "closing") est + inférieur à :</p> + + <p class="indent"><strong> + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> + + (<code class="directive">AsyncRequestWorkerFactor</code> * + <var>nombre de threads inactifs</var>) + </strong></p> + + <p>Il est possible d'effectuer une estimation du nombre maximum de + connexions simultanées pour tous les processus et pour un nombre donné moyen + de threads de travail inactifs comme suit : + </p> + + + <p class="indent"><strong> + (<code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> + + (<code class="directive">AsyncRequestWorkerFactor</code> * + <var>number of idle workers</var>)) * + <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> + </strong></p> + + <div class="note"><h3>Exemple</h3> + <pre class="prettyprint lang-config">ThreadsPerChild = 10 +ServerLimit = 4 +AsyncRequestWorkerFactor = 2 +MaxRequestWorkers = 40 + +idle_workers = 4 (moyenne pour tous les processus pour faire simple) + +max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit + = (10 + (2 * 4)) * 4 = 72</pre> + + </div> + + <p>Lorsque tous les threads de travail sont inactifs, le nombre maximum + absolu de connexions simultanées peut être calculé de manière plus simple :</p> + + <p class="indent"><strong> + (<code class="directive">AsyncRequestWorkerFactor</code> + 1) * + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + </strong></p> + + <div class="note"><h3>Exemple</h3> + <pre class="prettyprint lang-config">ThreadsPerChild = 10 +ServerLimit = 4 +MaxRequestWorkers = 40 +AsyncRequestWorkerFactor = 2</pre> + + + <p>Si tous les threads de tous les processus sont inactifs, alors :</p> + + <pre class="prettyprint lang-config">idle_workers = 10</pre> + + + <p>Nous pouvons calculer le nombre maximum absolu de connexions simultanées + de deux manières :</p> + + <pre class="prettyprint lang-config">max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit + = (10 + (2 * 10)) * 4 = 120 + +max_connections = (AsyncRequestWorkerFactor + 1) * MaxRequestWorkers + = (2 + 1) * 40 = 120</pre> + + </div> + + <p>Le réglage de la directive + <code class="directive">AsyncRequestWorkerFactor</code> nécessite de connaître le + trafic géré par httpd pour chaque style d'utilisation spécifique ; si vous + modifiez la valeur par défaut, vous devrez par conséquent effectuer des + tests approfondis en vous appuyant étroitement sur les données fournies par + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p> + + <p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> se nommait + <code class="directive">MaxClients</code> avant la version 2.3.13. La valeur + ci-dessus montre que cet ancien nom ne correspondait pas à sa + signification exacte pour le MPM event.</p> + + <p>La directive <code class="directive">AsyncRequestWorkerFactor</code> + accepte des valeurs d'argument de type non entier, comme "1.5".</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/event.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/event.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/event.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html b/docs/manual/mod/index.html new file mode 100644 index 0000000..cc787fa --- /dev/null +++ b/docs/manual/mod/index.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: index.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: index.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/index.html.de b/docs/manual/mod/index.html.de new file mode 100644 index 0000000..1f01251 --- /dev/null +++ b/docs/manual/mod/index.html.de @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Modul-Index - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Modul-Index</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + Nachfolgend ist eine Liste aller Module angegeben, die als + Bestandteil der Distribution des Apache HTTP Servers mitgeliefert + werden. Bitte beachten Sie auch die vollständige alphabetische + Liste <a href="directives.html">aller + Apache-HTTP-Server-Direktiven</a>. + </p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">Kernfunktionen und + Multi-Processing-Module</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">Andere Module</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><a href="../mpm.html">Multi-Processing-Module (MPMs)</a> + </li> +<li><a href="quickreference.html">Kurzreferenz der Direktiven</a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">Kernfunktionen und + Multi-Processing-Module</a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>Ständig verfügbare Kernfunktionen des Apache HTTP +Servers</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">Eine Sammlung von Direktiven, die in mehr als einem + Multi-Processing-Modul (MPM) implementiert sind.</dd> +<dt><a href="event.html">event</a></dt><dd>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>Implementiert einen im Voraus forkenden Webserver ohne + Thread-Unterstützung</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd> Das Multi-Processing-Modul ist optimiert für + Windows NT.</dd> +<dt><a href="worker.html">worker</a></dt><dd>Multi-Processing-Modul, das einen Hybrid-Webserver mit + Multi-Thread und Multi-Prozess-Unterstützung implementiert</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">Andere Module</a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Dieses Modul ermöglicht die Ausführung von CGI-Skripten + in Abhängigkeit von Medientypen und Anfragemethoden.</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Easily restrict what HTTP methods can be used on the server</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Sends files that contain their own +HTTP headers</dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Basic HTTP authentication</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5 + Digest Authentication</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Form authentication</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Allows "anonymous" user access to authenticated + areas</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Core Authentication</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>User authentication using DBM files</dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>User authentication using text files</dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Manages a cache of authentication credentials to relieve +the load on backends</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Core Authorization</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Group Authorization and Login using SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Group authorization using DBM files</dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Group authorization using plaintext files</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Authorization based on file ownership</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>User Authorization</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Generates directory indexes, + automatically, similar to the Unix <code>ls</code> command or the + Win32 <code>dir</code> shell command</dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compress content via Brotli before it is delivered to the +client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support for request buffering</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>RFC 2616 compliant HTTP caching filter.</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Disk based storage module for the HTTP caching filter.</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Shared object cache (socache) based storage module for the +HTTP caching filter.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Execution of CGI scripts</dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Execution of CGI scripts using an + external CGI daemon</dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convert response body into an RFC2397 data URL</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) functionality</dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Filesystem provider for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Compress content before it is delivered to the +client</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Send static content at a bandwidth rate limit, defined by the various old modem standards</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Provides for "trailing slash" redirects and + serving directory index files</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Dumps all I/O to error log as desired.</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>A simple echo server to illustrate protocol +modules</dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>Modifies the environment which is passed to CGI scripts and +SSI pages</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustrates the Apache module API</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Generation of <code>Expires</code> and +<code>Cache-Control</code> HTTP headers according to user-specified +criteria</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Pass the response body through an external program before +delivery to the client</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Customization of HTTP request and response +headers</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident lookups</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd>Provides a comprehensive overview of the server +configuration</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use +by other LDAP modules</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Logging of the requests made to the server</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Forensic Logging of the requests made to the server</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Logging of input and output bytes per request</dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Provides Lua hooks into various portions of the httpd +request processing</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Provides macros within apache httpd runtime configuration files</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file + by looking at a few bytes of its contents</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts +under different user IDs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Multi-protocol proxy/gateway server</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for +<code>CONNECT</code> request handling</dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filters to handle and make available HTTP request bodies</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filter Input (request) and Output (response) content using <code>sed</code> syntax</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Allows the setting of environment variables based +on characteristics of the request</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Loading of executable code and +modules into the server at start-up or restart time</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd>Provides information on server activity and +performance</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Allows CGI scripts to run as a specified user +and Group</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Provides an environment variable with a unique +identifier for each request</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Basic (required) security for Unix-family platforms.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>User-specific directories</dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +<em>Clickstream</em> logging of user activity on a site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Version dependent configuration</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual +hosting</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run + tasks</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based +filter modules</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html.en b/docs/manual/mod/index.html.en new file mode 100644 index 0000000..9e23a54 --- /dev/null +++ b/docs/manual/mod/index.html.en @@ -0,0 +1,279 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Module Index - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Module Index</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + Below is a list of all of the modules that come as part of + the Apache HTTP Server distribution. See also the complete + alphabetical list of <a href="directives.html">all Apache HTTP Server + directives</a>. + </p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">Core Features and Multi-Processing + Modules</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">Other Modules</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../mpm.html">Multi-Processing Modules (MPMs)</a> + </li> +<li><a href="quickreference.html">Directive Quick Reference</a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">Core Features and Multi-Processing + Modules</a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>Core Apache HTTP Server features that are always +available</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">A collection of directives that are implemented by +more than one multi-processing module (MPM)</dd> +<dt><a href="event.html">event</a></dt><dd>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>Implements a non-threaded, pre-forking web server</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Multi-Processing Module optimized for Windows NT.</dd> +<dt><a href="worker.html">worker</a></dt><dd>Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">Other Modules</a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Execute CGI scripts based on media type or request method.</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Easily restrict what HTTP methods can be used on the server</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Sends files that contain their own +HTTP headers</dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Basic HTTP authentication</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5 + Digest Authentication</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Form authentication</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Allows "anonymous" user access to authenticated + areas</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Core Authentication</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>User authentication using DBM files</dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>User authentication using text files</dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Manages a cache of authentication credentials to relieve +the load on backends</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Core Authorization</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Group Authorization and Login using SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Group authorization using DBM files</dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Group authorization using plaintext files</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Authorization based on file ownership</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>User Authorization</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Generates directory indexes, + automatically, similar to the Unix <code>ls</code> command or the + Win32 <code>dir</code> shell command</dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compress content via Brotli before it is delivered to the +client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support for request buffering</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>RFC 2616 compliant HTTP caching filter.</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Disk based storage module for the HTTP caching filter.</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Shared object cache (socache) based storage module for the +HTTP caching filter.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Execution of CGI scripts</dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Execution of CGI scripts using an + external CGI daemon</dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convert response body into an RFC2397 data URL</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) functionality</dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Filesystem provider for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Compress content before it is delivered to the +client</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Send static content at a bandwidth rate limit, defined by the various old modem standards</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Provides for "trailing slash" redirects and + serving directory index files</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Dumps all I/O to error log as desired.</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>A simple echo server to illustrate protocol +modules</dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>Modifies the environment which is passed to CGI scripts and +SSI pages</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustrates the Apache module API</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Generation of <code>Expires</code> and +<code>Cache-Control</code> HTTP headers according to user-specified +criteria</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Pass the response body through an external program before +delivery to the client</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Customization of HTTP request and response +headers</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident lookups</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd>Provides a comprehensive overview of the server +configuration</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use +by other LDAP modules</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Logging of the requests made to the server</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Forensic Logging of the requests made to the server</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Logging of input and output bytes per request</dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Provides Lua hooks into various portions of the httpd +request processing</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Provides macros within apache httpd runtime configuration files</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file + by looking at a few bytes of its contents</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts +under different user IDs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Multi-protocol proxy/gateway server</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for +<code>CONNECT</code> request handling</dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filters to handle and make available HTTP request bodies</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filter Input (request) and Output (response) content using <code>sed</code> syntax</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Allows the setting of environment variables based +on characteristics of the request</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Loading of executable code and +modules into the server at start-up or restart time</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd>Provides information on server activity and +performance</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Allows CGI scripts to run as a specified user +and Group</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Provides an environment variable with a unique +identifier for each request</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Basic (required) security for Unix-family platforms.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>User-specific directories</dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +<em>Clickstream</em> logging of user activity on a site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Version dependent configuration</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual +hosting</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run + tasks</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based +filter modules</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html.es b/docs/manual/mod/index.html.es new file mode 100644 index 0000000..07cafec --- /dev/null +++ b/docs/manual/mod/index.html.es @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Índice de Módulos - Servidor HTTP Apache Versión 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p> +<p class="apache">Versión 2.4 del Servidor HTTP Apache</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.4</a></div><div id="page-content"><div id="preamble"><h1>Índice de Módulos</h1> +<div class="toplang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> +<div class="outofdate">Esta traducción podría estar + obsoleta. Consulte la versión en inglés de la + documentación para comprobar si se han producido cambios + recientemente.</div> + + <p> + Abajo se muestra una lista con todos los módulos que forman + parte de la distribución de Apache. Consulte también la lista + alfabética completa de <a href="directives.html">las + directivas de Apache</a>. + </p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">Funcionalidad Básica y Módulos + de MultiProcesamiento (MPM)</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">Otros Módulos</a></li></ul><h3>Consulte también</h3> +<ul class="seealso"> +<li><a href="../mpm.html">Módulos de MultiProcesamiento + (MPMs)</a> + </li> +<li><a href="quickreference.html">Guía Rápida de Referencia de + Directivas</a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">Funcionalidad Básica y Módulos + de MultiProcesamiento (MPM)</a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>Funcionalides básicas del Servidor HTTP Apache que siempre están presentes.</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">A collection of directives that are implemented by +more than one multi-processing module (MPM)</dd> +<dt><a href="event.html">event</a></dt><dd>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>Implements a non-threaded, pre-forking web server</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Multi-Processing Module optimized for Windows NT.</dd> +<dt><a href="worker.html">worker</a></dt><dd>Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">Otros Módulos</a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Execute CGI scripts based on media type or request method.</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Easily restrict what HTTP methods can be used on the server</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Sends files that contain their own +HTTP headers</dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Basic HTTP authentication</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5 + Digest Authentication</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Form authentication</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Allows "anonymous" user access to authenticated + areas</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Core Authentication</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>User authentication using DBM files</dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>User authentication using text files</dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Manages a cache of authentication credentials to relieve +the load on backends</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Core Authorization</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Group Authorization and Login using SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Group authorization using DBM files</dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Group authorization using plaintext files</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Authorization based on file ownership</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>User Authorization</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Generates directory indexes, + automatically, similar to the Unix <code>ls</code> command or the + Win32 <code>dir</code> shell command</dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compress content via Brotli before it is delivered to the +client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support for request buffering</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>RFC 2616 compliant HTTP caching filter.</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Disk based storage module for the HTTP caching filter.</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Shared object cache (socache) based storage module for the +HTTP caching filter.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Execution of CGI scripts</dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Execution of CGI scripts using an + external CGI daemon</dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convert response body into an RFC2397 data URL</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) functionality</dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Filesystem provider for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Compress content before it is delivered to the +client</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Send static content at a bandwidth rate limit, defined by the various old modem standards</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Provides for "trailing slash" redirects and + serving directory index files</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Dumps all I/O to error log as desired.</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>A simple echo server to illustrate protocol +modules</dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>Modifies the environment which is passed to CGI scripts and +SSI pages</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustrates the Apache module API</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Generation of <code>Expires</code> and +<code>Cache-Control</code> HTTP headers according to user-specified +criteria</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Pass the response body through an external program before +delivery to the client</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Customization of HTTP request and response +headers</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident lookups</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd>Provides a comprehensive overview of the server +configuration</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use +by other LDAP modules</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Logging of the requests made to the server</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Forensic Logging of the requests made to the server</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Logging of input and output bytes per request</dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Provides Lua hooks into various portions of the httpd +request processing</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Provides macros within apache httpd runtime configuration files</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file + by looking at a few bytes of its contents</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts +under different user IDs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Multi-protocol proxy/gateway server</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for +<code>CONNECT</code> request handling</dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filters to handle and make available HTTP request bodies</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filter Input (request) and Output (response) content using <code>sed</code> syntax</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Allows the setting of environment variables based +on characteristics of the request</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Loading of executable code and +modules into the server at start-up or restart time</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd>Provides information on server activity and +performance</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Allows CGI scripts to run as a specified user +and Group</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Provides an environment variable with a unique +identifier for each request</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Basic (required) security for Unix-family platforms.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>User-specific directories</dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +<em>Clickstream</em> logging of user activity on a site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Version dependent configuration</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual +hosting</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run + tasks</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based +filter modules</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html.fr.utf8 b/docs/manual/mod/index.html.fr.utf8 new file mode 100644 index 0000000..e9727fc --- /dev/null +++ b/docs/manual/mod/index.html.fr.utf8 @@ -0,0 +1,325 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Index des modules - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Index des modules</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + Ci-dessous se trouve la liste de tous les modules qui font partie de + la distribution du serveur HTTP Apache. Voir aussi la liste alphabétique complète + de <a href="directives.html">toutes les directives du serveur HTTP Apache</a>. + </p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">Fonctionalités de Base et Modules Multi-Processus (MPM)</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">Autres Modules</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../mpm.html">Modules multi-processus (MPMs)</a> + </li> +<li><a href="quickreference.html">Document de référence rapide des directives</a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">Fonctionalités de Base et Modules Multi-Processus (MPM)</a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>Fonctionnalités de base du serveur HTTP Apache toujours +disponibles</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">Une série de directives implémentées par plusieurs +modules multi-processus (MPM)</dd> +<dt><a href="event.html">event</a></dt><dd>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conçue pour ne +mobiliser des threads que pour les connexions en cours de traitement</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Module multi-processus implémentant un serveur web basé +exclusivement sur les threads et optimisé pour Novell +NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>MPM hybride multi-processus, multi-thread pour +OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>Implémente un serveur web avec démarrage anticipé de +processus, sans thread</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Module multi-processus optimisé pour Windows +NT.</dd> +<dt><a href="worker.html">worker</a></dt><dd>Module multi-processus implémentant un serveur web hybride +multi-processus multi-thread</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">Autres Modules</a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Autorisations de groupe à base de nom d'hôte (nom ou +adresse IP)</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Exécution des scripts CGI en fonction du +type de média ou de la méthode de requête.</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Permet d'atteindre différentes parties du système de +fichiers depuis l'arborescence des documents du site web, ainsi que la +redirection d'URL</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Ce module permet de restreindre aisément les méthodes HTTP +pouvant être utilisées sur le serveur</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Envoie des fichiers contenant leurs propres en-têtes +HTTP</dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Authentification HTTP de base</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>Authentification utilisateur utilisant les condensés +MD5</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Authentification à l'aide d'un formulaire</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Permet un accès "anonyme" à des zones +protégées</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Le noyau de l'authentification</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>Authentification utilisateur à l'aide d'une base de données +SQL</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>Authentification utilisateur utilisant des fichiers +DBM</dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>Authentification utilisateur à l'aide de fichiers +texte</dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Gère un cache des données d'authentification pour diminuer +la charge des serveurs d'arrière-plan</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Permet à une application d'autorisation FastCGI de gérer +l'authentification et l'autorisation httpd.</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Permet d'utiliser un annuaire LDAP pour l'authentification +HTTP de base.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Autorisation basique</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Autorisation en groupe et reconnaissance d'identité avec base +SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Autorisation basée sur les groupes à l'aide de fichiers +DBM</dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Autorisation basée sur les groupes à l'aide de fichiers +textes</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Autorisations de groupe basées sur l'hôte (nom ou adresse +IP)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Autorisation basée sur l'appartenance des +fichiers</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>Autorisation basée sur l'utilisateur</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Génère automatiquement des index de répertoires d'une +manière similaire à la commande Unix <code>ls</code>, ou à la commande +shell Win32 <code>dir</code></dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compression du contenu via Brotli avant sa livraison au client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support de la mise en tampon des requêtes</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>Filtre de mise en cache HTTP conforme à la RFC 2616</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Module de stockage sur disque pour le filtre de mise en +cache HTTP.</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Module de stockage à base de cache d'objets partagés +(socache) pour le filtre de mise en cache HTTP.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>La sémantique des métafichiers du serveur httpd du +CERN</dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Exécution des scripts CGI</dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Exécution des scripts CGI par l'intermédiaire d'un démon +CGI externe</dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Spécifie dans quel jeu de caractère doivent s'effectuer les +traductions ou les réencodages</dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convertit un corps de réponse en URL de type données RFC2397</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Fonctionnalité de création et gestion de versions de +documents via le web (<a href="http://www.webdav.org/">WebDAV</a>)</dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Implémente le fournisseur filesystem pour +<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Module de verrouillage générique pour +<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Gestion des connexions à une base de données SQL</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Comprime le contenu avant de le servir au +client</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Envoie le contenu statique avec une bande passante limitée +définie par les différents standards des anciens modems.</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Permet la redirection des adresses se terminant par un +répertoire sans slash de fin et la mise à disposition des fichiers index +de répertoire</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Enregistre toutes les entrées/sorties dans le journal des +erreurs de la manière souhaitée.</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>Un simple serveur d'écho pour illustrer les modules de +protocole</dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>Modifie l'environnement transmis aux scripts CGI et aux +pages SSI</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustration de l'API des modules Apache</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Génération des en-têtes HTTP <code>Expires</code> et +<code>Cache-Control</code> en fonction de critères spécifiés par +l'utilisateur</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Fait traiter le corps de la réponse par un programme +externe avant de l'envoyer au client</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Mise en cache mémoire d'une liste statique de +fichiers</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Module de configuration de filtre intelligent sensible au +contexte</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Personnalisation des en-têtes de requêtes et de réponses +HTTP</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Envoie des messages d'état au mandataire frontal</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support de la couche transport HTTP/2</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>Recherche d'identité conformément à la RFC +1413</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Documents html interprétés par le serveur (Server Side +Includes ou SSI)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd>Affiche une présentation complète de la configuration du +serveur</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>Extensions ISAPI dans Apache pour Windows</dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Algorithme d'ordonnancement de répartition de charge pour +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic Heartbeat</dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>Conservation des connexions LDAP et services de mise en +cache du résultat à destination des autres modules LDAP</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Journalisation des requêtes envoyées au +serveur</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Journalisation supplémentaire à des fins de débogage</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Journalisation légale des requêtes envoyées au +serveur</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Journalisation des octets en entrée et en sortie pour +chaque requête</dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Fournit des points d'entrée Lua dans différentes parties du +traitement des requêtes httpd</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Ce module permet d'utiliser des macros dans les fichiers +de configuration Apache.</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Gestion des domaines au sein des serveurs virtuels et obtention + de certificats via le protocole ACME + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langue, +jeu de caractère et codage)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Effectue la <a href="../content-negotiation.html">négociation de +contenu</a></dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Active le chiffrement SSL pour Netware</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Serveur mandataire/passerelle multi-protocole</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>Module de support AJP pour +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de +la répartition de charge</dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le traitement +des requêtes <code>CONNECT</code></dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement +dynamique inverse de masse</dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>Module fournissant le support de FastCGI à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>Module fournissant le support des processus externes fdpass +à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>Module fournissant le support FTP à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Check up dynamique des membres du groupe de répartition de charge +(équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>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.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>Module fournissant le support HTTP à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>Support de HTTP/2 pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>Module fournissant le support de la passerelle SCGI à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>Module de passerelle UWSGI pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Module pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> supportant les +websockets</dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Limitation de la bande passante pour les clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>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. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Définit le délai maximum et le taux minimum de transfert des +données pour la réception des requêtes +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Ce module fournit un moteur de réécriture à base de +règles permettant de réécrire les URLs des requêtes +à la volée</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filtre les contenus en entrée (requêtes) et en sortie +(réponses) en utilisant la syntaxe de <code>sed</code></dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Support des sessions</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Support des sessions basé sur les cookies</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Support du chiffrement des sessions</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>Support des session basé sur DBD/SQL</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Permet de définir des variables d'environnement en fonction +de certainescaractéristiques de la requête</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Fournisseur de mémoire partagée à base de +slots.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Fournisseur de mémoire partagée basée sur les +slots.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Chargement de modules ou de code exécutable au cours du +démarrage ou du redémarrage du serveur</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>Fournisseur de cache d'objets partagés basé sur DBM.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Fournisseur de cache d'objets partagés basé sur dc.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Fournisseur de cache d'objets partagés basé sur Memcache.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Fournisseur de cache d'objets partagé basé sur Redis.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>Fournisseur de cache d'objets partagés basé sur shmcb.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Tente de corriger les erreurs de casse dans les URLs ou les +fautes de frappe mineures.</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd>Fournit des informations sur les performances et l'activité +du serveur</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Effectue des opérations de recherche/remplacement sur les +corps de réponses</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Fournit un support amélioré pour l'intégration de systemd</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Fournit une variable d'environnement contenant un +identifiant unique pour chaque requête</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>Répertoires propres à un utilisateur</dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +Journalisation <em>Clickstream</em> des liens parcourus par un +utilisateur sur un site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Configuration dépendant de la version</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Permet de configurer dynamiquement l'hébergement virtuel de +masse</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>Fournit une infrastructure permettant à d'autres modules +d'exécuter des tâches périodiques.</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Support avancé de l'internationalisation et des jeux de +caractères pour les modules de filtrage basés sur libxml2</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html.ja.utf8 b/docs/manual/mod/index.html.ja.utf8 new file mode 100644 index 0000000..1d7de3f --- /dev/null +++ b/docs/manual/mod/index.html.ja.utf8 @@ -0,0 +1,269 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>モジュール一覧 - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a></div><div id="page-content"><div id="preamble"><h1>モジュール一覧</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + 以下は Apache HTTP サーバの配布物に同梱されているモジュールの + 一覧です。<a href="directives.html">Apache HTTP サーバ + ディレクティブ</a> のアルファベット順のリストもご覧ください。 + </p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">コア機能と MPM</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">他のモジュール</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../mpm.html">マルチプロセッシングモジュール (MPMs)</a> + </li> +<li><a href="quickreference.html">ディレクティブ クイックリファレンス</a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">コア機能と MPM</a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>常に使用可能な Apache HTTP サーバのコア機能</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">二つ以上のマルチプロセッシングモジュール (MPM) +で実装されているディレクティブのコレクション</dd> +<dt><a href="event.html">event</a></dt><dd>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>スレッドを使わず、先行して fork を行なうウェブサーバを実装 +</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Windows NT +向けに最適化されたマルチプロセッシングモジュール</dd> +<dt><a href="worker.html">worker</a></dt><dd>マルチスレッドとマルチプロセスのハイブリッド型 +ウェブサーバを実装したマルチプロセッシングモジュール</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">他のモジュール</a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>ホスト (名前もしくは IP アドレス) に基づいたグループ承認</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd>メディアタイプやリクエストメソッドに応じて +CGI スクリプトを実行する機能を提供</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>ホストファイルシステム上のいろいろな違う場所を + ドキュメントツリーにマップする機能と、 + URL のリダイレクトを行なう機能を提供する</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Easily restrict what HTTP methods can be used on the server</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>自分用の HTTP ヘッダの書かれているファイルを送信する</dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>基本認証</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5 + Digest Authentication</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Form authentication</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>認証が必要な領域への "anonymous" ユーザのアクセスを許可する +</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Core Authentication</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>DBM ファイルを用いたユーザ認証</dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>テキストファイルを用いたユーザ認証</dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Manages a cache of authentication credentials to relieve +the load on backends</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Core Authorization</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Group Authorization and Login using SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Group authorization using DBM files</dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>プレーンテキストファイルを用いたグループ承認</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>ファイルの所有者に基づいた承認</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>ユーザ承認</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Unix の <code>ls</code> コマンドや + Win32 の <code>dir</code> シェルコマンドに似た + ディレクトリインデックスを生成する</dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compress content via Brotli before it is delivered to the +client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support for request buffering</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>URI をキーにしたコンテンツのキャッシュ</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>URI をキーにしたコンテンツキャッシュストレージ管理</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Shared object cache (socache) based storage module for the +HTTP caching filter.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>CGI スクリプトの実行</dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>外部 CGI デーモンを使った CGI スクリプトの実行</dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convert response body into an RFC2397 data URL</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>分散オーサリングとバージョン管理 +(<a href="http://www.webdav.org/">WebDAV</a>) 機能</dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> のためのファイルシステムプロバイダ</dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> 用の汎用ロックモジュール</dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>クライアントへ送られる前にコンテンツを圧縮する</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Send static content at a bandwidth rate limit, defined by the various old modem standards</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>「最後のスラッシュ」のリダイレクトと、ディレクトリの +インデックスファイルを扱う機能を提供する</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>望むようにすべての I/O をエラーログにダンプする</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>プロトコルモジュールの概要を示すための単純なエコーサーバ +</dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>CGI スクリプト及び SSI +ページに渡される環境変数を変更する機能を提供する</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustrates the Apache module API</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>ユーザの指定した基準に基づいた <code>Expires</code> と +<code>Cache-Control</code> HTTP ヘッダの生成</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>レスポンスのボディをクライアントに送る前に外部プログラムで処理する</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>HTTP リクエストのヘッダと応答のヘッダのカスタマイズ</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident lookups</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>サーバがパースする html ドキュメント (Server Side Includes)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd>サーバの設定の包括的な概観を提供する</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use +by other LDAP modules</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>サーバへのリクエストのロギング</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>サーバに送られたリクエストの forensic ロギング</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>リクエスト毎に入力バイト数と出力バイト数とをロギング</dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Provides Lua hooks into various portions of the httpd +request processing</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Provides macros within apache httpd runtime configuration files</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>リクエストされたファイルの拡張子とファイルの振る舞い + (ハンドラとフィルタ)、内容 (MIME タイプ、言語、文字セット、エンコーディング) + とを関連付ける</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file + by looking at a few bytes of its contents</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd><a href="../content-negotiation.html">コンテントネゴシエーション</a> + 機能を提供する</dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts +under different user IDs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>HTTP/1.1 プロキシ/ゲートウェイサーバ</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> で AJP +をサポートするためのモジュール</dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd>負荷分散のための <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 拡張</dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code>CONNECT</code> リクエストを扱う +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 用の拡張</dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filters to handle and make available HTTP request bodies</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filter Input (request) and Output (response) content using <code>sed</code> syntax</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>リクエストの特徴に基づいた環境変数の設定を可能にする</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>起動時や再起動時に実行コードとモジュールをサーバにロードする +</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>ユーザが入力したであろう間違った URL を、 +大文字小文字の区別を無視することと一つ以下の綴り間違いを許容することで +修正を試みる</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd>サーバの活動状況と性能に関する情報を提供する</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>指定されたユーザとグループで CGI スクリプトを実行する</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>それぞれのリクエストに対する一意な識別子の入った環境変数を +提供する</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Basic (required) security for Unix-family platforms.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>ユーザ専用のディレクトリを提供 + </dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +<em>Clickstream</em> logging of user activity on a site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>バージョン依存の設定</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual +hosting</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run + tasks</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based +filter modules</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html.ko.euc-kr b/docs/manual/mod/index.html.ko.euc-kr new file mode 100644 index 0000000..8f3189f --- /dev/null +++ b/docs/manual/mod/index.html.ko.euc-kr @@ -0,0 +1,265 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title> - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1> </h1> +<div class="toplang"> +<p><span> : </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> + + <p> + ġ Ե ̴. <a href="directives.html"> ġ þ</a> ϵ + ϶. + </p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">ٽ ɰ ó </a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">ٸ </a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../mpm.html">ó (MPM)</a> + </li> +<li><a href="quickreference.html">þ </a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">ٽ ɰ ó </a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>Core Apache HTTP Server features that are always +available</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">A collection of directives that are implemented by +more than one multi-processing module (MPM)</dd> +<dt><a href="event.html">event</a></dt><dd>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>Implements a non-threaded, pre-forking web server</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Multi-Processing Module optimized for Windows NT.</dd> +<dt><a href="worker.html">worker</a></dt><dd>Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">ٸ </a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd> ̵ û忡 CGI +ũƮ Ѵ.</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Ͻý ٸ κе ϰ, + URL ̷ Ѵ</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Easily restrict what HTTP methods can be used on the server</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>HTTP </dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Basic authentication</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>MD5 Digest Authentication .</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Form authentication</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd> "(anonymous)" +Ѵ</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Core Authentication</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>DBM </dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd> ̿ </dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Manages a cache of authentication credentials to relieve +the load on backends</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Core Authorization</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Group Authorization and Login using SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>DBM </dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Ϲ ̿ Ѻο</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd> ڸ ̿ Ѻο</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd> Ѻο</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>ڵ н <code>ls</code> ɾ Win32 + <code>dir</code> ɾ 丮 </dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compress content via Brotli before it is delivered to the +client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support for request buffering</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>URI Ű Ͽ ijѴ.</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Content cache storage manager keyed to URIs</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Shared object cache (socache) based storage module for the +HTTP caching filter.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN Ÿ </dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>CGI ũƮ </dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>ܺ CGI Ͽ CGI ũƮ </dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd> ȯ </dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convert response body into an RFC2397 data URL</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) </dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> Ͻý </dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd> Ŭ̾Ʈ Ѵ</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Send static content at a bandwidth rate limit, defined by the various old modem standards</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>" " ̷ ϰ 丮 +index Ѵ</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Dumps all I/O to error log as desired.</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd> ϱ echo </dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>CGI ũƮ SSI ȯ溯 +Ѵ</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>ġ API Ѵ</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>ڰ ؿ <code>Expires</code> +<code>Cache-Control</code> HTTP Ѵ</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd> ܺ α ó Ŭ̾Ʈ +</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd> ϵ ij</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>HTTP û </dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident ˻</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd> ̹(imagemap) ó</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd> ش</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>Windows ġ ISAPI Extension </dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use +by other LDAP modules</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd> û α Ѵ</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Forensic Logging of the requests made to the server</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>û Ʈ </dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Provides Lua hooks into various portions of the httpd +request processing</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Provides macros within apache httpd runtime configuration files</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file + by looking at a few bytes of its contents</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts +under different user IDs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Multi-protocol proxy/gateway server</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for +<code>CONNECT</code> request handling</dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filters to handle and make available HTTP request bodies</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filter Input (request) and Output (response) content using <code>sed</code> syntax</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>û ݿ ȯ溯 Ѵ</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Ҷ Ȥ Ҷ డ ڵ + оδ</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>ڰ ҹڸ ߸ ϰų Ʋ + ѹ Ͽ ߸ URL ġ õѴ</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd> Ȱ ɿ Ѵ</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>CGI ũƮ Ư ڿ Ѵ</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd> û ĺڸ ȯ溯 +Ѵ</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Basic (required) security for Unix-family platforms.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>ں 丮</dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +<em>Clickstream</em> logging of user activity on a site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd> </dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual +hosting</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run + tasks</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based +filter modules</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html.tr.utf8 b/docs/manual/mod/index.html.tr.utf8 new file mode 100644 index 0000000..734f6b6 --- /dev/null +++ b/docs/manual/mod/index.html.tr.utf8 @@ -0,0 +1,272 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Modül Dizini - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Modül Dizini</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>Apache HTTP Sunucusu dağıtımının parçası olarak gelen modüllerin tamamı + aşağıda listelenmiştir. Ayrıca, tüm Apache HTTP Sunucusu yönergelerinin + alfabetik olarak listelendiği bir <a href="directives.html">Yönerge + Dizini</a> de mevcuttur.</p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">Temel Özellikler ve Çoklu İşlem Modülleri</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">Diğer Modüller</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../mpm.html">Çok Süreçlilik Modülleri (MPM’ler)</a> + </li> +<li><a href="quickreference.html">Hızlı Yönerge Kılavuzu</a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">Temel Özellikler ve Çoklu İşlem Modülleri</a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>Apache HTTP Sunucusunda daima mevcut olan çekirdek + özellikler</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş + yönergeler bütünü.</dd> +<dt><a href="event.html">event</a></dt><dd>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>Evresiz ön çatallamalı HTTP sunucusu oluşturur</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Multi-Processing Module optimized for Windows NT.</dd> +<dt><a href="worker.html">worker</a></dt><dd>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok +süreçlilik modülü.</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">Diğer Modüller</a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Execute CGI scripts based on media type or request method.</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Belge ağacının parçalarının dosya sisteminin parçalarıyla +eşlenmesini sağlar ve URL yönlendirmesi yapar.</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Easily restrict what HTTP methods can be used on the server</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Sends files that contain their own +HTTP headers</dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Basic HTTP authentication</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5 + Digest Authentication</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Form authentication</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Allows "anonymous" user access to authenticated + areas</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Core Authentication</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>User authentication using DBM files</dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>User authentication using text files</dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Manages a cache of authentication credentials to relieve +the load on backends</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Core Authorization</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Group Authorization and Login using SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Group authorization using DBM files</dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Group authorization using plaintext files</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Authorization based on file ownership</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>User Authorization</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Unix <code>ls</code> veya Win32 <code>dir</code> kabuk komutunun +yaptığı gibi dizin içeriğini listeler.</dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compress content via Brotli before it is delivered to the +client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support for request buffering</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>RFC 2616 compliant HTTP caching filter.</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Disk based storage module for the HTTP caching filter.</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Shared object cache (socache) based storage module for the +HTTP caching filter.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Execution of CGI scripts</dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Execution of CGI scripts using an + external CGI daemon</dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convert response body into an RFC2397 data URL</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) functionality</dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Filesystem provider for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Compress content before it is delivered to the +client</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Send static content at a bandwidth rate limit, defined by the various old modem standards</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriği dosyalarını sunar.</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Dumps all I/O to error log as desired.</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>A simple echo server to illustrate protocol +modules</dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>CGI betiklerine ve SSI sayfalarına aktarılan değişkenlere müdahale +etmek için kullanılır.</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustrates the Apache module API</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Generation of <code>Expires</code> and +<code>Cache-Control</code> HTTP headers according to user-specified +criteria</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Pass the response body through an external program before +delivery to the client</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Customization of HTTP request and response +headers</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident lookups</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd>Provides a comprehensive overview of the server +configuration</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use +by other LDAP modules</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Sunucuya yapılan isteklerin günlük kayıtlarının tutulması +</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Sunucuya yapılan isteklerin adli günlük kayıtlarının tutulması</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Her isteğin girdi ve çıktı uzunluklarının günlüklenmesi. +</dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Provides Lua hooks into various portions of the httpd +request processing</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Provides macros within apache httpd runtime configuration files</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file + by looking at a few bytes of its contents</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts +under different user IDs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Multi-protocol proxy/gateway server</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for +<code>CONNECT</code> request handling</dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>HTTP istek gövdelerini işleme sokup kullanılabilir kılan süzgeçler</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filter Input (request) and Output (response) content using <code>sed</code> syntax</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Ortam değişkenlerinin isteğin özelliklerine uygun olarak atanmasını sağlar</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Modüllerin ve çalıştırılabilir kodun sunucunun başlatılması veya +yeniden başlatılması sırasında yüklenmesini sağlar.</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd>Sunucu etkinliği ve başarımı hakkında bilgi sağlar.</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>CGI betiklerinin belli bir kullanıcı ve grubun aidiyetinde +çalışmasını mümkün kılar.</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Provides an environment variable with a unique +identifier for each request</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Unix ailesi platformlar için temel (gerekli) güvenlik.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>Kullanıcılara özel dizinler</dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +<em>Clickstream</em> logging of user activity on a site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Version dependent configuration</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Kitlesel sanal konakların devingen olarak yapılandırılmasını sağlar</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run + tasks</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based +filter modules</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/index.html.zh-cn.utf8 b/docs/manual/mod/index.html.zh-cn.utf8 new file mode 100644 index 0000000..e11be58 --- /dev/null +++ b/docs/manual/mod/index.html.zh-cn.utf8 @@ -0,0 +1,274 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>模块索引 - Apache HTTP 服务器 版本 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="module-index"><div id="page-header"> +<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p> +<p class="apache">Apache HTTP 服务器版本 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.4</a></div><div id="page-content"><div id="preamble"><h1>模块索引</h1> +<div class="toplang"> +<p><span>可用语言: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p> + 下面是 Apache HTTP 服务器发行版中的所有模块列表。参见按照字母顺序罗列的<a href="directives.html">所有 Apache HTTP 服务器指令</a>。 + </p> + </div> +<div id="quickview"><ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#core">核心特性与多处理模块(MPM)</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">其它模块</a></li></ul><h3>参见</h3> +<ul class="seealso"> +<li><a href="../mpm.html">多处理模块(MPM)</a> + </li> +<li><a href="quickreference.html">指令快速索引</a> + </li> +</ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="core" name="core">核心特性与多处理模块(MPM)</a></h2> +<dl> +<dt><a href="core.html">core</a></dt><dd>Core Apache HTTP Server features that are always +available</dd> +<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">A collection of directives that are implemented by +more than one multi-processing module (MPM)</dd> +<dt><a href="event.html">event</a></dt><dd>A variant of the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM with the goal +of consuming threads only for connections with active processing</dd> +<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</dd> +<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>Hybrid multi-process, multi-threaded MPM for OS/2</dd> +<dt><a href="prefork.html">prefork</a></dt><dd>Implements a non-threaded, pre-forking web server</dd> +<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Multi-Processing Module optimized for Windows NT.</dd> +<dt><a href="worker.html">worker</a></dt><dd>Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server</dd> +</dl></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"><h2><a id="other" name="other">其它模块</a></h2> +<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p> +<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Execute CGI scripts based on media type or request method.</dd> +<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection</dd> +<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Easily restrict what HTTP methods can be used on the server</dd> +<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Sends files that contain their own +HTTP headers</dd> +<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Basic HTTP authentication</dd> +<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5 + Digest Authentication</dd> +<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Form authentication</dd> +<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Allows "anonymous" user access to authenticated + areas</dd> +<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Core Authentication</dd> +<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>User authentication using an SQL database</dd> +<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>User authentication using DBM files</dd> +<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>User authentication using text files</dd> +<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Manages a cache of authentication credentials to relieve +the load on backends</dd> +<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</dd> +<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</dd> +<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Core Authorization</dd> +<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Group Authorization and Login using SQL</dd> +<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Group authorization using DBM files</dd> +<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Group authorization using plaintext files</dd> +<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Group authorizations based on host (name or IP +address)</dd> +<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Authorization based on file ownership</dd> +<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>User Authorization</dd> +<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Generates directory indexes, + automatically, similar to the Unix <code>ls</code> command or the + Win32 <code>dir</code> shell command</dd> +<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compress content via Brotli before it is delivered to the +client</dd> +<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support for request buffering</dd> +<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>RFC 2616 compliant HTTP caching filter.</dd> +<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Disk based storage module for the HTTP caching filter.</dd> +<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Shared object cache (socache) based storage module for the +HTTP caching filter.</dd> +<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd> +<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Execution of CGI scripts</dd> +<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Execution of CGI scripts using an + external CGI daemon</dd> +<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd> +<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convert response body into an RFC2397 data URL</dd> +<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) functionality</dd> +<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Filesystem provider for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd> +<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Manages SQL database connections</dd> +<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Compress content before it is delivered to the +client</dd> +<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Send static content at a bandwidth rate limit, defined by the various old modem standards</dd> +<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Provides for "trailing slash" redirects and + serving directory index files</dd> +<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Dumps all I/O to error log as desired.</dd> +<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>A simple echo server to illustrate protocol +modules</dd> +<dt><a href="mod_env.html">mod_env</a></dt><dd>Modifies the environment which is passed to CGI scripts and +SSI pages</dd> +<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustrates the Apache module API</dd> +<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Generation of <code>Expires</code> and +<code>Cache-Control</code> HTTP headers according to user-specified +criteria</dd> +<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Pass the response body through an external program before +delivery to the client</dd> +<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Customization of HTTP request and response +headers</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> +<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>RFC 1413 ident lookups</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd> +<dt><a href="mod_info.html">mod_info</a></dt><dd>Provides a comprehensive overview of the server +configuration</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>LDAP connection pooling and result caching services for use +by other LDAP modules</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Logging of the requests made to the server</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Forensic Logging of the requests made to the server</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Logging of input and output bytes per request</dd> +<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Provides Lua hooks into various portions of the httpd +request processing</dd> +<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Provides macros within apache httpd runtime configuration files</dd> +<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file + by looking at a few bytes of its contents</dd> +<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_privileges.html" id="P" name="P">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts +under different user IDs.</dd> +<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Multi-protocol proxy/gateway server</dd> +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for +<code>CONNECT</code> request handling</dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</dd> +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filters to handle and make available HTTP request bodies</dd> +<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</dd> +<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filter Input (request) and Output (response) content using <code>sed</code> syntax</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Allows the setting of environment variables based +on characteristics of the request</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_so.html">mod_so</a></dt><dd>Loading of executable code and +modules into the server at start-up or restart time</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> +<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_status.html">mod_status</a></dt><dd>Provides information on server activity and +performance</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Allows CGI scripts to run as a specified user +and Group</dd> +<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> +<dt><a href="mod_tls.html" id="T" name="T">mod_tls</a></dt><dd>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </dd> +<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Provides an environment variable with a unique +identifier for each request</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Basic (required) security for Unix-family platforms.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>User-specific directories</dd> +<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> +<em>Clickstream</em> logging of user activity on a site +</dd> +<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Version dependent configuration</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual +hosting</dd> +<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run + tasks</dd> +<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based +filter modules</dd> +</dl></div></div> +<div class="bottomlang"> +<p><span>可用语言: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/" title="Simplified Chinese"> zh-cn </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p> +<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_access_compat.html b/docs/manual/mod/mod_access_compat.html new file mode 100644 index 0000000..ba31864 --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_access_compat.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_access_compat.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_access_compat.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_access_compat.html.en b/docs/manual/mod/mod_access_compat.html.en new file mode 100644 index 0000000..6cea80a --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html.en @@ -0,0 +1,499 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_access_compat - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_access_compat</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_access_compat.html" title="English"> en </a> | +<a href="../fr/mod/mod_access_compat.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Group authorizations based on host (name or IP +address)</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>access_compat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_access_compat.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3 as a compatibility module with +previous versions of Apache httpd 2.x. The directives provided by this module +have been deprecated by the new authz refactoring. Please see +<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></td></tr></table> +<h3>Summary</h3> + + <p>The directives provided by <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> are + used in <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, and + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sections + as well as <code><a href="core.html#accessfilename">.htaccess</a> + </code> files to control access to particular parts of the server. + Access can be controlled based on the client hostname, IP address, or + other characteristics of the client request, as captured in <a href="../env.html">environment variables</a>. The <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives are used to + specify which clients are or are not allowed access to the server, + while the <code class="directive"><a href="#order">Order</a></code> + directive sets the default access state, and configures how the + <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives interact with each + other.</p> + + <p>Both host-based access restrictions and password-based + authentication may be implemented simultaneously. In that case, + the <code class="directive"><a href="#satisfy">Satisfy</a></code> directive is used + to determine how the two sets of restrictions interact.</p> + + <div class="warning"><h3>Note</h3> + <p>The directives provided by <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> have + been deprecated by <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. + Mixing old directives like <code class="directive"><a href="#order">Order</a></code>, <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> with new ones like + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> is technically possible + but discouraged. This module was created to support + configurations containing only old directives to facilitate the 2.4 upgrade. + Please check the <a href="../upgrading.html">upgrading</a> guide for more + information. + </p> + </div> + + <p>In general, access restriction directives apply to all + access methods (<code>GET</code>, <code>PUT</code>, + <code>POST</code>, etc). This is the desired behavior in most + cases. However, it is possible to restrict some methods, while + leaving other methods unrestricted, by enclosing the directives + in a <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> section.</p> + + <div class="note"> <h3>Merging of configuration sections</h3> + <p>When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.</p> + </div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_access_compat">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_access_compat">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Allow" id="Allow">Allow</a> <a name="allow" id="allow">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts can access an area of the +server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +</table> + <p>The <code class="directive">Allow</code> directive affects which hosts can + access an area of the server. Access can be controlled by + hostname, IP address, IP address range, or by other + characteristics of the client request captured in environment + variables.</p> + + <p>The first argument to this directive is always + <code>from</code>. The subsequent arguments can take three + different forms. If <code>Allow from all</code> is specified, then + all hosts are allowed access, subject to the configuration of the + <code class="directive"><a href="#deny">Deny</a></code> and <code class="directive"><a href="#order">Order</a></code> directives as discussed + below. To allow only particular hosts or groups of hosts to access + the server, the <em>host</em> can be specified in any of the + following formats:</p> + + <dl> + <dt>A (partial) domain-name</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from example.org +Allow from .net example.edu</pre> + + <p>Hosts whose names match, or end in, this string are allowed + access. Only complete components are matched, so the above + example will match <code>foo.example.org</code> but it will not + match <code>fooexample.org</code>. This configuration will cause + Apache httpd to perform a double DNS lookup on the client IP + address, regardless of the setting of the <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> directive. It will do + a reverse DNS lookup on the IP address to find the associated + hostname, and then do a forward lookup on the hostname to assure + that it matches the original IP address. Only if the forward + and reverse DNS are consistent and the hostname matches will + access be allowed.</p></dd> + + <dt>A full IP address</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1.2.3 +Allow from 192.168.1.104 192.168.1.205</pre> + + <p>An IP address of a host allowed access</p></dd> + + <dt>A partial IP address</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1 +Allow from 10 172.20 192.168.2</pre> + + <p>The first 1 to 3 bytes of an IP address, for subnet + restriction.</p></dd> + + <dt>A network/netmask pair</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1.0.0/255.255.0.0</pre> + + <p>A network a.b.c.d, and a netmask w.x.y.z. For more + fine-grained subnet restriction.</p></dd> + + <dt>A network/nnn CIDR specification</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1.0.0/16</pre> + + <p>Similar to the previous case, except the netmask consists of + nnn high-order 1 bits.</p></dd> + </dl> + + <p>Note that the last three examples above match exactly the + same set of hosts.</p> + + <p>IPv6 addresses and IPv6 subnets can be specified as shown + below:</p> + + <pre class="prettyprint lang-config">Allow from 2001:db8::a00:20ff:fea7:ccea +Allow from 2001:db8::a00:20ff:fea7:ccea/10</pre> + + + <p>The third format of the arguments to the + <code class="directive">Allow</code> directive allows access to the server + to be controlled based on the existence of an <a href="../env.html">environment variable</a>. When <code>Allow from + env=<var>env-variable</var></code> is specified, then the request is + allowed access if the environment variable <var>env-variable</var> + exists. When <code>Allow from env=!<var>env-variable</var></code> is + specified, then the request is allowed access if the environment + variable <var>env-variable</var> doesn't exist. + The server provides the ability to set environment + variables in a flexible way based on characteristics of the client + request using the directives provided by + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Therefore, this directive can be + used to allow access based on such factors as the clients + <code>User-Agent</code> (browser type), <code>Referer</code>, or + other HTTP request header fields.</p> + + <pre class="prettyprint lang-config">SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in +<Directory "/docroot"> + Order Deny,Allow + Deny from all + Allow from env=let_me_in +</Directory></pre> + + + <p>In this case, browsers with a user-agent string beginning + with <code>KnockKnock/2.0</code> will be allowed access, and all + others will be denied.</p> + + <div class="note"> <h3>Merging of configuration sections</h3> + <p>When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Deny" id="Deny">Deny</a> <a name="deny" id="deny">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts are denied access to the +server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +</table> + <p>This directive allows access to the server to be restricted + based on hostname, IP address, or environment variables. The + arguments for the <code class="directive">Deny</code> directive are + identical to the arguments for the <code class="directive"><a href="#allow">Allow</a></code> directive.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Order" id="Order">Order</a> <a name="order" id="order">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Order <var>ordering</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Order Deny,Allow</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +</table> + + <p>The <code class="directive">Order</code> directive, along with the + <code class="directive"><a href="#allow">Allow</a></code> and + <code class="directive"><a href="#deny">Deny</a></code> directives, + controls a three-pass access control system. The first pass + processes either all <code class="directive"><a href="#allow">Allow</a></code> or all <code class="directive"><a href="#deny">Deny</a></code> directives, as specified + by the <code class="directive"><a href="#order">Order</a></code> + directive. The second pass parses the rest of the directives + (<code class="directive"><a href="#deny">Deny</a></code> or + <code class="directive"><a href="#allow">Allow</a></code>). The third + pass applies to all requests which do not match either of the first + two.</p> + + <p>Note that all <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives are + processed, unlike a typical firewall, where only the first match is + used. The last match is effective (also unlike a typical firewall). + Additionally, the order in which lines appear in the configuration + files is not significant -- all <code class="directive"><a href="#allow">Allow</a></code> lines are processed as + one group, all <code class="directive"><a href="#deny">Deny</a></code> lines are considered as + another, and the default state is considered by itself.</p> + + <p><em>Ordering</em> is one of:</p> + + <dl> + <dt><code>Allow,Deny</code></dt> + + <dd>First, all <code class="directive"><a href="#allow">Allow</a></code> directives are + evaluated; at least one must match, or the request is rejected. + Next, all <code class="directive"><a href="#deny">Deny</a></code> + directives are evaluated. If any matches, the request is rejected. + Last, any requests which do not match an <code class="directive"><a href="#allow">Allow</a></code> or a <code class="directive"><a href="#deny">Deny</a></code> directive are denied + by default.</dd> + + <dt><code>Deny,Allow</code></dt> + + <dd>First, all <code class="directive"><a href="#deny">Deny</a></code> directives are + evaluated; if any match, the request is denied + <strong>unless</strong> it also matches an <code class="directive"><a href="#allow">Allow</a></code> directive. Any + requests which do not match any <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directives are + permitted.</dd> + + <dt><code>Mutual-failure</code></dt> + + <dd>This order has the same effect as <code>Order + Allow,Deny</code> and is deprecated in its favor.</dd> + </dl> + + <p>Keywords may only be separated by a comma; <em>no whitespace</em> + is allowed between them.</p> + + <table class="bordered"> + <tr> + <th>Match</th> + <th>Allow,Deny result</th> + <th>Deny,Allow result</th> + </tr><tr> + <th>Match Allow only</th> + <td>Request allowed</td> + <td>Request allowed</td> + </tr><tr> + <th>Match Deny only</th> + <td>Request denied</td> + <td>Request denied</td> + </tr><tr> + <th>No match</th> + <td>Default to second directive: Denied</td> + <td>Default to second directive: Allowed</td> + </tr><tr> + <th>Match both Allow & Deny</th> + <td>Final match controls: Denied</td> + <td>Final match controls: Allowed</td> + </tr> + </table> + + <p>In the following example, all hosts in the example.org domain + are allowed access; all other hosts are denied access.</p> + + <pre class="prettyprint lang-config">Order Deny,Allow +Deny from all +Allow from example.org</pre> + + + <p>In the next example, all hosts in the example.org domain are + allowed access, except for the hosts which are in the + foo.example.org subdomain, who are denied access. All hosts not + in the example.org domain are denied access because the default + state is to <code class="directive"><a href="#deny">Deny</a></code> + access to the server.</p> + + <pre class="prettyprint lang-config">Order Allow,Deny +Allow from example.org +Deny from foo.example.org</pre> + + + <p>On the other hand, if the <code class="directive">Order</code> in the + last example is changed to <code>Deny,Allow</code>, all hosts will + be allowed access. This happens because, regardless of the actual + ordering of the directives in the configuration file, the + <code>Allow from example.org</code> will be evaluated last and will + override the <code>Deny from foo.example.org</code>. All hosts not in + the <code>example.org</code> domain will also be allowed access + because the default state is <code class="directive"><a href="#allow">Allow</a></code>.</p> + + <p>The presence of an <code class="directive">Order</code> directive can + affect access to a part of the server even in the absence of + accompanying <code class="directive"><a href="#allow">Allow</a></code> + and <code class="directive"><a href="#deny">Deny</a></code> + directives because of its effect on the default access state. For + example,</p> + + <pre class="prettyprint lang-config"><Directory "/www"> + Order Allow,Deny +</Directory></pre> + + + <p>will Deny all access to the <code>/www</code> directory + because the default access state is set to + <code class="directive"><a href="#deny">Deny</a></code>.</p> + + <p>The <code class="directive">Order</code> directive controls the order of access + directive processing only within each phase of the server's + configuration processing. This implies, for example, that an + <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directive occurring in a + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section will + always be evaluated after an <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directive occurring in a + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> section or + <code>.htaccess</code> file, regardless of the setting of the + <code class="directive">Order</code> directive. For details on the merging + of configuration sections, see the documentation on <a href="../sections.html">How Directory, Location and Files sections + work</a>.</p> + + <div class="note"> <h3>Merging of configuration sections</h3> + <p>When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction between host-level access control and +user authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Satisfy Any|All</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Satisfy All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Influenced by <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> and <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> in version 2.0.51 and +later</td></tr> +</table> + <p>Access policy if both <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> used. The parameter can be + either <code>All</code> or <code>Any</code>. This directive is only + useful if access to a particular area is being restricted by both + username/password <em>and</em> client host address. In this case + the default behavior (<code>All</code>) is to require that the client + passes the address access restriction <em>and</em> enters a valid + username and password. With the <code>Any</code> option the client will be + granted access if they either pass the host restriction or enter a + valid username and password. This can be used to password restrict + an area, but to let clients from particular addresses in without + prompting for a password.</p> + + <p>For example, if you wanted to let people on your network have + unrestricted access to a portion of your website, but require that + people outside of your network provide a password, you could use a + configuration similar to the following:</p> + + <pre class="prettyprint lang-config">Require valid-user +Allow from 192.168.1 +Satisfy Any</pre> + + + <p> + Another frequent use of the <code class="directive">Satisfy</code> directive + is to relax access restrictions for a subdirectory: + </p> + + <pre class="prettyprint lang-config"><Directory "/var/www/private"> + Require valid-user +</Directory> + +<Directory "/var/www/private/public"> + Allow from all + Satisfy Any +</Directory></pre> + + + <p>In the above example, authentication will be required for the + <code>/var/www/private</code> directory, but will not be required + for the <code>/var/www/private/public</code> directory.</p> + + <p>Since version 2.0.51 <code class="directive">Satisfy</code> directives can + be restricted to particular methods by <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> and <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> sections.</p> + + <div class="note"> <h3>Merging of configuration sections</h3> + <p>When any directive provided by this module is used in a new + configuration section, no directives provided by this module are + inherited from previous configuration sections.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#allow">Allow</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_access_compat.html" title="English"> en </a> | +<a href="../fr/mod/mod_access_compat.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_access_compat.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_access_compat.html.fr.utf8 b/docs/manual/mod/mod_access_compat.html.fr.utf8 new file mode 100644 index 0000000..5448192 --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html.fr.utf8 @@ -0,0 +1,524 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_access_compat - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_access_compat</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe à base de nom d'hôte (nom ou +adresse IP)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>access_compat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_access_compat.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans la version 2.3 du serveur HTTP Apache +à des fins de compatibilité +avec les précédentes versions d'Apache httpd 2.x. Les directives fournies par +ce module sont devenues obsolètes depuis la refonte d'authz. Voir +<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></td></tr></table> +<h3>Sommaire</h3> + + <p>Les directives fournies par le module + <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> s'utilisent dans les sections + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + <code class="directive"><a href="../mod/core.html#files"><Files></a></code> et + <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, ainsi + que dans les fichiers <code><a href="core.html#accessfilename">.htaccess</a></code> et permettent + de contrôler l'accès à certaines parties du serveur. On peut + contrôler cet accès en fonction du nom d'hôte du client, de son + adresse IP ou d'autres caractéristiques de la requête, telles + qu'elles sont enregistrées dans les <a href="../env.html">variables + d'environnement</a>. Les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> permettent de spécifier + quels clients sont ou ne sont pas autorisés à accéder au serveur, + alors que la directive <code class="directive"><a href="#order">Order</a></code> définit le statut + d'accès par défaut, et détermine la manière dont les directives + <code class="directive"><a href="#allow">Allow</a></code> et + <code class="directive"><a href="#deny">Deny</a></code> interagissent + entre elles.</p> + + <p>Les restrictions d'accès à base de nom d'hôte et + l'authentification à base de mot de passe peuvent être implémentées + simultanément. Dans ce cas, on utilise la directive <code class="directive"><a href="#satisfy">Satisfy</a></code> pour déterminer la + manière dont ces deux modes de restrictions interagissent.</p> + + <div class="warning"><h3>Note</h3> + <p>Les directives fournies par le module + <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont devenues obsolètes depuis + la refonte du module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Mélanger d'anciennes + directives comme <code class="directive"><a href="#order">Order</a></code>, <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> avec des nouvelles comme + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est techniquement + possible mais déconseillé. En effet, <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> a + été conçu pour supporter des configurations ne contenant que des anciennes + directives afin de faciliter le passage à la version 2.4. Voir le document + <a href="../upgrading.html">upgrading</a> pour plus de détails. + </p> + </div> + + <p>En général, les directives de restriction d'accès s'appliquent à + toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>, + <code>POST</code>, etc...). C'est d'ailleurs ce que l'on souhaite + dans la plupart des cas. Il est cependant possible de restreindre + certaines méthodes, alors que les autres méthodes ne se verront + imposée aucune restriction, en regroupant les directives à + l'intérieur d'une section <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p> + + <div class="note"><h3>Fusion des sections de configuration</h3> + <p>Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_access_compat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_access_compat">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allow" id="allow">Directive</a> <a name="Allow" id="Allow">Allow</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie quels hôtes peuvent accéder à une certaine zone du +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Allow from all|<var>hôte</var>|env=[!]<var>variable +d'environnement</var> +[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +</table> + <p>La directive <code class="directive">Allow</code> permet de définir quels + hôtes ont le droit d'accéder à une certaine partie du serveur. On + peut contrôler l'accès par nom d'hôte, adresse IP, intervalle + d'adresses IP, ou toute autre caractéristique de la requête client + enregistrée dans les variables d'environnement.</p> + + <p>Le premier argument de cette directive est toujours + <code>from</code>. Les arguments suivants peuvent prendre trois + formes différentes. Si <code>Allow from all</code> est spécifié, + tout hôte se voit accordé l'accès, en tenant compte des directives + <code class="directive"><a href="#deny">Deny</a></code> et <code class="directive"><a href="#order">Order</a></code> comme décrit plus loin. + Pour ne permettre l'accès au serveur qu'à un hôte ou un groupe + d'hôtes particuliers, on peut spécifier un <em>nom d'hôte</em> sous + une des formes suivantes :</p> + + <dl> + <dt>Un nom de domaine (partiel)</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from example.org +Allow from .net example.edu</pre> + + <p>Les hôtes dont les noms correspondent ou se terminent par la + chaîne spécifiée ont l'autorisation d'accès. Seules les + composantes entières du nom d'hôte doivent correspondre ; ainsi, + dans l'exemple ci-dessus, <code>foo.example.org</code> + correspondra, mais <code>fooexample.org</code> ne conviendra pas. + Avec cette configuration, Apache httpd va effectuer une double recherche + DNS sur l'adresse IP du client, sans tenir compte de la + définition de la directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>. Tout d'abord, une + recherche DNS inverse sur l'adresse IP est effectuée pour + déterminer le nom d'hôte associé, puis une recherche directe sur + le nom d'hôte est effectuée afin de s'assurer qu'il correspond + bien à l'adresse IP originale. L'accès ne sera accordé que si le + nom d'hôte correspond et si les recherches DNS inverse et directe + concordent.</p></dd> + + <dt>Une adresse IP complète</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1.2.3 +Allow from 192.168.1.104 192.168.1.205</pre> + + <p>L'adresse IP d'un hôte auquel on a accordé l'accès</p></dd> + + <dt>Une adresse IP partielle</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1 +Allow from 10 172.20 192.168.2</pre> + + <p>De un à trois des premiers octets d'une adresse IP, afin de + restreindre l'accès à un sous-réseau.</p></dd> + + <dt>Une paire réseau/masque de sous-réseau</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1.0.0/255.255.0.0</pre> + + <p>Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z, pour + une définition plus précise de la restriction d'accès imposée à un + sous-réseau.</p></dd> + + <dt>Une spécification CIDR réseau/nnn</dt> + + <dd> + <pre class="prettyprint lang-config">Allow from 10.1.0.0/16</pre> + + <p>Identique au cas précédent, mis à part que le masque est + constitué des nnn bits de poids fort.</p></dd> + </dl> + + <p>Notez que les trois derniers exemples désignent le même ensemble + d'hôtes.</p> + + <p>On peut spécifier des adresses et sous-réseaux IPv6 de la manière + suivante :</p> + + <pre class="prettyprint lang-config">Allow from 2001:db8::a00:20ff:fea7:ccea +Allow from 2001:db8::a00:20ff:fea7:ccea/10</pre> + + + <p>Le troisième format d'argument de la directive + <code class="directive">Allow</code> permet de contrôler l'accès au serveur + en fonction de l'existence d'une <a href="../env.html">variable d'environnement</a>. Lorsque <code>Allow + from env=<var>variable d'environnement</var></code> est spécifié, la + requête est autorisée si la variable d'environnement <var>variable + d'environnement</var> existe. En revanche, lorsque <code>Allow from + env=!<var>env-variable</var></code> est spécifié, la + requête est autorisée si la variable d'environnement <var>variable + d'environnement</var> n'existe pas. Le serveur permet de définir + avec souplesse des variables d'environnement en se basant sur les + caractéristiques de la requête client et en utilisant les directives + fournies par le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Ainsi, on peut + utiliser la directive <code class="directive">Allow</code> pour permettre + l'accès en fonction de paramètres comme le <code>User-Agent</code> + (type de navigateur) des clients, le <code>Referer</code>, ou + d'autres champs d'en-tête de la requête HTTP.</p> + + <pre class="prettyprint lang-config">SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in +<Directory "/docroot"> + Order Deny,Allow + Deny from all + Allow from env=let_me_in +</Directory></pre> + + + <p>Dans cet exemple, les navigateurs dont la chaîne user-agent + commence par <code>KnockKnock/2.0</code> se verront accorder + l'accès, alors que tous les autres seront rejetés.</p> + + <div class="note"><h3>Fusion des sections de configuration</h3> + <p>Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deny" id="deny">Directive</a> <a name="Deny" id="Deny">Deny</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit quels hôtes ne sont pas autorisés à accéder au +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Deny from all|<var>hôte</var>|env=[!]<var>variable +d'environnement</var> +[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +</table> + <p>Cette directive permet de restreindre l'accès au serveur en + fonction du nom d'hôte, de l'adresse IP ou de variables + d'environnement. Les arguments de la directive + <code class="directive">Deny</code> sont identiques aux arguments de la + directive <code class="directive"><a href="#allow">Allow</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="order" id="order">Directive</a> <a name="Order" id="Order">Order</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le statut d'accès par défaut et l'ordre dans lequel +les directives <code class="directive">Allow</code> et +<code class="directive">Deny</code> sont évaluées.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Order <var>ordre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Order Deny,Allow</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +</table> + + <p>La directive <code class="directive">Order</code>, associée aux + directives <code class="directive"><a href="#allow">Allow</a></code> + et <code class="directive"><a href="#deny">Deny</a></code>, + implémente un système de contrôle d'accès en trois passes. Au cours + de la première passe, ce sont soit toutes les directives <code class="directive"><a href="#allow">Allow</a></code>, soit toutes les + directives <code class="directive"><a href="#deny">Deny</a></code> qui sont traitées, selon + la définition de la directive <code class="directive"><a href="#order">Order</a></code>. Le reste des + directives (<code class="directive"><a href="#deny">Deny</a></code> + ou <code class="directive"><a href="#allow">Allow</a></code>) est + traité au cours de la seconde passe. La troisième passe s'applique à + toutes les requêtes qui ne sont concernées par aucune des deux + premières passes.</p> + + <p>Notez que toutes les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> sont traitées, à la + différence d'un pare-feu classique où seule la première règle qui + correspond est utilisée. La dernière directive qui correspond + s'applique ( à la différence là encore d'un pare-feu classique). De + plus, l'ordre dans lequel les lignes apparaissent dans le fichier de + configuration n'a pas d'incidence -- toutes les lignes <code class="directive"><a href="#allow">Allow</a></code> sont considérées comme + un groupe, toutes les lignes <code class="directive"><a href="#deny">Deny</a></code> comme un autre, et le + statut par défaut a son existence propre.</p> + + <p><em>Ordre</em> peut être :</p> + + <dl> + <dt><code>Allow,Deny</code></dt> + + <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#allow">Allow</a></code> sont évaluées ; au + moins une d'entre elles doit correspondre, sinon la requête est + rejetée. Ensuite, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées. Si au + moins l'une d'entre elles correspond, la requête est rejetée. + Enfin, toute requête qui ne correspond à aucune directive + <code class="directive"><a href="#allow">Allow</a></code> ou + <code class="directive"><a href="#deny">Deny</a></code> est rejetée + par défaut.</dd> + + <dt><code>Deny,Allow</code></dt> + + <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées ; Si au + moins une d'entre elles correspond, la requête est rejetée, + <strong>à moins</strong> qu'elle corresponde aussi à une directive + <code class="directive"><a href="#allow">Allow</a></code>. Toute + requête qui ne correspond à aucune directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> est autorisée.</dd> + + <dt><code>Mutual-failure</code></dt> + + <dd>Cet argument a le même effet que <code>Allow,Deny</code> et + est devenu de ce fait obsolète.</dd> + </dl> + + <p>Les mots-clés ne peuvent être séparés que par des virgules ; + <em>aucun espace</em> ne doit s'intercaler entre eux.</p> + + <table class="bordered"> + <tr> + <th>Match</th> + <th>Résultat Allow,Deny</th> + <th>Résultat Deny,Allow</th> + </tr><tr> + <th>Correspond à Allow seulement</th> + <td>Requête autorisée</td> + <td>Requête autorisée</td> + </tr><tr> + <th>Correspond à Deny seulement</th> + <td>Requête rejetée</td> + <td>Requête rejetée</td> + </tr><tr> + <th>Aucune correspondance</th> + <td>Par défaut la seconde directive : rejet</td> + <td>Par défaut la seconde directive : autorisation</td> + </tr><tr> + <th>Correspond à Allow & Deny</th> + <td>La dernière correspondance l'emporte : rejet</td> + <td>La dernière correspondance l'emporte : autorisation</td> + </tr> + </table> + + <p>Dans cet exemple, tous les hôtes du domaine example.org ont + l'autorisation d'accès ; tous les autres voient leur accès + refusé.</p> + + <pre class="prettyprint lang-config">Order Deny,Allow +Deny from all +Allow from example.org</pre> + + + <p>Dans l'exemple suivant, tous les hôtes du domaine example.org ont + l'autorisation d'accès, sauf ceux du sous-domaine foo.example.org qui + voient leur accès refusé. Tous les hôtes qui ne sont pas dans le + domaine example.org sont rejetés car le statut par défaut est positionné + sur <code class="directive"><a href="#deny">Deny</a></code>, et consiste donc en un + refus d'accès.</p> + + <pre class="prettyprint lang-config">Order Allow,Deny +Allow from example.org +Deny from foo.example.org</pre> + + + <p>Par contre, si la valeur de la directive + <code class="directive">Order</code>, dans l'exemple précédent, est + <code>Deny,Allow</code>, tout le monde a l'autorisation d'accès. + Ceci est dû au fait que <code>Allow from example.org</code> sera + évalué en dernier, sans tenir compte de l'ordre réel dans lequel les + directives apparaissent dans le fichier de configuration, et va + l'emporter sur <code>Deny from foo.example.org</code>. Tout hôte qui + n'est pas dans le domaine <code>example.org</code> aura aussi + l'autorisation d'accès car le statut par défaut est positionné sur + <code class="directive"><a href="#allow">Allow</a></code> et constitue donc une + autorisation d'accès.</p> + + <p>La présence d'une directive <code class="directive">Order</code> peut + affecter le contrôle d'accès à une partie du serveur même en + l'abscence de directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> associées, à cause de + son influence sur le statut par défaut. Par exemple,</p> + + <pre class="prettyprint lang-config"><Directory "/www"> + Order Allow,Deny +</Directory></pre> + + + <p>va interdire tout accès au répertoire <code>/www</code> à cause + du statut d'accès par défaut qui est défini à <code class="directive"><a href="#deny">Deny</a></code>.</p> + + <p>La directive <code class="directive">Order</code> ne contrôle l'ordre + dans lequel sont traitées les directives d'accès qu'au cours de + chaque phase du traitement de la configuration du serveur. Ceci + implique, par exemple, qu'une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sera + toujours évaluée après une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou un + fichier <code>.htaccess</code>, sans tenir compte de la + définition de la directive <code class="directive">Order</code>. Pour plus + de détails à propos de la fusion des sections de configuration, voir + le document <a href="../sections.html">Comment fonctionnent les sections Directory, + Location et Files</a>.</p> + + <div class="note"><h3>Fusion des sections de configuration</h3> + <p>Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="satisfy" id="satisfy">Directive</a> <a name="Satisfy" id="Satisfy">Satisfy</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction entre le contrôle d'accès en fonction de l'hôte +et l'authentification utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Satisfy Any|All</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Satisfy All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Affecté par <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> et <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> à partir de la version +2.0.51</td></tr> +</table> + <p>Politique d'accès dans le cas où on utilise à la fois <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. L'argument est soit + <code>All</code>, soit <code>Any</code>. L'utilisation de cette + directive n'a de sens que si l'accès à une zone particulière du + serveur est restreinte par utilisateur/mot de passe et en fonction + de l'adresse IP de l'hôte client. Dans ce cas, par + défaut (<code>All</code>), le client doit satisfaire à la + restriction d'adresse, <em>et</em> fournir un couple + utilisateur/mot de passe valide. Avec l'argument <code>Any</code>, + le client se verra accorder l'accès s'il satisfait à la restriction + d'adresse ou fournit un couple utilisateur/mot de passe valide. On + peut utiliser cette dernière définition pour restreindre l'accès à + une zone par mot de passe, mais accorder l'accès aux clients + possédant certaines adresses IP sans qu'ils aient à fournir de mot + de passe.</p> + + <p>Par exemple, si vous souhaitez que les utilisateurs de votre + réseau accèdent à une zone de votre site web sans restriction, mais + que l'accès à cette zone nécessite un mot de passe pour les autres + utilisateurs, vous pouvez utiliser une configuration du style :</p> + + <pre class="prettyprint lang-config">Require valid-user +Allow from 192.168.1 +Satisfy Any</pre> + + + <p> + Une autre utilisation fréquente de la directive + <code class="directive">Satisfy</code> est l'allègement des restrictions + d'accès à un sous-répertoire par rapport aux restrictions d'accès au + répertoire parent : + </p> + + <pre class="prettyprint lang-config"><Directory "/var/www/private"> + Require valid-user +</Directory> + +<Directory "/var/www/private/public"> + Allow from all + Satisfy Any +</Directory></pre> + + + <p>Dans l'exemple ci-dessus, l'accès au répertoire + <code>/var/www/private</code> nécessitera une authentification, + alors que l'accès au répertoire <code>/var/www/private/public</code> + sera accordé sans restriction.</p> + + + <p>Depuis la version 2.0.51, les directives + <code class="directive">Satisfy</code> peuvent être restreintes à certaines + méthodes particulières à l'aide des sections <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> et <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code>.</p> + + <div class="note"><h3>Fusion des sections de configuration</h3> + <p>Lorsqu'une directive fournie par ce module est utilisée dans + une nouvelle section de configuration, cette dernière n'hérite + d'aucune directive définie dans une section précédente.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#allow">Allow</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_access_compat.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_access_compat.html.ja.utf8 b/docs/manual/mod/mod_access_compat.html.ja.utf8 new file mode 100644 index 0000000..9a52b9d --- /dev/null +++ b/docs/manual/mod/mod_access_compat.html.ja.utf8 @@ -0,0 +1,476 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_access_compat - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_access_compat</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_access_compat.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_access_compat.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ホスト (名前もしくは IP アドレス) に基づいたグループ承認</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>access_compat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_access_compat.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.3 (Apache 2.x の以前のバージョンとの互換性のためのモジュールとして)。 +このモジュールで提供するディレクティブは、承認の仕組みの一新に伴い、非推奨になったものです。 +<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> も見てください。</td></tr></table> +<h3>概要</h3> + + <p><code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> により提供されるディレクティブは + サーバの特定の部分への + アクセスを制御するために <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + と <code><a href="core.html#accessfilename">.htaccess</a></code> ファイルで使用されます。クライアントのホスト名、IP + アドレスや、<a href="../env.html">環境変数</a>などのリクエストの特徴に基づいて + アクセス制御を行なうことができます。<code class="directive"><a href="#allow">Allow</a></code> と + <code class="directive"><a href="#deny">Deny</a></code> ディレクティブを使って、 + どのようなクライアントにアクセスを + 許可する、しないを指定します。また + <code class="directive"><a href="#order">Order</a></code> ディレクティブを使って、 + デフォルトのアクセス状態と、 + <code class="directive"><a href="#allow">Allow</a></code> ディレクティブと + <code class="directive"><a href="#deny">Deny</a></code> + ディレクティブとのお互いへの影響の仕方を設定します。 + </p> + + <p>ホストによるアクセス制限とパスワードによる認証を、 + 同時に組み合わせて使うこともできます。 + この場合、その二つの制限の関係を指定するために + <code class="directive"><a href="#satisfy">Satisfy</a></code> + ディレクティブを使用します。</p> + + <div class="warning"><h3>Note</h3> + <p><code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code>が提供するディレクティブは、 + 承認の仕組みの一新に伴い、非推奨になったものです。 + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> も見てください。 + デフォルトの承認の取り扱い機能を使用するために + <code class="module"><a href="../mod/mod_authz_default.html">mod_authz_default</a></code> + モジュールもロードされなければなりません。</p> + </div> + + <p>一般的には、アクセス制限ディレクティブはすべてのアクセスメソッド + (<code>GET</code>, <code>PUT</code>, <code>POST</code> など) + に適用されます。そして、ほとんどの場合これが望ましい動作です。 + しかし、<code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> + セクションの中にディレクティブを書くことで、 + 一部のメソッドにのみ制限をかけることもできます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_access_compat">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_access_compat">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Allow" id="Allow">Allow</a> <a name="allow" id="allow">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバのある領域にアクセスできるホストを制御する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr> +</table> + <p><code class="directive">Allow</code> ディレクティブは、どのホストが + サーバのある領域にアクセスできるかに影響を与えます。 + アクセスはホスト名、IP アドレス、IP アドレスの範囲や、 + 環境変数などのクライアントのリクエストの + 特徴に基づいてアクセス制御することができます。</p> + + <p>このディレクティブの最初の引数は常に <code>from</code> です。 + それに続く引数は三つの違った形式があります。<code>Allow from + all</code> が指定されていれば、すべてのホストにアクセスを許可し、 + アクセス制限は下で説明されているように、 + <code class="directive"><a href="#deny">Deny</a></code> + ディレクティブと <code class="directive"><a href="#order">Order</a></code> + ディレクティブの設定で決まります。 + 特定のホストやホスト群にのみサーバへのアクセスを許可するためには、 + 以下のどれかの形式で <em>host</em> を指定することができます:</p> + + <dl> + <dt>ドメイン名 (の一部)</dt> + + <dd> + <div class="example"><h3>例</h3><p><code> + Allow from apache.org<br /> + Allow from .net example.edu + </code></p></div> + <p>この文字列に合うか、これで終わる名前のホストのアクセスが許可されます。 + 各部分が完全に合うものだけに適用されますので、上の例は + <code>foo.apache.org</code> にはマッチしますが、 + <code>fooapache.org</code> にはマッチしません。 + この設定をすると、Apache は + <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> + の設定に関わらず、クライアントの IP アドレスに対して + DNS の 2 重逆引きを行ないます。 + ホスト名からオリジナルの IP アドレスを順引きします。 + 順引きと逆引きが一致し、ホスト名が該当した場合にのみ、 + アクセスが許可されます。</p></dd> + + <dt>完全な IP アドレス</dt> + + <dd> + <div class="example"><h3>例</h3><p><code> + Allow from 10.1.2.3<br /> + Allow from 192.168.1.104 192.168.1.205 + </code></p></div> + <p>アクセスを許可する IP アドレスです。</p></dd> + + <dt>IP アドレスの一部</dt> + + <dd> + <div class="example"><h3>例</h3><p><code> + Allow from 10.1<br /> + Allow from 10 172.20 192.168.2 + </code></p></div> + <p>サブネットの制限用の、IP + アドレスの最初の一つから三つまでのバイトです。</p></dd> + + <dt>ネットワーク/ネットマスク の対</dt> + + <dd> + <div class="example"><h3>例</h3><p><code> + Allow from 10.1.0.0/255.255.0.0 + </code></p></div> + <p>ネットワーク a.b.c.d とネットマスク w.x.y.z です。 + より細粒度のサブネット制限用です。</p></dd> + + <dt>ネットワーク/nnn CIDR 指定</dt> + + <dd> + <div class="example"><h3>例</h3><p><code> + Allow from 10.1.0.0/16 + </code></p></div> + <p>ネットマスクが nnn の上位ビットが 1 + となっているものからなること以外は前のものと同じです。</p></dd> + </dl> + + <p>注: 最後の三つの例はまったく同じホストに合います。</p> + + + <p>IPv6 アドレスと IPv6 のサブネットは以下のように指定できます:</p> + + <div class="example"><p><code> + Allow from 2001:db8::a00:20ff:fea7:ccea<br /> + Allow from 2001:db8::a00:20ff:fea7:ccea/10 + </code></p></div> + + <p><code class="directive">Allow</code> ディレクティブの引数の三つ目の形式は、 + <a href="../env.html">環境変数</a> + の存在によりアクセスの制御を行なえるようにするものです。 + <code>Allow from env=<var>env-variable</var></code> + が指定されていると、環境変数 <var>env-variable</var> + が存在した場合にリクエストはアクセスを許可されます。 + <code>Allow from env=!<var>env-variable</var></code> + が指定されていると、環境変数 <var>env-variable</var> + が存在しない場合にアクセス許可されます。 + サーバは <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> + のディレクティブにより、クライアントのリクエスト + の特徴に基づいて柔軟に環境変数を設定する機能を提供します。 + ですから、このディレクティブはクライアントの + <code>User-Agent</code> (ブラウザの種類)、<code>Referer</code> + や他の HTTP リクエストのヘッダフィールドなどに基づいて + アクセス許可をするために使うことができます。 + </p> + + <div class="example"><h3>Example:</h3><p><code> + SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in<br /> + <Directory /docroot><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from env=let_me_in<br /> + </span> + </Directory> + </code></p></div> + + <p>この場合、user-agent の文字列が <code>KnockKnock/2.0</code> + で始まるブラウザのみがアクセスが許可され、 + 他のものはアクセスが拒否されます。</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Deny" id="Deny">Deny</a> <a name="deny" id="deny">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがアクセスを拒否するホストを制御する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr> +</table> + <p>このディレクティブはホスト名、IP + アドレス、環境変数に基づいてサーバへのアクセスを制限します。 + <code class="directive">Deny</code> ディレクティブの引数は <code class="directive"><a href="#allow">Allow</a></code> + ディレクティブとまったく同じです。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Order" id="Order">Order</a> <a name="order" id="order">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>デフォルトのアクセス可能な状態と、<code class="directive">Allow</code> と +<code class="directive">Deny</code> が評価される順番を制御する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Order <var>ordering</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Order Deny,Allow</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr> +</table> + + <p><code class="directive">Order</code> ディレクティブは <code class="directive"><a href="#allow">Allow</a></code> ディレクティブと<code class="directive"><a href="#deny">Deny</a></code> と共に"3段階アクセス制御システム" + を制御します。第1段階目では <code class="directive">Order</code> ディレクティブで1番目に + 指定したディレクティブ(<code class="directive"><a href="#allow">Allow</a></code> + または <code class="directive"><a href="#deny">Deny</a></code>)を全て処理します。 + 第2段階目で、残りのディレクティブ(<code class="directive"><a href="#deny">Deny</a></code> または <code class="directive"><a href="#allow">Allow</a></code>) + を全て処理します。第3段階目で、第1段階目と第2段階目で + マッチしなかったリクエストを処理します。</p> + + <p>全ての <code class="directive"><a href="#allow">Allow</a></code> と <code class="directive"><a href="#deny">Deny</a></code> が処理され、結局のところ最後にマッチ + した条件が有効となることに注意してください。これは最初にマッチした条件だけが有効 + となる、典型的なファイアウォールの動作とは異なっています。 + また、設定ファイルに書く順番には意味はありません。<code class="directive"><a href="#allow">Allow</a></code> 行は全部一つのグループとして扱われ、 + <code class="directive"><a href="#deny">Deny</a></code> 行はもう一つのグループとみなされます。 + またデフォルト状態は単独で一つのグループとみなされます。</p> + + <p><em>Order</em> 設定は以下のどれかです。</p> + + <dl> + <dt><code>Allow,Deny</code></dt> + + <dd>まず <code class="directive"><a href="#allow">Allow</a></code> + ディレクティブが適用されます。どれにもマッチしなかった場合、この時点で + リクエストは拒否されます。次に、全ての <code class="directive"><a href="#deny"> + Deny</a></code> ディレクティブが適用されます。どれか一つでもマッチした場合は、 + リクエストは拒否されます。 + 最後に、 <code class="directive"><a href="#allow">Allow</a></code> にも <code class="directive"><a href="#deny">Deny</a></code> にもマッチしなかったリクエストは + デフォルト設定が適用されるので拒否されます。</dd> + + <dt><code>Deny,Allow</code></dt> + + <dd>まず <code class="directive"><a href="#deny">Deny</a></code> + ディレクティブが適用されます。どれか一つでもマッチした場合は、 + <code class="directive"><a href="#allow">Allow</a></code> のどれにも + マッチ<strong>しなければ</strong>、アクセスは拒否されます。 + どの <code class="directive"><a href="#allow">Allow</a></code> にも <code class="directive"><a href="#deny">Deny</a></code> にもマッチしないリクエストは + 許可されます。</dd> + + <dt><code>Mutual-failure</code></dt> + + <dd>これは <code>Order Allow,Deny</code> と全く同じ効果を持ち、 + そのため非推奨となっています。 + </dd> + </dl> + + <p>キーワードの間に置けるのはコンマだけです。 + 間に<em>空白があってはいけません</em>。</p> + + <table class="bordered"> + <tr> + <th>マッチ</th> + <th>Allow,Deny 時の結果</th> + <th>Deny,Allow 時の結果</th> + </tr><tr> + <th>Allow だけにマッチ</th> + <td>許可</td> + <td>許可</td> + </tr><tr> + <th>Deny だけにマッチ</th> + <td>拒否</td> + <td>拒否</td> + </tr><tr> + <th>どちらにもマッチしない</th> + <td>2番目のディレクティブがデフォルト: 拒否</td> + <td>2番目のディレクティブがデフォルト: 許可</td> + </tr><tr> + <th>Allow と Deny 両方にマッチ</th> + <td>最後にマッチしたほう: 拒否</td> + <td>最後にマッチしたほう: 許可</td> + </tr> + </table> + + <p>以下の例では、apache.org + ドメインのすべてのホストはアクセスを許可されます。 + 他のすべてのホストはアクセスを拒否されます。</p> + + <div class="example"><p><code> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from apache.org + </code></p></div> + + <p>次の例では、foo.apache.org サブドメインにあるホスト以外の、 + apache.org ドメインのすべてのホストがアクセスを許可されます。 + apache.org + ドメインでないホストは、デフォルトの状態が <code class="directive"><a href="#deny">Deny</a></code> のため、 + サーバへのアクセスを拒否されます。</p> + + <div class="example"><p><code> + Order Allow,Deny<br /> + Allow from apache.org<br /> + Deny from foo.apache.org + </code></p></div> + + <p>一方、上の例の <code class="directive">Order</code> が <code>Deny,Allow</code> + に変わっていれば、すべのホストにアクセスが許可されます。 + これは、設定ファイル中の実際の順番に関わらず、 + <code>Allow from apache.org</code> が最後に評価されて、 + <code>Deny from foo.apache.org</code> を上書きするからです。 + <code>apache.org</code> + ドメインにないホストも、デフォルトの状態が <code class="directive"><a href="#allow">Allow</a></code> + なので、アクセスを許可されます。 + </p> + + <p><code class="directive">Order</code> + ディレクティブはデフォルトのアクセスの状態に影響を与えるので、 + <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> ディレクティブと + <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> + ディレクティブが無くても、サーバのアクセスに影響を与えることができます。 + たとえば、</p> + + <div class="example"><p><code> + <Directory /www><br /> + <span class="indent"> + Order Allow,Deny<br /> + </span> + </Directory> + </code></p></div> + + <p>はデフォルトのアクセス状態が + <code class="directive"><a href="#deny">Deny</a></code> になるため、 + <code>/www</code> ディレクトリへのすべてのアクセスを拒否します。 + </p> + + <p><code class="directive">Order</code> + ディレクティブはサーバの設定処理の各段階でだけ + アクセスディレクティブの処理の順番を変更します。これは、たとえば、 + <code class="directive">Order</code> ディレクティブの設定に関わらず、 + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> セクションの + <code class="directive"><a href="#allow">Allow</a></code> ディレクティブや + <code class="directive"><a href="#deny">Deny</a></code> ディレクティブは、 + <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> セクションや + <code>.htaccess</code> ファイルの <code class="directive"><a href="#allow">Allow</a></code> + ディレクティブや <code class="directive"><a href="#deny">Deny</a></code> + ディレクティブよりも常に後に評価されるということを意味します。 + 設定セクションのマージの詳細については、 + <a href="../sections.html">Directory,Location, Files + セクションの動作方法</a> を参照してください。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ホストレベルのアクセス制御とユーザ認証との相互作用を指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Satisfy Any|All</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Satisfy All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.51 以降では <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> ディレクティブと <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> ディレクティブの影響を受ける +</td></tr> +</table> + <p><code class="directive"><a href="#allow">Allow</a></code> と + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> の両方が使われているときの + アクセスポリシーを設定します。パラメータは <code>All</code> か <code>Any</code> + です。このディレクティブはある場所へのアクセスがユーザ名/パスワード + <em>と</em>クライアントのホストのアドレスで制限されているときにのみ + 役立ちます。デフォルトの動作 (<code>All</code>) はクライアントがアドレスによる + アクセス制限を満たし、<em>かつ</em>正しいユーザ名とパスワードを入力することを + 要求します。<code>Any</code> では、クライアントはホストの制限を満たすか、 + 正しいユーザ名とパスワードの入力をするかをすればアクセスを許可されます。 + これは、ある場所をパスワードで保護するけれど、特定のアドレスからの + クライアントにはパスワードの入力を要求せずにアクセスを許可する、 + というようなときに使用できます。</p> + + <p>例えば、同じネットワーク上にいる人にはウェブサイトのある部分について + 無制限のアクセスを許したいけれど、外のネットワークの人には + パスワードを提供させるようにするためには、次のような設定をすることが + できます:</p> + + <div class="example"><p><code> + Require valid-user<br /> + Allow from 192.168.1<br /> + Satisfy Any + </code></p></div> + + <p>バージョン 2.0.51 からは + <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> セクションと + <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> セクションを使用することで + <code class="directive">Satisfy</code> ディレクティブが + 適用されるメソッドを制限することが + できるようになりました。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#allow">Allow</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_access_compat.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_access_compat.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_access_compat.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html b/docs/manual/mod/mod_actions.html new file mode 100644 index 0000000..15e77f1 --- /dev/null +++ b/docs/manual/mod/mod_actions.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_actions.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mod_actions.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_actions.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_actions.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_actions.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_actions.html.de b/docs/manual/mod/mod_actions.html.de new file mode 100644 index 0000000..742537f --- /dev/null +++ b/docs/manual/mod/mod_actions.html.de @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_actions - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache-Modul mod_actions</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mod_actions.html" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Dieses Modul ermöglicht die Ausführung von CGI-Skripten + in Abhängigkeit von Medientypen und Anfragemethoden.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Basis</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modulbezeichner:</a></th><td>actions_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Quelltext-Datei:</a></th><td>mod_actions.c</td></tr></table> +<h3>Zusammenfassung</h3> + + <p>Das Modul besitzt zwei Direktiven. Die Direktive <code class="directive"><a href="#action">Action</a></code> erlaubt die Ausführung von + CGI-Skripten immer dann, wenn eine Anfrage zu einem bestimmten <a class="glossarylink" href="../glossary.html#mime-type" title="siehe Glossar">MIME-Type</a> erfolgt. Die Direktive <code class="directive"><a href="#script">Script</a></code> erlaubt die Ausführung von + CGI-Skripten abhängig von einer bestimmten Methode, die in der + Anfrage verwendet wird. Dies macht es deutlich einfacher, Skripte + auszuführen, die Dateien verarbeiten.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#action">Action</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#script">Script</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_actions">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_actions">Report a bug</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../howto/cgi.html">Dynamische Inhalte mit CGI</a></li> +<li><a href="../handler.html">Die Verwendung von Handlern</a></li> +<li><a href="#comments_section">Kommentare</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Action" id="Action">Action</a>-<a name="action" id="action">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert ein CGI-Skript für einen bestimmten Handler oder + Content-Type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Action <var>Aktionsart</var> <var>CGI-Skript</var> [virtual]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Basis</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>mod_actions</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Der Schalter <code>virtual</code> und die Übergabe des + Handlers wurden in Apache 2.1 eingeführt.</td></tr> +</table> + <p>Die Direktive fügt eine Aktion hinzu, welche das + <var>CGI-Skript</var> aktiviert, sobald die <var>Aktionsart</var> durch + eine Anfrage ausgelöst wird. <var>CGI-Skript</var> ist der URL-Pfad + zu einer Ressource, die unter Verwendung von <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> oder <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> als CGI-Skript gekennzeichnet + wurde. Die <var>Aktionsart</var> kann entweder ein <a href="../handler.html">Handler</a> oder ein <a class="glossarylink" href="../glossary.html#mime-type" title="siehe Glossar">MIME-Type</a> sein. Die URL und + den Dateipfad des angeforderten Dokuments in den + Standard-CGI-Umgebungsvariablen <code>PATH_INFO</code> und + <code>PATH_TRANSLATED</code> übergeben. Der für die jeweilige + Anfrage verwendete Handler wird in der Umgebungsvariablen + <code>REDIRECT_HANDLER</code> übergeben.</p> + + <div class="example"><h3>Beispiele</h3><p><code> + # Anfragen für Dateien eines bestimmten MIME-Types:<br /> + Action image/gif /cgi-bin/images.cgi<br /> + <br /> + # Dateien einer bestimmten Dateiendung<br /> + AddHandler my-file-type .xyz<br /> + Action my-file-type /cgi-bin/program.cgi<br /> + </code></p></div> + + <p>Im ersten Beispiel werden Anfragen für Dateien mit dem MIME-Type + <code>image/gif</code> von dem angegebenen CGI-Skript + <code>/cgi-bin/images.cgi</code> bearbeitet.</p> + + <p>Im zweiten Beispiel werden Anfragen für Dateien mit der Dateiendung + <code>.xyz</code> von dem angegebenen CGI-Skript + <code>/cgi-bin/program.cgi</code> bearbeitet.</p> + + <p>Der optionale Schalter <code>virtual</code> deaktiviert die Prüfung + auf Existenz der angeforderten Datei. Dies ist beispielsweise + nützlich, wenn Sie die Direktive <code class="directive">Action</code> in + Verbindung mit virtuellen Adressräumen verwenden möchten.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + <Location /news><br /> + <span class="indent"> + SetHandler news-handler<br /> + Action news-handler /cgi-bin/news.cgi virtual<br /> + </span> + </Location> + </code></p></div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Script" id="Script">Script</a>-<a name="script" id="script">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert ein CGI-Skript für eine bestimmte + Anfragemethode.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Script <var>Methode</var> <var>CGI-Skript</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Basis</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>mod_actions</td></tr> +</table> + <p>Die Direktive fügt eine Aktion hinzu, welche das + <var>CGI-Skript</var> aktiviert, wenn eine Datei unter der Verwendung der + Methode <var>Methode</var> angefordert wird. <var>CGI-Skript</var> ist der + URL-Pfad zu einer Ressource, die unter Verwendung von <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> oder <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> als CGI-Skript gekennzeichnet + wurde. Die URL und der Dateipfad des angeforderten Dokuments werden in den + Standard-CGI-Umgebungsvariablen <code>PATH_INFO</code> und + <code>PATH_TRANSLATED</code> übergeben.</p> + + <div class="note"> + Der Methodenname kann frei gewählt werden. Bei <strong>Methodennamen + wird zwischen Groß- und Kleinschreibung</strong> unterschieden, so + dass <code>Script PUT</code> und <code>Script put</code> zu vollkommen + unterschiedlichen Ergebnissen führen. + </div> + + <p>Beachten Sie, dass der <code class="directive">Script</code>-Befehl nur + Voreinstellungen für Aktionen definiert. Wird ein CGI-Skript + - oder eine andere Ressource, die in der Lage ist, die angeforderte + Methode intern zu bearbeiten - aufgerufen, so wird diese(s) verwendet. + Beachten Sie auch, dass <code class="directive">Script</code> mit der Methode + <code>GET</code> nur dann aufgerufen wird, wenn Query-Argumente vorhanden + sind (<em>z.B.</em> foo.html?hi). Andernfalls wird die Anfrage normal + bearbeitet.</p> + + <div class="example"><h3>Beispiele</h3><p><code> + # Für <ISINDEX>-ähnliches Suchen<br /> + Script GET /cgi-bin/search<br /> + <br /> + # Ein CGI-PUT-Handler<br /> + Script PUT /~bob/put.cgi<br /> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mod_actions.html" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_actions.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.en b/docs/manual/mod/mod_actions.html.en new file mode 100644 index 0000000..0f984d6 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.en @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_actions - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_actions</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Execute CGI scripts based on media type or request method.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>actions_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_actions.c</td></tr></table> +<h3>Summary</h3> + + <p>This module has two directives. The <code class="directive"><a href="#action">Action</a></code> directive lets you run CGI + scripts whenever a file of a certain <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME content type</a> is requested. The + <code class="directive"><a href="#script">Script</a></code> directive lets + you run CGI scripts whenever a particular method is used in a + request. This makes it much easier to execute scripts that process + files.</p> </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#action">Action</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#script">Script</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_actions">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_actions">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../howto/cgi.html">Dynamic Content with CGI</a></li> +<li><a href="../handler.html">Apache httpd's Handler Use</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Action" id="Action">Action</a> <a name="action" id="action">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activates a CGI script for a particular handler or +content-type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Action <var>action-type</var> <var>cgi-script</var> [virtual]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_actions</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The <code>virtual</code> modifier and handler passing were +introduced in Apache 2.1</td></tr> +</table> + <p>This directive adds an action, which will activate + <var>cgi-script</var> when <var>action-type</var> is triggered by + the request. The <var>cgi-script</var> is the URL-path to a + resource that has been designated as a CGI script using <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> or <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>. The + <var>action-type</var> can be either a <a href="../handler.html">handler</a> or a <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME content type</a>. It sends the URL and + file path of the requested document using the standard CGI + <code>PATH_INFO</code> and <code>PATH_TRANSLATED</code> + environment variables. The handler used for the particular request + is passed using the <code>REDIRECT_HANDLER</code> variable.</p> + + <div class="example"><h3>Example: MIME type</h3><pre class="prettyprint lang-config"># Requests for files of a particular MIME content type: +Action image/gif /cgi-bin/images.cgi</pre> +</div> + + <p>In this example, requests for files with a MIME content + type of <code>image/gif</code> will be handled by the + specified cgi script <code>/cgi-bin/images.cgi</code>.</p> + + <div class="example"><h3>Example: File extension</h3><pre class="prettyprint lang-config"># Files of a particular file extension +AddHandler my-file-type .xyz +Action my-file-type "/cgi-bin/program.cgi"</pre> +</div> + <p>In this example, requests for files with a file extension of + <code>.xyz</code> are handled by the specified cgi script + <code>/cgi-bin/program.cgi</code>.</p> + + <p>The optional <code>virtual</code> modifier turns off the check + whether the requested file really exists. This is useful, for example, + if you want to use the <code class="directive">Action</code> directive in + virtual locations.</p> + + <pre class="prettyprint lang-config"><Location "/news"> + SetHandler news-handler + Action news-handler "/cgi-bin/news.cgi" virtual +</Location></pre> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Script" id="Script">Script</a> <a name="script" id="script">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activates a CGI script for a particular request +method.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Script <var>method</var> <var>cgi-script</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_actions</td></tr> +</table> + <p>This directive adds an action, which will activate + <var>cgi-script</var> when a file is requested using the method of + <var>method</var>. The <var>cgi-script</var> is the URL-path to a + resource that has been designated as a CGI script using <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> or <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>. The URL and + file path of the requested document is sent using the standard CGI + <code>PATH_INFO</code> and <code>PATH_TRANSLATED</code> environment + variables.</p> + + <div class="note"> + Any arbitrary method name may be used. <strong>Method names are + case-sensitive</strong>, so <code>Script PUT</code> and + <code>Script put</code> have two entirely different + effects. + </div> + + <p>Note that the <code class="directive">Script</code> command defines default + actions only. If a CGI script is called, or some other resource that is + capable of handling the requested method internally, it will do + so. Also note that <code class="directive">Script</code> with a method of + <code>GET</code> will only be called if there are query arguments present + (<em>e.g.</em>, foo.html?hi). Otherwise, the request will + proceed normally.</p> + + <pre class="prettyprint lang-config"># All GET requests go here +Script GET "/cgi-bin/search" + +# A CGI PUT handler +Script PUT "/~bob/put.cgi"</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_actions.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.fr.utf8 b/docs/manual/mod/mod_actions.html.fr.utf8 new file mode 100644 index 0000000..e6025d8 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.fr.utf8 @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_actions - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_actions</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI en fonction du +type de média ou de la méthode de requête.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>actions_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_actions.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module possède deux directives. La directive <code class="directive"><a href="#action">Action</a></code> vous permet de lancer + l'exécution de scripts CGI chaque fois qu'un fichier possédant un + certain <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type de contenu MIME</a> + fait l'objet d'une requête. La directive <code class="directive"><a href="#script">Script</a></code> vous permet de lancer + l'exécution de scripts CGI chaque fois que la requête utilise une + méthode particulière. Ceci facilite grandement l'exécution de + scripts qui traitent des fichiers.</p> </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#action">Action</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#script">Script</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_actions">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_actions">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../howto/cgi.html">Contenu dynamique avec CGI</a></li> +<li><a href="../handler.html">Utilisation des gestionnaires +d'Apache httpd</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="action" id="action">Directive</a> <a name="Action" id="Action">Action</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un script CGI pour un gestionnaire ou un type de +contenu particulier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Action <var>type d'action</var> <var>script cgi</var> +[virtual]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_actions</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le modificateur <code>virtual</code> et le passage de +gestionnaire ont été introduits dans Apache 2.1</td></tr> +</table> + <p>Cette directive ajoute une action qui va activer <var>script + cgi</var> lorsque <var>type d'action</var> est déclenché par la + requête. <var>script cgi</var> est un chemin URL vers une ressource + qui a été désignée comme script CGI à l'aide des directives + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>. <var>type d'action</var> + peut être soit un <a href="../handler.html">gestionnaire</a>, soit + un <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type de contenu MIME</a>. L'URL + et le chemin du document correspondant sont envoyés en utilisant + les variables d'environnement CGI standards <code>PATH_INFO</code> + et <code>PATH_TRANSLATED</code>. Le gestionnaire utilisé pour cette + requête particulière est transmis à l'aide de la variable + <code>REDIRECT_HANDLER</code>.</p> + + <div class="example"><h3>Exemple : type MIME</h3><pre class="prettyprint lang-config"># Requests for files of a particular MIME content type: +Action image/gif /cgi-bin/images.cgi</pre> +</div> + + <p>Dans cet exemple, les requêtes pour des fichiers possédant + le type de contenu MIME <code>image/gif</code> seront traitées par + le script CGI <code>/cgi-bin/images.cgi</code>.</p> + + <div class="example"><h3>Example: File extension</h3><pre class="prettyprint lang-config"># Files of a particular file extension +AddHandler my-file-type .xyz +Action my-file-type "/cgi-bin/program.cgi"</pre> +</div> + <p>Dans cet exemple, les requêtes pour des fichiers possédant + l'extension <code>.xyz</code> seront traitées par + le script CGI <code>/cgi-bin/programme.cgi</code>.</p> + + <p>Le modificateur optionnel <code>virtual</code> permet de + désactiver la vérification de l'existence du fichier demandé. Ceci + peut s'avérer utile, par exemple, si vous voulez utiliser la + directive <code class="directive">Action</code> pour des localisations + virtuelles.</p> + + <pre class="prettyprint lang-config"><Location "/news"> + SetHandler news-handler + Action news-handler "/cgi-bin/news.cgi" virtual +</Location></pre> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="script" id="script">Directive</a> <a name="Script" id="Script">Script</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un script CGI dans le cas d'une méthode de requête +particulière.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Script <var>méthode</var> <var>script cgi</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_actions</td></tr> +</table> + <p>Cette directive ajoute une action qui va activer <var>script + cgi</var> lorsqu'un fichier est demandé en utilisant la méthode + <var>méthode</var>. <var>script cgi</var> est le chemin URL d'une + ressource qui a été désignée comme script CGI en utilisant les + directives <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>. L'URL et le chemin du + document demandé sont envoyés en utilisant les variables + d'environnement CGI standards <code>PATH_INFO</code> et + <code>PATH_TRANSLATED</code>.</p> + + <div class="note"> + Tous les noms de méthode peuvent être utilisés. <strong>Les noms + de méthode sont sensibles à la casse</strong>, si bien que + <code>Script PUT</code> et <code>Script put</code> ont des effets + totalement différents. + </div> + + <p>Notez que la commande <code class="directive">Script</code> ne définit + que des actions par défaut. Si un script CGI est appelé, ou toute + autre ressource capable de gérer la méthode de la requête en + interne, il agira en conséquence. Notez aussi que + <code class="directive">Script</code> avec une méthode <code>GET</code> ne + sera appelé que si la requête possède des arguments (par exemple + foo.html?hi). Dans le cas contraire, la requête sera traitée + normalement.</p> + + <pre class="prettyprint lang-config"># All GET requests go here +Script GET "/cgi-bin/search" + +# A CGI PUT handler +Script PUT "/~bob/put.cgi"</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_actions.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.ja.utf8 b/docs/manual/mod/mod_actions.html.ja.utf8 new file mode 100644 index 0000000..a5d10e6 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.ja.utf8 @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_actions - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_actions</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>メディアタイプやリクエストメソッドに応じて +CGI スクリプトを実行する機能を提供</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>actions_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_actions.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールには二つのディレクティブがあります。<code class="directive"><a href="#action">Action</a></code> + ディレクティブは特定の <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a>のファイルをリクエストされた場合に + CGI スクリプトが実行されるようにします。<code class="directive"><a href="#script">Script</a></code> + ディレクティブはリクエストで特定のメソッドが使用されたときに CGI + スクリプトが実行されるようにします。 + これはファイルを処理するスクリプトの実行をずっと簡単にします。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#action">Action</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#script">Script</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_actions">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_actions">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../howto/cgi.html">CGI による動的コンテンツ</a></li> +<li><a href="../handler.html">Apache のハンドラの使用</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Action" id="Action">Action</a> <a name="action" id="action">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定のハンドラやコンテントタイプに対して CGI を実行するように +設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Action <var>action-type</var> <var>cgi-script</var> [virtual]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_actions</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td><code>virtual</code> 修飾子とハンドラ渡しは +Apache 2.1 で導入されました</td></tr> +</table> + <p>このディレクティブは <var>action-type</var> + がリクエストされたときに <var>cgi-script</var> + が実行されるという動作を追加します。<var>cgi-script</var> は + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> や + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> によって + CGI スクリプトに設定されたリソースへの URL-path です。 + <var>Action-type</var> には + <a href="../handler.html">handler</a> か <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME + コンテントタイプ</a>を指定できます。リクエストされたドキュメントの URL + とファイルのパスは標準 CGI 環境変数 <code>PATH_INFO</code> と + <code>PATH_TRANSLATED</code> を使って伝えられます。 + 特定のリクエストに対して使用されるハンドラへは、 + <code>REDIRECT_HANDLER</code> 変数を使って渡せます。</p> + + <div class="example"><h3>例</h3><p><code> + # Requests for files of a particular MIME content type:<br /> + Action image/gif /cgi-bin/images.cgi<br /> + <br /> + # Files of a particular file extension<br /> + AddHandler my-file-type .xyz<br /> + Action my-file-type /cgi-bin/program.cgi<br /> + </code></p></div> + + <p>最初の例では、MIME コンテントタイプが <code>image/gif</code> + のファイルへのリクエストは、指定したスクリプト + <code>/cgi-bin/images.cgi</code> で処理されます。</p> + + <p>2 番目の例では、拡張子が <code>.xyz</code> + のファイルへのリクエストは、指定したスクリプト + <code>/cgi-bin/program.cgi</code> で処理されます。</p> + + <p>オプションの <code>virtual</code> 修飾子を使用すると、 + リクエストされたファイルが実際に存在するかどうかを検査しないようにできます。 + これは例えば、<code class="directive">Action</code> ディレクティブをバーチャルな + Location に使用したい、といった場合に便利です。</p> + + <div class="example"><h3>例</h3><p><code> + <Location /news><br /> + <span class="indent"> + SetHandler news-handler<br /> + Action news-handler /cgi-bin/news.cgi virtual<br /> + </span> + </Location> + </code></p></div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Script" id="Script">Script</a> <a name="script" id="script">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定のリクエストメソッドに対して CGI スクリプトを +実行するように設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Script <var>method</var> <var>cgi-script</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_actions</td></tr> +</table> + <p>このディレクティブは <var>method</var> + というメソッドを使ってリクエストが行なわれたときに + <var>cgi-script</var> を実行するという動作を追加します。 + <var>cgi-script</var> は + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> や + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> によって + CGI スクリプトに設定されたリソースへの URL-path です。 + リクエストされたドキュメントの URL とファイルのパスは標準 CGI + 環境変数 <code>PATH_INFO</code> と <code>PATH_TRANSLATED</code> + を使って伝えられます。</p> + + <div class="note"> + 任意のメソッド名を使用することができます。 + <strong>メソッド名は大文字小文字を区別します</strong>。ですから、 + <code>Script PUT</code> と <code>Script put</code> + はまったく違った効果になります。 + </div> + + <p><code class="directive">Script</code> コマンドはデフォルトの動作を + 追加するだけであることに + 注意してください。もし CGI スクリプトが呼ばれたり、リクエストされた + メソッドを内部で扱うことのできる他のリソースがあれば、それが行なわれます。 + <code>GET</code> メソッドの <code class="directive">Script</code> は問合せ + 引数がある場合にのみ + (<em>たとえば</em>、foo.html?hi) 呼ばれるということにも注意してください。 + そうでない場合は、リクエストは通常通り処理されます。</p> + + <div class="example"><h3>例</h3><p><code> + # For <ISINDEX>-style searching<br /> + Script GET /cgi-bin/search<br /> + <br /> + # A CGI PUT handler<br /> + Script PUT /~bob/put.cgi<br /> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_actions.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_actions.html.ko.euc-kr b/docs/manual/mod/mod_actions.html.ko.euc-kr new file mode 100644 index 0000000..408c652 --- /dev/null +++ b/docs/manual/mod/mod_actions.html.ko.euc-kr @@ -0,0 +1,194 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_actions - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_actions</h1> +<div class="toplang"> +<p><span> : </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ̵ û忡 CGI +ũƮ Ѵ.</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>actions_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_actions.c</td></tr></table> +<h3></h3> + + <p> ΰ þ ִ. <code class="directive"><a href="#action">Action</a></code> þ ûϴ + MIME content type CGI ũƮ Ѵ. + <code class="directive"><a href="#script">Script</a></code> þ + û Ư 带 CGI ũƮ Ѵ. + óϴ ũƮ ſ ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#action">Action</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#script">Script</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_actions">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_actions">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../howto/cgi.html">CGI </a></li> +<li><a href="../handler.html">ġ ڵ鷯 </a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Action" id="Action">Action</a> <a name="action" id="action">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ư ڵ鷯 content-type CGI ũƮ +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Action <var>action-type</var> <var>cgi-script</var> [virtual]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_actions</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td><code>virtual</code> ڿ ڵ鷯 ġ +2.1 ߰Ǿ</td></tr> +</table> + <p> þ û <var>action-type</var≯ + <var>cgi-script</var> ϴ ൿ ߰Ѵ. + <var>cgi-script</var> <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> Ͽ CGI + ũƮ ҽ URL̴. + <var>action-type</var> <a href="../handler.html">ڵ鷯</a> MIME content type + ִ. þ <code>PATH_INFO</code> + <code>PATH_TRANSLATED</code> CGI ǥ ȯ溯 û + URL ϰθ Ѵ. <code>REDIRECT_HANDLER</code> + Ư û ڵ鷯 Ѵ.</p> + + <div class="example"><h3></h3><p><code> + # Ư MIME content type û:<br /> + Action image/gif /cgi-bin/images.cgi<br /> + <br /> + # Ư Ȯڸ <br /> + AddHandler my-file-type .xyz<br /> + Action my-file-type /cgi-bin/program.cgi<br /> + </code></p></div> + + <p>ù° MIME content type <code>image/gif</code> + ûϸ cgi ũƮ <code>/cgi-bin/images.cgi</code> + óѴ.</p> + + <p>ι° Ȯڰ <code>.xyz</code> ûϸ + cgi ũƮ <code>/cgi-bin/program.cgi</code> + óѴ.</p> + <p>In the second example, requests for files with a file extension of + <code>.xyz</code> are handled instead by the specified cgi script + <code>/cgi-bin/program.cgi</code>.</p> + + <p> <code>virtual</code> ڴ û + ϴ ˻ ʵ Ѵ. , + ġ <code class="directive">Action</code> þ Ϸ + ϴ.</p> + + <div class="example"><h3></h3><p><code> + <Location /news><br /> + <span class="indent"> + SetHandler news-handler<br /> + Action news-handler /cgi-bin/news.cgi virtual<br /> + </span> + </Location> + </code></p></div> + +<h3></h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Script" id="Script">Script</a> <a name="script" id="script">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ư û忡 CGI ũƮ +Ѵ.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Script <var>method</var> <var>cgi-script</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_actions</td></tr> +</table> + <p> þ <var>method</var> 带 Ͽ + ûϸ <var>cgi-script</var> ϴ ൿ + ߰Ѵ. <var>cgi-script</var> <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> Ͽ CGI + ũƮ ҽ URL̴. þ + <code>PATH_INFO</code> <code>PATH_TRANSLATED</code> CGI + ǥ ȯ溯 û URL ϰθ Ѵ.</p> + + <div class="note"> + ̸̶ ִ. <strong> ̸ + ҹڸ Ѵ.</strong> <code>Script PUT</code> + <code>Script put</code> ٸ. + </div> + + <p><code class="directive">Script</code> ɾ ⺻ ൿ + ó ϶. CGI ũƮ Ҹų, û 带 + ˾Ƽ ó ִ ҽ ״ óѴ. + <code>GET</code> <code class="directive">Script</code> + ǾƱԸƮ (<em></em>, foo.html?hi) + ϶. ǾƱԸƮ ٸ û óѴ.</p> + + <div class="example"><h3></h3><p><code> + # <ISINDEX> ˻ <br /> + Script GET /cgi-bin/search<br /> + <br /> + # CGI PUT ڵ鷯<br /> + Script PUT /~bob/put.cgi<br /> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_actions.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_actions.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_actions.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html b/docs/manual/mod/mod_alias.html new file mode 100644 index 0000000..5109c7c --- /dev/null +++ b/docs/manual/mod/mod_alias.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_alias.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_alias.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_alias.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_alias.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_alias.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_alias.html.en b/docs/manual/mod/mod_alias.html.en new file mode 100644 index 0000000..5468a29 --- /dev/null +++ b/docs/manual/mod/mod_alias.html.en @@ -0,0 +1,635 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_alias - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_alias</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_alias.html" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides for mapping different parts of the host + filesystem in the document tree and for URL redirection</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_alias.c</td></tr></table> +<h3>Summary</h3> + + <p>The directives contained in this module allow for manipulation + and control of URLs as requests arrive at the server. The + <code class="directive"><a href="#alias">Alias</a></code> and <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> directives are used to + map between URLs and filesystem paths. This allows for content + which is not directly under the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> served as part of the web + document tree. The <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> directive has the + additional effect of marking the target directory as containing + only CGI scripts.</p> + + <p>The <code class="directive"><a href="#redirect">Redirect</a></code> + directives are used to instruct clients to make a new request with + a different URL. They are often used when a resource has moved to + a new location.</p> + + <p>When the <code class="directive"><a href="#alias">Alias</a></code>, + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and + <code class="directive"><a href="#redirect">Redirect</a></code> directives are used + within a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + or <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + section, <a href="../expr.html">expression syntax</a> can be used + to manipulate the destination path or URL. + </p> + + <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> is designed to handle simple URL + manipulation tasks. For more complicated tasks such as + manipulating the query string, use the tools provided by + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Order of Processing</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li> +<li><a href="../urlmapping.html">Mapping URLs to the filesystem</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">Order of Processing</a></h2> + + <p>Aliases and Redirects occurring in different contexts are processed + like other directives according to standard <a href="../sections.html#mergin">merging rules</a>. But when multiple + Aliases or Redirects occur in the same context (for example, in the + same <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + section) they are processed in a particular order.</p> + + <p>First, all Redirects are processed before Aliases are processed, + and therefore a request that matches a <code class="directive"><a href="#redirect">Redirect</a></code> or <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> will never have Aliases + applied. Second, the Aliases and Redirects are processed in the order + they appear in the configuration files, with the first match taking + precedence.</p> + + <p>For this reason, when two or more of these directives apply to the + same sub-path, you must list the most specific path first in order for + all the directives to have an effect. For example, the following + configuration will work as expected:</p> + + <pre class="prettyprint lang-config">Alias "/foo/bar" "/baz" +Alias "/foo" "/gaq"</pre> + + + <p>But if the above two directives were reversed in order, the + <code>/foo</code> <code class="directive"><a href="#alias">Alias</a></code> + would always match before the <code>/foo/bar</code> <code class="directive"><a href="#alias">Alias</a></code>, so the latter directive would be + ignored.</p> + + <p>When the <code class="directive"><a href="#alias">Alias</a></code>, + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and + <code class="directive"><a href="#redirect">Redirect</a></code> directives are used + within a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + or <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + section, these directives will take precedence over any globally + defined <code class="directive"><a href="#alias">Alias</a></code>, + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and + <code class="directive"><a href="#redirect">Redirect</a></code> directives.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Alias" id="Alias">Alias</a> <a name="alias" id="alias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps URLs to filesystem locations</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Alias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + + <p>The <code class="directive">Alias</code> directive allows documents to + be stored in the local filesystem other than under the + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. URLs with a + (%-decoded) path beginning with <var>URL-path</var> will be mapped + to local files beginning with <var>directory-path</var>. The + <var>URL-path</var> is case-sensitive, even on case-insensitive + file systems.</p> + + <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre> + + + <p>A request for <code>http://example.com/image/foo.gif</code> would cause + the server to return the file <code>/ftp/pub/image/foo.gif</code>. Only + complete path segments are matched, so the above alias would not match a + request for <code>http://example.com/imagefoo.gif</code>. For more complex + matching using regular expressions, see the <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> directive.</p> + + <p>Note that if you include a trailing / on the + <var>URL-path</var> then the server will require a trailing / in + order to expand the alias. That is, if you use</p> + + <pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre> + + + <p>then the URL <code>/icons</code> will not be aliased, as it lacks + that trailing /. Likewise, if you omit the slash on the + <var>URL-path</var> then you must also omit it from the + <var>file-path</var>.</p> + + <p>Note that you may need to specify additional <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sections which + cover the <em>destination</em> of aliases. Aliasing occurs before + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sections + are checked, so only the destination of aliases are affected. + (Note however <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + sections are run through once before aliases are performed, so + they will apply.)</p> + + <p>In particular, if you are creating an <code>Alias</code> to a + directory outside of your <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, you may need to explicitly + permit access to the target directory.</p> + + <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image" +<Directory "/ftp/pub/image"> + Require all granted +</Directory></pre> + + + <p>Any number slashes in the <var>URL-path</var> parameter + matches any number of slashes in the requested URL-path.</p> + + <p>If the <code class="directive">Alias</code> directive is used within a + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + or <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + section the URL-path is omitted, and the file-path is interpreted + using <a href="../expr.html">expression syntax</a>.<br /> + This syntax is available in Apache 2.4.19 and later.</p> + + <pre class="prettyprint lang-config"><Location "/image"> + Alias "/ftp/pub/image" +</Location> +<LocationMatch "/error/(?<NUMBER>[0-9]+)"> + Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html" +</LocationMatch></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps URLs to filesystem locations using regular +expressions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>This directive is equivalent to <code class="directive"><a href="#alias">Alias</a></code>, but makes use of + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, + instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, and + if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to activate the <code>/icons</code> directory, one might + use:</p> + + <pre class="prettyprint lang-config">AliasMatch "^/icons(/|$)(.*)" "/usr/local/apache/icons$1$2"</pre> + + + <p>The full range of <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a> + power is available. For example, + it is possible to construct an alias with case-insensitive + matching of the URL-path:</p> + + <pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre> + + + <p>One subtle difference + between <code class="directive"><a href="#alias">Alias</a></code> + and <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> is + that <code class="directive"><a href="#alias">Alias</a></code> will + automatically copy any additional part of the URI, past the part + that matched, onto the end of the file path on the right side, + while <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> will + not. This means that in almost all cases, you will want the + regular expression to match the entire request URI from beginning + to end, and to use substitution on the right side.</p> + + <p>In other words, just changing + <code class="directive"><a href="#alias">Alias</a></code> to + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> will not + have the same effect. At a minimum, you need to + add <code>^</code> to the beginning of the regular expression + and add <code>(.*)$</code> to the end, and add <code>$1</code> to + the end of the replacement.</p> + + <p>For example, suppose you want to replace this with AliasMatch:</p> + + <pre class="prettyprint lang-config">Alias "/image/" "/ftp/pub/image/"</pre> + + + <p>This is NOT equivalent - don't do this! This will send all + requests that have /image/ anywhere in them to /ftp/pub/image/:</p> + + <pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre> + + + <p>This is what you need to get the same effect:</p> + + <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre> + + + <p>Of course, there's no point in + using <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> + where <code class="directive"><a href="#alias">Alias</a></code> would + work. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> lets + you do more complicated things. For example, you could + serve different kinds of files from different directories:</p> + + <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)\.jpg$" "/files/jpg.images/$1.jpg" +AliasMatch "^/image/(.*)\.gif$" "/files/gif.images/$1.gif"</pre> + + + <p>Multiple leading slashes in the requested URL are discarded + by the server before directives from this module compares + against the requested URL-path. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Redirect" id="Redirect">Redirect</a> <a name="redirect" id="redirect">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sends an external redirect asking the client to fetch +a different URL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Redirect [<var>status</var>] [<var>URL-path</var>] +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>The <code class="directive">Redirect</code> directive maps an old URL into a new one by asking + the client to refetch the resource at the new location.</p> + + <p>The old <em>URL-path</em> is a case-sensitive (%-decoded) path + beginning with a slash. A relative path is not allowed.</p> + + <p>The new <em>URL</em> may be either an absolute URL beginning + with a scheme and hostname, or a URL-path beginning with a slash. + In this latter case the scheme and hostname of the current server will + be added.</p> + + <p>Then any request beginning with <em>URL-path</em> will return a + redirect request to the client at the location of the target + <em>URL</em>. Additional path information beyond the matched + <em>URL-path</em> will be appended to the target URL.</p> + + <pre class="prettyprint lang-config"># Redirect to a URL on a different host +Redirect "/service" "http://foo2.example.com/service" + +# Redirect to a URL on the same host +Redirect "/one" "/two"</pre> + + + <p>If the client requests <code>http://example.com/service/foo.txt</code>, + it will be told to access + <code>http://foo2.example.com/service/foo.txt</code> + instead. This includes requests with <code>GET</code> parameters, such as + <code>http://example.com/service/foo.pl?q=23&a=42</code>, + it will be redirected to + <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>. + Note that <code>POST</code>s will be discarded.<br /> + Only complete path segments are matched, so the above + example would not match a request for + <code>http://example.com/servicefoo.txt</code>. For more complex matching + using the <a href="../expr.html">expression syntax</a>, omit the URL-path + argument as described below. Alternatively, for matching using regular + expressions, see the <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> directive.</p> + + + <div class="note"><h3>Note</h3> + <p><code class="directive">Redirect</code> directives take precedence over <code class="directive"><a href="#alias">Alias</a></code> and <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> + directives, irrespective of their ordering in the configuration + file. <code class="directive">Redirect</code> directives inside a Location take + precedence over <code class="directive">Redirect</code> and <code class="directive"><a href="#alias">Alias</a></code> directives with an <var>URL-path</var>.</p> + </div> + + <p>If no <var>status</var> argument is given, the redirect will + be "temporary" (HTTP status 302). This indicates to the client + that the resource has moved temporarily. The <var>status</var> + argument can be used to return other HTTP status codes:</p> + + <dl> + <dt>permanent</dt> + + <dd>Returns a permanent redirect status (301) indicating that + the resource has moved permanently.</dd> + + <dt>temp</dt> + + <dd>Returns a temporary redirect status (302). This is the + default.</dd> + + <dt>seeother</dt> + + <dd>Returns a "See Other" status (303) indicating that the + resource has been replaced.</dd> + + <dt>gone</dt> + + <dd>Returns a "Gone" status (410) indicating that the + resource has been permanently removed. When this status is + used the <var>URL</var> argument should be omitted.</dd> + </dl> + + <p>Other status codes can be returned by giving the numeric + status code as the value of <var>status</var>. If the status is + between 300 and 399, the <var>URL</var> argument must be present. + If the status is <em>not</em> between 300 and 399, the + <var>URL</var> argument must be omitted. The status must be a valid + HTTP status code, known to the Apache HTTP Server (see the function + <code>send_error_response</code> in http_protocol.c).</p> + + <pre class="prettyprint lang-config">Redirect permanent "/one" "http://example.com/two" +Redirect 303 "/three" "http://example.com/other"</pre> + + + <p>If the <code class="directive">Redirect</code> directive is used within a + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + or <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + section with the <var>URL-path</var> omitted, then the <var>URL</var> parameter + will be interpreted using <a href="../expr.html">expression syntax</a>.<br /> + This syntax is available in Apache 2.4.19 and later.</p> + + <pre class="prettyprint lang-config"><Location "/one"> + Redirect permanent "http://example.com/two" +</Location> +<Location "/three"> + Redirect 303 "http://example.com/other" +</Location> +<LocationMatch "/error/(?<NUMBER>[0-9]+)"> + Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html" +</LocationMatch></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sends an external redirect based on a regular expression match +of the current URL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>This directive is equivalent to <code class="directive"><a href="#redirect">Redirect</a></code>, but makes use of + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, + instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, and + if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to redirect all GIF files to like-named JPEG files on + another server, one might use:</p> + + <pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://other.example.com$1.jpg"</pre> + + + <p>The considerations related to the difference between + <code class="directive"><a href="#alias">Alias</a></code> and + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> + also apply to the difference between + <code class="directive"><a href="#redirect">Redirect</a></code> and + <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>. + See <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> for + details.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent" id="redirectpermanent">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sends an external permanent redirect asking the client to fetch +a different URL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RedirectPermanent <var>URL-path</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>This directive makes the client know that the Redirect is + permanent (status 301). Exactly equivalent to <code>Redirect + permanent</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a> <a name="redirecttemp" id="redirecttemp">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sends an external temporary redirect asking the client to fetch +a different URL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RedirectTemp <var>URL-path</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>This directive makes the client know that the Redirect is + only temporary (status 302). Exactly equivalent to + <code>Redirect temp</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a> <a name="scriptalias" id="scriptalias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps a URL to a filesystem location and designates the +target as a CGI script</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptAlias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>The <code class="directive">ScriptAlias</code> directive has the same + behavior as the <code class="directive"><a href="#alias">Alias</a></code> + directive, except that in addition it marks the target directory + as containing CGI scripts that will be processed by <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>'s cgi-script handler. URLs with a case-sensitive + (%-decoded) path beginning with <var>URL-path</var> will be mapped + to scripts beginning with the second argument, which is a full + pathname in the local filesystem.</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-bin/"</pre> + + + <p>A request for <code>http://example.com/cgi-bin/foo</code> would cause the + server to run the script <code>/web/cgi-bin/foo</code>. This configuration + is essentially equivalent to:</p> + <pre class="prettyprint lang-config">Alias "/cgi-bin/" "/web/cgi-bin/" +<Location "/cgi-bin"> + SetHandler cgi-script + Options +ExecCGI +</Location></pre> + + + <p><code class="directive">ScriptAlias</code> can also be used in conjunction with + a script or handler you have. For example:</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"</pre> + + + <p>In this scenario all files requested in <code>/cgi-bin/</code> will be + handled by the file you have configured, this allows you to use your own custom + handler. You may want to use this as a wrapper for CGI so that you can add + content, or some other bespoke action.</p> + + <div class="warning">It is safer to avoid placing CGI scripts under the + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> in order to + avoid accidentally revealing their source code if the + configuration is ever changed. The + <code class="directive">ScriptAlias</code> makes this easy by mapping a + URL and designating CGI scripts at the same time. If you do + choose to place your CGI scripts in a directory already + accessible from the web, do not use + <code class="directive">ScriptAlias</code>. Instead, use <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, and <code class="directive"><a href="../mod/core.html#options">Options</a></code> as in: + <pre class="prettyprint lang-config"><Directory "/usr/local/apache2/htdocs/cgi-bin"> + SetHandler cgi-script + Options ExecCGI +</Directory></pre> + + This is necessary since multiple <var>URL-paths</var> can map + to the same filesystem location, potentially bypassing the + <code class="directive">ScriptAlias</code> and revealing the source code + of the CGI scripts if they are not restricted by a + <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> section.</div> + + <p>If the <code class="directive">ScriptAlias</code> directive is used within + a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + or <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + section with the URL-path omitted, then the URL parameter will be + interpreted using <a href="../expr.html">expression syntax</a>.<br /> + This syntax is available in Apache 2.4.19 and later.</p> + + <pre class="prettyprint lang-config"><Location "/cgi-bin"> + ScriptAlias "/web/cgi-bin/" +</Location> +<LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)"> + ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi" +</LocationMatch></pre> + + + +<h3>See also</h3> +<ul> +<li><a href="../howto/cgi.html">CGI Tutorial</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch" id="scriptaliasmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>This directive is equivalent to <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, but makes use of + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>, + instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, + and if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to activate the standard <code>/cgi-bin</code>, one + might use:</p> + + <pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre> + + + <p>As for AliasMatch, the full range of <a class="glossarylink" href="../glossary.html#rexex" title="see glossary">regular + expression</a> power is available. + For example, it is possible to construct an alias with case-insensitive + matching of the URL-path:</p> + + <pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre> + + + <p>The considerations related to the difference between + <code class="directive"><a href="#alias">Alias</a></code> and + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> + also apply to the difference between + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> and + <code class="directive"><a href="#scriptaliasmatch">ScriptAliasMatch</a></code>. + See <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> for + details.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_alias.html" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.fr.utf8 b/docs/manual/mod/mod_alias.html.fr.utf8 new file mode 100644 index 0000000..d360ab0 --- /dev/null +++ b/docs/manual/mod/mod_alias.html.fr.utf8 @@ -0,0 +1,646 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_alias - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_alias</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'atteindre différentes parties du système de +fichiers depuis l'arborescence des documents du site web, ainsi que la +redirection d'URL</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_alias.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Les directives fournies par ce module permettent de manipuler et + de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les + directives <code class="directive"><a href="#alias">Alias</a></code> et + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> permettent de + faire correspondre des URLs avec des chemins du système de fichiers. + Ceci permet de servir des contenus qui ne sont pas situés dans + l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> comme s'ils y étaient + réellement. La directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> a pour effet + supplémentaire de marquer le répertoire cible comme conteneur de + scripts CGI.</p> + + <p>Les directives <code class="directive"><a href="#redirect">Redirect</a></code> + indiquent aux clients qu'ils doivent effectuer une nouvelle requête + avec une URL différente. Elles sont souvent utilisées lorsqu'une + ressource a été déplacée.</p> + + <p>Lorsque les directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> sont définies au sein d'une + section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, vous pouvez utiliser la <a href="../expr.html">syntaxe des expressions</a> pour manipuler l'URL + ou le chemin de destination. + </p> + + <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> est conçu pour traiter des tâches + simples de manipulation d'URL. Pour des tâches plus complexes comme + la manipulation des chaînes d'arguments des requêtes, utilisez + plutôt les outils fournis par le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li> +<li><a href="../urlmapping.html">Mise en correspondance des URLs avec le +système de fichiers</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">Chronologie du traitement</a></h2> + + <p>Les alias et redirections apparaissant dans différents contextes + sont traités comme les autres directives en respectant les <a href="../sections.html#mergin">règles de fusion</a> standards. Par + contre, ils sont traités selon une chronologie particulière + lorsqu'ils apparaissent dans le même contexte (par exemple, dans la + même section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>).</p> + + <p>Premièrement, toutes les redirections sont traitées avant les + alias, et ainsi, une requête qui correspond à une directive + <code class="directive"><a href="#redirect">Redirect</a></code> ou <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> ne se verra jamais + appliquer d'alias. Deuxièmement, les alias et redirections sont + traités selon l'ordre dans lequel ils apparaissent dans le fichier + de configuration, seule la première correspondance étant prise en + compte.</p> + + <p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au + même sous-répertoire, vous devez classer les chemins du plus précis + au moins précis afin que toutes les directives puissent + éventuellement s'appliquer, comme dans l'exemple suivant :</p> + + <pre class="prettyprint lang-config">Alias "/foo/bar" "/baz" +Alias "/foo" "/gaq"</pre> + + + <p>Si l'ordre des directives était inversé, la directive <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument + <code>/foo</code> serait toujours appliquée avant la directive + <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument + <code>/foo/bar</code>, et cette dernière serait toujours + ignorée.</p> + + <p>La définition de directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> au sein de sections + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou + <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + l'emporte sur d'autres définitions éventuelles de ces mêmes + directives au niveau de la configuration générale du serveur.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="alias" id="alias">Directive</a> <a name="Alias" id="Alias">Alias</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec des chemins du système +de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Alias [<var>chemin URL</var>] +<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + + <p>La directive <code class="directive">Alias</code> permet de stocker des + documents (destinés à être servis) dans des zones du système de + fichiers situées en dehors de l'arborescence du site web <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Les URLs dont le chemin + (décodé avec caractères %) commence par <var>chemin URL</var> seront + mises en correspondance avec des fichiers locaux dont le chemin + commence par <var>chemin répertoire</var>. Le <var>chemin URL</var> + est sensible à la casse, même sur les systèmes de fichiers + insensibles à la casse.</p> + + <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre> + + + <p>Une requête pour <code>http://example.com/image/foo.gif</code> fera + renvoyer par le serveur le fichier + <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin + complets sont testés ; ainsi l'alias précédent ne conviendra pas + pour une requête du style <code>http://example.com/imagefoo.gif</code>. + Pour des mises en correspondance plus complexes faisant intervenir + les expressions rationnelles, veuillez vous reporter à la directive + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code>.</p> + + <p>Notez que si vous ajoutez un slash de fin au <var>chemin + URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la + requête. Autrement dit, si vous définissez</p> + + <pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre> + + + <p>l'alias précédent ne s'appliquera pas à l'URL + <code>/icons</code> à cause de l'absence du slash final. Ainsi, si + le slash final est absent du <var>chemin de l'URL</var>, il doit + aussi l'être du <var>chemin du fichier</var>.</p> + + <p>Notez qu'il pourra s'avérer nécessaire de définir des sections + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + supplémentaires qui couvriront la <em>destination</em> des alias. + Le traitement des alias intervenant avant le traitement des sections + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + seules les cibles des alias sont affectées (Notez cependant + que les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sont traitées avant les alias, et + s'appliqueront donc).</p> + + <p>En particulier, si vous créez un alias ayant pour cible un + répertoire situé en dehors de l'arborescence de votre site web + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, vous devrez + probablement permettre explicitement l'accès à ce répertoire.</p> + + <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image" +<Directory "/ftp/pub/image"> + Require all granted +</Directory></pre> + + + <p>Le nombre de slashes dans le paramètre <var>chemin URL</var> doit + correspondre au nombre de slashes dans le chemin URL de la requête.</p> + + <p>Si la directive <code class="directive">Alias</code> est définie au sein + d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, <var>chemin URL</var> est + omis et <var>chemin fichier</var> est interprété en utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br /> + Cette syntaxe est disponible à partir de la version 2.4.19 du + serveur HTTP Apache.</p> + + <pre class="prettyprint lang-config"><Location "/image"> + Alias "/ftp/pub/image" +</Location> +<LocationMatch "/error/(?<NUMBER>[0-9]+)"> + Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html" +</LocationMatch></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="aliasmatch" id="aliasmatch">Directive</a> <a name="AliasMatch" id="AliasMatch">AliasMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec le système de fichiers +en faisant intervenir les expressions rationnelles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AliasMatch <var>regex</var> +<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>Cette directive est identique à la directive <code class="directive"><a href="#alias">Alias</a></code>, mais fait appel aux <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la place d'une + simple mise en correspondance de préfixe. L'expression rationnelle + fournie est mise en correspondance avec le chemin URL, et si elle + correspond, le serveur va substituer toute partie de chemin + correspondant à l'expression entre parenthèses dans la chaîne + fournie et l'utiliser comme nom de fichier. + Par exemple, pour activer le répertoire <code>/icons</code>, on peut + utiliser :</p> + + <pre class="prettyprint lang-config">AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"</pre> + + + <p>Toute la puissance des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions + rationnelles</a> peut être mise à contribution. Par exemple, + il est possible de construire un alias avec un modèle de chemin URL + insensible à la casse :</p> + + <pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre> + + + <p>Il existe une différence subtile entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> : <code class="directive"><a href="#alias">Alias</a></code> copie automatiquement toute + portion supplémentaire de l'URI située après la partie du modèle qui + correspond, à la fin du chemin du fichier de la partie droite, alors + que <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne le fait + pas. Cela signifie qu'il sera préférable dans la plupart des cas de + comparer l'expression rationnelle du modèle à la totalité de l'URI + de la requête, et d'utiliser les substitutions dans la partie + droite.</p> + + <p>En d'autres termes, le remplacement d'<code class="directive"><a href="#alias">Alias</a></code> par <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne produira pas le même + résultat. Au minimum, vous devez ajouter <code>^</code> au début de + l'expression rationnelle, <code>(.*)$</code> à sa fin et + <code>$1</code> à la fin de la chaîne de remplacement.</p> + + <p>Par exemple, supposons que nous voulions reformuler cet alias + avec AliasMatch :</p> + + <pre class="prettyprint lang-config">Alias "/image/" "/ftp/pub/image/"</pre> + + + <p>Le simple remplacement d'Alias par AliasMatch ne produira pas le + même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes + qui contiennent /image/ vers /ftp/pub/image/ :</p> + + <pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre> + + + <p>Voici la directive AliasMatch qui produira le même résultat que + la directive Alias ci-dessus :</p> + + <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre> + + + <p>Bien entendu, il n'y a aucune raison d'utiliser <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> dans le cas où <code class="directive"><a href="#alias">Alias</a></code> suffit. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> vous permet d'effectuer + des choses beaucoup plus sophistiquées. Par exemple, vous pouvez + servir différentes sortes de fichiers à partir de répertoires + différents :</p> + + <pre class="prettyprint lang-config"> AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg" + AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"</pre> + + + <p>Les éventuels slashes de tête multiples seront supprimés par le + serveur avant que les directives de ce module n'effectuent des + comparaisons avec le chemin URL de la requête. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="redirect" id="redirect">Directive</a> <a name="Redirect" id="Redirect">Redirect</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe demandant au client +d'effectuer une autre requête avec une URL différente</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Redirect [<var>état</var>] [<var>URL-path</var>] +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>La directive <code class="directive">Redirect</code> permet de faire correspondre + une ancienne URL à une nouvelle en demandant au client d'aller chercher la + ressource à une autre localisation.</p> + + <p>L'ancien <em>URL-path</em> est un chemin sensible à la casse + (décodé à l'aide de caractères %) commençant par un slash. Les + chemins relatifs ne sont pas autorisés.</p> + + <p>La nouvelle <em>URL</em> + peut être une URL absolue commençant par un protocole et un nom + d'hôte, mais on peut aussi utiliser un chemin URL commençant par un + slash, auquel cas le protocole et le nom d'hôte du serveur local + seront ajoutés.</p> + + <p>Ensuite, toute requête commençant par <em>URL-path</em> va + renvoyer une redirection au client vers l'<em>URL</em> cible. Tout + élément de chemin supplémentaire situé en aval du <em>URL-path</em> sera + ajouté à l'URL cible.</p> + + <pre class="prettyprint lang-config"># Redirige vers une URL sur un serveur différent +Redirect "/service" "http://foo2.example.com/service" + +# Redirige vers une URL sur le même serveur +Redirect "/one" "/two"</pre> + + + <p>Si le client effectue une requête pour l'URL + <code>http://example.com/service/foo.txt</code>, il lui sera demandé + d'en effectuer une autre pour l'URL + <code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne + les requêtes avec paramètres <code>GET</code>, comme + <code>http://example.com/service/foo.pl?q=23&a=42</code>, qui + seront redirigées vers + <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>. + Notez que les <code>POST</code>s seront ignorés.<br /> + Seuls les + éléments de chemin complets sont testés, si bien que l'exemple + précédent ne s'appliquera pas à l'URL + <code>http://example.com/servicefoo.txt</code>. Pour des mises en + correspondance plus complexes utilisant la <a href="../expr.html">syntaxe des expressions</a>, ne spécifiez pas + d'argument <var>URL-path</var> comme décrit ci-dessous. En outre, + pour une mise en correspondance en utilisant les expressions + rationnelles, veuillez vous reporter à la directive <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p> + + + <div class="note"><h3>Note</h3> + <p>Les directives <code class="directive">Redirect</code> ont priorité sur les + directives <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, quel que soit leur ordre + d'apparition dans le fichier de configuration. Les directives + <code class="directive">Redirect</code> définies au sein d'une section Location + l'emportent sur les directives <code class="directive">Redirect</code> et <code class="directive"><a href="#alias">Alias</a></code> comportant un argument + <var>URL-path</var>.</p></div> + + <p>Si aucun argument <var>état</var> n'est spécifié, la + redirection sera temporaire (code HTTP 302). Le client est alors + informé que la ressource a été temporairement déplacée. On peut + utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p> + + <dl> + <dt>permanent</dt> + + <dd>Renvoie un code de redirection permanente (301), indiquant + que la ressource a été définitivement déplacée.</dd> + + <dt>temp</dt> + + <dd>Renvoie un code de redirection temporaire (302). C'est le + comportement par défaut.</dd> + + <dt>seeother</dt> + + <dd>Renvoie un code "See Other" (303) indiquant que la ressource + a été remplacée par une autre.</dd> + + <dt>gone</dt> + + <dd>Renvoie un code "Gone" (410) indiquant que la ressource a + été définitivement supprimée. Lorsque + ce code est utilisé, on ne + doit pas utiliser l'argument <var>URL</var>.</dd> + </dl> + + <p>On peut renvoyer d'autres codes en spécifiant le code + numérique comme valeur de l'argument of <var>état</var>. + Si le code est compris entre 300 et 399, l'argument + <var>URL</var> doit être présent. Si le code + n'est <em>pas</em> compris entre 300 et 399, l'argument + <var>URL</var> ne doit pas apparaître. Le code doit être un code + HTTP valide, connu du serveur HTTP Apache (voir la + fonction <code>send_error_response</code> dans + http_protocol.c).</p> + + <pre class="prettyprint lang-config">Redirect permanent "/one" "http://example.com/two" +Redirect 303 "/three" "http://example.com/other"</pre> + + + <p>Si une directive <code class="directive">Redirect</code> est définie au + sein d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> et si l'argument <var>URL-path</var> est omis, l'argument <var>URL</var> sera interprété en + utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br /> + Cette syntaxe est disponible à partir de la version 2.4.19 du + serveur HTTP Apache.</p> + + <pre class="prettyprint lang-config"><Location "/one"> + Redirect permanent "http://example.com/two" +</Location> +<Location "/three"> + Redirect 303 "http://example.com/other" +</Location> +<LocationMatch "/error/(?<NUMBER>[0-9]+)"> + Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html" +</LocationMatch></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="redirectmatch" id="redirectmatch">Directive</a> <a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe faisant appel aux +expressions rationnelles pour la mise en correspondance de l'URL +courante</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectMatch [<var>état</var>] <var>regex</var> +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>Cette directive est identique à la directive <code class="directive"><a href="#redirect">Redirect</a></code>, mais fait appel aux + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la + place d'une simple mise en correspondance de préfixe. L'expression + rationnelle fournie est mise en correspondance avec le chemin URL, + et si elle correspond, le serveur va substituer toute partie de + chemin correspondante entre parenthèses dans la chaîne spécifiée et + l'utiliser comme nom de fichier. Par exemple, pour rediriger tous + les fichiers GIF vers les fichiers JPEG de même nom sur un autre + serveur, on peut utiliser :</p> + + <pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"</pre> + + + <p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la + différence entre les directives <code class="directive"><a href="#redirect">Redirect</a></code> et <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>. Voir la directive + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de + détails.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="redirectpermanent" id="redirectpermanent">Directive</a> <a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe permanente demandant au +client d'effectuer une nouvelle requête avec une URL +différente</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectPermanent <var>chemin URL</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>Cette directive informe le client que la redirection est + permanente (code 301). Son comportement est exactement le même + que celui de <code>Redirect permanent</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="redirecttemp" id="redirecttemp">Directive</a> <a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe temporaire demandant au +client d'effectuer une nouvelle requête avec une URL +différente</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectTemp <var>chemin URL</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>Cette directive informe le client que la redirection n'est + que temporaire (code 302). Son comportement est exactement le même + que celui de <code>Redirect temp</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptalias" id="scriptalias">Directive</a> <a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers +et désigne la cible comme script CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAlias [<var>chemin URL</var>] +<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>La directive <code class="directive">ScriptAlias</code> présente le même + comportement que la directive <code class="directive"><a href="#alias">Alias</a></code>, mais désigne en plus le + répertoire cible comme conteneur de scripts CGI qui seront traitées + par le gestionnaire cgi-script du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. + Les URLs dont le chemin URL sensible à la casse (décodé avec + caractères %) commence par <var>chemin URL</var> seront mises en + correspondance avec les scripts dont le chemin commence par le + second argument, qui est un chemin complet dans le système de + fichiers local.</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-bin/"</pre> + + + <p>Une requête pour <code>http://example.com/cgi-bin/foo</code> + ferait exécuter par le serveur le script + <code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement + équivalente à :</p> + <pre class="prettyprint lang-config">Alias "/cgi-bin/" "/web/cgi-bin/" +<Location "/cgi-bin"> + SetHandler cgi-script + Options +ExecCGI +</Location></pre> + + + <p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code> + avec un script ou gestionnaire de votre cru. Par exemple :</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"</pre> + + + <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête + dans <code>/cgi-bin/</code> seront traités par le fichier que vous + avez spécifié, ce qui vous permet d'utiliser votre propre + gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour + les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p> + + <div class="warning">Il est préférable d'éviter de placer les + scripts CGI dans l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> afin d'éviter de révéler + accidentellement leur code source lors d'une modification de + configuration. On y parvient aisément avec + <code class="directive">ScriptAlias</code> en mettant en correspondance une + URL et en désignant la cible comme scripts CGI par la même occasion. + Si vous choisissez de placer vos scripts CGI dans un répertoire + accessible depuis le web, n'utilisez pas + <code class="directive">ScriptAlias</code>. Utilisez plutôt <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, et <code class="directive"><a href="../mod/core.html#options">Options</a></code> comme dans l'exemple suivant : + <pre class="prettyprint lang-config"><Directory "/usr/local/apache2/htdocs/cgi-bin"> + SetHandler cgi-script + Options ExecCGI +</Directory></pre> + + Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent + correspondre à la même zone du système de fichiers, court-circuitant + ainsi la directive <code class="directive">ScriptAlias</code> et révélant le + code source des scripts CGI s'ils ne sont pas protégés par une + section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>.</div> + + <p>Si la directive <code class="directive">ScriptAlias</code> est définie au + sein d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> et si l'argument <var>chemin + URL</var> est omis, l'argument <var>URL</var> sera interprété en + utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br /> + Cette syntaxe est disponible à partir de la version 2.4.19 du + serveur HTTP Apache.</p> + + <pre class="prettyprint lang-config"><Location "/cgi-bin"> + ScriptAlias "/web/cgi-bin/" +</Location> +<LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)"> + ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi" +</LocationMatch></pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../howto/cgi.html">Tutoriel CGI</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptaliasmatch" id="scriptaliasmatch">Directive</a> <a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers +en faisant appel aux expressions rationnelles et en désignant la cible +comme un script CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAliasMatch <var>regex</var> +<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr> +</table> + <p>Cette directive est équivalente à la directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, mais fait appel aux + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la + place d'une simple mise en correspondance de préfixe. L'expression + rationnelle fournie est mise en correspondance avec le chemin URL, + et si elle correspond, le serveur va substituer toute partie de + chemin entre parenthèses dans la chaîne spécifiée et l'utiliser + comme nom de fichier. Par exemple, pour activer le répertoire + standard <code>/cgi-bin</code>, on peut utiliser :</p> + + <pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre> + + + <p>Comme dans le cas d'AliasMatch, toute la puissance des <a class="glossarylink" href="../glossary.html#rexex" title="voir glossaire">expressions rationnelles</a> peut être mise à + contribution. Par exemple, il est possible de construire un alias + avec une comparaison du modèle du chemin URL insensible à la casse :</p> + + <pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre> + + + <p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la + différence entre les directives <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> et <code class="directive"><a href="#scriptaliasmatch">ScriptAliasMatch</a></code>. Voir la directive + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de + détails.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.ja.utf8 b/docs/manual/mod/mod_alias.html.ja.utf8 new file mode 100644 index 0000000..13870ec --- /dev/null +++ b/docs/manual/mod/mod_alias.html.ja.utf8 @@ -0,0 +1,419 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_alias - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_alias</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ホストファイルシステム上のいろいろな違う場所を + ドキュメントツリーにマップする機能と、 + URL のリダイレクトを行なう機能を提供する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_alias.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールのディレクティブはサーバにリクエストが到着したときに + URL の操作や制御をすることを可能にします。<code class="directive"><a href="#alias">Alias</a></code> + ディレクティブと <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> + ディレクティブは + URL とファイルシステムのパスをマップするために使用されます。これは + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + の下にないドキュメントをウェブのドキュメントツリーの一部として + 送られるようにします。<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> + ディレクティブにはマップ先のディレクトリが CGI + スクリプトのみであることを示すという追加の効果があります。 + </p> + + <p><code class="directive"><a href="#redirect">Redirect</a></code> ディレクティブは + クライアントに違った + URL に新しいリクエストを送るように指示します。これは、 + リソースが新しい場所に移動したときによく使用されます。</p> + + <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> は簡単な URL 操作向けに設計されています。 + より複雑な操作、クエリーストリングの操作には、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + で提供されるツールを使用してください。</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">処理の順番</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li> +<li><a href="../urlmapping.html">URL からファイルシステム上の位置へのマッピング</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">処理の順番</a></h2> + +<p>様々なコンテキスト中での Alias や Redirect は他のディレクティブと +同じように標準の <a href="../sections.html#mergin">マージ規則</a> に +従って処理されます。ただし、(例えば <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> セクションの中のように) 複数の Alias や Redirect が +同じコンテキスト中に現れた場合は決まった順番で処理されます。</p> + +<p>まず、Alias の前にすべての Redirect が処理されます。ですから、<code class="directive"><a href="#redirect">Redirect</a></code> か <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> にマッチするリクエストには +Alias は決して適用されません。次に、Alias と Redirect が設定ファイル中の +順番に適用され、最初にマッチしたものが優先されます。</p> + +<p>ですから、二つ以上のディレクティブが同じパスに適用されるときは、 +すべてのディレクティブの効果を得るためにはより詳しいパスを先に書く +必要があります。例えば、次の設定は期待通りの動作をします:</p> + +<div class="example"><p><code> +Alias /foo/bar /baz<br /> +Alias /foo /gaq +</code></p></div> + +<p>しかし、上記の二つのディレクティブの順番が逆になると、 +<code>/foo</code> <code class="directive"><a href="#alias">Alias</a></code> が +常に <code>/foo/bar</code> <code class="directive"><a href="#alias">Alias</a></code> より先にマッチしますので、後者は +決して適用されることはありません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Alias" id="Alias">Alias</a> <a name="alias" id="alias">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>URL をファイルシステムの位置にマップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Alias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p><code class="directive">Alias</code> ディレクティブはドキュメントを + ローカルファイルシステムの + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + 以外の場所に保管することを可能にします。 + URL の (% が復号された) パスが <var>url-path</var> で始まるものは + <var>directory-filename</var> + で始まるローカルファイルにマップされます。</p> + + <div class="example"><h3>例</h3><p><code> + Alias /image /ftp/pub/image + </code></p></div> + + <p>http://myserver/image/foo.gif へのリクエストに対して、サーバは + ファイル /ftp/pub/image/foo.gif を返します。</p> + + <p>もし <var>url-path</var> の最後に / + を書いたなら、サーバがエイリアスを展開するためには、最後の / + が必要になることに注意してください。すなわち、<code>Alias /icons/ + /usr/local/apache/icons/</code> というものを使用している場合は、 + <code>/icons</code> という url はエイリアスされません。</p> + + <p>エイリアスの<em>行き先</em>を含んでいる <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + セクションを追加する必要があるかもしれないことに注意してください。 + エイリアスの展開は <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + セクションを調べる前に行なわれますので、 + エイリアスの行き先の <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> セクションのみ + 効果があります。 + (しかし、<code class="directive"><a href="../mod/core.html#location"><Location></a></code> + セクションはエイリアスが処理される前に実行されますので、 + こちらは適用されます。)</p> + + <p>特に、<code>Alias</code> を + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + ディレクトリの外側に配置した場合は、行き先のディレクトリに対する + アクセス権限を明示的に制限しなければならないでしょう。</p> + + <div class="example"><h3>例</h3><p><code> + Alias /image /ftp/pub/image<br /> + <Directory /ftp/pub/image><br /> + <span class="indent"> + Order allow,deny<br /> + Allow from all<br /> + </span> + </Directory> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現を使って URL をファイルシステムの位置にマップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p>このディレクティブは <code class="directive"><a href="#alias">Alias</a></code> + とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、 + 標準正規表現を利用します。ここで指定された正規表現と URL のパス + が合うかどうかを調べ、合う場合は括弧で括られたマッチを + 与えられた文字列で置き換え、それをファイル名として使用します。たとえば、 + <code>/icons</code> ディレクトリを使う + ためには以下のようなものが使用できます:</p> + + <div class="example"><p><code> + AliasMatch ^/icons(.*) /usr/local/apache/icons$1 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Redirect" id="Redirect">Redirect</a> <a name="redirect" id="redirect">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントが違う URL を取得するように外部へのリダイレクトを +送る</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Redirect [<var>status</var>] <var>URL-path</var> +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p>Redirect ディレクティブは古い URL を新しいものへマップします。 + 新しい URL がクライアントに返されます。そして、 + クライアントは新しいアドレスをもう一回取得しようとします。 + <var>URL-path</var> (% が復号された) パスで始まるドキュメントへの + すべてのリクエストは <var>URL</var> で始まる新しい + (% が符号化された) URL へのリダイレクトエラーが返されます。</p> + + <div class="example"><h3>例</h3><p><code> + Redirect /service http://foo2.bar.com/service + </code></p></div> + + <p>クライアントは http://myserver/service/foo.txt + へのリクエストを行なうと、代わりに http://foo2.bar.com/service/foo.txt + をアクセスするように告げられます。</p> + +<div class="note"><h3>注意</h3><p>設定ファイル中の順番に関わらず、 +Redirect 系のディレクティブは Alias +ディレクティブと ScriptAlias ディレクティブよりも優先されます。 +また、.htaccess ファイルや <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> +セクションの中で使われていたとしても、<var>URL-path</var> +は相対パスではなく、完全な URL でなければなりません。</p></div> + + <p>もし <var>status</var> 引数が与えられていなければ、リダイレクトは + "temporary" (HTTP ステータス 302) になります。これはクライアントに + リソースが一時的に移動したということを示します。<var>Status</var> + 引数は 他の HTTP のステータスコードを返すために使用することができます:</p> + + <dl> + <dt>permanent</dt> + + <dd>永久にリダイレクトをするステータス (301) を返します。 + これはリソースが永久に移動したということを意味します。</dd> + + <dt>temp</dt> + + <dd>一時的なリダイレクトステータス (302) + を返します。これがデフォルトです。</dd> + + <dt>seeother</dt> + + <dd>"See Other" ステータス (303) を返します。 + これはリソースが他のもので置き換えられたことを意味します。</dd> + + <dt>gone</dt> + + <dd>"Gone" ステータス (410) を返します。これはリソースが永久に + 削除されたことを意味します。このステータスが使用された場合、 + <var>url</var> 引数は省略されなければなりません。</dd> + </dl> + + <p><var>Status</var> の値にステータスコードを数値で与えることで + 他のステータスコードも返すことができます。ステータスが 300 と 399 + の間にある場合、<var>url</var> 引数は存在していなければいけません。 + その他の場合は省略されていなければなりません。ただし、 + ステータスは Apache のコードが知っているものである必要があります + (http_protocol.c の関数 <code>send_error_response</code> + を見てください)。</p> + <p>例:</p> + + <div class="example"><h3>例</h3><p><code> + Redirect permanent /one http://example.com/two<br /> + Redirect 303 /three http://example.com/other + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>現在の URL への正規表現のマッチにより +外部へのリダイレクトを送る</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p>このディレクティブは <code class="directive"><a href="#redirect">Redirect</a></code> + とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、 + 標準正規表現を利用します。ここで指定された正規表現と URL-path + が合うかどうかを調べ、合う場合は括弧で括られたマッチを + 与えられた文字列で置き換え、それをファイル名として使用します。 + たとえば、すべての GIF ファイルを別サーバの同様な名前の JPEG + ファイルにリダイレクトするには、以下のようなものを使います: + </p> + + <div class="example"><p><code> + RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent" id="redirectpermanent">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントが違う URL を取得するように外部への永久的な +リダイレクトを送る</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RedirectPermanent <var>URL-path</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p>このディレクティブはクライアントに Redirect が永久的なもの + (ステータス 301) であることを知らせます。 + <code>Redirect permanent</code> とまったく同じです。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a> <a name="redirecttemp" id="redirecttemp">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントが違う URL を取得するように外部への一時的な +リダイレクトを送る</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RedirectTemp <var>URL-path</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p>このディレクティブはクライアントに Redirect + が一時的なものである (ステータス 302) ことを知らせます。 + <code>Redirect temp</code> とまったく同じです。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a> <a name="scriptalias" id="scriptalias">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>URL をファイルシステムの位置へマップし、マップ先を +CGI スクリプトに指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptAlias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p><code class="directive">ScriptAlias</code> ディレクティブは、対象ディレクトリに + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> の cgi-script + ハンドラで処理される CGI + スクリプトがあることを示す以外は + <code class="directive"><a href="#alias">Alias</a></code> + ディレクティブと同じ振る舞いをします。 + URL の (% が復号された) パスが <var>URL-path</var> で始まるものは + ローカルのファイルシステムの + フルパスである二番目の引数にマップされます。</p> + + <div class="example"><h3>例</h3><p><code> + ScriptAlias /cgi-bin/ /web/cgi-bin/ + </code></p></div> + + <p><code>http://myserver/cgi-bin/foo</code> + へのリクエストに対してサーバはスクリプト + <code>/web/cgi-bin/foo</code> を実行します。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch" id="scriptaliasmatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>URL を正規表現を使ってファイルシステムの位置へマップし、マップ先を +CGI スクリプトに指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_alias</td></tr> +</table> + <p>このディレクティブは <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> + とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、 + 標準正規表現を利用します。ここで指定された正規表現と URL-path + が合うかどうかを調べ、合う場合は括弧で括られたマッチを + 与えられた文字列で置き換え、それをファイル名として使用します。 + たとえば、標準の <code>/cgi-bin</code> + を使用するようにするためには、以下のようなものを使います: + </p> + + <div class="example"><p><code> + ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.ko.euc-kr b/docs/manual/mod/mod_alias.html.ko.euc-kr new file mode 100644 index 0000000..8911005 --- /dev/null +++ b/docs/manual/mod/mod_alias.html.ko.euc-kr @@ -0,0 +1,386 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_alias - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_alias</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>Ͻý ٸ κе ϰ, + URL ̷ Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_alias.c</td></tr></table> +<h3></h3> + + <p> ϴ þ Ͽ û + URL ϰų ִ. <code class="directive"><a href="#alias">Alias</a></code> <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> þ URL + Ͻý η Ѵ. <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> Ʒ + ִ. , <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> þ + 丮 CGI ũƮۿ ٰ ˸.</p> + + <p><code class="directive"><a href="#redirect">Redirect</a></code> þ + Ŭ̾Ʈ ٸ URL ο û ϵ Ѵ. + ڿ ο ҷ ű Ѵ.</p> + + <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> URL + Ǿ. ǹڿ ۰ ۾ + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ϴ ̿϶.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">ó </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li> +<li><a href="../urlmapping.html">URL Ͻýۿ </a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">ó </a></h2> + +<p> ٸ ҿ Alias Redirect ϸ ٸ þ + ǥ <a href="../sections.html#mergin"> </a> + óѴ. ҿ ( , <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ǿ) +Alias Redirect ϸ Ʒ óѴ.</p> + +<p> Redirect ó Alias óѴ. +<code class="directive"><a href="#redirect">Redirect</a></code> <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> شϴ û + Alias ʴ´. Alias Redirect Ͽ +ù° Ѵ.</p> + +<p> þ ο شϴ +þ ϱؼ θ ؾ Ѵ. + , ǵѴ Ѵ:</p> + +<div class="example"><p><code> +Alias /foo/bar /baz<br /> +Alias /foo /gaq +</code></p></div> + +<p> þ ٲٸ <code>/foo/bar</code> +<code class="directive"><a href="#alias">Alias</a></code> +<code>/foo</code> <code class="directive"><a href="#alias">Alias</a></code> +ϹǷ ι° þ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Alias" id="Alias">Alias</a> <a name="alias" id="alias">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>URL Ư Ͻý ҷ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Alias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + + <p><code class="directive">Alias</code> þ ϸ Ͻýۿ + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> ۿ ִ + ִ. <var>url-path</var> ϴ + (% ڵ) URL <var>directory-path</var> ϴ + Ͽ Ѵ.</p> + + <div class="example"><h3>:</h3><p><code> + Alias /image /ftp/pub/image + </code></p></div> + + <p>http://myserver/image/foo.gif ûϸ + /ftp/pub/image/foo.gif Ѱش.</p> + + <p><var>url-path</var> / ϸ, URL / + ؾ߸ ϶. , <code>Alias /icons/ + /usr/local/apache/icons/</code> url <code>/icons</code> + 谡 .</p> + + <p> <em></em> ϴ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + ʿ . þ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ˻ϱ + óϹǷ, ´. ( + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + þ óϱ ѹ ˻ϹǷ + URL ü ش.)</p> + + <p>Ư <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + ۿ ִ 丮 <code>Alias</code> ٸ, + 丮 Ѵ.</p> + + <div class="example"><h3>:</h3><p><code> + Alias /image /ftp/pub/image<br /> + <Directory /ftp/pub/image><br /> + <span class="indent"> + Order allow,deny<br /> + Allow from all<br /> + </span> + </Directory> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ǥ Ͽ URL Ͻý ҷ +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + <p> þ <code class="directive"><a href="#alias">Alias</a></code> + , URL պκи ϴ ǥ ǥ + Ѵ. ǥ URL ο Ͽ ´ٸ, + ȣ κ üϿ ϸ Ѵ. + , <code>/icons</code> 丮 + ִ:</p> + + <div class="example"><p><code> + AliasMatch ^/icons(.*) /usr/local/apache/icons$1 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Redirect" id="Redirect">Redirect</a> <a name="redirect" id="redirect">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ŭ̾Ʈ ٸ URL ϵ ûϴ ܺ +̷ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Redirect [<var>status</var>] <var>URL-path</var> +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + <p>Redirect þ URL ο URL Ѵ. + Ŭ̾Ʈ ο URL , Ŭ̾Ʈ ο + ּҷ ٽ ѹ Ѵ. (% ڵ) <var>URL-path</var> + ϴ û (% ڵ) <var>URL</var> ϴ + ο URL ̷ .</p> + + <div class="example"><h3>:</h3><p><code> + Redirect /service http://foo2.bar.com/service + </code></p></div> + + <p>Ŭ̾Ʈ http://myserver/service/foo.txt ûϸ + http://foo2.bar.com/service/foo.txt ϶ + ´.</p> + +<div class="note"><h3></h3> <p>Redirect þ Ͽ + Alias ScriptAlias þ 켱 +. , .htaccess ̳ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ǿ ϴ +<var>URL-path</var> ΰ ƴ϶ ݵ URL +ؾ Ѵ.</p></div> + + <p><var>status</var> ƱԸƮ , "ӽ + (temporary)" (HTTP 302) ̷ . , + Ŭ̾Ʈ ڿ ӽ÷ Űٰ ˸. <var>status</var> + ƱԸƮ Ͽ ٸ HTTP ڵ带 ȯ ִ:</p> + + <dl> + <dt>permanent</dt> + + <dd>ڿ Ű ϴ ̷ ¸ + (301) ȯѴ.</dd> + + <dt>temp</dt> + + <dd>ӽ ̷ ¸ (302) ȯѴ. ⺻̴.</dd> + + <dt>seeother</dt> + + <dd>ڿ üǾ ϴ " (See Other)" ¸ + (303) ȯѴ.</dd> + + <dt>gone</dt> + + <dd>ڿ Ǿ ϴ "Ҹ (Gone)" ¸ + (410) ȯѴ. ¸ ϸ <var>URL</var> ƱԸƮ + .</dd> + </dl> + + <p><var>status</var> ڵ带 Ͽ ٸ ڵ嵵 + ȯ ִ. ° 300 399 ̶ <var>URL</var> + ƱԸƮ ؾ ϰ, ƴ϶ ؾ Ѵ. , ġ + ڵ忡 ° ǵ־ Ѵ (http_protocol.c + <code>send_error_response</code> Լ ).</p> + + <div class="example"><h3>:</h3><p><code> + Redirect permanent /one http://example.com/two<br /> + Redirect 303 /three http://example.com/other + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> URL ǥĿ شϸ ܺ ̷ +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + <p> þ <code class="directive"><a href="#redirect">Redirect</a></code> , + URL պκи ϴ ǥ ǥ Ѵ. + ǥ URL ο Ͽ ´ٸ, ȣ + κ üϿ ϸ Ѵ. , + GIF û ٸ ̸ + JPEG Ϸ ̷ :</p> + + <div class="example"><p><code> + RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent" id="redirectpermanent">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ŭ̾Ʈ ٸ URL ϵ ûϴ ܺ + ̷ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>RedirectPermanent <var>URL-path</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + <p> þ Ŭ̾Ʈ ̷ ( + 301) ˸. <code>Redirect permanent</code> Ȯ .</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a> <a name="redirecttemp" id="redirecttemp">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ŭ̾Ʈ ٸ URL ϵ ûϴ ܺ +ӽ ̷ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>RedirectTemp <var>URL-path</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + <p> þ Ŭ̾Ʈ ̷ ӽ ( + 302) ˸. <code>Redirect temp</code> Ȯ .</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a> <a name="scriptalias" id="scriptalias">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>URL Ư Ͻý ҷ ϰ CGI +ũƮ ˸</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ScriptAlias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + <p><code class="directive">ScriptAlias</code> þ <code class="directive"><a href="#alias">Alias</a></code> þ , + ߰ 丮 <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> cgi-script + ڵ鷯 ó CGI ũƮ ִٰ ˸. + <var>URL-path</var> ϴ (% ڵ) URL Ͻý + ι° ƱԸƮ ϴ ũƮ Ѵ.</p> + + <div class="example"><h3>:</h3><p><code> + ScriptAlias /cgi-bin/ /web/cgi-bin/ + </code></p></div> + + <p><code>http://myserver/cgi-bin/foo</code> ûϸ + <code>/web/cgi-bin/foo</code> ũƮ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch" id="scriptaliasmatch">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ǥ Ͽ URL Ư Ͻý ҷ +ϰ CGI ũƮ ˸</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_alias</td></tr> +</table> + <p> þ <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> , + URL պκи ϴ ǥ ǥ Ѵ. + ǥ URL ο Ͽ ´ٸ, ȣ + κ üϿ ϸ Ѵ. , + ǥ <code>/cgi-bin</code> ִ:</p> + + <div class="example"><p><code> + ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_alias.html.tr.utf8 b/docs/manual/mod/mod_alias.html.tr.utf8 new file mode 100644 index 0000000..a4bf6aa --- /dev/null +++ b/docs/manual/mod/mod_alias.html.tr.utf8 @@ -0,0 +1,622 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_alias - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_alias</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Belge ağacının parçalarının dosya sisteminin parçalarıyla +eşlenmesini sağlar ve URL yönlendirmesi yapar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_alias.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin + denetlenmesini ve değiştirilmesini mümkün kılar. <code class="directive"><a href="#alias">Alias</a></code> ve <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> yönergeleri URL’lerin dosya sisteminin + dizinlerine eşlenmesini sağlar. Böylece, kök dizini <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> ile belirtilen site belge ağacı + altında bulunmayan içeriğe erişmek mümkün olur. <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> yönergesi buna ek olarak + hedef dizini sadece CGI betiklerini içeren dizin olarak imler.</p> + + <p><code class="directive"><a href="#redirect">Redirect</a></code> yönergesi, + farklı bir URL ile yeni bir istek yapmaları için istemcileri + yönlendirmekte kullanılır. Çoğunlukla özkaynak başka bir yere + taşındığında kullanılır.</p> + + <p><code class="directive"><a href="#alias">Alias</a></code>, + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ve + <code class="directive"><a href="#redirect">Redirect</a></code> yönergeleri + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + veya <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + bölümleri içinde kullanıldığında hedef yolu veya URL'yi betimlemek için + <a href="../expr.html">ifade sözdizimi</a> kullanılabilir. + </p> + + <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> modülü basit URL değiştirme görevlerini + yerine getirmek için tasarlanmıştır. Sorgu dizgelerini işleme sokmak + gibi daha karmaşık görevler için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülü ile + sağlanan araçlar kullanılır.</p> + + </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">İşlem Sırası</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li> +<li><a href="../urlmapping.html">URL’lerin Dosya sistemi ile Eşlenmesi</a> + </li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">İşlem Sırası</a></h2> + + <p>Farklı bağlamlarda bulunan <code class="directive"><a href="#alias">Alias</a></code> ve <code class="directive"><a href="#redirect">Redirect</a></code> + yönergeleri standart <a href="../sections.html#mergin">katıştırma + kuralları</a> ile ilgili diğer yönergeler gibi işleme sokulur. Fakat + aynı bağlam dahilinde (örneğin, aynı <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümünde) çok fazla <code class="directive"><a href="#alias">Alias</a></code> ve <code class="directive"><a href="#redirect">Redirect</a></code> varsa bunlar belli bir + sıraya göre işleme sokulurlar.</p> + + <p>İlk adımda, <code class="directive"><a href="#alias">Alias</a></code>’lardan önce + bütün <code class="directive"><a href="#redirect">Redirect</a></code> yönergeleri + işleme sokulur. Bu bakımdan bir <code class="directive"><a href="#redirect">Redirect</a></code> veya <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> ile eşleşen bir istek için + hiçbir <code class="directive"><a href="#alias">Alias</a></code> + uygulanmayacaktır. İkinci adımda yapılandırma dosyasında yer aldıkları + sıraya göre <code class="directive"><a href="#redirect">Redirect</a></code> ve + <code class="directive"><a href="#alias">Alias</a></code> yönergeleri işleme + sokulurlar, dolayısıyla ilk eşleşme öncelikli olmuş olur.</p> + + <p>İlk eşleşmenin öncelikli olması sebebiyle, bu yönergelerin birden + fazlası aynı alt yola uygulandığı takdirde, tüm yönergelerin etkili + olabilmesi için en uzun yolu sıralamada en öne almalısınız. Örneğin + aşağıdaki yapılandırma beklendiği gibi çalışacaktır:</p> + + <pre class="prettyprint lang-config">Alias "/foo/bar" "/baz" +Alias "/foo" "/gaq"</pre> + + + <p>Ama yukarıdaki iki satır ters sırada yerleştirilmiş olsaydı, + <code>/foo</code> rumuzu daima <code>/foo/bar</code> rumuzundan önce + eşleşecek, dolayısıyla ikinci yönerge yok sayılacaktı.</p> + + <p><code class="directive"><a href="#alias">Alias</a></code>, + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ve + <code class="directive"><a href="#redirect">Redirect</a></code> yönergeleri + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + veya <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + bölümleri içinde kullanıldığında bu yönergeler küresel olarak tanımlı + <code class="directive"><a href="#alias">Alias</a></code>, + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ve + <code class="directive"><a href="#redirect">Redirect</a></code> yönergelerinden öncelikli olur. + </p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Alias" id="Alias">Alias</a> <a name="alias" id="alias">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>URL’leri dosya sistemi konumlarıyla eşler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Alias [<var>URL-yolu</var>] <var>dosya-yolu</var> | +<var>dizin-yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + + <p><code class="directive">Alias</code> yönergesi, belgelerin <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> dizininden farklı bir yerde + saklanmasını mümkün kılar. <code><em>URL-yolu</em></code> ile başlayan + URL’ler (% imlemesi çözüldükten sonra) <code><em>dizin-yolu</em></code> + ile başlayan yerel dosyalarla eşlenir. <code><em>URL-yolu</em></code>, + harf büyüklüğüne duyarsız sistemlerde bile harf büyüklüğüne + duyarlıdır.</p> + + <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre> + + + <p><code>http://example.com/image/foo.gif</code> şeklinde bir istek, + sunucunun <code>/ftp/pub/image/foo.gif</code> dosyasıyla yanıt vermesine + sebep olurdu. Sadece tam yol parçaları eşleştirilir; bu bakımdan + yukarıdaki <code class="directive">Alias</code> yapılandırması + <code>http://example.com/imagefoo.gif</code> ile eşleşmez. Düzenli + ifadelerin kullanıldığı daha karmaşık eşleşmeler için <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> yönergesine bakınız.</p> + + <p><code><em>URL-yolu</em></code>’nu bir <code>/</code> ile + sonlandırırsanız <code class="directive">Alias</code> yönergesini yorumlarken + sunucunun da sona bir <code>/</code> ekleyeceğine dikkat ediniz. Yani, + eğer</p> + + <pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre> + + + <p>diye bir tanım yaparsanız sona bir / ekleme ihtiyacından dolayı + <code>/icons</code> URL’si için bir <code class="directive">Alias</code> + kullanılmayacaktır.</p> + + <p><code class="directive">Alias</code> <em>hedefleri</em> için ek <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümleri + belirtmeniz gerekebileceğine dikkat ediniz. <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümlerinden önce yer alan + <code class="directive">Alias</code> yönergelerine özellikle bakılır, + dolayısıyla sadece <code class="directive">Alias</code> hedefleri etkilenir. + (Bununla birlikte, <code class="directive">Alias</code> yönergelerinden önce + işleme sokulan <code class="directive"><a href="../mod/core.html#location"><Location></a></code> bölümlerinin uygulanacağına dikkat + ediniz.)</p> + + <p>Özellikle, <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> dışında + bir dizine bir <code class="directive">Alias</code> oluşturuyorsanız hedef + dizine doğrudan erişim izni vermeniz gerekebilir.</p> + + <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image" +<Directory "/ftp/pub/image"> + Require all granted +</Directory></pre> + + + <p><var>URL-yolu</var> değiştirgesindeki bölü çizgilerinin sayısı istek + URL-yolundakiler kadardır.</p> + + <p>Eğer <code class="directive">Alias</code> yönergesi + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + veya <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + bölümleri içinde kullanılırsa URL-yolu yoksayılır ve dosya-yolu + <a href="../expr.html">ifade sözdizimi</a> kullanılarak yorumlanır.<br /> + Bu sözdizimi Apache 2.4.19 ve sonrasında kulanılabilir.</p> + + <pre class="prettyprint lang-config"><Location "/image"> + Alias "/ftp/pub/image" +</Location> +<LocationMatch "/error/(?<NUMBER>[0-9]+)"> + Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html" +</LocationMatch></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak +eşler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AliasMatch "<var>düzenli-ifade</var>" +"<var>dosya-yolu</var>|<var>dizin-yolu</var>"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir + <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> kabul etmesi dışında + <code class="directive"><a href="#alias">Alias</a></code> yönergesine eşdeğerdir. + Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile eşleşiyorsa + sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak dosya yolunu + elde eder. Örneğin, <code>/icons</code> dizinini etkinleştirmek için şu + yazılabilir:</p> + + <pre class="prettyprint lang-config">AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1"</pre> + + + <p><a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">Düzenli ifadeler</a>in tamamı + kullanılabilmektedir. Örneğin, <code><em>URL-yolu</em></code> ile harf + büyüklüğüne duyarsız eşleşmeler sağlayacak takma adlar + kullanılabilir:</p> + + <pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre> + + + <p><code class="directive"><a href="#alias">Alias</a></code> + ve <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> yönergeleri + arasındaki başlıca fark <code class="directive"><a href="#alias">Alias</a></code> + yönergesinin, URI'nin ek parçasını, eşleşen parçayı geçip sağ tarafta + dosya yolunun ucuna kendiliğinden kopyalamasıdır. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> bunu böyle yapmaz. Yani hemen + her durumda, düzenli ifadenin istenen URI'nin tamamıyla baştan sona + eşleşmesi ve yer değiştirmeyi sağ tarafta yapması istenir.</p> + + <p>Başka bir deyişle, basitçe + <code class="directive"><a href="#alias">Alias</a></code> yerine + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> yazmakla aynı etkiyi + alamazsınız. En azından düzenli ifadenin başına bir <code>^</code> ve + sonuna bir <code>(.*)$</code>, ikinci değiştirgenin sonuna da bir + <code>$1</code> eklemeniz gerekir.</p> + + <p>Örneğin aşağıdakini AliasMatch ile değiştirmek isteyelim:</p> + + <pre class="prettyprint lang-config">Alias "/image/" "/ftp/pub/image/"</pre> + + + <p>Bu eşdeğer DEĞİLdir - bunu yapmayın! Bu herhangi bir yerinde /image/ + dizgesi bulunan tüm istekleri /ftp/pub/image/ altına gönderecektir:</p> + + <pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre> + + + <p>Aynı etkiyi elde etmek için bu gerekiyor:</p> + + <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre> + + + <p>Şüphesiz, <code class="directive"><a href="#alias">Alias</a></code> yönergesini + çalıştığı yerde <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> + kullanmanın hiç gereği yoktur. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> daha karmaşık şeyler yapmamızı sağlar. Örneğin + farklı dosya çeşitlerini farklı dizinlerden sunmak isteyelim:</p> + + <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)\.jpg$" "/files/jpg.images/$1.jpg" +AliasMatch "^/image/(.*)\.gif$" "/files/gif.images/$1.gif"</pre> + + + <p>İstek URL'sinin başındaki bölü çizgileri, bu modüldeki yönergeler istek + URL-yolu ile eşleştirilmeye çalışılmadan önce sunucu tarafından + yokedilir. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Redirect" id="Redirect">Redirect</a> <a name="redirect" id="redirect">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’ye +yönlendirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Redirect [<var>durum</var>] [<var>URL-yolu</var>] +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p><code class="directive">Redirect</code> yönergesi istemciye bir yönlendirme + isteği döndürerek eski URL’yi yenisiyle eşler.</p> + + <p>Eski <code><em>URL-yolu</em></code> bir bölü çizgisi ile başlar ve harf + büyüklüğüne duyarlıdır (% imlemesi çözüldükten sonra). + <code><em>URL-yolu</em></code> olarak göreli yollara izin verilmez.</p> + + <p><code><em>URL</em></code> ise ya bir şema ve konak ismi ile başlayan + bir mutlak URL ya da bir bölü çizgisi ile başlayan bir URL yolu olabilir. + İkinci durumda URL yolunun başına geçerli sunucu ismi ve şemayı sunucu + ekler.</p> + + <p><code><em>URL-yolu</em></code> ile başlayan istekler istemciye hedef + <code><em>URL</em></code> konumuna bir yönlendirme isteği olarak + dönecektir. <code><em>URL-yolu</em></code>’nun devamı niteliğindeki ek + yol hedef URL’ye eklenir.</p> + + <pre class="prettyprint lang-config"># Farklı bir konaktaki bir URL'ye yönlendirme +Redirect "/hizmet" "http://iki.example.com/hizmet" + +# Aynı konak üzerinde yönlendirme +Redirect "/bir" "/iki"</pre> + + + <p>İstemcinin yaptığı <code>http://example.com/hizmet/fesmekan.txt</code> + isteğine karşılık istemciye isteği + <code>http://iki.example.com/hizmet/fesmekan.txt</code> olarak yapması + söylenecektir. Bu <code>GET</code> isteklerinde de geçerlidir. Örneğin, + <code>http://example.com/hizmet/foo.pl?q=23&a=42</code> isteği + <code>http://iki.example.com/hizmet/foo.pl?q=23&a=42</code> adresine + yönlendirilir. <code>POST</code>'ların iptal edileceğini unutmayın.<br /> + Sadece tam yol parçaları eşleştirilir, bu nedenle + <code>http://example.com/hizmetfesmekan.txt</code> isteği yukarıdaki + yönlendirme ile eşleşmeyecektir. <a href="../expr.html">İfade + sözdizimi</a> kullanılan daha karmaşık eşleşmeler için URL-yolu seçeneği + aşağıda açıklandığı gibi yoksayılır. Düzenli ifadelerin kullanıldığı daha + karmaşık eşleşmeler için <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> + yönergesine de bakınız.</p> + + + <div class="note"><h3>Bilginize</h3> + <p>Yapılandırma dosyasında yer alış sırasına bakmaksızın + <code class="directive">Redirect</code> yönergeleri + <code class="directive">Alias</code> ve <code class="directive">ScriptAlias</code> + yönergelerinden önce ele alınır. <code class="directive"><a href="../mod/core.html#location"><Location></a></code> bölümü içinde kullanılmış bir + <code class="directive">Redirect</code> yönergesi URL-yolu belirtilmiş + <code class="directive">Redirect</code> ve <code class="directive">Alias</code> + yönergelerine göre önceliklidir.</p></div> + + <p>Herhangi bir <code><em>durum</em></code> belirtilmemişse "geçici" + yönlendirme (HTTP durum kodu: 302) yapılır. Bu, istemciye özkaynağın + geçici olarak başka yere taşındığını belirtir. Diğer HTTP durum + kodlarını döndürmek için kullanılabilecek <code><em>durum</em></code> + değerleri:</p> + + <dl> + <dt><code>permanent</code></dt> + <dd>İstemciye özkaynağın kalıcı olarak taşındığını belirten kalıcı + yönlendirme durumu (301) döndürülür.</dd> + + <dt><code>temp</code></dt> + <dd>İstemciye geçici yönlendirme durumu (302) döner. Bu öntanımlıdır. + </dd> + + <dt><code>seeother</code></dt> + <dd>İstemciye özkaynağın yerine başka bir şey konduğunu belirten + "diğerine bak" durumu (303) döndürülür.</dd> + + <dt><code>gone</code></dt> + <dd>İstemciye özkaynağın kalıcı olarak kaldırıldığını belirten "ölü + bağlantı" durumu (410) döner. Bu durumda <code><em>URL</em></code> + belirtilmez.</dd> + </dl> + + <p>Diğer durum kodları için <code><em>durum</em></code> değiştirgesiyle + sayısal durum kodu belirtilir. Eğer durum 300 ile 399 arasındaysa bir + <code><em>URL</em></code> belirtmek gereklidir. Aksi takdirde, + <var>URL</var> bileşeni ihmal edilmelidir. Belirtilecek durum kodunun + geçerli bir HTTP Status kodu olmalı ve Apache HTTP Sunucusu kodu + bilmelidir (<code>http_protocol.c</code> dosyasında bulunan + <code>send_error_response</code> işlevine bakınız).</p> + + <pre class="prettyprint lang-config">Redirect permanent "/bir" "http://example.com/iki" +Redirect 30" "/yedi" http://example.com/baskabisey"</pre> + + + <p>Eğer <code class="directive">Redirect</code> yönergesi URL-yolu belirtilmemiş + bir <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + veya <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + bölümü içinde yer alıyorsa, URL seçeneği <a href="../expr.html">ifade + sözdizimi</a> kullanılarak yorumlanır.<br /> + Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.</p> + + <pre class="prettyprint lang-config"><Location "/bir"> + Redirect permanent "http://example.com/iki" +</Location> +<Location "/yedi"> + Redirect 303 "http://example.com/baskabisey" +</Location> +<LocationMatch "/error/(?<NUMBER>[0-9]+)"> + Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html" +</LocationMatch></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir harici +yönlendirme gönderir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RedirectMatch [<var>durum</var>] <var>düzenli-ifade</var> +<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir + <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> kabul etmesi dışında + <code class="directive"><a href="#redirect">Redirect</a></code> yönergesine + eşdeğerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile + eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. Örneğin, tüm GIF dosyası isteklerini başka bir + sunucudaki aynı isimli JPEG dosyalarına yönlendirmek için şu + yazılabilir:</p> + + <pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://baska.example.com$1.jpg"</pre> + + + <p><code class="directive"><a href="#alias">Alias</a></code> ve + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> arasındaki farklarla + ilgili hususlar <code class="directive"><a href="#redirect">Redirect</a></code> ve + <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> arasındakilere de + uygulanır. Ayrıntılar için <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> yönergesine bakınız.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent" id="redirectpermanent">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RedirectPermanent <var>URL-yolu</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür. + Yani, <code>Redirect permanent</code> ile aynı işi yapar.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a> <a name="redirecttemp" id="redirecttemp">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemciyi, geçici bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>RedirectTemp <var>URL-yolu</var> <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür. + Yani, <code>Redirect temp</code> ile aynı işi yapar.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a> <a name="scriptalias" id="scriptalias">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ScriptAlias [<var>URL-yolu</var>] +<var>dosya-yolu</var>|<var>dizin-yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Hedef dizini, <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> modülünün CGI betiği + yorumlayıcısı tarafından çalıştırılacak betikleri içeren dizin olarak + imlemesi dışında <code class="directive"><a href="#alias">Alias</a></code> + yönergesinin yaptığı işi yapar. <code><em>URL-yolu</em></code> ile + başlayan harf büyüklüğüne duyarlı URL’ler (% imlemesi çözüldükten + sonra), dosya sistemindeki bir tam yol olarak belirtilmiş + <code><em>dizin-yolu</em></code> ile başlayan betiklerle eşlenir.</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/siteler/cgi-bin/"</pre> + + + <p><code>http://example.com/cgi-bin/foo</code> şeklindeki bir istek + sunucunun <code>/siteler/cgi-bin/foo</code> betiğini çalıştırmasına sebep + olur. Bu yapılandırma aslında şuna eşdeğerdir:</p> + + <pre class="prettyprint lang-config">Alias "/cgi-bin/" "/siteler/cgi-bin/" +<Location "/cgi-bin"> + SetHandler cgi-script + Options +ExecCGI +</Location></pre> + + + <p><code class="directive">ScriptAlias</code> yönergesini bir betik veya eylemci + ile birlikte de kullanabilirsiniz. Örnek:</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/siteler/cgi-handler.pl"</pre> + + + <p>Bu senaryoda <code>/cgi-bin/</code>’den istenen tüm dosyalar sizin + belirttiğiniz dosya tarafından işleme sokulacaktır. Bu yöntemle kendi + özel eylemcinizi kullanabilirsiniz. İsterseniz, bunu içerik eklemek + ya da ısmarlama bir eylem için bir CGI sarmalayıcısı olarak da + kullanabilirsiniz.</p> + + <div class="warning">Yapılandırma değiştiğinde kaynak kodlarının ister + istemez açığa çıkmasını istemiyorsanız CGI betiklerinizi <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> altına koymayınız. + <code class="directive">ScriptAlias</code> yönergesi URL’yi doğru yere + eşlemekten başka orayı bir CGI betikleri dizini olarak imler. CGI + betiklerinizi <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> altına + koyarsanız çalıştırmak için <code class="directive">ScriptAlias</code> değil, + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ve <code class="directive"><a href="../mod/core.html#options">Options</a></code> yönergelerini örnekteki gibi kullanın: + + <pre class="prettyprint lang-config"><Directory "/usr/local/apache2/htdocs/cgi-bin" > + SetHandler cgi-script + Options ExecCGI +</Directory></pre> + + + Aynı dosya sistemi konumu ile çok sayıda <code><em>URL-yolu</em></code> + eşleşebileceğinden, bir <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> + bölümü ile sınırlanmadığı takdirde CGI betiklerinin kaynak kodları açığa + çıkabilir; bu bakımdan <code class="directive">ScriptAlias</code> yönergesini yok + sayan URL yollarının belirtilebilme olasılığı gözardı + edilmemelidir.</div> + + <p>Eğer <code class="directive">ScriptAlias</code> yönergesi URL-yolu belirtilmemiş + bir <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + veya <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> + bölümü içinde yer alıyorsa, URL seçeneği <a href="../expr.html">ifade + sözdizimi</a> kullanılarak yorumlanır.<br /> + Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.</p> + + <pre class="prettyprint lang-config"><Location "/cgi-bin"> + ScriptAlias "/siteler/cgi-bin/" +</Location> +<LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)"> + ScriptAlias "/siteler/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi" +</LocationMatch></pre> + + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../howto/cgi.html">CGI Öğreticisi</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch" id="scriptaliasmatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak +eşler ve hedefi bir CGI betiği olarak çalıştırır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ScriptAliasMatch <var>düzenli-ifade</var> +<var>dosya-yolu</var>|<var>dizin-yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_alias</td></tr> +</table> + <p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir + <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> kabul etmesi dışında + <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> yönergesine + eşdeğerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile + eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak + dosya yolunu elde eder. Örneğin, standart <code>/cgi-bin</code> dizinini + etkin kılmak için şu yazılabilir:</p> + + <pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre> + + + <p>AliasMatch yönergesindeki gibi, <a class="glossarylink" href="../glossary.html#rexex" title="sözlüğe bakınız">düzenli + ifadeler</a>in tamamı tüm güçleriyle kullanılabilmektedir. + Örneğin, <code><em>URL-yolu</em></code> için harf büyüklüğüne duyarsız + eşleşmeli bir takma ad oluşturmak mümkünür:</p> + + <pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre> + + + <p><code class="directive"><a href="#alias">Alias</a></code> ve + <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> arasındaki farklarla + ilgili hususlar <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ve + <code class="directive"><a href="#scriptaliasmatch">ScriptAliasMatch</a></code> arasındakilere + de uygulanır. Ayrıntılar için <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> yönergesine bakınız.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_alias.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_allowmethods.html b/docs/manual/mod/mod_allowmethods.html new file mode 100644 index 0000000..aeb45f5 --- /dev/null +++ b/docs/manual/mod/mod_allowmethods.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_allowmethods.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_allowmethods.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_allowmethods.html.en b/docs/manual/mod/mod_allowmethods.html.en new file mode 100644 index 0000000..ef69a37 --- /dev/null +++ b/docs/manual/mod/mod_allowmethods.html.en @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_allowmethods - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_allowmethods</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_allowmethods.html" title="English"> en </a> | +<a href="../fr/mod/mod_allowmethods.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Easily restrict what HTTP methods can be used on the server</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>allowmethods_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_allowmethods.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + +<p>This module makes it easy to restrict what HTTP methods can be +used on a server. The most common configuration would be:</p> + +<pre class="prettyprint lang-config"><Location "/"> + AllowMethods GET POST OPTIONS +</Location></pre> + + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allowmethods">AllowMethods</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_allowmethods">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_allowmethods">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowMethods" id="AllowMethods">AllowMethods</a> <a name="allowmethods" id="allowmethods">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restrict access to the listed HTTP methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowMethods reset</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_allowmethods</td></tr> +</table> + +<p>The HTTP-methods are case sensitive and are generally, as per +RFC, given in upper case. The GET and HEAD methods are treated as +equivalent. The <code>reset</code> keyword can be used to +turn off <code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> in a deeper nested context:</p> + +<pre class="prettyprint lang-config"><Location "/svn"> + AllowMethods reset +</Location></pre> + + +<div class="note"><h3>Caution</h3> + <p>The TRACE method cannot be denied by this module; + use <code class="directive"><a href="../mod/core.html#traceenable">TraceEnable</a></code> instead.</p> +</div> + +<p><code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> was written to replace the rather +kludgy implementation of <code class="directive"><a href="../mod/core.html#limit">Limit</a></code> and +<code class="directive"><a href="../mod/core.html#limitexcept">LimitExcept</a></code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_allowmethods.html" title="English"> en </a> | +<a href="../fr/mod/mod_allowmethods.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_allowmethods.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_allowmethods.html.fr.utf8 b/docs/manual/mod/mod_allowmethods.html.fr.utf8 new file mode 100644 index 0000000..23583dd --- /dev/null +++ b/docs/manual/mod/mod_allowmethods.html.fr.utf8 @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_allowmethods - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_allowmethods</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_allowmethods.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_allowmethods.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module permet de restreindre aisément les méthodes HTTP +pouvant être utilisées sur le serveur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>allowmethods_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_allowmethods.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module permet de restreindre aisément les méthodes HTTP +pouvant être utilisées sur le serveur. La configuration la plus courante +est du style :</p> + +<pre class="prettyprint lang-config"><Location "/"> + AllowMethods GET POST OPTIONS +</Location></pre> + + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allowmethods">AllowMethods</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_allowmethods">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_allowmethods">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowmethods" id="allowmethods">Directive</a> <a name="AllowMethods" id="AllowMethods">AllowMethods</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint l'accès aux méthodes HTTP spécifiées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowMethods reset</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_allowmethods</td></tr> +</table> + +<p>Les noms des méthodes HTTP sont sensibles à la casse, et sont en +général définis en majuscules, comme dans les RFCs. Les méthodes GET et +HEAD sont considérées comme équivalentes. Le mot-clé +<code>reset</code> permet de désactiver +<code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> dans les niveaux inférieurs +d'imbrication :</p> + +<pre class="prettyprint lang-config"><Location "/svn"> + AllowMethods reset +</Location></pre> + + +<div class="note"><h3>Avertissement</h3> + <p>La méthode TRACE ne peut pas être rejetée par ce module ; pour ce + faire, vous devez utiliser la directive <code class="directive"><a href="../mod/core.html#traceenable">TraceEnable</a></code>.</p> +</div> + +<p>Le module <code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> a été écrit pour +remplacer l'implémentation "bricolée" des directives <code class="directive"><a href="../mod/core.html#limit">Limit</a></code> et <code class="directive"><a href="../mod/core.html#limitexcept">LimitExcept</a></code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_allowmethods.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_allowmethods.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_allowmethods.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html b/docs/manual/mod/mod_asis.html new file mode 100644 index 0000000..bdf5fbd --- /dev/null +++ b/docs/manual/mod/mod_asis.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_asis.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_asis.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_asis.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_asis.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_asis.html.en b/docs/manual/mod/mod_asis.html.en new file mode 100644 index 0000000..93eabc9 --- /dev/null +++ b/docs/manual/mod/mod_asis.html.en @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_asis - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_asis</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_asis.html" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Sends files that contain their own +HTTP headers</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>asis_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_asis.c</td></tr></table> +<h3>Summary</h3> + + <p>This module provides the handler <code>send-as-is</code> + which causes Apache HTTP Server to send the document without adding most of + the usual HTTP headers.</p> + + <p>This can be used to send any kind of data from the server, + including redirects and other special HTTP responses, without + requiring a cgi-script or an nph script.</p> + + <p>For historical reasons, this module will also process any + file with the mime type <code>httpd/send-as-is</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Usage</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_asis">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_asis">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li> +<li><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code></li> +<li><a href="../handler.html">Apache httpd's Handler Use</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Usage</a></h2> + + <p>In the server configuration file, associate files with the + <code>send-as-is</code> handler <em>e.g.</em></p> + + <pre class="prettyprint lang-config">AddHandler send-as-is asis</pre> + + + <p>The contents of any file with a <code>.asis</code> extension + will then be sent by Apache httpd to the client with almost no + changes. In particular, HTTP headers are derived from the file + itself according to <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> rules, so an asis + file must include valid headers, and may also use the CGI + <code>Status:</code> header to determine the HTTP response + code. The <code>Content-Length:</code> header will automatically + be inserted or, if included, corrected by httpd.</p> + + <p>Here's an example of a file whose contents are sent <em>as + is</em> so as to tell the client that a file has + redirected.</p> + + + <div class="example"><p><code> + Status: 301 Now where did I leave that URL<br /> + Location: http://xyz.example.com/foo/bar.html<br /> + Content-type: text/html<br /> + <br /> + <html><br /> + <head><br /> + <title>Lame excuses'R'us</title><br /> + </head><br /> + <body><br /> + <h1>Fred's exceptionally wonderful page has moved to<br /> + <a href="http://xyz.example.com/foo/bar.html">Joe's</a> + site.<br /> + </h1><br /> + </body><br /> + </html> + </code></p></div> + + <div class="note"><h3>Notes:</h3> + <p>The server always adds a <code>Date:</code> and <code>Server:</code> + header to the data returned to the client, so these should not be + included in the file. The server does <em>not</em> add a + <code>Last-Modified</code> header; it probably should.</p> + </div> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_asis.html" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_asis.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html.fr.utf8 b/docs/manual/mod/mod_asis.html.fr.utf8 new file mode 100644 index 0000000..f4839df --- /dev/null +++ b/docs/manual/mod/mod_asis.html.fr.utf8 @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_asis - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_asis</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des fichiers contenant leurs propres en-têtes +HTTP</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>asis_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_asis.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit le gestionnaire <code>send-as-is</code> qui + permet au serveur HTTP Apache d'envoyer le document sans ajouter la plupart des + en-têtes HTTP habituels.</p> + + <p>On peut l'utiliser pour envoyer tous types de données en + provenance du serveur, y compris les redirections et autres réponses + HTTP spéciales, sans devoir faire appel à un script CGI ou nph.</p> + + <p>Pour des raisons historiques, ce module traitera aussi tout + fichier dont le type MIME est <code>httpd/send-as-is</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Mode d'emploi</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_asis">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_asis">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li> +<li><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code></li> +<li><a href="../handler.html">Utilisation des gestionnaires +d'Apache httpd</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Mode d'emploi</a></h2> + + <p>Dans le fichier de configuration, associez les fichiers asis au + gestionnaire <code>send-as-is</code> comme ceci :</p> + + <pre class="prettyprint lang-config">AddHandler send-as-is asis</pre> + + + <p>Le contenu de tout fichier possédant l'extension + <code>.asis</code> sera envoyé par Apache httpd au client pratiquement tel + quel. En particulier, les en-têtes HTTP seront déduits du fichier + lui-même selon les règles du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, si + bien qu'un fichier asis doit inclure des en-têtes valides, et + utiliser l'en-tête CGI <code>Status:</code> pour déterminer le code de réponse + HTTP. L'en-tête <code>Content-Length:</code> sera automatiquement + inséré ou, s'il est déjà présent, corrigé par httpd.</p> + + <p>Voici un exemple de fichier dont le contenu est envoyé <em>tel + quel</em> pour informer un client qu'un fichier a été déplacé.</p> + + + <div class="example"><p><code> + Status: 301 Ou se trouve cette URL maintenant<br /> + Location: http://xyz.example.com/foo/bar.html<br /> + Content-type: text/html<br /> + <br /> + <html><br /> + <head><br /> + <title>Mauvaises excuses</title><br /> + </head><br /> + <body><br /> + <h1>La merveilleuse page de Fred a été déplacée vers<br /> + <a href="http://xyz.example.com/foo/bar.html">le site de + Joe</a>.<br /> + </h1><br /> + </body><br /> + </html> + </code></p></div> + + <div class="note"><h3>Notes :</h3> + <p>Le serveur ajoute systématiquement les en-têtes + <code>Date:</code> et <code>Server:</code> aux données qu'il envoie + au client, si bien qu'ils n'ont pas besoin d'être inclus dans le + fichier. Le serveur n'ajoute <em>pas</em> d'en-tête + <code>Last-Modified</code>, ce qu'il devrait probablement faire.</p> + </div> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_asis.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html.ja.utf8 b/docs/manual/mod/mod_asis.html.ja.utf8 new file mode 100644 index 0000000..72a80a8 --- /dev/null +++ b/docs/manual/mod/mod_asis.html.ja.utf8 @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_asis - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_asis</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>自分用の HTTP ヘッダの書かれているファイルを送信する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>asis_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_asis.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールはハンドラ <code>send-as-is</code> + を提供します。このハンドラは通常の HTTP + ヘッダをほとんど追加することなくドキュメントを送信します。</p> + + <p>これはサーバからどんな種類のデータを送るときにも使用できます。 + Cgi スクリプトや nph スクリプトが無くてもリダイレクトや他の特別な + HTTP 応答を送ることができます。</p> + + <p>歴史的な理由により、このモジュールは mime タイプ + <code>httpd/send-as-is</code> のファイルも処理します。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">使用法</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<p>このモジュールにディレクティブはありません。</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_asis">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_asis">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li> +<li><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code></li> +<li><a href="../handler.html">Apache のハンドラの使用</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">使用法</a></h2> + + <p>サーバ設定ファイルで、ファイルと <code>send-as-is</code> + ハンドラを例えば以下のように関連付けてください。</p> + + <div class="example"><p><code>AddHandler send-as-is asis</code></p></div> + + <p>拡張子が <code>.asis</code> のすべてのファイルの内容は Apache + からクライアントへほとんど変更無く送られます。 + HTTP ヘッダは特別で、ファイルから <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + のルールに従って取り出されます。ですから asis ファイルには + 正しいヘッダが記載されていなければなりませし、 + また CGI での表記法であるところの Status: ヘッダを使って + HTTP レスポンスコードを決めることもできます。</p> + + <p>これはクライアントにファイルが移動したことを知らせるために + <em>as is</em> (そのまま) で送られるファイルの内容の例です。 + </p> + + + <div class="example"><p><code> + Status: 301 Now where did I leave that URL<br /> + Location: http://xyz.abc.com/foo/bar.html<br /> + Content-type: text/html<br /> + <br /> + <html><br /> + <head><br /> + <title>Lame excuses'R'us</title><br /> + </head><br /> + <body><br /> + <h1>Fred's exceptionally wonderful page has moved to<br /> + <a href="http://xyz.abc.com/foo/bar.html">Joe's</a> + site.<br /> + </h1><br /> + </body><br /> + </html> + </code></p></div> + + <div class="note"><h3>注意</h3> + <p>注意: サーバはクライアントに返されるデータに常に <code>Date:</code> + と <code>Server:</code> ヘッダを追加しますので、 + それらがファイルに書かれていてはいけません。 + サーバは <code>Last-Modified</code> ヘッダを追加<em>しません</em>。 + おそらくはそうすべきでしょうけれど。</p> + </div> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_asis.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html.ko.euc-kr b/docs/manual/mod/mod_asis.html.ko.euc-kr new file mode 100644 index 0000000..707fcc6 --- /dev/null +++ b/docs/manual/mod/mod_asis.html.ko.euc-kr @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_asis - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_asis</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>HTTP </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>asis_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_asis.c</td></tr></table> +<h3></h3> + + <p> ġ Ϲ HTTP κ ߰ʰ + <code>send-as-is</code> ڵ鷯 + Ѵ.</p> + + <p> cgi ũƮ nph ũƮ ʰ + ̷ǰ ٸ Ư HTTP ڷᵵ + ִ.</p> + + <p>ſ mime type <code>httpd/send-as-is</code> + ϵ óߴ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage"></a></li> +</ul><h3 class="directives">þ</h3> +<p> þ ϴ.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_asis">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_asis">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li> +<li><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code></li> +<li><a href="../handler.html">ġ ڵ鷯 </a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage"></a></h2> + + <p> Ͽ ϰ <code>send-as-is</code> ڵ鷯 + <em> </em> Ѵ.</p> + + <div class="example"><p><code>AddHandler send-as-is asis</code></p></div> + + <p>ġ <code>.asis</code> Ȯڸ + ʰ Ŭ̾Ʈ . Ŭ̾Ʈ HTTP + ʿϹǷ . Status: ʿϴ. + ڸ HTTP ڵ ̴.</p> + + <p> <em>״</em> Ŭ̾Ʈ + ̷¼ǵǾٰ ˸ ̴.</p> + + + <div class="example"><p><code> + Status: 301 Now where did I leave that URL<br /> + Location: http://xyz.abc.com/foo/bar.html<br /> + Content-type: text/html<br /> + <br /> + <html><br /> + <head><br /> + <title>Lame excuses'R'us</title><br /> + </head><br /> + <body><br /> + <h1>Fred's exceptionally wonderful page has moved to<br /> + <a href="http://xyz.abc.com/foo/bar.html">Joe's</a> + site.<br /> + </h1><br /> + </body><br /> + </html> + </code></p></div> + + <div class="note"><h3>:</h3> + <p> ڷḦ Ŭ̾Ʈ <code>Date:</code> + <code>Server:</code> ߰ϹǷ, Ͽ + ȵȴ. <code>Last-Modified</code> + ߰ <em>ʴ´</em>. Ƹ ؾ + Ѵ.</p> + </div> +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_asis.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_asis.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_asis.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html b/docs/manual/mod/mod_auth_basic.html new file mode 100644 index 0000000..a76c6bd --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_auth_basic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_basic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_basic.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_basic.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_auth_basic.html.en b/docs/manual/mod/mod_auth_basic.html.en new file mode 100644 index 0000000..bdb3db4 --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.en @@ -0,0 +1,288 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_basic - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_auth_basic</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_auth_basic.html" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Basic HTTP authentication</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>auth_basic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_auth_basic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module allows the use of HTTP Basic Authentication to + restrict access by looking up users in the given providers. + HTTP Digest Authentication is provided by + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. This module should + usually be combined with at least one authentication module + such as <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> and one authorization + module such as <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicfake">AuthBasicFake</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicprovider">AuthBasicProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_basic">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_basic">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="../howto/auth.html">Authentication howto</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicAuthoritative" id="AuthBasicAuthoritative">AuthBasicAuthoritative</a> <a name="authbasicauthoritative" id="authbasicauthoritative">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthBasicAuthoritative On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthBasicAuthoritative On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +</table> + <p>Normally, each authorization module listed in <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> will attempt + to verify the user, and if the user is not found in any provider, + access will be denied. Setting the + <code class="directive">AuthBasicAuthoritative</code> directive explicitly + to <code>Off</code> allows for both authentication and + authorization to be passed on to other non-provider-based modules + if there is <strong>no userID</strong> or <strong>rule</strong> + matching the supplied userID. This should only be necessary when + combining <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> with third-party modules + that are not configured with the <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> + directive. When using such modules, the order of processing + is determined in the modules' source code and is not configurable.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicFake" id="AuthBasicFake">AuthBasicFake</a> <a name="authbasicfake" id="authbasicfake">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fake basic authentication using the given expressions for +username and password</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthBasicFake off|<var>username</var> [<var>password</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.4.5 and later</td></tr> +</table> + <p>The username and password specified are combined into an + Authorization header, which is passed to the server or service + behind the webserver. Both the username and password fields are + interpreted using the <a href="../expr.html">expression parser</a>, + which allows both the username and password to be set based on + request parameters.</p> + + <p>If the password is not specified, the default value "password" + will be used. To disable fake basic authentication for an URL + space, specify "AuthBasicFake off".</p> + + <p>In this example, we pass a fixed username and password to a + backend server.</p> + + <div class="example"><h3>Fixed Example</h3><pre class="prettyprint lang-config"><Location "/demo"> + AuthBasicFake demo demopass +</Location></pre> +</div> + + <p>In this example, we pass the email address extracted from a client + certificate, extending the functionality of the FakeBasicAuth option + within the <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> + directive. Like the FakeBasicAuth option, the password is set to the + fixed string "password".</p> + + <div class="example"><h3>Certificate Example</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" +</Location></pre> +</div> + + <p>Extending the above example, we generate a password by hashing the + email address with a fixed passphrase, and passing the hash to the + backend server. This can be used to gate into legacy systems that do + not support client certificates.</p> + + <div class="example"><h3>Password Example</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}" +</Location></pre> +</div> + + <div class="example"><h3>Exclusion Example</h3><pre class="prettyprint lang-config"><Location "/public"> + AuthBasicFake off +</Location></pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicProvider" id="AuthBasicProvider">AuthBasicProvider</a> <a name="authbasicprovider" id="authbasicprovider">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the authentication provider(s) for this location</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthBasicProvider file</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +</table> + <p>The <code class="directive">AuthBasicProvider</code> directive sets + which provider is used to authenticate the users for this location. + The default <code>file</code> provider is implemented + by the <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> module. Make sure + that the chosen provider module is present in the server.</p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthType basic + AuthName "private area" + AuthBasicProvider dbm + AuthDBMType SDBM + AuthDBMUserFile "/www/etc/dbmpasswd" + Require valid-user +</Location></pre> +</div> + <p> Providers are queried in order until a provider finds a match + for the requested username, at which point this sole provider will + attempt to check the password. A failure to verify the password does + not result in control being passed on to subsequent providers.</p> + + <p>Providers are implemented by <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> and <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicUseDigestAlgorithm" id="AuthBasicUseDigestAlgorithm">AuthBasicUseDigestAlgorithm</a> <a name="authbasicusedigestalgorithm" id="authbasicusedigestalgorithm">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthBasicUseDigestAlgorithm MD5|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthBasicUseDigestAlgorithm Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.4.7 and later</td></tr> +</table> + <p>Normally, when using Basic Authentication, the providers listed in + <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> + attempt to verify a user by checking their data stores for + a matching username and associated password. The stored passwords + are usually encrypted, but not necessarily so; each provider may + choose its own storage scheme for passwords.</p> + + <p>When using <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> and Digest + Authentication, providers perform a similar check to find a matching + username in their data stores. However, unlike in the Basic + Authentication case, the value associated with each stored username + must be an encrypted string composed from the username, realm name, + and password. (See + <a href="http://tools.ietf.org/html/rfc2617#section-3.2.2.2"> + RFC 2617, Section 3.2.2.2</a> for more details on the format used + for this encrypted string.)</p> + + <p>As a consequence of the difference in the stored values between + Basic and Digest Authentication, converting from Digest + Authentication to Basic Authentication generally requires that all + users be assigned new passwords, as their existing passwords cannot + be recovered from the password storage scheme imposed on those + providers which support Digest Authentication.</p> + + <p>Setting the <code class="directive">AuthBasicUseDigestAlgorithm</code> directive + to <code>MD5</code> will cause the user's Basic Authentication password + to be checked using the same encrypted format as for Digest + Authentication. First a string composed from the username, realm name, + and password is hashed with MD5; then the username and this encrypted + string are passed to the providers listed in + <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> + as if + <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> + was set to <code>Digest</code> and Digest Authentication was in force. + </p> + + <p>Through the use of <code class="directive">AuthBasicUseDigestAlgorithm</code> + a site may switch from Digest to Basic Authentication without + requiring users to be assigned new passwords.</p> + + <div class="note"> + The inverse process of switching from Basic to Digest + Authentication without assigning new passwords is generally + not possible. Only if the Basic Authentication passwords + have been stored in plain text or with a reversible encryption + scheme will it be possible to recover them and generate a + new data store following the Digest Authentication password + storage scheme. + </div> + + <div class="note"> + Only providers which support Digest Authentication will be able + to authenticate users when <code class="directive">AuthBasicUseDigestAlgorithm</code> + is set to <code>MD5</code>. Use of other providers will result + in an error response and the client will be denied access. + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_auth_basic.html" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html.fr.utf8 b/docs/manual/mod/mod_auth_basic.html.fr.utf8 new file mode 100644 index 0000000..aaaa16c --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.fr.utf8 @@ -0,0 +1,315 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_basic - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_auth_basic</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification HTTP de base</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_basic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_basic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet d'utiliser l'authentification basique HTTP pour + restreindre l'accès en recherchant les utilisateurs dans les + fournisseurs d'authentification spécifiés. Il est en général + combiné avec au moins un module d'authentification comme + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation comme + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. L'authentification HTTP à + base de condensé (digest), quant à elle, est fournie par le module + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. </p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicfake">AuthBasicFake</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicprovider">AuthBasicProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_basic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_basic">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="../howto/auth.html">Mode d'emploi de +l'authentification</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authbasicauthoritative" id="authbasicauthoritative">Directive</a> <a name="AuthBasicAuthoritative" id="AuthBasicAuthoritative">AuthBasicAuthoritative</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les processus d'autorisation et +d'authentification peuvent être confiés à des modules de plus bas +niveau</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicAuthoritative On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicAuthoritative On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +</table> + <p>Normalement, chaque module d'autorisation énuméré dans la + directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> va tenter de + vérifier l'utilisateur, et si ce dernier n'est trouvé dans aucun des + fournisseurs, l'accès sera refusé. Définir explicitement la + directive <code class="directive">AuthBasicAuthoritative</code> à + <code>Off</code> permet de confier l'autorisation et + l'authentification à d'autres modules non basés sur les fournisseurs + si <strong>aucun identifiant utilisateur</strong> ou aucune + <strong>règle</strong> ne correspondent à l'identifiant utilisateur + spécifié. Ceci ne peut s'avérer nécessaire que lorsque + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est combiné avec des modules tiers + qui n'ont pas été configurés à l'aide de la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'on + utilise de tels modules, l'ordre dans lequel s'effectue le + traitement est défini dans le code source des modules et n'est pas + configurable.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authbasicfake" id="authbasicfake">Directive</a> <a name="AuthBasicFake" id="AuthBasicFake">AuthBasicFake</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Authentification de base simulée à l'aide des nom +d'utilisateur et mot de passe fournis</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicFake off|<var>username</var> [<var>password</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> + <p>Les nom d'utilisateur et mot de passe spécifiés sont rassemblés + dans un en-tête d'autorisation qui est transmis au serveur ou au + service sous-jacent au serveur. Ces nom d'utilisateur et mot de + passe sont interprétés par l'<a href="../expr.html">interpréteur + d'expression</a>, ce qui permet de les définir en fonction de + paramètres de la requête.</p> + + <p>Si aucun mot de passe n'est spécifié, la valeur par défaut + "password" sera utilisée. Pour désactiver l'authentification de base + simulée pour un espace d'URL, définissez AuthBasicFake à "off".</p> + + <p>Dans l'exemple suivant, un nom d'utilisateur et un mot de passe + prédéfinis sont transmis à un serveur d'arrière-plan :</p> + + <div class="example"><h3>Exemple de transmission d'un nom d'utilisateur et + d'un mot de passe prédéfinis</h3><pre class="prettyprint lang-config"><Location "/demo"> + AuthBasicFake demo demopass +</Location></pre> +</div> + + <p>Dans l'exemple suivant, l'adresse email extraite d'un certificat + client est transmise au serveur, étendant par là-même la + fonctionnalité de l'option FakeBasicAuth de la directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. Comme avec l'option + FakeBasicAuth, le mot de passe se voit attribué le contenu fixe de + la chaîne "password".</p> + + <div class="example"><h3>Exemple d'utilisation avec un certificat</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" +</Location></pre> +</div> + + <p>Pour compléter l'exemple précédent, il est possible de générer la + valeur du mot de passe en procédant à un hashage de l'adresse email + à partir d'un mot d'une passphrase initial fixée, puis de transmettre le + résultat obtenu au serveur d'arrière-plan. Ceci peut s'avérer utile + pour donner accès à des serveurs anciens qui ne supportent pas les + certificats clients.</p> + + <div class="example"><h3>Exemple de génération de mot de passe par hashage de + l'adresse email</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}" +</Location></pre> +</div> + + <div class="example"><h3>Désactivation de l'authentification simulée</h3><pre class="prettyprint lang-config"><Location "/public"> + AuthBasicFake off +</Location></pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authbasicprovider" id="authbasicprovider">Directive</a> <a name="AuthBasicProvider" id="AuthBasicProvider">AuthBasicProvider</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(les) fournisseur(s) d'authentification pour +cette zone du site web</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicProvider <var>nom fournisseur</var> +[<var>nom fournisseur</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicProvider file</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +</table> + <p>La directive <code class="directive">AuthBasicProvider</code> permet de + définir le fournisseur utilisé pour authentifier les utilisateurs + pour la zone du site web concernée. Le fournisseur par défaut + <code>file</code> est implémenté par le module + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Assurez-vous que le module + implémentant le fournisseur choisi soit bien présent dans le + serveur.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthType basic + AuthName "private area" + AuthBasicProvider dbm + AuthDBMType SDBM + AuthDBMUserFile "/www/etc/dbmpasswd" + Require valid-user +</Location></pre> +</div> + <p>Les fournisseurs sont sollicités dans l'ordre jusqu'à ce que l'un + d'entre eux trouve une correspondance pour le nom d'utilisateur de + la requête ; alors, ce dernier fournisseur sera le seul à vérifier + le mot de passe. Un échec dans la vérification du mot de passe + n'entraîne pas le passage du contrôle au fournisseur suivant.</p> + + <p>Les différents fournisseurs disponibles sont implémentés par les + modules <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> et <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authbasicusedigestalgorithm" id="authbasicusedigestalgorithm">Directive</a> <a name="AuthBasicUseDigestAlgorithm" id="AuthBasicUseDigestAlgorithm">AuthBasicUseDigestAlgorithm</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie les mots de passe auprès des fournisseurs +d'authentification à la manière de l'authentification de type Digest. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicUseDigestAlgorithm MD5|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicUseDigestAlgorithm Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.7 du serveur HTTP +Apache</td></tr> +</table> + <p>Normalement, lorsqu'on utilise l'authentification basique, les + fournisseurs spécifiés via la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> tentent de + contrôler l'identité d'un utilisateur en recherchant dans leurs + bases de données l'existence d'un couple utilisateur/mot de passe + correspondant. Les mots de passe enregistrés sont en général + chiffrés, mais ce n'est pas systématique ; chaque fournisseur peut + choisir son propre mode de stockage des mots de passe.</p> + + <p>Lorsqu'on utilise l'authentification de type Digest, les + fournisseurs spécifiés par la directive <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> effectuent + une recherche similaire dans leurs bases de + données pour trouver un couple utilisateur/mot de passe + correspondant. Cependant, à la différence de l'authentification + basique, les données associées à chaque utilisateur et comportant le + nom d'utilisateur, le domaine de protection (realm) et le mot de + passe doivent être contenues dans une chaîne chiffrée (Voir le + document <a href="http://tools.ietf.org/html/rfc2617#section-3.2.2.2">RFC 2617, + Section 3.2.2.2</a> pour plus de détails à propos du type de + chiffrement utilisé pour cette chaîne).</p> + + <p>A cause de la différence entre les méthodes de stockage des + données des authentifications de type basique et digest, le passage + d'une méthode d'authentification de type digest à une méthode + d'authentification de type basique requiert l'attribution de + nouveaux + mots de passe à chaque utilisateur, car leur mots de passe existant + ne peut pas être extrait à partir du schéma de stockage utilisé + par les fournisseurs d'authentification de type digest.</p> + + <p>Si la directive <code class="directive">AuthBasicUseDigestAlgorithm</code> est + définie à la valeur <code>MD5</code>, le mot de passe d'un + utilisateur dans le cas de l'authentification basique sera vérifié + en utilisant le même format de chiffrement que dans le cas de + l'authentification de type digest. Tout d'abord, une chaîne + comportant le nom d'utilisateur, le domaine de protection (realm) et + le mot de passe est générée sous forme de condensé (hash) en + utilisant l'algorithme MD5 ; puis le nom d'utilisateur et cette + chaîne chiffrée sont transmis aux fournisseurs spécifiés via la + directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> comme si la + directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> + était définie à <code>Digest</code> et si l'authentification de type + Digest était utilisée. + </p> + + <p>Grâce à cette directive, un site peut basculer d'une + authentification de type digest à basique sans devoir changer les + mots de passe des utilisateurs. </p> + + <div class="note"> + Le processus inverse consistant à passer d'une authentification de + type basique à digest sans changer les mots de passe n'est en + général pas possible. Les mots de passe enregistrés dans le cas + d'une authentification de type basique ne pourront être extraits + et chiffrés à nouveau selon le schéma de l'authentification de + type digest, que s'ils ont été stockés en clair ou selon un schéma de + chiffrement réversible. + </div> + + <div class="note"> + Seuls les fournisseurs qui supportent l'authentification de type + digest pourront authentifier les utilisateurs lorsque la directive + <code class="directive">AuthBasicUseDigestAlgorithm</code> + est définie à <code>MD5</code>. L'utilisation d'un autre + fournisseur provoquera un message d'erreur et le client se verra + refuser l'accès.</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html.ja.utf8 b/docs/manual/mod/mod_auth_basic.html.ja.utf8 new file mode 100644 index 0000000..33657f1 --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.ja.utf8 @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_basic - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_auth_basic</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>基本認証</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>auth_basic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_auth_basic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 以降</td></tr></table> +<h3>概要</h3> + + <p>与えられたプロバイダ <span class="transnote">(<em>訳注:</em> 認証での照会を行う問い合わせ先)</span> + でユーザを検索し、HTTP 基本認証でアクセス制限できるようになります。 + HTTP ダイジェスト認証については <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> + で提供されます。このモジュールを使う際はこのモジュールのほかに + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> といった認証モジュールと、 + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> といった承認モジュールとの両方を、 + それぞれひとつ以上組み合わせて使うことになります。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicfake">AuthBasicFake</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicprovider">AuthBasicProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_basic">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_basic">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#reject">Reject</a></code></li> +<li><code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> (Deprecated)</li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#<satisfyall>"><SatisfyAll></a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#<satisfyone>"><SatisfyOne></a></code></li> +<li><a href="../howto/auth.html">Authentication howto</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicAuthoritative" id="AuthBasicAuthoritative">AuthBasicAuthoritative</a> <a name="authbasicauthoritative" id="authbasicauthoritative">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>認証と承認を、より低いレベルのモジュールに移行させるかを +設定します。</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthBasicAuthoritative On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AuthBasicAuthoritative On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_auth_basic</td></tr> +</table> + <p>通常は、<code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> + ディレクティブで指定した承認モジュールを順に使ってユーザを検査しようとして、 + どのプロバイダでもユーザを検査できなかった場合、アクセス拒否します。 + <code class="directive">AuthBasicAuthoritative</code> を <code>Off</code> + と明示的に設定すると <strong>ユーザ ID がなかったり</strong>、 + <strong>ルールがなかったり</strong>する際に、認証と承認の両方について、 + プロバイダー機構で実装されていないモジュールに処理を移行させることができます。 + <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> + ディレクティブで設定できないサードパーティ製のモジュールと、 + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + とを組み合わせるときにのみ必要になるでしょう。 + そのようなモジュールを使う場合、処理順序はモジュールのソースコードが + どうなっているかによって決まり、処理順序を指定することはできません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicFake" id="AuthBasicFake">AuthBasicFake</a> <a name="authbasicfake" id="authbasicfake">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Fake basic authentication using the given expressions for +username and password</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthBasicFake off|<var>username</var> [<var>password</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache HTTP Server 2.4.5 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicProvider" id="AuthBasicProvider">AuthBasicProvider</a> <a name="authbasicprovider" id="authbasicprovider">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>この位置に対する認証プロバイダを設定します。</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AuthBasicProvider file</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_auth_basic</td></tr> +</table> + <p><code class="directive">AuthBasicProvider</code> ディレクティブで、 + この位置に対するユーザ認証に用いられる認証プロバイダを設定します。 + デフォルトになっている <code>file</code> プロバイダは + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> モジュールで実装されています。 + 指定したプロバイダを実装しているモジュールが、 + 必ずサーバに組み込まれているようにしてください。</p> + + <div class="example"><h3>Example</h3><p><code> + <Location /secure><br /> + <span class="indent"> + AuthType basic<br /> + AuthName "private area"<br /> + AuthBasicProvider dbm<br /> + AuthDBMType SDBM<br /> + AuthDBMUserFile /www/etc/dbmpasswd<br /> + Require valid-user<br /> + </span> + </Location> + </code></p></div> + + <p>認証プロバイダは <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> で実装されています。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicUseDigestAlgorithm" id="AuthBasicUseDigestAlgorithm">AuthBasicUseDigestAlgorithm</a> <a name="authbasicusedigestalgorithm" id="authbasicusedigestalgorithm">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthBasicUseDigestAlgorithm MD5|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AuthBasicUseDigestAlgorithm Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache HTTP Server 2.4.7 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_basic.html.ko.euc-kr b/docs/manual/mod/mod_auth_basic.html.ko.euc-kr new file mode 100644 index 0000000..e62f084 --- /dev/null +++ b/docs/manual/mod/mod_auth_basic.html.ko.euc-kr @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_basic - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_auth_basic</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>Basic authentication</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>auth_basic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_auth_basic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> ش (provider) Ͽ ں + ϴ HTTP Basic Authentication Ѵ. + HTTP Digest Authentication <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> + Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicauthoritative">AuthBasicAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicfake">AuthBasicFake</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicprovider">AuthBasicProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_basic">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_basic">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicAuthoritative" id="AuthBasicAuthoritative">AuthBasicAuthoritative</a> <a name="authbasicauthoritative" id="authbasicauthoritative">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> Ѻο Ѱ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthBasicAuthoritative On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthBasicAuthoritative On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_basic</td></tr> +</table> + <p><code class="directive">AuthBasicAuthoritative</code> þ + <code>Off</code> ϸ ־ ̵ شϴ + <strong> ̵</strong> <strong>Ģ</strong> + ã Ѻο θ (<code>modules.c</code> + Ͽ ) Ѱش. ־ + ̵ Ģ ãҴٸ 붧 ȣ 뿩θ + ˻ϰ, ϸ "Authentication Required ( ʿ)" + Ѵ.</p> + + <p> ͺ̽ ̵ ְų + ȿ <code class="directive"><a href="../mod/core.html#require">Require</a></code> þ + ϸ, ù° ڸ ˻ϰ, + <code class="directive">AuthBasicAuthoritative</code> + ѱʴ´.</p> + + <p>⺻ ѱʰ, ̵ + Ģ "Authentication Required ( ʿ)" + Ѵ. þ ý ϰ Ǹ, + NCSA Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicFake" id="AuthBasicFake">AuthBasicFake</a> <a name="authbasicfake" id="authbasicfake">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Fake basic authentication using the given expressions for +username and password</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthBasicFake off|<var>username</var> [<var>password</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Apache HTTP Server 2.4.5 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicProvider" id="AuthBasicProvider">AuthBasicProvider</a> <a name="authbasicprovider" id="authbasicprovider">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ġ ڸ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthBasicProvider On|Off|<var>provider-name</var> +[<var>provider-name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthBasicProvider On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_basic</td></tr> +</table> + <p><code class="directive">AuthBasicProvider</code> þ + ġ ڸ ڸ Ѵ. + <code>On</code≯ ⺻(<code>file</code>) Ѵ. + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> <code>file</code> + ڸ ϱ ִ Ȯؾ + Ѵ.</p> + + <div class="example"><h3></h3><p><code> + <Location /secure><br /> + <span class="indent"> + AuthBasicProvider dbm<br /> + AuthDBMType SDBM<br /> + AuthDBMUserFile /www/etc/dbmpasswd<br /> + Require valid-user<br /> + </span> + </Location> + </code></p></div> + + <p>ڴ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> ϶.</p> + + <p> <code>Off</code≯ ⺻· + ư.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthBasicUseDigestAlgorithm" id="AuthBasicUseDigestAlgorithm">AuthBasicUseDigestAlgorithm</a> <a name="authbasicusedigestalgorithm" id="authbasicusedigestalgorithm">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthBasicUseDigestAlgorithm MD5|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthBasicUseDigestAlgorithm Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_basic</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Apache HTTP Server 2.4.7 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_basic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_auth_basic.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_digest.html b/docs/manual/mod/mod_auth_digest.html new file mode 100644 index 0000000..7f3b71b --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_auth_digest.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_digest.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_digest.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_auth_digest.html.en b/docs/manual/mod/mod_auth_digest.html.en new file mode 100644 index 0000000..5e73934 --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html.en @@ -0,0 +1,298 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_digest - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_auth_digest</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_auth_digest.html" title="English"> en </a> | +<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using MD5 + Digest Authentication</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>auth_digest_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_auth_digest.c</td></tr></table> +<h3>Summary</h3> + + <p>This module implements HTTP Digest Authentication + (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), and + provides an alternative to <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> where the + password is not transmitted as cleartext. However, this does + <strong>not</strong> lead to a significant security advantage over + basic authentication. On the other hand, the password storage on the + server is much less secure with digest authentication than with + basic authentication. Therefore, using basic auth and encrypting the + whole connection using <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is a much better + alternative.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#using">Using Digest Authentication</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestdomain">AuthDigestDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestprovider">AuthDigestProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestqop">AuthDigestQop</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestshmemsize">AuthDigestShmemSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_digest">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_digest">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="../howto/auth.html">Authentication howto</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">Using Digest Authentication</a></h2> + + <p>To use MD5 Digest authentication, configure the location to be + protected as shown in the below example:</p> + + <div class="example"><h3>Example:</h3><pre class="prettyprint lang-config"><Location "/private/"> + AuthType Digest + AuthName "private area" + AuthDigestDomain "/private/" "http://mirror.my.dom/private2/" + + AuthDigestProvider file + AuthUserFile "/web/auth/.digest_pw" + Require valid-user +</Location></pre> +</div> + + <p><code class="directive"><a href="#authdigestdomain">AuthDigestDomain</a></code> + should list the locations that will be protected by this + configuration.</p> + + <p>The password file referenced in the <code class="directive"><a href="#authuserfile">AuthUserFile</a></code> directive may be + created and managed using the <code class="program"><a href="../programs/htdigest.html">htdigest</a></code> tool.</p> + + + <div class="note"><h3>Note</h3> + <p>Digest authentication was intended to be more secure than basic + authentication, but no longer fulfills that design goal. A + man-in-the-middle attacker can trivially force the browser to downgrade + to basic authentication. And even a passive eavesdropper can brute-force + the password using today's graphics hardware, because the hashing + algorithm used by digest authentication is too fast. Another problem is + that the storage of the passwords on the server is insecure. The contents + of a stolen htdigest file can be used directly for digest authentication. + Therefore using <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> to encrypt the whole connection is + strongly recommended.</p> + <p><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> only works properly on platforms + where APR supports shared memory.</p> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestAlgorithm" id="AuthDigestAlgorithm">AuthDigestAlgorithm</a> <a name="authdigestalgorithm" id="authdigestalgorithm">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestAlgorithm MD5|MD5-sess</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestAlgorithm MD5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>The <code class="directive">AuthDigestAlgorithm</code> directive + selects the algorithm used to calculate the challenge and response + hashes.</p> + + <div class="note"> + <code>MD5-sess</code> is not correctly implemented yet. + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestDomain" id="AuthDigestDomain">AuthDigestDomain</a> <a name="authdigestdomain" id="authdigestdomain">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URIs that are in the same protection space for digest +authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>The <code class="directive">AuthDigestDomain</code> directive allows + you to specify one or more URIs which are in the same protection + space (<em>i.e.</em> use the same realm and username/password info). + The specified URIs are prefixes; the client will assume + that all URIs "below" these are also protected by the same + username/password. The URIs may be either absolute URIs (<em>i.e.</em> + including a scheme, host, port, etc.) or relative URIs.</p> + + <p>This directive <em>should</em> always be specified and + contain at least the (set of) root URI(s) for this space. + Omitting to do so will cause the client to send the + Authorization header for <em>every request</em> sent to this + server.</p> + + <p>The URIs specified can also point to different servers, in + which case clients (which understand this) will then share + username/password info across multiple servers without + prompting the user each time. </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestNonceLifetime" id="AuthDigestNonceLifetime">AuthDigestNonceLifetime</a> <a name="authdigestnoncelifetime" id="authdigestnoncelifetime">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How long the server nonce is valid</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestNonceLifetime <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestNonceLifetime 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>The <code class="directive">AuthDigestNonceLifetime</code> directive + controls how long the server nonce is valid. When the client + contacts the server using an expired nonce the server will send + back a 401 with <code>stale=true</code>. If <var>seconds</var> is + greater than 0 then it specifies the amount of time for which the + nonce is valid; this should probably never be set to less than 10 + seconds. If <var>seconds</var> is less than 0 then the nonce never + expires. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestProvider" id="AuthDigestProvider">AuthDigestProvider</a> <a name="authdigestprovider" id="authdigestprovider">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the authentication provider(s) for this location</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestProvider <var>provider-name</var> +[<var>provider-name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestProvider file</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>The <code class="directive">AuthDigestProvider</code> directive sets + which provider is used to authenticate the users for this location. + The default <code>file</code> provider is implemented + by the <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> module. Make sure + that the chosen provider module is present in the server.</p> + + <p>See <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> and <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> + for providers.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestQop" id="AuthDigestQop">AuthDigestQop</a> <a name="authdigestqop" id="authdigestqop">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestQop none|auth|auth-int [auth|auth-int]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestQop auth</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>The <code class="directive">AuthDigestQop</code> directive determines + the <dfn>quality-of-protection</dfn> to use. <code>auth</code> will + only do authentication (username/password); <code>auth-int</code> is + authentication plus integrity checking (an MD5 hash of the entity + is also computed and checked); <code>none</code> will cause the module + to use the old RFC-2069 digest algorithm (which does not include + integrity checking). Both <code>auth</code> and <code>auth-int</code> may + be specified, in which the case the browser will choose which of + these to use. <code>none</code> should only be used if the browser for + some reason does not like the challenge it receives otherwise.</p> + + <div class="note"> + <code>auth-int</code> is not implemented yet. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestShmemSize" id="AuthDigestShmemSize">AuthDigestShmemSize</a> <a name="authdigestshmemsize" id="authdigestshmemsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The amount of shared memory to allocate for keeping track +of clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDigestShmemSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDigestShmemSize 1000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>The <code class="directive">AuthDigestShmemSize</code> directive defines + the amount of shared memory, that will be allocated at the server + startup for keeping track of clients. Note that the shared memory + segment cannot be set less than the space that is necessary for + tracking at least <em>one</em> client. This value is dependent on your + system. If you want to find out the exact value, you may simply + set <code class="directive">AuthDigestShmemSize</code> to the value of + <code>0</code> and read the error message after trying to start the + server.</p> + + <p>The <var>size</var> is normally expressed in Bytes, but you + may follow the number with a <code>K</code> or an <code>M</code> to + express your value as KBytes or MBytes. For example, the following + directives are all equivalent:</p> + +<pre class="prettyprint lang-config">AuthDigestShmemSize 1048576 +AuthDigestShmemSize 1024K +AuthDigestShmemSize 1M</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_auth_digest.html" title="English"> en </a> | +<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_digest.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_digest.html.fr.utf8 b/docs/manual/mod/mod_auth_digest.html.fr.utf8 new file mode 100644 index 0000000..1addd19 --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html.fr.utf8 @@ -0,0 +1,316 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_digest - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_auth_digest</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant les condensés +MD5</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_digest_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_digest.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module implémente l'authentification HTTP basée sur les + condensés MD5 (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), et + fournit une alternative à <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> en + ne transmettant plus le mot de passe en clair. Cependant, cela ne + suffit pas pour améliorer la sécurité de manière significative par + rapport à l'authentification basique. En outre, le stockage du mot + de passe sur le serveur est encore moins sûr dans le cas + d'une authentification à base de condensé que dans le cas d'une + authentification basique. C'est pourquoi l'utilisation de + l'authentification basique associée à un chiffrement de la connexion + via <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> constitue une bien meilleure + alternative.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de l'authentification à base de +condensés</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestdomain">AuthDigestDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestprovider">AuthDigestProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestqop">AuthDigestQop</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestshmemsize">AuthDigestShmemSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_digest">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_digest">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="../howto/auth.html">Mode d'emploi de +l'authentification</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">Utilisation de l'authentification à base de +condensés</a></h2> + + <p>Pour utiliser l'authentification à base de condensés MD5, vous + devez simplement remplacer <code>AuthType Basic</code> et <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> respectivement + par <code>AuthType Digest</code> et <code class="directive"><a href="#authdigestprovider">AuthDigestProvider</a></code> lorsque vous + configurez l'authentification, puis ajouter une directive <code class="directive"><a href="#authdigestdomain">AuthDigestDomain</a></code> contenant au + moins la(les) URI(s) racine(s) de la zone à protéger.</p> + + <p>On peut créer les fichiers utilisateur appropriés (au format + texte) à l'aide de l'outil <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.</p> + + <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config"><Location "/private/"> + AuthType Digest + AuthName "private area" + AuthDigestDomain "/private/" "http://mirror.my.dom/private2/" + + AuthDigestProvider file + AuthUserFile "/web/auth/.digest_pw" + Require valid-user +</Location></pre> +</div> + + <div class="note"><h3>Note</h3> + <p>L'authentification à base de condensé a été conçue pour améliorer + la sécurité par rapport à l'authentification basique, mais il + s'avère que ce but n'a pas été atteint. Un attaquant de type + "man-in-the-middle" peut facilement forcer le navigateur à revenir à + une authentification basique. Même une oreille indiscrète passive + peut retrouver le mot de passe par force brute avec les moyens + modernes, car l'algorithme de hashage utilisé par l'authentification + à base de condensé est trop rapide. Autre problème, le stockage des + mots de passe sur le serveur n'est pas sûr. Le contenu d'un fichier + htdigest volé peut être utilisé directement pour l'authentification + à base de condensé. Il est donc fortement recommandé d'utiliser + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> pour chiffrer la connexion.</p> + <p><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> ne fonctionne correctement que + sur les plates-formes où APR supporte la mémoire partagée.</p> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdigestalgorithm" id="authdigestalgorithm">Directive</a> <a name="AuthDigestAlgorithm" id="AuthDigestAlgorithm">AuthDigestAlgorithm</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne l'algorithme utilisé pour calculer les +condensés du défit et de sa réponse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestAlgorithm MD5|MD5-sess</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestAlgorithm MD5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>La directive <code class="directive">AuthDigestAlgorithm</code> permet de + sélectionner l'algorithme utilisé pour calculer les condensés du + défit et de sa réponse.</p> + + <div class="note"> + <code>MD5-sess</code> n'est pas encore correctement implémenté. + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdigestdomain" id="authdigestdomain">Directive</a> <a name="AuthDigestDomain" id="AuthDigestDomain">AuthDigestDomain</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les URIs qui se trouvent dans le même espace de protection +concernant l'authentification à base de condensés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>La directive <code class="directive">AuthDigestDomain</code> vous permet + de spécifier un ou plusieurs URIs se trouvant dans le même + espace de protection (c'est à dire utilisant le même utilisateur/mot + de passe et se trouvant dans le même domaine). Les URIs spécifiés + sont des préfixes ; le client doit savoir que tous les URIs situés + sous ces préfixes seront protégés par le même utilisateur/mot de + passe. Les URIs peuvent être soit des URIs absolus (c'est à dire + avec protocole, nom serveur, port, etc...), soit des URIs + relatifs.</p> + + <p>Cette directive doit toujours être présente et contenir au moins + le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le + client va envoyer un en-tête d'autorisation avec <em>chaque + requête</em> à destination de ce serveur.</p> + + <p>Les URIs spécifiés peuvent aussi référencer différents serveurs, + auquel cas les clients (qui sont à même de le comprendre) vont + partager l'utilisateur/mot de passe entre plusieurs serveurs sans le + demander à l'utilisateur à chaque fois.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdigestnoncelifetime" id="authdigestnoncelifetime">Directive</a> <a name="AuthDigestNonceLifetime" id="AuthDigestNonceLifetime">AuthDigestNonceLifetime</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de validité du nombre à valeur unique du +serveur (nonce)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNonceLifetime <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestNonceLifetime 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>La directive <code class="directive">AuthDigestNonceLifetime</code> + permet de contrôler la durée de validité du nombre à valeur unique + du serveur (nonce). Lorsque le client contacte le serveur en + utilisant un nonce dont la validité a expiré, le serveur renvoie un + code d'erreur 401 avec <code>stale=true</code>. Si + <var>secondes</var> est supérieur à 0, il spécifie la durée de + validité du nonce ; il est en général déconseillé d'affecter à cet + argument une valeur inférieure à 10 secondes. Si + <var>secondes</var> est inférieur à 0, le nonce n'expire jamais. + + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdigestprovider" id="authdigestprovider">Directive</a> <a name="AuthDigestProvider" id="AuthDigestProvider">AuthDigestProvider</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseurs(s) d'authentification pour la +zone du site web concernée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestProvider <var>nom fournisseur</var> +[<var>nom fournisseur</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestProvider file</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>La directive <code class="directive">AuthDigestProvider</code> permet de + définir quel fournisseur d'authentification sera utilisé pour + authentifier les utilisateurs pour la zone du site web concernée. + Assurez-vous que le module implémentant le fournisseur + d'authentification choisi soit bien présent dans le serveur. Le + fournisseur par défaut <code>file</code> est implémenté par le + module <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>.</p> + + <p>Voir <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et + <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> + pour la liste des fournisseurs disponibles.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdigestqop" id="authdigestqop">Directive</a> <a name="AuthDigestQop" id="AuthDigestQop">AuthDigestQop</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le niveau de protection fourni par +l'authentification à base de condensé</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestQop none|auth|auth-int [auth|auth-int]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestQop auth</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>La directive <code class="directive">AuthDigestQop</code> permet de + définir le <dfn>niveau de protection</dfn> fourni. <code>auth</code> + ne fournit que l'authentification (nom utilisateur/mot de passe) ; + <code>auth-int</code> fournit l'authentification plus un contrôle + d'intégrité (un condensé MD5 de l'entité est aussi calculé et + vérifié) ; avec <code>none</code>, le module va utiliser l'ancien + algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle + d'intégrité). On peut spécifier à la fois <code>auth</code> et + <code>auth-int</code>, auquel cas c'est le navigateur qui va choisir + lequel des deux utiliser. <code>none</code> ne doit être utilisé que + dans le cas où le navigateur ne serait pas à même (pour une raison + ou pour une autre) de relever le défit qu'il recevrait si un autre + niveau de protection était défini.</p> + + <div class="note"> + <code>auth-int</code> n'est pas encore implémenté. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdigestshmemsize" id="authdigestshmemsize">Directive</a> <a name="AuthDigestShmemSize" id="AuthDigestShmemSize">AuthDigestShmemSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire partagée à allouer afin de conserver +les informations à propos des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestShmemSize <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestShmemSize 1000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr> +</table> + <p>La directive <code class="directive">AuthDigestShmemSize</code> permet de + définir la quantité de mémoire partagée à allouer au démarrage du + serveur afin de conserver les informations à propos des clients. + Notez que le segment de mémoire partagée ne peut pas être défini à + une taille inférieure à l'espace nécessaire pour conserver les + informations à propos d'<em>un</em> client. Cette valeur dépend de + votre système. Si vous voulez en déterminer la valeur exacte, vous + pouvez simplement définir <code class="directive">AuthDigestShmemSize</code> + à <code>0</code> et consulter le message d'erreur que renverra le + serveur lorsqu'on essaiera de le démarrer.</p> + + <p>L'argument <var>size</var> s'exprime par défaut en octets, mais + vous pouvez suffixer le nombre par un <code>K</code> ou un + <code>M</code> pour spécifier respectivement des KiloOctets ou des + MégaOctets. Par exemple, les directives qui suivent sont toutes + équivalentes :</p> + + <pre class="prettyprint lang-config">AuthDigestShmemSize 1048576 +AuthDigestShmemSize 1024K +AuthDigestShmemSize 1M</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_digest.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_digest.html.ko.euc-kr b/docs/manual/mod/mod_auth_digest.html.ko.euc-kr new file mode 100644 index 0000000..6442f39 --- /dev/null +++ b/docs/manual/mod/mod_auth_digest.html.ko.euc-kr @@ -0,0 +1,317 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_digest - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_auth_digest</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_auth_digest.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>MD5 Digest Authentication .</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>auth_digest_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_auth_digest.c</td></tr></table> +<h3></h3> + + <p> HTTP Digest Authentication Ѵ. + Ʈ ġ ̴.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#using">Digest Authentication ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#msie">MS Internet Explorer ذϱ</a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestalgorithm">AuthDigestAlgorithm</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestdomain">AuthDigestDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestprovider">AuthDigestProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestqop">AuthDigestQop</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdigestshmemsize">AuthDigestShmemSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_digest">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_digest">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li> +<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">Digest Authentication ϱ</a></h2> + + <p>MD5 Digest authentication ſ ִ. + <code>AuthType Basic</code> <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + <code>AuthType Digest</code> <code class="directive"><a href="#authdigestprovider">AuthDigestProvider</a></code> + Ͽ ִ. ּ ȣϷ + ⺻ URI <code class="directive"><a href="#authdigestdomain">AuthDigestDomain</a></code> þ Ѵ.</p> + + <p><a href="../programs/htdigest.html">htdigest</a> + Ͽ () ִ.</p> + + <div class="example"><h3>:</h3><p><code> + <Location /private/><br /> + <span class="indent"> + AuthType Digest<br /> + AuthName "private area"<br /> + AuthDigestDomain /private/ http://mirror.my.dom/private2/<br /> + <br /> + AuthDigestProvider file<br /> + AuthUserFile /web/auth/.digest_pw<br /> + Require valid-user<br /> + </span> + </Location> + </code></p></div> + + <div class="note"><h3></h3> + <p>Digest authentication Basic authentication + , ؾ Ѵ. 2002 11 digest + authentication ϴ <a href="http://www.w3.org/Amaya/">Amaya</a>, <a href="http://konqueror.kde.org/">Konqueror</a>, (Windows + ǹڿ Բ ϸ ȵ - ذ Ʒ "<a href="#msie">MS Internet Explorer ذϱ</a>" ) + Mac OS X Windows <a href="http://www.microsoft.com/windows/ie/">MS Internet + Explorer</a>, <a href="http://www.mozilla.org">Mozilla</a>, + <a href="http://channels.netscape.com/ns/browsers/download.jsp">Netscape</a> 7, <a href="http://www.opera.com/">Opera</a>, + <a href="http://www.apple.com/safari/">Safari</a> ִ. + <a href="http://lynx.isc.org/">lynx</a> digest authentication + <strong>ʴ´</strong>. digest authentication + basic authentication ŭ θ ʾұ + ڰ ϴ ϴ 쿡 ؾ + Ѵ.</p> + </div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="msie" id="msie">MS Internet Explorer ذϱ</a></h2> + <p> Windows Internet Explorer Digest authentication + ǹڿ ִ <code>GET</code> û RFC ٸ + óϴ ִ. ذ + ִ.</p> + + <p> + ù° α ڷḦ Ѱֱ <code>GET</code> + <code>POST</code> û ϴ ̴. + ϴٸ ذå̴. + </p> + + <p>, ġ 2.0.51 <code>AuthDigestEnableQueryStringHack</code> + ȯ溯 Ͽ ذѴ. û + <code>AuthDigestEnableQueryStringHack</code> ϸ + ġ MSIE ذ ġ ϰ û URI digest + Ѵ. Ѵ.</p> + + <div class="example"><h3>MSIE Digest Authentication ϱ:</h3><p><code> + BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On + </code></p></div> + + <p> ȯ溯 ڼ <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> þ + ϶.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestAlgorithm" id="AuthDigestAlgorithm">AuthDigestAlgorithm</a> <a name="authdigestalgorithm" id="authdigestalgorithm">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>digest authentication challenge response +hash ϴ ˰ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDigestAlgorithm MD5|MD5-sess</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthDigestAlgorithm MD5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_digest</td></tr> +</table> + <p><code class="directive">AuthDigestAlgorithm</code> þ + challenge response hash ϴ ˰ Ѵ.</p> + + <div class="note"> + <code>MD5-sess</code> ʾҴ. + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestDomain" id="AuthDigestDomain">AuthDigestDomain</a> <a name="authdigestdomain" id="authdigestdomain">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>digest authentication ȣ ϴ +URI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_digest</td></tr> +</table> + <p><code class="directive">AuthDigestDomain</code> þ + ȣ ִ (<em> </em> ڸ/ȣ + ϴ) URI Ѵ. URI λ + Ѵ. Ŭ̾Ʈ URI "Ʒ" θ + ڸ/ȣ ȣѴٰ Ѵ. URI + (<em></em>, Ŵ(scheme), ȣƮ, Ʈ ϴ) + URL̰ų URI̴.</p> + + <p> þ <em>ؾ</em> ϸ, ּ + ⺻ URI() <em>ؾ</em> Ѵ. ϸ Ŭ̾Ʈ + <em> û</em> Authorization + Ѵ. û ũⰡ Ŀ, <code class="directive"><a href="#authdigestnccheck">AuthDigestNcCheck</a></code> + Ѵٸ ɿ ִ.</p> + + <p>ٸ URI ϸ, (̸ ϴ) Ŭ̾Ʈ + Ź ڿ ʰ ڸ/ȣ + ִ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestNonceLifetime" id="AuthDigestNonceLifetime">AuthDigestNonceLifetime</a> <a name="authdigestnoncelifetime" id="authdigestnoncelifetime">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> nonce ȿ Ⱓ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDigestNonceLifetime <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthDigestNonceLifetime 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_digest</td></tr> +</table> + <p><code class="directive">AuthDigestNonceLifetime</code> þ + nonce ȿ Ⱓ Ѵ. Ŭ̾Ʈ + nonce ϸ <code>stale=true</code> + Բ 401 ȯѴ. <var>seconds</var> 0 ũ nonce + ȿ Ⱓ Ѵ. Ƹ 10 ʺ ۰ ϸ ȵȴ. + <var>seconds</var> 0 nonce + ʴ´. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestProvider" id="AuthDigestProvider">AuthDigestProvider</a> <a name="authdigestprovider" id="authdigestprovider">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ġ ڸ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDigestProvider On|Off|<var>provider-name</var> +[<var>provider-name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthDigestProvider On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_digest</td></tr> +</table> + <p><code class="directive">AuthDigestProvider</code> þ + ġ ڸ ڸ Ѵ. + <code>On</code≯ ⺻(<code>file</code>) Ѵ. + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> <code>file</code> + ڸ ϱ ִ Ȯؾ + Ѵ.</p> + + <p>ڴ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> ϶.</p> + + <p> <code>Off</code≯ ⺻· + ư.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestQop" id="AuthDigestQop">AuthDigestQop</a> <a name="authdigestqop" id="authdigestqop">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>digest authentication +ȣ(quality-of-protection) Ѵ.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDigestQop none|auth|auth-int [auth|auth-int]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthDigestQop auth</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_digest</td></tr> +</table> + <p><code class="directive">AuthDigestQop</code> þ + <dfn>ȣ(quality-of-protection)</dfn> Ѵ. + <code>auth</code> (ڸ/ȣ) ϰ, + <code>auth-int</code> ϰἺ ˻縦 (MD5 ؽ + Ͽ ˻Ѵ) Ѵ. <code>none</code> (ϰἺ ˻縦 + ʴ) RFC-2069 digest ˰ Ѵ. + <code>auth</code> <code>auth-int</code> + ִ. Ѵ. + challenge ʴ´ٸ + <code>none</code> ؾ Ѵ.</p> + + <div class="note"> + <code>auth-int</code> ʾҴ. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDigestShmemSize" id="AuthDigestShmemSize">AuthDigestShmemSize</a> <a name="authdigestshmemsize" id="authdigestshmemsize">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ŭ̾Ʈ ϱ Ҵϴ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDigestShmemSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthDigestShmemSize 1000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_auth_digest</td></tr> +</table> + <p><code class="directive">AuthDigestShmemSize</code> þ + Ŭ̾Ʈ ϱ Ҷ Ҵϴ + Ѵ. ּ <em>ϳ</em> + Ŭ̾Ʈ ϱ ʿ + ϶. ýۿ ٸ. Ȯ ˷ + <code class="directive">AuthDigestShmemSize</code> <code>0</code> + ϰ ϶.</p> + + <p><var>size</var> Ʈ , ڿ + <code>K</code> <code>M</code> Ͽ KBytes MBytes + Ÿ ִ. , þ :</p> + + <div class="example"><p><code> + AuthDigestShmemSize 1048576<br /> + AuthDigestShmemSize 1024K<br /> + AuthDigestShmemSize 1M + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_digest.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_auth_digest.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_digest.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_form.html b/docs/manual/mod/mod_auth_form.html new file mode 100644 index 0000000..f16f673 --- /dev/null +++ b/docs/manual/mod/mod_auth_form.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_auth_form.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_auth_form.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_auth_form.html.en b/docs/manual/mod/mod_auth_form.html.en new file mode 100644 index 0000000..113c1b9 --- /dev/null +++ b/docs/manual/mod/mod_auth_form.html.en @@ -0,0 +1,735 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_form - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_auth_form</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_auth_form.html" title="English"> en </a> | +<a href="../fr/mod/mod_auth_form.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Form authentication</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>auth_form_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_auth_form.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <div class="warning"><h3>Warning</h3> + <p>Form authentication depends on the <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> + modules, and these modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.</p> + </div> + + <p>This module allows the use of an HTML login form to restrict access + by looking up users in the given providers. HTML forms require + significantly more configuration than the alternatives, however an + HTML login form can provide a much friendlier experience for end users. + </p> + + <p>HTTP basic authentication is provided by + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, and HTTP digest authentication is + provided by <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. This module should + be combined with at least one authentication module + such as <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> and one authorization + module such as <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p> + + <p>Once the user has been successfully authenticated, the user's login + details will be stored in a session provided by <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicconfig">Basic Configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#standalone">Standalone Login</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#inline">Inline Login</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#inlinepreservebody">Inline Login with Body Preservation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loggingout">Logging Out</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#urlencoding">Usernames and Passwords</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authformauthoritative">AuthFormAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformbody">AuthFormBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformlocation">AuthFormLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformmethod">AuthFormMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformmimetype">AuthFormMimetype</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformpassword">AuthFormPassword</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformprovider">AuthFormProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformsize">AuthFormSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformusername">AuthFormUsername</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_form">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_form">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="../howto/auth.html">Authentication howto</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicconfig" id="basicconfig">Basic Configuration</a></h2> + + <p>To protect a particular URL with <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, you need to + decide where you will store your <var>session</var>, and you will need to + decide what method you will use to authenticate. In this simple example, the + login details will be stored in a session based on + <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, and authentication will be attempted against + a file using <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. If authentication is unsuccessful, + the user will be redirected to the form login page.</p> + + <div class="example"><h3>Basic example</h3><pre class="prettyprint lang-config"><Location "/admin"> + AuthFormProvider file + AuthUserFile "conf/passwd" + AuthType form + AuthName "/admin" + AuthFormLoginRequiredLocation "http://example.com/login.html" + + Session On + SessionCookieName session path=/ + + Require valid-user +</Location></pre> +</div> + + <p>The directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> will enable + the <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> authentication when set to the value <var>form</var>. + The directives <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> and + <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> specify that usernames + and passwords should be checked against the chosen file.</p> + + <p>The directives <code class="directive"><a href="../mod/mod_session.html#session">Session</a></code> and + <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookiename">SessionCookieName</a></code> + session stored within an HTTP cookie on the browser. For more information + on the different options for configuring a session, read the documentation for + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + + <p>You can optionally add a + <code class="directive"><a href="../mod/mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></code> to + create an encrypted session cookie. This required the additional + module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> be loaded.</p> + + <p>In the simple example above, a URL has been protected by + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, but the user has yet to be given an opportunity to + enter their username and password. Options for doing so include providing a + dedicated standalone login page for this purpose, or for providing the login + page inline.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="standalone" id="standalone">Standalone Login</a></h2> + + <p>The login form can be hosted as a standalone page, or can be provided inline on + the same page.</p> + + <p>When configuring the login as a standalone page, unsuccessful authentication + attempts should be redirected to a login form created by the website for this purpose, + using the <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code> + directive. Typically this login page will contain an HTML form, asking the user to + provide their usename and password.</p> + + <div class="example"><h3>Example login form</h3><pre class="prettyprint lang-html"><form method="POST" action="/dologin.html"> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> +</form></pre> +</div> + + <p>The part that does the actual login is handled by the <var>form-login-handler</var>. + The action of the form should point at this handler, which is configured within + Apache httpd as follows:</p> + + <div class="example"><h3>Form login handler example</h3><pre class="prettyprint lang-config"><Location "/dologin.html"> + SetHandler form-login-handler + AuthFormLoginRequiredLocation "http://example.com/login.html" + AuthFormLoginSuccessLocation "http://example.com/admin/index.html" + AuthFormProvider file + AuthUserFile "conf/passwd" + AuthType form + AuthName /admin + Session On + SessionCookieName session path=/ +</Location></pre> +</div> + + <p>The URLs specified by the + <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code> directive will typically + point to a page explaining to the user that their login attempt was unsuccessful, and they + should try again. The <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code> + directive specifies the URL the user should be redirected to upon successful login.</p> + + <p>Alternatively, the URL to redirect the user to on success can be embedded within the login + form, as in the example below. As a result, the same <var>form-login-handler</var> can be + reused for different areas of a website.</p> + + <div class="example"><h3>Example login form with location</h3><pre class="prettyprint lang-html"><form method="POST" action="/dologin.html"> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> + <input type="hidden" name="httpd_location" value="http://example.com/success.html" /> +</form></pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="inline" id="inline">Inline Login</a></h2> + + <div class="warning"><h3>Warning</h3> + <p>A risk exists that under certain circumstances, the login form configured + using inline login may be submitted more than once, revealing login credentials to + the application running underneath. The administrator must ensure that the underlying + application is properly secured to prevent abuse. If in doubt, use the + standalone login configuration.</p> + </div> + + <p>As an alternative to having a dedicated login page for a website, it is possible to + configure <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> to authenticate users inline, without being + redirected to another page. This allows the state of the current page to be preserved + during the login attempt. This can be useful in a situation where a time limited + session is in force, and the session times out in the middle of the user request. The + user can be re-authenticated in place, and they can continue where they left off.</p> + + <p>If a non-authenticated user attempts to access a page protected by + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> that isn't configured with a + <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code> directive, + a <var>HTTP_UNAUTHORIZED</var> status code is returned to the browser indicating to the user + that they are not authorized to view the page.</p> + + <p>To configure inline authentication, the administrator overrides the error document + returned by the <var>HTTP_UNAUTHORIZED</var> status code with a custom error document + containing the login form, as follows:</p> + + <div class="example"><h3>Basic inline example</h3><pre class="prettyprint lang-config">AuthFormProvider file +ErrorDocument 401 "/login.shtml" +AuthUserFile "conf/passwd" +AuthType form +AuthName realm +AuthFormLoginRequiredLocation "http://example.com/login.html" +Session On +SessionCookieName session path=/</pre> +</div> + + <p>The error document page should contain a login form with an empty action property, + as per the example below. This has the effect of submitting the form to + the original protected URL, without the page having to know what that + URL is.</p> + + <div class="example"><h3>Example inline login form</h3><pre class="prettyprint lang-html"><form method="POST" <strong>action=""</strong>> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> +</form></pre> +</div> + + <p>When the end user has filled in their login details, the form will make + an HTTP POST request to the original password protected URL. + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> will intercept this POST request, and if + HTML fields are found present for the username and password, the user + will be logged in, and the original password protected URL will be returned + to the user as a GET request.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="inlinepreservebody" id="inlinepreservebody">Inline Login with Body Preservation</a></h2> + + <p>A limitation of the inline login technique described above is that should an + HTML form POST have resulted in the request to authenticate or + reauthenticate, the + contents of the original form posted by the browser will be lost. Depending on + the function of the website, this could present significant inconvenience for the + end user.</p> + + <p><code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> addresses this by allowing the method and body + of the original request to be embedded in the login form. If authentication + is successful, the original method and body will be retried by Apache httpd, preserving + the state of the original request.</p> + + <p>To enable body preservation, add three additional fields to the login form as + per the example below.</p> + + <div class="example"><h3>Example with body preservation</h3><pre class="prettyprint lang-html"><form method="POST" action=""> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> + <br /> <strong><input type="hidden" name="httpd_method" value="POST" /> + <input type="hidden" name="httpd_mimetype" value="application/x-www-form-urlencoded" /> + <input type="hidden" name="httpd_body" value="name1=value1&name2=value2" /></strong><br /> +</form></pre> +</div> + + <p>How the method, mimetype and body of the original request are embedded within the + login form will depend on the platform and technology being used within the website. + </p> + + <p>One option is to use the <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> module along with the + <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code> directive, along with a suitable + CGI script to embed the variables in the form.</p> + + <p>Another option is to render the login form using a CGI script or other dynamic + technology.</p> + + <div class="example"><h3>CGI example</h3><pre class="prettyprint lang-config">AuthFormProvider file +ErrorDocument 401 "/cgi-bin/login.cgi" +...</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="loggingout" id="loggingout">Logging Out</a></h2> + + <p>To enable a user to log out of a particular session, configure a page to + be handled by the <var>form-logout-handler</var>. Any attempt to access this + URL will cause the username and password to be removed from the current + session, effectively logging the user out.</p> + + <p>By setting the + <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code> directive, + a URL can be specified that the browser will be redirected to on successful + logout. This URL might explain to the user that they have been logged out, and + give the user the option to log in again.</p> + + <div class="example"><h3>Basic logout example</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler +AuthName realm +AuthFormLogoutLocation "http://example.com/loggedout.html" +Session On +SessionCookieName session path=/</pre> +</div> + + <p>Note that logging a user out does not delete the session; it merely removes + the username and password from the session. If this results in an empty session, + the net effect will be the removal of that session, but this is not + guaranteed. If you want to guarantee the removal of a session, set the + <code class="directive"><a href="../mod/mod_session.html#sessionmaxage">SessionMaxAge</a></code> directive to a small + value, like 1 (setting the directive to zero would mean no session age limit). + </p> + + <div class="example"><h3>Basic session expiry example</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler +AuthFormLogoutLocation "http://example.com/loggedout.html" +Session On +SessionMaxAge 1 +SessionCookieName session path=/</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="urlencoding" id="urlencoding">Usernames and Passwords</a></h2> + <p>Note that form submission involves URLEncoding the form data: + in this case the username and password. You should therefore + pick usernames and passwords that avoid characters that are + URLencoded in form submission, or you may get unexpected results.</p> + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormAuthoritative" id="AuthFormAuthoritative">AuthFormAuthoritative</a> <a name="authformauthoritative" id="authformauthoritative">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormAuthoritative On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormAuthoritative On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +</table> + <p>Normally, each authorization module listed in <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> will attempt + to verify the user, and if the user is not found in any provider, + access will be denied. Setting the + <code class="directive">AuthFormAuthoritative</code> directive explicitly + to <code>Off</code> allows for both authentication and + authorization to be passed on to other non-provider-based modules + if there is <strong>no userID</strong> or <strong>rule</strong> + matching the supplied userID. This should only be necessary when + combining <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> with third-party modules + that are not configured with the <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> + directive. When using such modules, the order of processing + is determined in the modules' source code and is not configurable.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormBody" id="AuthFormBody">AuthFormBody</a> <a name="authformbody" id="authformbody">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormBody <var>fieldname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormBody httpd_body</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformbody">AuthFormBody</a></code> directive specifies + the name of an HTML field which, if present, will contain the body of the request + to submit should login be successful.</p> + + <p>By populating the form with fields described by + <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, + <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> and + <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, a website can retry + a request that may have been interrupted by the login screen, or by a session + timeout.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormDisableNoStore" id="AuthFormDisableNoStore">AuthFormDisableNoStore</a> <a name="authformdisablenostore" id="authformdisablenostore">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Disable the CacheControl no-store header on the login page</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormDisableNoStore On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormDisableNoStore Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformdisablenostore">AuthFormDisableNoStore</a></code> flag + disables the sending of a <code>Cache-Control no-store</code> header with the + error 401 page returned when the user is not yet logged in. The purpose of the header + is to make it difficult for an <code>ecmascript</code> application to attempt to resubmit the + login form, and reveal the username and password to the backend application. Disable + at your own risk.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormFakeBasicAuth" id="AuthFormFakeBasicAuth">AuthFormFakeBasicAuth</a> <a name="authformfakebasicauth" id="authformfakebasicauth">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fake a Basic Authentication header</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormFakeBasicAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormFakeBasicAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformfakebasicauth">AuthFormFakeBasicAuth</a></code> flag + determines whether a <code>Basic Authentication</code> header will be added to + the request headers. This can be used to expose the username and password to + an underlying application, without the underlying application having to be aware + of how the login was achieved.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormLocation" id="AuthFormLocation">AuthFormLocation</a> <a name="authformlocation" id="authformlocation">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormLocation <var>fieldname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormLocation httpd_location</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code> directive specifies + the name of an HTML field which, if present, will contain a URL to redirect the browser to + should login be successful.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormLoginRequiredLocation" id="AuthFormLoginRequiredLocation">AuthFormLoginRequiredLocation</a> <a name="authformloginrequiredlocation" id="authformloginrequiredlocation">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The URL of the page to be redirected to should login be required</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormLoginRequiredLocation <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later. The use of the expression +parser has been added in 2.4.4.</td></tr> +</table> + <p>The <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code> directive + specifies the URL to redirect to should the user not be authorised to view a page. The value + is parsed using the <a href="../expr.html">ap_expr</a> parser before being sent to the client. + By default, if a user is not authorised to view a page, the HTTP response code + <code>HTTP_UNAUTHORIZED</code> will be returned with the page specified by the + <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code> directive. This directive overrides this + default.</p> + + <p>Use this directive if you have a dedicated login page to redirect users to.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormLoginSuccessLocation" id="AuthFormLoginSuccessLocation">AuthFormLoginSuccessLocation</a> <a name="authformloginsuccesslocation" id="authformloginsuccesslocation">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The URL of the page to be redirected to should login be successful</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormLoginSuccessLocation <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later. The use of the expression +parser has been added in 2.4.4.</td></tr> +</table> + <p>The <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code> directive + specifies the URL to redirect to should the user have logged in successfully. The value is + parsed using the <a href="../expr.html">ap_expr</a> parser before being sent to the client. + This directive can be overridden if a form field has been defined containing another URL + using the <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code> directive.</p> + + <p>Use this directive if you have a dedicated login URL, and you have not embedded the + destination page in the login form.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormLogoutLocation" id="AuthFormLogoutLocation">AuthFormLogoutLocation</a> <a name="authformlogoutlocation" id="authformlogoutlocation">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The URL to redirect to after a user has logged out</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormLogoutLocation <var>uri</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later. The use of the expression +parser has been added in 2.4.4.</td></tr> +</table> + <p>The <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code> directive + specifies the URL of a page on the server to redirect to should the user attempt to log + out. The value is parsed using the <a href="../expr.html">ap_expr</a> parser before + being sent to the client.</p> + + <p>When a URI is accessed that is served by the handler <code>form-logout-handler</code>, + the page specified by this directive will be shown to the end user. For example:</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/logout"> + SetHandler form-logout-handler + AuthFormLogoutLocation "http://example.com/loggedout.html" + Session on + #... +</Location></pre> +</div> + + <p>An attempt to access the URI <var>/logout/</var> will result in the user being logged + out, and the page <var>/loggedout.html</var> will be displayed. Make sure that the page + <var>loggedout.html</var> is not password protected, otherwise the page will not be + displayed.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormMethod" id="AuthFormMethod">AuthFormMethod</a> <a name="authformmethod" id="authformmethod">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormMethod <var>fieldname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormMethod httpd_method</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code> directive specifies + the name of an HTML field which, if present, will contain the method of the request + to submit should login be successful.</p> + + <p>By populating the form with fields described by + <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, + <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> and + <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, a website can retry + a request that may have been interrupted by the login screen, or by a session + timeout.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormMimetype" id="AuthFormMimetype">AuthFormMimetype</a> <a name="authformmimetype" id="authformmimetype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormMimetype <var>fieldname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormMimetype httpd_mimetype</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> directive specifies + the name of an HTML field which, if present, will contain the + mimetype of the request to submit should login be successful.</p> + + <p>By populating the form with fields described by + <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, + <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> and + <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, a website can retry + a request that may have been interrupted by the login screen, or by a session + timeout.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormPassword" id="AuthFormPassword">AuthFormPassword</a> <a name="authformpassword" id="authformpassword">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The name of a form field carrying the login password</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormPassword <var>fieldname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormPassword httpd_password</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformpassword">AuthFormPassword</a></code> directive specifies + the name of an HTML field which, if present, will contain the password to be used to log + in.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormProvider" id="AuthFormProvider">AuthFormProvider</a> <a name="authformprovider" id="authformprovider">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the authentication provider(s) for this location</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormProvider file</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +</table> + <p>The <code class="directive">AuthFormProvider</code> directive sets + which provider is used to authenticate the users for this location. + The default <code>file</code> provider is implemented + by the <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> module. Make sure + that the chosen provider module is present in the server.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthType form + AuthName "private area" + AuthFormProvider dbm + AuthDBMType SDBM + AuthDBMUserFile "/www/etc/dbmpasswd" + Require valid-user + #... +</Location></pre> +</div> + + <p>Providers are implemented by <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> and <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormSitePassphrase" id="AuthFormSitePassphrase">AuthFormSitePassphrase</a> <a name="authformsitepassphrase" id="authformsitepassphrase">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Bypass authentication checks for high traffic sites</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormSitePassphrase <var>secret</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformsitepassphrase">AuthFormSitePassphrase</a></code> directive + specifies a passphrase which, if present in the user session, causes Apache httpd to + bypass authentication checks for the given URL. It can be used on high traffic websites + to reduce the load induced on authentication infrastructure.</p> + + <p>The passphrase can be inserted into a user session by adding this directive to the + configuration for the <var>form-login-handler</var>. The <var>form-login-handler</var> + itself will always run the authentication checks, regardless of whether a passphrase + is specified or not.</p> + + <div class="warning"><h3>Warning</h3> + <p>If the session is exposed to the user through the use of + <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, and the session is not protected with + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, the passphrase is open to potential exposure + through a dictionary attack. Regardless of how the session is configured, + ensure that this directive is not used within URL spaces where private user data + could be exposed, or sensitive transactions can be conducted. Use at own risk.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormSize" id="AuthFormSize">AuthFormSize</a> <a name="authformsize" id="authformsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformsize">AuthFormSize</a></code> directive specifies + the maximum size of the body of the request that will be parsed to find the login form.</p> + + <p>If a login request arrives that exceeds this size, the whole request will be aborted + with the HTTP response code <code>HTTP_REQUEST_TOO_LARGE</code>.</p> + + <p>If you have populated the form with fields described by + <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, + <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> and + <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, you probably want to set this + field to a similar size as the <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code> + directive.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthFormUsername" id="AuthFormUsername">AuthFormUsername</a> <a name="authformusername" id="authformusername">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The name of a form field carrying the login username</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthFormUsername <var>fieldname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthFormUsername httpd_username</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive"><a href="#authformusername">AuthFormUsername</a></code> directive specifies + the name of an HTML field which, if present, will contain the username to be used to log + in.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_auth_form.html" title="English"> en </a> | +<a href="../fr/mod/mod_auth_form.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_form.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_auth_form.html.fr.utf8 b/docs/manual/mod/mod_auth_form.html.fr.utf8 new file mode 100644 index 0000000..d10844c --- /dev/null +++ b/docs/manual/mod/mod_auth_form.html.fr.utf8 @@ -0,0 +1,821 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_auth_form - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_auth_form</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_form.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_form.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification à l'aide d'un formulaire</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_form_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_form.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir d'Apache 2.3</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning"><h3>Avertissement</h3> + <p>L'authentification à base de formulaire dépend des modules + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> qui utilisent les cookies HTTP, et en + tant que tels s'exposent à des attaques de type Cross Site + Scripting, ou risquent de divulguer des informations à caractère + privé aux clients. Assurez-vous que ces risques ont bien été pris + en compte avant d'activer les sessions sur votre serveur.</p> + </div> + + <p>Ce module permet de restreindre l'accès en recherchant les + utilisateurs dans les fournisseurs spécifiés à l'aide d'un + formulaire de connexion HTML. Les formulaires HTML requièrent + davantage de configuration que les méthodes d'authentification + alternatives, mais ils peuvent s'avérer beaucoup plus conviviaux + pour les utilisateurs. + </p> + + <p>L'authentification HTTP de base est fournie par le module + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, et l'authentification HTTP à base + de condensé par le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. Le + module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> doit être utilisé avec au + moins un module d'authentification du style + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation comme + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p> + + <p>Lorsque l'utilisateur a été authentifié avec succès, ses + informations de connexion sont stockés dans une session fournie par + le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicconfig">Configuration de base</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#standalone">Page de connexion dédiée</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#inline">Connexion à la volée</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#inlinepreservebody">Connexion à la volée avec + conservation du contenu</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loggingout">Déconnexion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#urlencoding">Noms d'utilisateurs et mots de + passe</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authformauthoritative">AuthFormAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformbody">AuthFormBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformdisablenostore">AuthFormDisableNoStore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformfakebasicauth">AuthFormFakeBasicAuth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformlocation">AuthFormLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformlogoutlocation">AuthFormLogoutLocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformmethod">AuthFormMethod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformmimetype">AuthFormMimetype</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformpassword">AuthFormPassword</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformprovider">AuthFormProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformsitepassphrase">AuthFormSitePassphrase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformsize">AuthFormSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authformusername">AuthFormUsername</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_form">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_form">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="../howto/auth.html">Mise en oeuvre de +l'authentification</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicconfig" id="basicconfig">Configuration de base</a></h2> + + <p>Pour protéger une URL particulière avec le module + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, vous devez déterminer l'endroit où + vous allez stocker votre <var>session</var>, ainsi que la méthode + d'authentification. Dans cet exemple simple, les informations de + connexion sont stockées dans une session à l'aide du module + <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, et l'authentification utilise + un fichier en s'appuyant sur le module + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Si l'authentification échoue, + l'utilisateur dera redirigé vers la page du formulaire de + connexion.</p> + + <div class="example"><h3>Exemple simple</h3><pre class="prettyprint lang-config"><Location "/admin"> + AuthFormProvider file + AuthUserFile "conf/passwd" + AuthType form + AuthName "/admin" + AuthFormLoginRequiredLocation "http://example.com/login.html" + + Session On + SessionCookieName session path=/ + + Require valid-user +</Location></pre> +</div> + + <p>L'authentification <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> est activée + en affectant la valeur <var>form</var> à la directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>. Les directives + <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> et + <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> + spécifient que les noms d'utilisateurs et mots de passe seront + vérifiés en utilisant le fichier choisi.</p> + + <p>Les directives <code class="directive"><a href="../mod/mod_session.html#session">Session</a></code> et <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookiename">SessionCookieName</a></code> créent une + session chiffrée stockée dans un cookie HTTP au niveau + du navigateur. Pour plus d'informations à propos des différentes + options de configuration des sessions, reportez-vous à la + documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + + <p>Vous pouvez éventuellement ajouter une directive <code class="directive"><a href="../mod/mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></code> pour créer + un cookie de session chiffré. Pour utiliser cette directive, le module + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> doit avoir été préalablement chargé.</p> + + <p>Dans l'exemple simple ci-dessus, une URL a été protégée par + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, mais on doit maintenant fournir + à l'utilisateur un moyen d'entrer un nom et un mot de passe. À cet + effet, on peut soit écrire une page de connexion indépendante + dédiée, soit inclure le formulaire de connexion dans la page + courante.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="standalone" id="standalone">Page de connexion dédiée</a></h2> + + <p>Le formulaire de connexion peut être contenu dans une page + indépendante, ou être inclus dans la page courante. </p> + + <p>Lorsque la connexion s'effectue à partir d'une page + indépendante et si la tentative d'authentification échoue, + l'utilisateur doit être redirigé vers un formulaire de connexion, + créé à cet effet sur le site web, en utilisant la directive + <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>. + En général, la page de connexion contiendra un formulaire HTML + demandant à l'utilisateur de fournir un nom et un mot de passe.</p> + + <div class="example"><h3>Exemple de formulaire de connexion</h3><pre class="prettyprint lang-html"><form method="POST" action="/dologin.html"> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> +</form></pre> +</div> + + <p>La partie où s'effectue la connexion proprement dite est + traitée par le gestionnaire <var>form-login-handler</var>. + L'action de ce formulaire doit pointer vers ce gestionnaire, ce + que l'on configure dans Apache httpd comme suit :</p> + + <div class="example"><h3>Exemple de configuration du gestionnaire de + formulaire de connexion</h3><pre class="prettyprint lang-config"><Location "/dologin.html"> + SetHandler form-login-handler + AuthFormLoginRequiredLocation "http://example.com/login.html" + AuthFormLoginSuccessLocation "http://example.com/admin/index.html" + AuthFormProvider file + AuthUserFile "conf/passwd" + AuthType form + AuthName /admin + Session On + SessionCookieName session path=/ + SessionCryptoPassphrase secret +</Location></pre> +</div> + + <p>L'URL spécifiée par la directive + <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code> + référencera en général une page expliquant à l'utilisateur que sa + tentative de connexion a échoué, et qu'il doit la renouveler. La + directive <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code> + spécifie l'URL vers laquelle l'utilisateur doit être redirigé s'il + s'est authentifié avec succès.</p> + + <p>Alternativement, l'URL vers laquelle doit être redirigé + l'utilisateur s'il s'est authentifié avec succès peut être + intégrée dans le formulaire de connexion, comme dans l'exemple + ci-dessous. Il en découle que le même gestionnaire + <var>form-login-handler</var> pourra être utilisé pour différentes + zones du site web.</p> + + <div class="example"><h3>Exemple de formulaire d'authentification multizone</h3><pre class="prettyprint lang-html"><form method="POST" action="/dologin.html"> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> + <input type="hidden" name="httpd_location" value="http://example.com/success.html" /> +</form></pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="inline" id="inline">Connexion à la volée</a></h2> + + <div class="warning"><h3>Avertissement</h3> + <p>Il existe un risque, dans certaines circonstances, que le + formulaire de connexion configuré pour une connexion à la volée + soit soumis plusieurs fois, révélant de ce fait les paramètres + de connexion à l'application sous-jacente. L'administrateur doit + s'assurer que cette dernière est correctement sécurisée afin + d'éviter les éventuels abus. En cas de doute, utilisez une page + de connexion indépendante dédiée.</p> + </div> + + <p>Comme alternative à la page de connexion dédiée pour un site + web, il est possible de configurer <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> + pour authentifier les utilisateurs à la volée, sans les rediriger + vers une autre page, ce qui permet de conserver l'état de la page + courante au cours de la tentative de connexion. Ceci peut s'avérer + utile dans le cas d'une session limitée dans le temps, si le délai + de la session a expiré pendant la requête de l'utilisateur. Ce + dernier peut alors se réauthentifier à la même place, et + poursuivre son activité à partir du point où il en était resté.</p> + + <p>Si un utilisateur non authentifié tente d'accéder à une page + protégée par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, et si ce dernier + n'est pas configuré avec une directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>, + un code de statut <var>HTTP_UNAUTHORIZED</var> est renvoyé vers le + navigateur, indiquant à l'utilisateur qu'il n'est pas autorisé à + accéder à cette page.</p> + + <p>Pour configurer l'authentification à la volée, l'administrateur + remplace le message d'erreur renvoyé par le code de statut + <var>HTTP_UNAUTHORIZED</var> par un message d'erreur personnalisé + contenant le formulaire de connexion comme suit :</p> + + <div class="example"><h3>Exemple simple d'authentification à la volée</h3><pre class="prettyprint lang-config">AuthFormProvider file +ErrorDocument 401 "/login.shtml" +AuthUserFile "conf/passwd" +AuthType form +AuthName realm +AuthFormLoginRequiredLocation "http://example.com/login.html" +Session On +SessionCookieName session path=/</pre> +</div> + + <p>La page du message d'erreur doit contenir un formulaire de + connexion dont la propriété action est vide, comme dans l'exemple + ci-dessous. Ceci a pour effet de soumettre le formulaire à l'URL + protégée originale, cette dernière n'ayant pas besoin d'être + connue de la page en cours.</p> + + <div class="example"><h3>Exemple de formulaire de connexion à la volée</h3><pre class="prettyprint lang-html"><form method="POST" <strong>action=""</strong>> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> +</form></pre> +</div> + + <p>Lorsque l'utilisateur final a entré ses informations de + connexion, le formulaire effectue une requête HTTP POST pour l'URL + originale protégée par mot de passe. + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> va alors intercepter cette requête + POST, et dans le cas où des champs HTML Utilisateur et Mot de + passe corrects sont présents, l'utilisateur sera connecté, et + l'URL originale protégée par mot de passe lui sera retournée en + tant que requête GET.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="inlinepreservebody" id="inlinepreservebody">Connexion à la volée avec + conservation du contenu</a></h2> + + <p>Il existe une limite à la technique de connexion à la volée + décrite ci-dessus ; si un formulaire HTML POST entraîne une + demande d'authentification ou de réauthentification, le contenu du + formulaire original envoyé par le navigateur sera perdu. Cela peut + s'avérer plus ou moins gênant pour l'utilisateur final selon la + fonction du site web.</p> + + <p>Comme solution à ce problème, <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> + permet d'intégrer la méthode et le contenu de la requête originale + dans le formulaire de connexion. Si l'authentification réussit, + Apache httpd pourra refaire une tentative avec la méthode et le contenu + originaux, tout en conservant l'état de la requête originale.</p> + + <p>Pour mettre en oeuvre la conservation du contenu, vous devez + ajouter trois champs supplémentaires au formulaire de connexion + comme dans l'exemple suivant :</p> + + <div class="example"><h3>Exemple de formulaire avec conservation du + contenu</h3><pre class="prettyprint lang-html"><form method="POST" action=""> + Username: <input type="text" name="httpd_username" value="" /> + Password: <input type="password" name="httpd_password" value="" /> + <input type="submit" name="login" value="Login" /> + <br /> <strong><input type="hidden" name="httpd_method" value="POST" /> + <input type="hidden" name="httpd_mimetype" value="application/x-www-form-urlencoded" /> + <input type="hidden" name="httpd_body" value="name1=value1&name2=value2" /></strong><br /> +</form></pre> +</div> + + <p>La manière dont la méthode, le type MIME et le contenu de la + requête originale seront intégrés dans le formulaire de connexion + vont dépendre de la plate-forme et de la technologie utilisées au + sein du site web. + </p> + + <p>Une option consiste à utiliser le module + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en association avec la directive + <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code>, ainsi + qu'un script CGI adapté pour intégrer les variables dans le + formulaire.</p> + + <p>Une autre option consiste à présenter le formulaire de + connexion en utilisant un script CGI ou une autre technologie + dynamique.</p> + + <div class="example"><h3>Exemple avec script CGI</h3><pre class="prettyprint lang-config"> AuthFormProvider file + ErrorDocument 401 "/cgi-bin/login.cgi" + ...</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="loggingout" id="loggingout">Déconnexion</a></h2> + + <p>Pour permettre à un utilisateur de se déconnecter d'une session + particulière, vous devez configurer une page pour qu'elle soit + traitée par le gestionnaire <var>form-logout-handler</var>. Tout + accès à cette URL va entraîner la suppression de l'Utilisateur et + du Mot de passe de la session courante, ce qui aura pour effet de + déconnecter l'utilisateur.</p> + + <p>Vous pouvez spécifier une URL vers laquelle le navigateur sera + redirigé en cas de déconnection réussie, en définissant la + directive <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code>. Cette + URL devra expliquer à l'utilisateur qu'il a été déconnecté, et lui + donner la possibilité de se connecter à nouveau.</p> + + <div class="example"><h3>Exemple simple de configuration de la + déconnexion</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler +AuthName realm +AuthFormLogoutLocation "http://example.com/loggedout.html" +Session On +SessionCookieName session path=/</pre> +</div> + + <p>Notez que la déconnexion d'un utilisateur ne supprime pas la + session ; elle supprime seulement l'utilisateur et le mot de passe + de la session. Si la session qui en résulte est vide, elle sera + probablement supprimée, mais ce n'est pas garanti. Si vous voulez + être sûr que la session sera supprimée, affectez une valeur faible + à la directive <code class="directive"><a href="../mod/mod_session.html#sessionmaxage">SessionMaxAge</a></code>, par exemple 1 + (affecter à cette directive la valeur zéro signifie une session + sans limite d'âge). + </p> + + <div class="example"><h3>Exemple simple avec durée de validité de session + limitée</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler +AuthFormLogoutLocation "http://example.com/loggedout.html" +Session On +SessionMaxAge 1 +SessionCookieName session path=/</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="urlencoding" id="urlencoding">Noms d'utilisateurs et mots de + passe</a></h2> + <p>Notez que la soumission d'un formulaire implique l'encodage URL + (URLEncoding) des données du formulaire, ici le nom d'utilisateur et + le mot de passe. Vous devez donc choisir des noms d'utilisateurs et + mots de passe qui ne contiennent pas de caractères susceptibles + d'être encodés URL lors de la soumission du formulaire, sous peine + d'obtenir des résultats inattendus.</p> + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformauthoritative" id="authformauthoritative">Directive</a> <a name="AuthFormAuthoritative" id="AuthFormAuthoritative">AuthFormAuthoritative</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'autorisation et l'authentification sont confiés à +des modules de plus bas niveau</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormAuthoritative On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormAuthoritative On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +</table> + <p>Normalement, chacun des modules d'autorisation spécifiés par la + directive <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> va tenter de + vérifier l'identité de l'utilisateur, et si ce dernier n'est trouvé + dans aucun fournisseur, l'accès sera refusé. En définissant + explicitement la directive + <code class="directive">AuthFormAuthoritative</code> à <code>Off</code> on + confie les processus d'authentification et d'autorisation à des + modules ne s'appuyant pas sur des fournisseurs, si <strong>aucun + identifiant utilisateur</strong> ou aucune <strong>règle</strong> ne + correspond à l'identifiant utilisateur fourni. Ceci ne peut s'avérer + nécessaire que si l'on combine <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> avec + des modules tiers qui ne se configurent pas avec la directive + <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code>. + Lorsqu'on utilise de tels modules, la chronologie du processus est + déterminée dans leur code source, et n'est pas configurable.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformbody" id="authformbody">Directive</a> <a name="AuthFormBody" id="AuthFormBody">AuthFormBody</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant le corps de la +requête à effectuer en cas de connexion réussie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormBody <var>nom du champ</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormBody httpd_body</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformbody">AuthFormBody</a></code> + spécifie le nom du champ HTML qui, s'il existe, contiendra le corps + de la requête à effectuer en cas de connexion réussie.</p> + + <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en + mesure de relancer une requête qui a été éventuellement interrompue + par l'écran de connexion, ou par l'expiration d'un délai de + session.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformdisablenostore" id="authformdisablenostore">Directive</a> <a name="AuthFormDisableNoStore" id="AuthFormDisableNoStore">AuthFormDisableNoStore</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive l'en-tête CacheControl no-store sur la page de +connexion</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormDisableNoStore On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormDisableNoStore Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>Le drapeau <code class="directive"><a href="#authformdisablenostore">AuthFormDisableNoStore</a></code> supprime + l'envoi d'un en-tête <code>Cache-Control no-store</code> lorsqu'une + page avec code d'erreur 401 est renvoyée, si l'utilisateur n'est pas + encore connecté. Avec cette en-tête, il est plus difficile pour une + application <code>ecmascript</code> de resoumettre un formulaire de connexion, et + ainsi révéler le nom d'utilisateur et le mot de passe à + l'application sous-jacente. Vous devez être conscient des risques + encourus si vous le désactivez.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformfakebasicauth" id="authformfakebasicauth">Directive</a> <a name="AuthFormFakeBasicAuth" id="AuthFormFakeBasicAuth">AuthFormFakeBasicAuth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Simule une en-tête d'authentification de base</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormFakeBasicAuth On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormFakeBasicAuth Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>Le drapeau <code class="directive"><a href="#authformfakebasicauth">AuthFormFakeBasicAuth</a></code> + détermine si une en-tête d'<code>Authentification de base</code> + sera ajoutée aux en-têtes de la requête. On peut utiliser cette + méthode pour présenter le nom d'utilisateur et le mot de passe à + l'application sous-jacente, sans que cette dernière ait besoin de + connaître la manière dont le processus de connexion a été mené à + bien.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformlocation" id="authformlocation">Directive</a> <a name="AuthFormLocation" id="AuthFormLocation">AuthFormLocation</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contiendra l'URL vers +laquelle l'utilisateur sera redirigé en cas de connexion +réussie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLocation <var>nom du champ</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormLocation httpd_location</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code> + spécifie le nom du champ HTML qui, s'il existe, contiendra l'URL + vers laquelle rediriger le navigateur en cas de connexion + réussie.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformloginrequiredlocation" id="authformloginrequiredlocation">Directive</a> <a name="AuthFormLoginRequiredLocation" id="AuthFormLoginRequiredLocation">AuthFormLoginRequiredLocation</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé si une +authentification est requise</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLoginRequiredLocation <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprétation des expressions rationnelles est supportée +depuis la version 2.4.4.</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code> + spécifie l'URL vers laquelle l'utilisateur devra être + redirigé s'il n'est pas autorisé à accéder à une page. Sa valeur est + interprétée via l'interpréteur <a href="../expr.html">ap_expr</a> + avant d'être envoyée au client. Par défaut, + si un utilisateur n'est pas autorisé à accéder à une page, le code + de réponse HTTP <code>HTTP_UNAUTHORIZED</code> est renvoyé avec la + page spécifiée par la directive <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code>. La directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code> + permet de remplacer cette valeur par défaut.</p> + + <p>Vous pouvez utiliser cette directive si vous voulez présenter une + page de connexion personnalisée à vos utilisateurs.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformloginsuccesslocation" id="authformloginsuccesslocation">Directive</a> <a name="AuthFormLoginSuccessLocation" id="AuthFormLoginSuccessLocation">AuthFormLoginSuccessLocation</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé en cas +de connexion réussie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLoginSuccessLocation <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprétation des expressions rationnelles est supportée +depuis la version 2.4.4.</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code> + spécifie l'URL vers laquelle l'utilisateur doit être + redirigé en cas de connexion réussie. Sa valeur est + interprétée via l'interpréteur <a href="../expr.html">ap_expr</a> + avant d'être envoyée au client. L'effet de cette directive + peut être annulé si l'on a défini un champ de formulaire contenant + une autre URL à l'aide de la directive <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code>.</p> + + <p>Vous pouvez utiliser cette directive si vous possédez une URL de + connexion personnalisée, et si vous n'avez pas intégré la page de + destination dans le formulaire de connexion.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformlogoutlocation" id="authformlogoutlocation">Directive</a> <a name="AuthFormLogoutLocation" id="AuthFormLogoutLocation">AuthFormLogoutLocation</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL vers laquelle un utilisateur devra être redirigé +après s'être déconnecté</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLogoutLocation <var>uri</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprétation des expressions rationnelles est supportée +depuis la version 2.4.4.</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code> + spécifie l'URL de la page du serveur vers laquelle l'utilisateur + devra être redirigé s'il se déconnecte. Sa valeur est + interprétée via l'interpréteur <a href="../expr.html">ap_expr</a> + avant d'être envoyée au client.</p> + + <p>Lorsqu'un accès est tenté sur un URI traité par le gestionnaire + <code>form-logout-handler</code>, la page spécifiée par cette + directive sera présentée à l'utilisateur final. Par exemple :</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/logout"> + SetHandler form-logout-handler + AuthFormLogoutLocation "http://example.com/loggedout.html" + Session on + #... +</Location></pre> +</div> + + <p>Si un utilisateur tente d'accéder à l'URI <var>/logout/</var>, il + sera déconnecté, et la page <var>/loggedout.html</var> lui sera + présentée. Assurez-vous que la page <var>loggedout.html</var> n'est + pas protégée par mot de passe, car dans le cas contraire, elle ne + serait pas affichée.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformmethod" id="authformmethod">Directive</a> <a name="AuthFormMethod" id="AuthFormMethod">AuthFormMethod</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant la méthode de la +requête à effectuer en cas de connexion réussie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormMethod <var>nom du champ</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormMethod httpd_method</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code> + spécifie le nom du champ HTML qui, s'il existe, contiendra le type + MIME de la requête à effectuer en cas de connexion réussie.</p> + + <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en + mesure de relancer une requête qui a été éventuellement interrompue + par l'écran de connexion, ou par l'expiration d'un délai de + session.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformmimetype" id="authformmimetype">Directive</a> <a name="AuthFormMimetype" id="AuthFormMimetype">AuthFormMimetype</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant le type MIME du +corps de la requête à effectuer en cas de connexion +réussie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormMimetype <var>nom du champ</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormMimetype httpd_mimetype</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> + spécifie le nom du champ HTML qui, s'il existe, contiendra le type + MIME de la requête à effectuer en cas de connexion réussie.</p> + + <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en + mesure de relancer une requête qui a été éventuellement interrompue + par l'écran de connexion, ou par l'expiration d'un délai de + session.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformpassword" id="authformpassword">Directive</a> <a name="AuthFormPassword" id="AuthFormPassword">AuthFormPassword</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contient le mot de passe +de connexion</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormPassword <var>nom du champ</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormPassword httpd_password</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformpassword">AuthFormPassword</a></code> permet de + spécifier le nom du champ HTML qui, s'il existe, contiendra le mot + de passe qui sera utilisé pour la connexion.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformprovider" id="authformprovider">Directive</a> <a name="AuthFormProvider" id="AuthFormProvider">AuthFormProvider</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseur(s) d'authentification pour la +zone concernée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormProvider <var>nom fournisseur</var> +[<var>nom fournisseur</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormProvider file</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +</table> + <p>La directive <code class="directive">AuthFormProvider</code> permet de + définir quel fournisseur sera utilisé pour authentifier les + utilisateurs pour la zone concernée. Le fournisseur par défaut + <code>file</code> est implémenté par le module + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Assurez-vous que le fournisseur + choisi soit bien présent dans le serveur.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/secure"> + AuthType form + AuthName "private area" + AuthFormProvider dbm + AuthDBMType SDBM + AuthDBMUserFile "/www/etc/dbmpasswd" + Require valid-user + #... +</Location></pre> +</div> + + <p>Les différents fournisseurs sont implémentés par les modules + <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformsitepassphrase" id="authformsitepassphrase">Directive</a> <a name="AuthFormSitePassphrase" id="AuthFormSitePassphrase">AuthFormSitePassphrase</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Court-circuite l'authentification pour les sites à fort +trafic</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormSitePassphrase <var>secret</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformsitepassphrase">AuthFormSitePassphrase</a></code> + spécifie un mot de passe qui, s'il est présent dans la session + utilisateur, indique à Apache httpd de court-circuiter l'authentification + pour l'URL considérée. On peut l'utiliser dans le cas de sites web à + fort trafic afin de réduire la charge induite sur l'infrastructure + d'authentification.</p> + + <p>On peut insérer le mot de passe dans une session utilisateur en + ajoutant cette directive à la configuration concernant le + gestionnaire <var>form-login-handler</var>. Le gestionnaire + <var>form-login-handler</var>, quant à lui, effectuera toujours les + vérifications d'authentification, qu'un mot de passe soit spécifié + ou non.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Si la session est présentée à l'utilisateur à l'aide du module + <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, et si la session n'est pas + protégée par le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, le mot + de passe peut faire l'objet d'une attaque de type dictionnaire. + Quelle que soit la configuration de la session, assurez-vous que + cette directive n'est pas utilisée dans un espace d'URLs contenant + des données privées, ou à partir desquelles des transactions + sensibles pourraient être menées. En tout état de cause, vous + devez être conscient des risques encourus avant de l'utiliser.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformsize" id="authformsize">Directive</a> <a name="AuthFormSize" id="AuthFormSize">AuthFormSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille maximale en octets du formulaire dont seront +extraites les informations de connexion</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormSize <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformsize">AuthFormSize</a></code> spécifie + la taille maximale du corps de la requête qui sera utilisée pour + trouver le formulaire de connexion.</p> + + <p>Si une requête de connexion entrante possède une taille + supérieure à cette valeur, elle sera rejetée avec le code de réponse + HTTP <code>HTTP_REQUEST_TOO_LARGE</code>.</p> + + <p>Si vous avez ajouté au formulaire des champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, il est recommandé + de définir cette directive à une valeur similaire à celle de la + directive <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authformusername" id="authformusername">Directive</a> <a name="AuthFormUsername" id="AuthFormUsername">AuthFormUsername</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contient le nom de +connexion</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormUsername <var>nom du champ</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormUsername httpd_username</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive"><a href="#authformusername">AuthFormUsername</a></code> permet de + spécifier le nom du champ HTML qui, s'il existe, contiendra le nom + d'utilisateur qui sera utilisé pour la connexion.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_form.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_auth_form.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_form.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html b/docs/manual/mod/mod_authn_anon.html new file mode 100644 index 0000000..04bbe4c --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_anon.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_anon.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_anon.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_anon.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authn_anon.html.en b/docs/manual/mod/mod_authn_anon.html.en new file mode 100644 index 0000000..f7f0728 --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.en @@ -0,0 +1,247 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_anon - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authn_anon</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_anon.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows "anonymous" user access to authenticated + areas</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authn_anon_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authn_anon.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authentication front-ends such as + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> to authenticate users similar + to anonymous-ftp sites, <em>i.e.</em> have a 'magic' user id + 'anonymous' and the email address as a password. These email + addresses can be logged.</p> + + <p>Combined with other (database) access control methods, this + allows for effective user tracking and customization according + to a user profile while still keeping the site open for + 'unregistered' users. One advantage of using Auth-based user + tracking is that, unlike magic-cookies and funny URL + pre/postfixes, it is completely browser independent and it + allows users to share URLs.</p> + + <p>When using <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, this module is invoked + via the <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + directive with the <code>anon</code> value.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Example</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Anonymous</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_anon">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_anon">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Example</a></h2> + <p>The example below is combined with "normal" htpasswd-file based + authentication and allows users in additionally as 'guests' with the + following properties:</p> + + <ul> + <li>It insists that the user enters a userID. + (<code class="directive"><a href="#anonymous_nouserid">Anonymous_NoUserID</a></code>)</li> + + <li>It insists that the user enters a password. + (<code class="directive"><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></code>)</li> + + <li>The password entered must be a valid email address, <em>i.e.</em> + contain at least one '@' and a '.'. + (<code class="directive"><a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></code>)</li> + + <li>The userID must be one of <code>anonymous guest www test + welcome</code> and comparison is <strong>not</strong> case + sensitive. (<code class="directive"><a href="#anonymous">Anonymous</a></code>)</li> + + <li>And the Email addresses entered in the passwd field are + logged to the error log file. + (<code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>)</li> + </ul> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Directory "/var/www/html/private"> + AuthName "Use 'anonymous' & Email address for guest entry" + AuthType Basic + AuthBasicProvider file anon + AuthUserFile "/path/to/your/.htpasswd" + + Anonymous_NoUserID off + Anonymous_MustGiveEmail on + Anonymous_VerifyEmail on + Anonymous_LogEmail on + Anonymous anonymous guest www test welcome + + Require valid-user +</Directory></pre> +</div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous" id="Anonymous">Anonymous</a> <a name="anonymous" id="anonymous">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies userIDs that are allowed access without +password verification</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Anonymous <var>user</var> [<var>user</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>A list of one or more 'magic' userIDs which are allowed + access without password verification. The userIDs are space + separated. It is possible to use the ' and " quotes to allow a + space in a userID as well as the \ escape character.</p> + + <p>Please note that the comparison is + <strong>case-IN-sensitive</strong>.<br /> + It's strongly recommended that the magic username + '<code>anonymous</code>' is always one of the allowed + userIDs.</p> + + <div class="example"><h3>Example:</h3><pre class="prettyprint lang-config">Anonymous anonymous "Not Registered" "I don't know"</pre> +</div> + + <p>This would allow the user to enter without password + verification by using the userIDs "anonymous", + "AnonyMous", "Not Registered" and "I Don't Know".</p> + + <p>As of Apache 2.1 it is possible to specify the userID as + "<code>*</code>". That allows <em>any</em> supplied userID to be + accepted.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_LogEmail" id="Anonymous_LogEmail">Anonymous_LogEmail</a> <a name="anonymous_logemail" id="anonymous_logemail">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets whether the password entered will be logged in the +error log</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Anonymous_LogEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Anonymous_LogEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>When set <code>On</code>, the default, the 'password' entered + (which hopefully contains a sensible email address) is logged in + the error log.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_MustGiveEmail" id="Anonymous_MustGiveEmail">Anonymous_MustGiveEmail</a> <a name="anonymous_mustgiveemail" id="anonymous_mustgiveemail">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies whether blank passwords are allowed</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Anonymous_MustGiveEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Anonymous_MustGiveEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>Specifies whether the user must specify an email address as + the password. This prohibits blank passwords.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_NoUserID" id="Anonymous_NoUserID">Anonymous_NoUserID</a> <a name="anonymous_nouserid" id="anonymous_nouserid">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets whether the userID field may be empty</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Anonymous_NoUserID On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Anonymous_NoUserID Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>When set <code>On</code>, users can leave the userID (and + perhaps the password field) empty. This can be very convenient for + MS-Explorer users who can just hit return or click directly on the + OK button; which seems a natural reaction.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_VerifyEmail" id="Anonymous_VerifyEmail">Anonymous_VerifyEmail</a> <a name="anonymous_verifyemail" id="anonymous_verifyemail">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets whether to check the password field for a correctly +formatted email address</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Anonymous_VerifyEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Anonymous_VerifyEmail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>When set <code>On</code> the 'password' entered is checked for + at least one '@' and a '.' to encourage users to enter valid email + addresses (see the above <code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>).</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_anon.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_anon.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html.fr.utf8 b/docs/manual/mod/mod_authn_anon.html.fr.utf8 new file mode 100644 index 0000000..8153355 --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.fr.utf8 @@ -0,0 +1,262 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_anon - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authn_anon</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet un accès "anonyme" à des zones +protégées</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_anon_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_anon.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet aux frontaux d'authentification comme + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> d'authentifier les utilisateurs + à la manière des sites FTP anonymes, c'est à dire + en fournissant l'identifiant utilisateur spécial 'anonymous' et + l'adresse email comme mot de passe. Ces adresses email peuvent être + journalisées.</p> + + <p>En combinaison avec d'autres méthodes de contrôle d'accès (base + de données), ce module permet d'effectuer un véritable suivi des + utilisateurs et une personnalisation de leurs accès en fonction de + leur profil, tout en conservant l'accessibilité du site aux + utilisateurs 'non enregistrés'. Un avantage du suivi des + utilisateurs basé sur l'authentification réside dans le fait qu'il + est, à l'opposé des cookies magiques et des drôles d'URLs avec + préfixes ou suffixes, entièrement indépendant du navigateur et qu'il + permet de partager des URLs entre plusieurs utilisateurs.</p> + + <p>Si l'on utilise le module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, le + module <code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code> est invoqué en affectant la + valeur <code>anon</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Anonymous</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_anon">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_anon">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Exemple</a></h2> + <p>L'exemple ci-dessous présente un exemple de combinaison avec + l'authentification à base de fichier htpasswd "normale", et permet + la connexion d'utilisateurs en tant qu'invités avec les propriétés + suivantes :</p> + + <ul> + <li>Il incite l'utilisateur à fournir un identifiant. + (<code class="directive"><a href="#anonymous_nouserid">Anonymous_NoUserID</a></code>)</li> + + <li>Il incite l'utilisateur à fournir un mot de passe. + (<code class="directive"><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></code>)</li> + + <li>Le mot de passe fourni doit être une adresse email valide, + c'est à dire contenant au moins un '@' et un '.'. + (<code class="directive"><a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></code>)</li> + + <li>Les valeurs possibles pour l'identifiant utilisateur sont + <code>anonymous, guest, www, test ou welcome</code>, et la + vérification n'est <strong>pas</strong> sensible à la casse. + (<code class="directive"><a href="#anonymous">Anonymous</a></code>)</li> + + <li>Les adresses email entrées dans le champ passwd sont + enregistrées dans le fichier journal des erreurs. + (<code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>)</li> + </ul> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Directory "/var/www/html/private"> + AuthName "Use 'anonymous' & Email address for guest entry" + AuthType Basic + AuthBasicProvider file anon + AuthUserFile "/path/to/your/.htpasswd" + + Anonymous_NoUserID off + Anonymous_MustGiveEmail on + Anonymous_VerifyEmail on + Anonymous_LogEmail on + Anonymous anonymous guest www test welcome + + Require valid-user +</Directory></pre> +</div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="anonymous" id="anonymous">Directive</a> <a name="Anonymous" id="Anonymous">Anonymous</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la liste des identifiants utilisateur autorisés à +accéder sans vérification du mot de passe</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous <var>utilisateur</var> [<var>utilisateur</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>Une liste d'un ou plusieurs identifiants utilisateur spéciaux + autorisés à accéder sans vérification du mot de passe. Les + identifiants doivent être séparés par un espace. Pour spécifier un + identifiant contenant un espace, on peut utiliser les guillemets ' + ou ", ou le caractère d'échappement \.</p> + + <p>Veuillez noter que la vérification <strong>n'est pas sensible à + la casse</strong>.<br /> + Il est fortement conseillé d'intégrer l'utilisateur spécial + '<code>anonymous</code>' dans la liste des identifiants.</p> + + <div class="example"><h3>Exemple:</h3><pre class="prettyprint lang-config">Anonymous anonymous "Not Registered" "I don't know"</pre> +</div> + + <p>Dans cet exemple, l'utilisateur peut accéder au site sans + vérification du mot de passe en utilisant l'identifiant "anonymous", + "Not Registered", "I Don't Know" ou encore "AnonyMous".</p> + + <p>Depuis Apache 2.1, il est possible de remplacer la liste des + identifiants autorisés par le caractère "<code>*</code>", ce qui + permet d'utiliser <em>n'importe quel</em> identifiant pour pouvoir + accéder au site.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="anonymous_logemail" id="anonymous_logemail">Directive</a> <a name="Anonymous_LogEmail" id="Anonymous_LogEmail">Anonymous_LogEmail</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le mot de passe fourni sera enregistré dans le +journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_LogEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_LogEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>Lorsque cette directive est définie à <code>On</code>, valeur + par défaut, le 'mot de passe' fourni (censé contenir une adresse + email valide) est enregistré dans le journal des erreurs.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="anonymous_mustgiveemail" id="anonymous_mustgiveemail">Directive</a> <a name="Anonymous_MustGiveEmail" id="Anonymous_MustGiveEmail">Anonymous_MustGiveEmail</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'abscence de mot de passe est +autorisée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_MustGiveEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_MustGiveEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>Détermine si l'utilisateur doit spécifier une adresse email comme + mot de passe. Lorsque cette directive est définie à <code>On</code>, + l'abscence de mot de passe est interdite.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="anonymous_nouserid" id="anonymous_nouserid">Directive</a> <a name="Anonymous_NoUserID" id="Anonymous_NoUserID">Anonymous_NoUserID</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le champ identifiant peut être +vide</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_NoUserID On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_NoUserID Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>Lorsque cette directive est définie à <code>On</code>, les + utilisateurs peuvent laisser le champ identifiant vide (et peut-être + aussi le champ mot de passe selon la définition de la directive + <code class="directive"><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></code>). Ceci + peut s'avérer très utile pour les utilisateurs de MS-Explorer qui + n'ont pour seule possibilité que d'appuyer sur Entrée ou de cliquer + directement sur le bouton OK, ce qui semble être une réaction + naturelle.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="anonymous_verifyemail" id="anonymous_verifyemail">Directive</a> <a name="Anonymous_VerifyEmail" id="Anonymous_VerifyEmail">Anonymous_VerifyEmail</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine s'il faut vérifier que le format de l'adresse +email fournie comme mot de passe est correct</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_VerifyEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_VerifyEmail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>Lorsque cette directive est définie à <code>On</code>, Apache + vérifie que le 'mot de passe' entré contient au moins un '@' et un + '.' afin d'inciter les utilisateurs à fournir des adresses email + valides (voir ci-dessus la directive <code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>).</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_anon.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html.ja.utf8 b/docs/manual/mod/mod_authn_anon.html.ja.utf8 new file mode 100644 index 0000000..5c5d523 --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.ja.utf8 @@ -0,0 +1,251 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_anon - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_authn_anon</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>認証が必要な領域への "anonymous" ユーザのアクセスを許可する +</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>authn_anon_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_authn_anon.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 以降</td></tr></table> +<h3>概要</h3> + + <p>このモジュールは <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> のような + 認証フロントエンドとして、anonymous-ftp サイトのような、「魔法の」ユーザ ID + 'anonymous' と電子メールアドレスをパスワードにしたユーザ認証を + 行なう機能を提供します。この電子メールアドレスはログ収集することが + できます。</p> + + <p>他の (データベースによる) アクセス制御方法と組み合わせることで、 + 「未登録」ユーザに対してサイトを公開しつつ、効率よくユーザ追跡したり、 + ユーザのプロファイルに応じたカスタマイズをしたりできます。 + このような認証に基づいたユーザ追跡の利点の一つは、 + マジッククッキーに基づくユーザ追跡方法や、 + 珍妙な URL の接頭辞や接尾辞を利用したユーザ追跡方法とは異なり、 + 完全にブラウザ非依存であり、ユーザ間で URL を共有することができるという + 点です。</p> + + <p><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> を使用している場合は、このモジュールは + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> に + <code>anon</code> という値を設定することで起動されます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">例</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Anonymous</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_anon">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_anon">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">例</a></h2> + <p>以下の例は「普通」の htpasswd ファイルに基づいた認証と組み合わされて + おり、以下の要件を見たすユーザを「ゲスト」として許可します:</p> + + <ul> + <li>ユーザは userID を入力しなければなりません。 + (<code class="directive"><a href="#anonymous_nouserid">Anonymous_NoUserID</a></code>)</li> + + <li>ユーザはパスワードを入力しなければなりません。 + (<code class="directive"><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></code>)</li> + + <li>入力されたパスワードは有効な電子メールアドレスでなければ + なりません。<em>すなわち</em>、少くとも一つの '@' と '.' が + 含まれている必要があります。 + (<code class="directive"><a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></code>)</li> + + <li>userID は <code>anonymous guest www test + welcome</code> のどれかでなければなりません。 + ユーザ名の比較は大文字小文字を区別<strong>しません。</strong></li> + + <li>パスワード欄に入力された電子メールアドレスはエラーログファイルに + ロギングされます。 + (<code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>)</li> + </ul> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config"><Directory /var/www/html/private> + AuthName "Use 'anonymous' & Email address for guest entry" + AuthType Basic + AuthBasicProvider file anon + AuthUserFile /path/to/your/.htpasswd + + Anonymous_NoUserID off + Anonymous_MustGiveEmail on + Anonymous_VerifyEmail on + Anonymous_LogEmail on + Anonymous anonymous guest www test welcome + + Require valid-user +</Directory></pre> +</div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous" id="Anonymous">Anonymous</a> <a name="anonymous" id="anonymous">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>パスワードの検査無しでアクセスを許可する userID を指定する +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Anonymous <var>user</var> [<var>user</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>パスワードの検査をしないでアクセスを許可する「魔法の」 userID を + 設定します。userID 中に空白を使えるようにするため、 + エスケープ文字 \ による方法と、引用符 ' と " によるクオーティング + を使うことができます。</p> + + <p>ユーザ名の比較は<strong>大文字小文字を区別しない</strong>ことに + 注意してください。<br /> + 魔法のユーザ名 '<code>anonymous</code>' が許可されている userID に + 含むようにすることは強く推奨されています。</p> + + <div class="example"><h3>例:</h3><pre class="prettyprint lang-config">Anonymous anonymous "Not Registered" "I don't know"</pre> +</div> + + <p>これは、userID "anonymous", + "AnonyMous", "Not Registered", "I Don't Know" のどれかを使っても + パスワード無しでユーザがサイトに入れるようにします。</p> + + <p>Apache 2.1 では userID に "<code>*</code>" を指定することができます。 + この場合、<em>すべての</em>userID を許可します。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_LogEmail" id="Anonymous_LogEmail">Anonymous_LogEmail</a> <a name="anonymous_logemail" id="anonymous_logemail">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>入力されたパスワードがエラーログにロギングされるかどうかを +設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Anonymous_LogEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Anonymous_LogEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>デフォルトの <code>On</code> に設定された場合は、 + 入力された (まっとうな電子メールアドレスであることが + 期待される) 「パスワード」がエラーログにロギングされます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_MustGiveEmail" id="Anonymous_MustGiveEmail">Anonymous_MustGiveEmail</a> <a name="anonymous_mustgiveemail" id="anonymous_mustgiveemail">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>空パスワードを許可するかどうかを指定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Anonymous_MustGiveEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Anonymous_MustGiveEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>ユーザがパスワードとして電子メールアドレスを指定する必要があるかどうかを + 設定します。これは空パスワードを禁止します。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_NoUserID" id="Anonymous_NoUserID">Anonymous_NoUserID</a> <a name="anonymous_nouserid" id="anonymous_nouserid">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>空 userID を許可するかを指定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Anonymous_NoUserID On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Anonymous_NoUserID Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_anon</td></tr> +</table> + <p><code>On</code> に設定すると、ユーザは userID (とおそらくは + パスワード欄も) 空にすることができます。これは単にリターンキーを + 叩いたり OK ボタンを直接クリックしたりする MS-Explorer ユーザには + 非常に便利です。そのような操作はごくごく自然なものでしょう。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_VerifyEmail" id="Anonymous_VerifyEmail">Anonymous_VerifyEmail</a> <a name="anonymous_verifyemail" id="anonymous_verifyemail">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>パスワード欄が正しい形式の電子メールアドレスであることを +調べるかどうかを設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Anonymous_VerifyEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Anonymous_VerifyEmail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_anon</td></tr> +</table> + <p><code>On</code> に設定されている場合、ユーザが有効な電子メール + アドレスを入力することを推奨するため、入力された「パスワード」は + 少なくとも一つの '@' と '.' を含んでいるかどうかを調べます + (上の <code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code> 参照)。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_anon.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_anon.html.ko.euc-kr b/docs/manual/mod/mod_authn_anon.html.ko.euc-kr new file mode 100644 index 0000000..693abae --- /dev/null +++ b/docs/manual/mod/mod_authn_anon.html.ko.euc-kr @@ -0,0 +1,243 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_anon - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_authn_anon</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> "(anonymous)" +Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>authn_anon_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_authn_anon.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> մܸ + (<em> </em> 'Ư' ̵ 'anonymous' + ڿ ּҸ ȣ ϴ) -ftp Ʈ + Ѵ. ڿ ּҸ α ִ.</p> + + <p>ٸ (ͺ̽) İ Բ Ͽ + '' ڿ Ʈ θ鼭 ȿ + ǰ ϴ. Ű + URL λ/̻ ̰ + ڰ URL ִٴ ִ.</p> + + <p><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> Ҷ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + <code>anon</code> ϸ Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example"></a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Anonymous</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_logemail">Anonymous_LogEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_nouserid">Anonymous_NoUserID</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_anon">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_anon">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example"></a></h2> + <p> "Ϲ" htpasswd-ϱ ߰ + ڰ Ѵٸ 'մ(guest)' + ֵ Ѵ:</p> + + <ul> + <li>ڴ ̵ Էؾ Ѵ. (<code class="directive"><a href="#anonymous_nouserid">Anonymous_NoUserID</a></code>)</li> + + <li>ڴ ȣ Էؾ Ѵ. (<code class="directive"><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></code>)</li> + + <li>ȣ ȿ ڿ ּҸ Էؾ Ѵ. <em> + </em> ּ '@' '.' Ѱ ؾ Ѵ. (<code class="directive"><a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></code>)</li> + + <li> ̵ <code>anonymous guest www test + welcome</code> ϳ̸, ҹڸ + <strong>ʴ´</strong>. (<code class="directive"><a href="#anonymous">Anonymous</a></code>)</li> + + <li> ȣ Է ڿ ּҸ αϿ + Ѵ. (<code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>)</li> + </ul> + + <div class="example"><h3></h3><p><code> + <Directory /foo> + <span class="indent"> + AuthName "մ 湮Ϸ 'anonymous' ڿ ּҸ ϶"<br /> + AuthType Basic<br /> + AuthBasicProvider file anon<br /> + AuthUserFile /path/to/your/.htpasswd<br /> + <br /> + Anonymous_NoUserID off<br /> + Anonymous_MustGiveEmail on<br /> + Anonymous_VerifyEmail on<br /> + Anonymous_LogEmail on<br /> + Anonymous anonymous guest www test welcome<br /> + <br /> + Order Deny,Allow<br /> + Allow from all<br /> + <br /> + Require valid-user<br /> + </span> + </Directory> + </code></p></div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous" id="Anonymous">Anonymous</a> <a name="anonymous" id="anonymous">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȣ˻ ̵ +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Anonymous <var>user</var> [<var>user</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>ȣ˻ 'Ư' ̵ . + ̵ Ѵ. ǥ ' " Ż + \ Ͽ ̵ ȿ ִ.</p> + + <p>̵ <strong>ҹڸ </strong> + ϶.<br /> + ̵ Ư ڸ + '<code>anonymous</code>' ϱ Ѵ.</p> + + <div class="example"><h3>:</h3><p><code> + Anonymous anonymous "Not Registered" "I don't know" + </code></p></div> + + <p>"anonymous", "AnonyMous", "Not Registered", "I Don't Know" + ̵ ϸ ȣ˻ ڸ Ѵ.</p> + + <p>ġ 2.1 ̵ "<code>*</code>" + ִ. <em></em> ̵ + Ƶδ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_LogEmail" id="Anonymous_LogEmail">Anonymous_LogEmail</a> <a name="anonymous_logemail" id="anonymous_logemail">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Է ȣ α </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Anonymous_LogEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>Anonymous_LogEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>⺻ <code>On</code> ϸ (Ƹ ڿ + ּ) Է 'ȣ' α Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_MustGiveEmail" id="Anonymous_MustGiveEmail">Anonymous_MustGiveEmail</a> <a name="anonymous_mustgiveemail" id="anonymous_mustgiveemail">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȣ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Anonymous_MustGiveEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>Anonymous_MustGiveEmail On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_anon</td></tr> +</table> + <p>ڰ ȣ ڿ ּҸ Էؾ ϴ θ + Ѵ. ȣ źѴ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_NoUserID" id="Anonymous_NoUserID">Anonymous_NoUserID</a> <a name="anonymous_nouserid" id="anonymous_nouserid">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ̵ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Anonymous_NoUserID On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>Anonymous_NoUserID Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_anon</td></tr> +</table> + <p><code>On</code> ϸ ڴ ̵ + (Ƹ ȣ) Է ʾƵ ȴ. ̴ ڿ ׳ + return ġų OK ư Ŭϴ MS-Explorer ڿ + ſ ϴ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Anonymous_VerifyEmail" id="Anonymous_VerifyEmail">Anonymous_VerifyEmail</a> <a name="anonymous_verifyemail" id="anonymous_verifyemail">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȣ ùٸ ڿ ּ ˻ +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Anonymous_VerifyEmail On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>Anonymous_VerifyEmail Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_anon</td></tr> +</table> + <p><code>On</code> ϸ ڰ ùٸ ڿ + ּҸ Էϵ Է 'ȣ' ּ '@' '.' Ѱ + ϴ ˻Ѵ ( <code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code> ).</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_anon.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_anon.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_anon.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_core.html b/docs/manual/mod/mod_authn_core.html new file mode 100644 index 0000000..437609b --- /dev/null +++ b/docs/manual/mod/mod_authn_core.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_core.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_core.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_core.html.en b/docs/manual/mod/mod_authn_core.html.en new file mode 100644 index 0000000..1f170c4 --- /dev/null +++ b/docs/manual/mod/mod_authn_core.html.en @@ -0,0 +1,281 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_core - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authn_core</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_core.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_core.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Core Authentication</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authn_core_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authn_core.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides core authentication capabilities to + allow or deny access to portions of the web site. + <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> provides directives that are + common to all authentication providers.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#authnalias">Creating Authentication Provider Aliases</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authnprovideralias"><AuthnProviderAlias></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_core">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_core">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authnalias" id="authnalias">Creating Authentication Provider Aliases</a></h2> + + <p>Extended authentication providers can be created + within the configuration file and assigned an alias name. The alias + providers can then be referenced through the directives + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> or + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> in + the same way as a base authentication provider. Besides the ability + to create and alias an extended provider, it also allows the same + extended authentication provider to be reference by multiple + locations.</p> + + <h3><a name="example" id="example">Examples</a></h3> + + <p>This example checks for passwords in two different text + files.</p> + + <div class="example"><h3>Checking multiple text password files</h3><pre class="prettyprint lang-config"># Check here first +<AuthnProviderAlias file file1> + AuthUserFile "/www/conf/passwords1" +</AuthnProviderAlias> + +# Then check here +<AuthnProviderAlias file file2> + AuthUserFile "/www/conf/passwords2" +</AuthnProviderAlias> + +<Directory "/var/web/pages/secure"> + AuthBasicProvider file1 file2 + + AuthType Basic + AuthName "Protected Area" + Require valid-user +</Directory></pre> +</div> + + <p>The example below creates two different ldap authentication + provider aliases based on the ldap provider. This allows + a single authenticated location to be serviced by multiple ldap + hosts:</p> + + <div class="example"><h3>Checking multiple LDAP servers</h3><pre class="prettyprint lang-config"><AuthnProviderAlias ldap ldap-alias1> + AuthLDAPBindDN cn=youruser,o=ctx + AuthLDAPBindPassword yourpassword + AuthLDAPURL ldap://ldap.host/o=ctx +</AuthnProviderAlias> +<AuthnProviderAlias ldap ldap-other-alias> + AuthLDAPBindDN cn=yourotheruser,o=dev + AuthLDAPBindPassword yourotherpassword + AuthLDAPURL ldap://other.ldap.host/o=dev?cn +</AuthnProviderAlias> + +Alias "/secure" "/webpages/secure" +<Directory "/webpages/secure"> + AuthBasicProvider ldap-other-alias ldap-alias1 + + AuthType Basic + AuthName "LDAP Protected Place" + Require valid-user + # Note that Require ldap-* would not work here, since the + # AuthnProviderAlias does not provide the config to authorization providers + # that are implemented in the same module as the authentication provider. +</Directory></pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthName" id="AuthName">AuthName</a> <a name="authname" id="authname">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Authorization realm for use in HTTP +authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthName <var>auth-domain</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_core</td></tr> +</table> + <p>This directive sets the name of the authorization realm for a + directory. This realm is given to the client so that the user + knows which username and password to send. + <code class="directive">AuthName</code> takes a single argument; if the + realm name contains spaces, it must be enclosed in quotation + marks. It must be accompanied by <code class="directive"><a href="#authtype">AuthType</a></code> and <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directives, and directives such + as <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> and + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> to + work.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">AuthName "Top Secret"</pre> + + + <p>The string provided for the <code>AuthName</code> is what will + appear in the password dialog provided by most browsers.</p> + + <p>From 2.4.55, <a href="../expr.html">expression syntax</a> can be + used inside the directive to produce the name dynamically.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">AuthName "%{HTTP_HOST}"</pre> + + + +<h3>See also</h3> +<ul> +<li><a href="../howto/auth.html">Authentication, Authorization, and + Access Control</a></li> +<li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnProviderAlias" id="AuthnProviderAlias"><AuthnProviderAlias></a> <a name="authnprovideralias" id="authnprovideralias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_core</td></tr> +</table> + <p><code><AuthnProviderAlias></code> and + <code></AuthnProviderAlias></code> are used to enclose a group of + authentication directives that can be referenced by the alias name + using one of the directives <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider"> + AuthBasicProvider</a></code> or <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider"> + AuthDigestProvider</a></code>.</p> + + <div class="note">This directive has no affect on authorization, even for modules that + provide both authentication and authorization.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthType" id="AuthType">AuthType</a> <a name="authtype" id="authtype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of user authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthType None|Basic|Digest|Form</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_core</td></tr> +</table> + <p>This directive selects the type of user authentication for a + directory. The authentication types available are <code>None</code>, + <code>Basic</code> (implemented by + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>), <code>Digest</code> + (implemented by <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>), and + <code>Form</code> (implemented by <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>).</p> + + <p>To implement authentication, you must also use the <code class="directive"><a href="#authname">AuthName</a></code> and <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directives. In addition, the + server must have an authentication-provider module such as + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> and an authorization module such + as <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p> + + <p>The authentication type <code>None</code> disables authentication. + When authentication is enabled, it is normally inherited by each + subsequent <a href="../sections.html#mergin">configuration section</a>, + unless a different authentication type is specified. If no + authentication is desired for a subsection of an authenticated + section, the authentication type <code>None</code> may be used; + in the following example, clients may access the + <code>/www/docs/public</code> directory without authenticating:</p> + + <pre class="prettyprint lang-config"><Directory "/www/docs"> + AuthType Basic + AuthName Documents + AuthBasicProvider file + AuthUserFile "/usr/local/apache/passwd/passwords" + Require valid-user +</Directory> + +<Directory "/www/docs/public"> + AuthType None + Require all granted +</Directory></pre> + + + <p>From 2.4.55, <a href="../expr.html">expression syntax</a> can be + used inside the directive to specify the type dynamically.</p> + + <div class="note">When disabling authentication, note that clients which have + already authenticated against another portion of the server's document + tree will typically continue to send authentication HTTP headers + or cookies with each request, regardless of whether the server + actually requires authentication for every resource.</div> + +<h3>See also</h3> +<ul> +<li><a href="../howto/auth.html">Authentication, Authorization, + and Access Control</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_core.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_core.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_core.html.fr.utf8 b/docs/manual/mod/mod_authn_core.html.fr.utf8 new file mode 100644 index 0000000..316e3c6 --- /dev/null +++ b/docs/manual/mod/mod_authn_core.html.fr.utf8 @@ -0,0 +1,297 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_core - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authn_core</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Le noyau de l'authentification</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_core_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_core.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit le coeur des fonctionnalités d'authentification + permettant d'accorder ou de refuser l'accès à certaines zones du + site web. Les directives fournies par le module + <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> sont communes à tous les + fournisseurs d'authentification.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#authnalias">Création d'alias de fournisseurs +d'authentification</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authnprovideralias"><AuthnProviderAlias></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_core">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authnalias" id="authnalias">Création d'alias de fournisseurs +d'authentification</a></h2> + + <p>Il est possible de créer des fournisseurs d'authentification + étendus dans le fichier de configuration et de leur assigner un + alias. Le fournisseur ainsi nommé peut alors être référencé à l'aide + des directives <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> tout comme + un fournisseur d'authentification de base. Outre la possibilité de + créer et attribuer un alias à un fournisseur étendu, le même + fournisseur d'authentification peut aussi être référencé par + plusieurs sections relatives à une zone du site web.</p> + + <h3><a name="example" id="example">Exemples</a></h3> + + <p>Cet exemple vérifie les mots de passe dans deux fichiers + textes différents.</p> + + <div class="example"><h3>Vérification dans plusieurs fichiers de mots de + passe au format texte</h3><pre class="prettyprint lang-config"># Première vérification +<AuthnProviderAlias file file1> + AuthUserFile "/www/conf/passwords1" +</AuthnProviderAlias> + +# Vérification suivante +<AuthnProviderAlias file file2> + AuthUserFile "/www/conf/passwords2" +</AuthnProviderAlias> + +<Directory "/var/web/pages/secure"> + AuthBasicProvider file1 file2 + + AuthType Basic + AuthName "Protected Area" + Require valid-user +</Directory></pre> +</div> + + + + <p>Dans l'exemple ci-dessous, deux fournisseurs + d'authentification ldap sont créés à partir du fournisseur ldap + de base, et se voient attribuer un alias. L'authentification + d'une même zone peut alors être traitée par plusieurs serveurs + ldap :</p> + + <div class="example"><h3>Vérification auprès de plusieurs serveurs + LDAP</h3><pre class="prettyprint lang-config"><AuthnProviderAlias ldap ldap-alias1> + AuthLDAPBindDN cn=youruser,o=ctx + AuthLDAPBindPassword yourpassword + AuthLDAPURL ldap://ldap.host/o=ctx + </AuthnProviderAlias> + <AuthnProviderAlias ldap ldap-other-alias> + AuthLDAPBindDN cn=yourotheruser,o=dev + AuthLDAPBindPassword yourotherpassword + AuthLDAPURL ldap://other.ldap.host/o=dev?cn +</AuthnProviderAlias> + +Alias "/secure" "/webpages/secure" +<Directory "/webpages/secure"> + + AuthBasicProvider ldap-other-alias ldap-alias1 + + AuthType Basic + AuthName LDAP_Protected Place + Require valid-user + # Notez que Require ldap-* ne fonctionnerait pas ici, car + # AuthnProviderAlias ne fournit pas de configuration pour les + # fournisseurs d'autorisation implémentés dans le même module que le + # fournisseur d'authentification. +</Directory></pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authname" id="authname">Directive</a> <a name="AuthName" id="AuthName">AuthName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'identifiant de l'autorisation à utiliser avec +l'authentification HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthName <var>domaine d'autorisation</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_core</td></tr> +</table> + <p>Cette directive permet de définir l'identifiant d'autorisation + pour un répertoire. Cet identifiant est fourni au client de façon à + ce qu'il sache quels nom d'utilisateur et mot de passe envoyer. + <code class="directive">AuthName</code> accepte un seul argument ; s'il + contient des espaces, il doit être entouré de guillemets. Pour + pouvoir fonctionner, la directive <code class="directive">AuthName</code> + doit être utilisée en combinaison avec les directives <code class="directive"><a href="#authtype">AuthType</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, ainsi que des + directives comme <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">AuthName "Top Secret"</pre> + + + <p>La chaîne fournie comme argument à <code>AuthName</code> + apparaîtra dans la boîte de dialogue d'authentification pour la + plupart des navigateurs.</p> + + <p>A partir de la version 2.4.55 du serveur HTTP Apache, il est possible de + définir cette directive en utilisant la <a href="../expr.html">syntaxe des + expressions</a> pour spécifier l'identifiant d'autorisation de manière + dynamique.</p> + + <p>Exemple :</p> + + <pre class="prettyprint lang-config">AuthName "%{HTTP_HOST}"</pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../howto/auth.html">Authentification, autorisation et contrôle + d'accès</a></li> +<li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authnprovideralias" id="authnprovideralias">Directive</a> <a name="AuthnProviderAlias" id="AuthnProviderAlias"><AuthnProviderAlias></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui constituent une +extension d'un fournisseur d'authentification de base et lui attribue +l'alias spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><AuthnProviderAlias <var>alias-fournisseur</var>> +... </AuthnProviderAlias></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_core</td></tr> +</table> + <p>Les balises <code><AuthnProviderAlias></code> et + <code></AuthnProviderAlias></code> permettent de regrouper un + ensemble de directives d'authentification qui seront référencées par + l'alias spécifié à l'aide des directives <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p> + + <div class="note">Cette directive n'a aucune influence sur le processus + d'autorisation, même pour les modules qui fournissent à la fois + l'authentification et l'autorisation.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authtype" id="authtype">Directive</a> <a name="AuthType" id="AuthType">AuthType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type d'authentification utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthType None|Basic|Digest|Form</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_core</td></tr> +</table> + <p>Cette directive permet de définir le type d'authentification + utilisateur pour un répertoire. Les types d'authentification + disponibles sont <code>None</code>, <code>Basic</code> (implémenté + par <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>), <code>Digest</code> + (implémenté par <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>), et + <code>Form</code> (implémenté par + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>).</p> + + <p>Pour mettre en oeuvre l'authentification, vous devez aussi + utiliser les directives <code class="directive"><a href="#authname">AuthName</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. De plus, le serveur + doit pouvoir disposer d'un module fournisseur d'authentification + comme <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et d'un module d'autorisation + comme <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p> + + <p>Le type d'authentification <code>None</code> désactive + l'authentification. Lorsqu'une authentification est définie, elle + est en général héritée par chacune des <a href="../sections.html#mergin">sections de configuration</a> qui + suivent, à moins qu'un autre type d'authentification ne soit + spécifié. Si l'on ne souhaite pas mettre en oeuvre + d'authentification pour une sous-section d'une section authentifiée, + on doit utiliser le type d'authentification <code>None</code> ; dans + l'exemple suivant, les clients peuvent accéder au répertoire + <code>/www/docs/public</code> sans devoir s'authentifier :</p> + + <pre class="prettyprint lang-config"><Directory "/www/docs"> + AuthType Basic + AuthName Documents + AuthBasicProvider file + AuthUserFile "/usr/local/apache/passwd/passwords" + Require valid-user +</Directory> + +<Directory "/www/docs/public"> + AuthType None + Require all granted +</Directory></pre> + + + <p>A partir de la version 2.4.55, il est possible de définir cette + directive en utilisant la <a href="../expr.html">syntaxe des expressions</a> pour + spécifier le type d'authentification de manière dynamique.</p> + + <div class="note">Veuillez noter que, lorsque l'authentification n'est pas + activée, les clients qui se sont déjà authentifiés pour une autre + zone de l'arborescence du site continueront en général à envoyer des + en-tête d'authentification HTTP ou des cookies avec chaque requête, + sans se préoccuper de savoir si le serveur nécessite vraiment une + authentification pour chaque ressource.</div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../howto/auth.html">Authentification, autorisation et contrôle + d'accès</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbd.html b/docs/manual/mod/mod_authn_dbd.html new file mode 100644 index 0000000..2cb451c --- /dev/null +++ b/docs/manual/mod/mod_authn_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_dbd.html.en b/docs/manual/mod/mod_authn_dbd.html.en new file mode 100644 index 0000000..fe3a21a --- /dev/null +++ b/docs/manual/mod/mod_authn_dbd.html.en @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_dbd - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authn_dbd</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using an SQL database</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authn_dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authn_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authentication front-ends such as + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> and <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + to authenticate users by looking up users in SQL tables. + Similar functionality is provided by, for example, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>.</p> + <p>This module relies on <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> to specify + the backend database driver and connection parameters, and + manage the database connections.</p> + + <p>When using <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, this module is invoked via the + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> or + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> + with the <code>dbd</code> value.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#socache">Performance and Caching</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Configuration Example</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Exposing Login Information</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbd">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbd">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li> +<li><a href="../misc/password_encryptions.html">Password Formats</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="socache" id="socache">Performance and Caching</a></h2> + +<p>Some users of DBD authentication in HTTPD 2.2/2.4 have reported that it +imposes a problematic load on the database. This is most likely where +an HTML page contains hundreds of objects (e.g. images, scripts, etc) +each of which requires authentication. Users affected (or concerned) +by this kind of problem should use <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> +to cache credentials and take most of the load off the database.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Configuration Example</a></h2> + +<p>This simple example shows use of this module in the context of +the Authentication and DBD frameworks.</p> +<pre class="prettyprint lang-config"># mod_dbd configuration +# UPDATED to include authentication caching +DBDriver pgsql +DBDParams "dbname=apacheauth user=apache password=xxxxxx" + +DBDMin 4 +DBDKeep 8 +DBDMax 20 +DBDExptime 300 + +<Directory "/usr/www/myhost/private"> + # mod_authn_core and mod_auth_basic configuration + # for mod_authn_dbd + AuthType Basic + AuthName "My Server" + + # To cache credentials, put socache ahead of dbd here + AuthBasicProvider socache dbd + + # Also required for caching: tell the cache to cache dbd lookups! + AuthnCacheProvideFor dbd + AuthnCacheContext my-server + + # mod_authz_core configuration + Require valid-user + + # mod_authn_dbd SQL query to authenticate a user + AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s" +</Directory></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exposed" id="exposed">Exposing Login Information</a></h2> + +<p> +Whenever a query is made to the database server, all +column values in the first row returned by the query are placed in the +environment, using environment variables with the prefix "AUTHENTICATE_". +</p> +<p>If a database query for example returned the username, full name +and telephone number of a user, a CGI program will have access to +this information without the need to make a second independent database +query to gather this additional information.</p> +<p>This has the potential to dramatically simplify the coding and +configuration required in some web applications. +</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBDUserPWQuery" id="AuthDBDUserPWQuery">AuthDBDUserPWQuery</a> <a name="authdbduserpwquery" id="authdbduserpwquery">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SQL query to look up a password for a user</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBDUserPWQuery <var>query</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr> +</table> + <p>The <code class="directive">AuthDBDUserPWQuery</code> specifies an + SQL query to look up a password for a specified user. The user's ID + will be passed as a single string parameter when the SQL query is + executed. It may be referenced within the query statement using + a <code>%s</code> format specifier.</p> + <pre class="prettyprint lang-config">AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"</pre> + + <p>The first column value of the first row returned by the query + statement should be a string containing the encrypted password. + Subsequent rows will be ignored. If no rows are returned, the user + will not be authenticated through <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> + <p>Any additional column values in the first row returned by + the query statement will be stored as environment variables with + names of the form <code>AUTHENTICATE_<var>COLUMN</var></code>. + </p> + <p>The encrypted password format depends on which authentication + frontend (e.g. <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>) is being used. See <a href="../misc/password_encryptions.html">Password Formats</a> for + more information.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBDUserRealmQuery" id="AuthDBDUserRealmQuery">AuthDBDUserRealmQuery</a> <a name="authdbduserrealmquery" id="authdbduserrealmquery">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SQL query to look up a password hash for a user and realm. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBDUserRealmQuery <var>query</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr> +</table> + <p>The <code class="directive">AuthDBDUserRealmQuery</code> specifies an + SQL query to look up a password for a specified user and realm in a + digest authentication process. + The user's ID and the realm, in that order, will be passed as string + parameters when the SQL query is executed. They may be referenced + within the query statement using <code>%s</code> format specifiers.</p> + <pre class="prettyprint lang-config">AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"</pre> + + <p>The first column value of the first row returned by the query + statement should be a string containing the encrypted password. + Subsequent rows will be ignored. If no rows are returned, the user + will not be authenticated through <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> + <p>Any additional column values in the first row returned by + the query statement will be stored as environment variables with + names of the form <code>AUTHENTICATE_<var>COLUMN</var></code>. + </p> + <p>The encrypted password format depends on which authentication + frontend (e.g. <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>) is being used. See <a href="../misc/password_encryptions.html">Password Formats</a> for + more information.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbd.html.fr.utf8 b/docs/manual/mod/mod_authn_dbd.html.fr.utf8 new file mode 100644 index 0000000..1da5eb1 --- /dev/null +++ b/docs/manual/mod/mod_authn_dbd.html.fr.utf8 @@ -0,0 +1,248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_dbd - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authn_dbd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide d'une base de données +SQL</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet aux frontaux d'authentification comme + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + d'authentifier les utilisateurs en les recherchant dans une base de + données SQL. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, par exemple, fournit + une fonctionnalité similaire.</p> + <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le + pilote de la base de données sous-jacente et les paramètres de + connexion, mais aussi pour gérer les connexions à la base de + données.</p> + + <p>Si l'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, on peut invoquer ce module en + affectant la valeur <code>dbd</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#socache">Performances et mise en cache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de connexion</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserpwquery">AuthDBDUserPWQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li> +<li><a href="../misc/password_encryptions.html">Formats de mots de +passe</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="socache" id="socache">Performances et mise en cache</a></h2> + +<p>Certains utilisateurs de l'authentification DBD sous HTTPD 2.2/2.4 ont +signalé une charge problématique au niveau de la base de données. Cela +se produit en général lorsqu'une page HTML contient des centaines d'objets +(comme des images, des scripts, etc...), chacun d'entre eux nécessitant +une authentification. Les utilisateurs qui rencontrent ce genre de +problème peuvent utiliser le module <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> +qui permet de mettre les données d'authentification en cache, et +soulager ainsi la base de données de la plus grande partie de la charge.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Exemple de configuration</a></h2> + +<p>Voici un exemple simple d'utilisation de ce module dans un contexte +d'authentification et de bases de données.</p> +<pre class="prettyprint lang-config"># configuration de mod_dbd +# MISE À JOUR pour inclure la mise en cache de l'authentification +DBDriver pgsql +DBDParams "dbname=apacheauth user=apache password=xxxxxx" + +DBDMin 4 +DBDKeep 8 +DBDMax 20 +DBDExptime 300 + +<Directory "/usr/www/mon-serveur/private"> + # configuration de mod_authn_core et mod_auth_basic + # pour mod_authn_dbd + AuthType Basic + AuthName "Mon serveur" + + # Pour mettre en cache les données d'authentification, placez socache + # avant dbd + AuthBasicProvider socache dbd + + # Aussi nécessaire à la mise en cache : dire au cache de mettre en + # cache les recherches dbd ! + AuthnCacheProvideFor dbd + AuthnCacheContext mon-serveur + + # configuration de mod_authz_core + Require valid-user + + # la requête SQL de mod_authn_dbd pour authentifier un utilisateur + AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s" +</Directory></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exposed" id="exposed">Mise à disposition des informations de connexion</a></h2> + +<p> +Pour chaque requête envoyée au serveur de +base de données, toutes les valeurs de colonnes du premier +enregistrement renvoyé par la requête sont affectées à des variables +d'environnement avec le préfixe "AUTHENTICATE_". +</p> +<p>Par exemple, si une requête renvoie un nom d'utilisateur, un nom +complet et un numéro de téléphone, un programme CGI pourra accéder à ces +informations sans avoir besoin d'effectuer une deuxième requête vers la +base de données.</p> +<p>Ceci va entraîner une simplification considérable du code et de la +configuration nécessaire de certaines applications web. +</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdbduserpwquery" id="authdbduserpwquery">Directive</a> <a name="AuthDBDUserPWQuery" id="AuthDBDUserPWQuery">AuthDBDUserPWQuery</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier le mot de passe d'un +utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserPWQuery <var>requête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr> +</table> + <p>La directive <code class="directive">AuthDBDUserPWQuery</code> permet de + spécifier une requête servant à vérifier le mot de passe d'un + utilisateur donné. L'identifiant utilisateur sera transmis comme + paramètre sous forme d'une seule chaîne de caractères lorsque la + requête sera exécutée. Cet identifiant est référencé dans la requête + en utilisant le spécificateur de format <code>%s</code>.</p> + <pre class="prettyprint lang-config">AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"</pre> + + <p>La première colonne du premier enregistrement renvoyé par la + requête se présentera sous la forme d'une chaîne de caractères + contenant le mot de passe chiffré. Les enregistrements suivants sont + ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur ne + sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> + <p>Toute valeur de colonne supplémentaire + du premier enregistrement renvoyé par la requête sera stockée dans + une variable d'environnement dont le nom aura la forme + <code>AUTHENTICATE_<var>valeur-colonne</var></code>. + </p> + <p>Le format du mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour + plus de détails.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdbduserrealmquery" id="authdbduserrealmquery">Directive</a> <a name="AuthDBDUserRealmQuery" id="AuthDBDUserRealmQuery">AuthDBDUserRealmQuery</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier une empreinte de mot de +passe pour un utilisateur et un identifiant d'authentification. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserRealmQuery <var>requête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr> +</table> + <p>La directive <code class="directive">AuthDBDUserRealmQuery</code> permet + de spécifier une requête SQL servant à vérifier une empreinte de mot + de passe pour un utilisateur et un identifiant d'authentification + donnés au cours d'un processus d'authentification digest. Les + identifiants de l'utilisateur et de l'authentification + sont passés dans cet ordre comme paramètres à l'exécution de la + requête. Ils sont référencés dans la chaîne de la requête en + utilisant des spécificateurs de format <code>%s</code>.</p> + <pre class="prettyprint lang-config">AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"</pre> + + <p>La première colonne du premier enregistrement renvoyé par la + requête se présentera sous la forme d'une chaîne de caractères + contenant le mot de passe chiffré. Les enregistrements suivants + seront ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur + ne sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> + <p>Toute valeur de colonne supplémentaire + du premier enregistrement renvoyé par la requête sera stockée dans + une variable d'environnement avec un nom de la forme + <code>AUTHENTICATE_<var>COLONNE</var></code>. + </p> + <p>Le format du mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour + plus de détails.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html b/docs/manual/mod/mod_authn_dbm.html new file mode 100644 index 0000000..51e1b37 --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_dbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbm.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_dbm.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authn_dbm.html.en b/docs/manual/mod/mod_authn_dbm.html.en new file mode 100644 index 0000000..47fce75 --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.en @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_dbm - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authn_dbm</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_dbm.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using DBM files</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authn_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authn_dbm.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authentication front-ends such as + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> and <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + to authenticate users by looking up users in <dfn>dbm</dfn> password + files. Similar functionality is provided by + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>.</p> + + <p>When using <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, this module is invoked via the + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> or + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> + with the <code>dbm</code> value.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmtype">AuthDBMType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmuserfile">AuthDBMUserFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbm">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbm">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code></li> +<li><code class="program"><a href="../programs/htdbm.html">htdbm</a></code></li> +<li><a href="../misc/password_encryptions.html">Password Formats</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMType" id="AuthDBMType">AuthDBMType</a> <a name="authdbmtype" id="authdbmtype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the type of database file that is used to +store passwords</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p>Sets the type of database file that is used to store the passwords. + The default database type is determined at compile time. The + availability of other types of database files also depends on + <a href="../programs/configure.html#options">compile-time settings</a>.</p> + + <p>For example, in order to enable the support for Berkeley DB + (correspondent to the <code>db</code> type) the + <code>--with-berkeley-db</code> option needs to be added to httpd's + configure to generate the necessary DSO.</p> + + <p>It is crucial that whatever program you use to create your password + files is configured to use the same type of database.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMUserFile" id="AuthDBMUserFile">AuthDBMUserFile</a> <a name="authdbmuserfile" id="authdbmuserfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the name of a database file containing the list of users and +passwords for authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBMUserFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p>The <code class="directive">AuthDBMUserFile</code> directive sets the + name of a DBM file containing the list of users and passwords for + user authentication. <var>File-path</var> is the absolute path to + the user file.</p> + + <p>The user file is keyed on the username. The value for a user is + the encrypted password, optionally followed by a colon and arbitrary + data. The colon and the data following it will be ignored by the + server.</p> + + <div class="warning"><h3>Security:</h3> + <p>Make sure that the <code class="directive">AuthDBMUserFile</code> is stored + outside the document tree of the web-server; do <em>not</em> put it in + the directory that it protects. Otherwise, clients will be able to + download the <code class="directive">AuthDBMUserFile</code>.</p> + </div> + + <p>The encrypted password format depends on which authentication + frontend (e.g. <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>) is being used. See <a href="../misc/password_encryptions.html">Password Formats</a> for + more information.</p> + + <p>Important compatibility note: The implementation of + <code>dbmopen</code> in the Apache modules reads the string length of + the hashed values from the DBM data structures, rather than relying + upon the string being NULL-appended. Some applications, such as + the Netscape web server, rely upon the string being + NULL-appended, so if you are having trouble using DBM files + interchangeably between applications this may be a part of the + problem.</p> + + <p>A perl script called + <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> is included with + Apache. This program can be used to create and update DBM + format password files for use with this module. Another + tool for maintaining the DBM files is the included program + <code class="program"><a href="../programs/htdbm.html">htdbm</a></code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_dbm.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html.fr.utf8 b/docs/manual/mod/mod_authn_dbm.html.fr.utf8 new file mode 100644 index 0000000..93e324f --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.fr.utf8 @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_dbm - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authn_dbm</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant des fichiers +DBM</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbm.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet aux frontaux comme + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + d'authentifier les utilisateurs en les recherchant dans des fichiers + de mots de passe <dfn>dbm</dfn>. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> + fournit une fonctionnalité similaire.</p> + + <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, ce module est invoqué en affectant + la valeur <code>dbm</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmtype">AuthDBMType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmuserfile">AuthDBMUserFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code></li> +<li><code class="program"><a href="../programs/htdbm.html">htdbm</a></code></li> +<li><a href="../misc/password_encryptions.html">Formats de mots de +passe</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdbmtype" id="authdbmtype">Directive</a> <a name="AuthDBMType" id="AuthDBMType">AuthDBMType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de fichier de base de données utilisé pour +stocker les mots de passe</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p>Cette directive permet de définir le type de fichier de base de + données utilisé pour stocker les mots de passe. Le type de base de + données par défaut est défini à la compilation. La liste des autres + types de bases de données disponibles dépend aussi de la <a href="../programs/configure.html#options">configuration de la + compilation</a>.</p> + + <p>Par exemple, pour activer le support de Berkeley DB (correspondant au + type <code>db</code>), il faut ajouter l'option + <code>--with-berkeley-db</code> à la ligne de commande configure de httpd + pour générer le DSO approprié.</p> + + <p>Il est impératif que le programme que vous utilisez pour créer + vos fichiers de mots de passe soit configuré pour utiliser le même + type de base de données.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdbmuserfile" id="authdbmuserfile">Directive</a> <a name="AuthDBMUserFile" id="AuthDBMUserFile">AuthDBMUserFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier de base de données pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBMUserFile <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p>La directive <code class="directive">AuthDBMUserFile</code> permet de + définir le nom d'un fichier de base de données pour + l'authentification contenant la liste des utilisateurs et de leurs + mots de passe. <var>chemin-fichier</var> doit être un chemin absolu + vers le fichier de base de données.</p> + + <p>La clé du fichier de base de données est le nom de l'utilisateur. + La valeur associée est le mot de passe chiffré, éventuellement suivi + par un ':' et des données arbitraires. Ce ':' ainsi que les données + arbitraires qui suivent seront ignorées par le serveur.</p> + + <div class="warning"><h3>Sécurité :</h3> + <p>Faites en sorte que le fichier spécifié par la directive + <code class="directive">AuthDBMUserFile</code> soit stocké en dehors de + l'arborescence des documents du serveur web ; en particulier, ne + l'enregistrez <em>pas</em> dans le répertoire qu'il protège, faute + de quoi, les clients auraient la possibilité de + télécharger le fichier des mots de passe.</p> + </div> + + <p>Le format de mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de + passe</a> pour plus de détails.</p> + + <p>Note importante concernant la compatibilité : l'implémentation de + <code>dbmopen</code> dans les modules d'Apache lit la longueur de la + chaîne correspondant aux données chiffrées dans la structure des + données DBM, plutôt que de calculer cette longueur en se basant sur + le caractère nul final. Certaines applications par contre, comme le + serveur web Netscape, calculent cette longueur en se basant sur + le caractère nul final ; par conséquent, si vous rencontrez des + difficultés en échangeant des fichiers DBM entre plusieurs + applications, le problème peut éventuellement s'expliquer par cette + différence d'implémentation.</p> + + <p>Un script perl nommé <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> est fourni avec + Apache. On peut utiliser ce programme pour créer et mettre à jour + les fichiers de mots de passe au format DBM que ce module + utilise. Il existe également un autre outil pour gérer les fichiers DBM, + inclus dans le programme <code class="program"><a href="../programs/htdbm.html">htdbm</a></code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html.ja.utf8 b/docs/manual/mod/mod_authn_dbm.html.ja.utf8 new file mode 100644 index 0000000..0eba74f --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.ja.utf8 @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_dbm - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_authn_dbm</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>DBM ファイルを用いたユーザ認証</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>authn_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_authn_dbm.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 以降</td></tr></table> +<h3>概要</h3> + + <p>本モジュールは <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> や + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> といった認証フロントエンドに対して、 + <dfn>dbm</dfn> パスワードファイル内からのユーザ検索による + ユーザ認証機能を提供します。似たような機能は <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> + でも提供されています。</p> + + <p><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> や <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> + を使用する際には、このモジュールは + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> や + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprivider">AuthDigestPrivider</a></code> + で <code>dbm</code> と指定することで起動されます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmtype">AuthDBMType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmuserfile">AuthDBMUserFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbm">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbm">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMType" id="AuthDBMType">AuthDBMType</a> <a name="authdbmtype" id="authdbmtype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>パスワードを保存するために必要なデータベースファイルの種類を +設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AuthDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p>パスワードを保存するために使用するデータベースファイルの種類を + 設定します。デフォルトのデータベースの種類はコンパイル時に決まります。 + 他の種類のデータベースが使用可能かどうかも <a href="../install.html#dbm">コンパイル時の設定</a>に依存します。</p> + + <p>パスワードファイルを作成するのに使用するプログラムが同じ種類のデータベースを + 使用するように設定することは非常に重要です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMUserFile" id="AuthDBMUserFile">AuthDBMUserFile</a> <a name="authdbmuserfile" id="authdbmuserfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>認証用のユーザとパスワードのリストを保持している +データベースファイル名を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthDBMUserFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p><code class="directive">AuthDBMUserFile</code> ディレクティブは + 認証用のユーザとパスワードのリストを保持している DBM ファイルの + 名前を設定します。<var>File-path</var> はユーザファイルへの + 絶対パスです。</p> + + <p>ユーザファイルのキーはユーザ名です。ユーザに対して返される値は + 暗号化されたパスワードで、その後に、コロンに続いて任意のデータが + 続いていることもあります。コロンとその後のデータはサーバは + 無視します。</p> + + <div class="warning"><h3>セキュリティ</h3> + <p><code class="directive">AuthDBMUserFile </code> は、 + ウェブサーバのドキュメントツリーの外側に保管するようにしてください。 + 保護しようとしているディレクトリ以下には + <strong>置かないで下さい</strong>。 + そうしないとクライアントが <code class="directive">AuthUserFile</code> を + ダウンロードできてしまいます。</p> + </div> + + <p>重要な互換性に関する注意: apache module の <code>dbmopen</code> の実装は + 文字列が NULL で終わっていることに依存するのではなく、DBM データストラクチャ + のハッシュ値の文字列の長さを読み取ります。Netscape ウェブサーバなど、 + アプリケーションの中には文字列が NULL で終わっていることに依存している + ものがあります。ですから、異なるアプリケーション間での DBM ファイルの + 使用に問題がある場合は、これが原因になっている可能性があります。</p> + + <p>Apache には <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> という + perl スクリプトが含まれています。このプログラムを使ってこの + モジュールが使用する DBM フォーマットのパスワードファイルを作成したり + 更新したりすることができます。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr b/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr new file mode 100644 index 0000000..5191a7b --- /dev/null +++ b/docs/manual/mod/mod_authn_dbm.html.ko.euc-kr @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_dbm - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_authn_dbm</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>DBM </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>authn_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_authn_dbm.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> մܸ + <dfn>dbm</dfn> ȣϿ ڸ ãƼ Ѵ. + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> Ѵ.</p> + + <p><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>̳ + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> Ҷ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> + <code>dbm</code> ϸ Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmtype">AuthDBMType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmuserfile">AuthDBMUserFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbm">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbm">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li> +<li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMType" id="AuthDBMType">AuthDBMType</a> <a name="authdbmtype" id="authdbmtype">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȣ ϴ ͺ̽ +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p>ȣ ϴ ͺ̽ Ѵ. ⺻ + ͺ̽ ϶ ǴѴ. ִ ٸ + ͺ̽ <a href="../install.html#dbm"> + </a> ȴ.</p> + + <p>ȣ α ͺ̽ + ϵ ؾ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMUserFile" id="AuthDBMUserFile">AuthDBMUserFile</a> <a name="authdbmuserfile" id="authdbmuserfile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ڿ ȣ ϴ ͺ̽ +ϸ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDBMUserFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_dbm</td></tr> +</table> + <p><code class="directive">AuthDBMUserFile</code> þ + ڿ ȣ ϴ DBM ϸ + Ѵ. <var>File-path</var> ̴.</p> + + <p> ڸ Ű Ѵ. ڿ + ڵ ȣ̴. ȣ ڿ ݷа + ִ. ݷа ڿ Ѵ.</p> + + <div class="warning"><h3>:</h3> + <p><code class="directive">AuthDBMUserFile</code> + ۿ Ȯ϶. ȣ 丮 ȿ + <em></em>. , Ŭ̾Ʈ + <code class="directive">AuthDBMUserFile</code> ٿε + ִ.</p> + </div> + + <p>߿ ȣȯ : ġ <code>dbmopen</code> + ڿ NULL ʰ DBM ڷᱸ + ؽ̰ ڿ ̸ д´. Netscape + α ڿ NULL ٰ ϱ + α DBM ϸ ִ.</p> + + <p>ġ <a href="../programs/dbmmanage.html">dbmmanage</a> + Perl ũƮ Ѵ. α + DBM ȣ Ѵ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_dbm.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html b/docs/manual/mod/mod_authn_file.html new file mode 100644 index 0000000..dd8ad7d --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_file.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_file.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_file.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_file.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authn_file.html.en b/docs/manual/mod/mod_authn_file.html.en new file mode 100644 index 0000000..629b0c5 --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.en @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_file - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authn_file</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_file.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using text files</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authn_file_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authn_file.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authentication front-ends such as + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> and <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + to authenticate users by looking up users in plain text password files. + Similar functionality is provided by <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>.</p> + + <p>When using <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, this module is invoked via the + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> or + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> + with the <code>file</code> value.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authuserfile">AuthUserFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_file">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_file">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code></li> +<li><code class="program"><a href="../programs/htdigest.html">htdigest</a></code></li> +<li><a href="../misc/password_encryptions.html">Password Formats</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthUserFile" id="AuthUserFile">AuthUserFile</a> <a name="authuserfile" id="authuserfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the name of a text file containing the list of users and +passwords for authentication</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthUserFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_file</td></tr> +</table> + <p>The <code class="directive">AuthUserFile</code> directive sets the name + of a textual file containing the list of users and passwords for + user authentication. <var>File-path</var> is the path to the user + file. If it is not absolute, it is treated as relative to the + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <p>Each line of the user file contains a username followed by + a colon, followed by the encrypted password. If the same user + ID is defined multiple times, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> will + use the first occurrence to verify the password.</p> + + <p>The encrypted password format depends on which authentication + frontend (e.g. <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>) is being used. See <a href="../misc/password_encryptions.html">Password Formats</a> for + more information.</p> + + <p>For <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, use the utility <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> + which is installed as part of the binary distribution, or which + can be found in <code>src/support</code>. See the + <a href="../programs/htpasswd.html">man page</a> for more details. + In short:</p> + + <p>Create a password file <code>Filename</code> with + <code>username</code> as the initial ID. It will prompt for + the password:</p> + + <div class="example"><p><code> + htpasswd -c Filename username + </code></p></div> + + <p>Add or modify <code>username2</code> in the password file + <code>Filename</code>:</p> + + <div class="example"><p><code> + htpasswd Filename username2 + </code></p></div> + + <p>Note that searching large text files is <em>very</em> + inefficient; <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> should be used + instead.</p> + + <p>For <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, use <code class="program"><a href="../programs/htdigest.html">htdigest</a></code> + instead. Note that you cannot mix user data for Digest Authentication + and Basic Authentication within the same file.</p> + + <div class="warning"><h3>Security</h3> + <p>Make sure that the <code class="directive">AuthUserFile</code> is + stored outside the document tree of the web-server. Do + <strong>not</strong> put it in the directory that it protects. + Otherwise, clients may be able to download the + <code class="directive">AuthUserFile</code>.</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_file.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_file.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html.fr.utf8 b/docs/manual/mod/mod_authn_file.html.fr.utf8 new file mode 100644 index 0000000..ec29f39 --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.fr.utf8 @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_file - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authn_file</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide de fichiers +texte</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_file_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_file.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet aux frontaux d'authentification comme + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + d'authentifier les utilisateurs en les recherchant dans des fichiers + de mots de passe au format texte. <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> + fournit une fonctionnalité similaire.</p> + + <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, ce module peut être invoqué en + affectant la valeur <code>file</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authuserfile">AuthUserFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_file">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_file">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code></li> +<li><code class="program"><a href="../programs/htdigest.html">htdigest</a></code></li> +<li><a href="../misc/password_encryptions.html">Formats de mots de +passe</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authuserfile" id="authuserfile">Directive</a> <a name="AuthUserFile" id="AuthUserFile">AuthUserFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier texte pour l'authentification +contenant la liste des utilisateurs et de leurs mots de +passe</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthUserFile <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_file</td></tr> +</table> + <p>La directive <code class="directive">AuthUserFile</code> permet de + définir le nom d'un fichier texte pour l'authentification contenant + la liste des utilisateurs et de leurs mots de passe. + <var>chemin-fichier</var> est le chemin vers le fichier + des utilisateurs. S'il n'est pas absolu, il est considéré comme + relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <p>Chaque ligne du fichier des utilisateurs se compose du nom de + l'utilisateur, du caractère ':' et du mot de passe chiffré. Si le + même identifiant utilisateur est référencé plusieurs fois, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> utilisera la première occurrence pour + vérifier le mot de passe.</p> + + <p>Le format du mot de passe chiffré dépend du frontal + d'authentification utilisé (par exemple + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les + <a href="../misc/password_encryptions.html">Formats de mots de + passe</a> pour plus de détails.</p> + + <p>Pour <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, utilisez le programme + <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> fourni avec la distribution binaire, + mais que vous trouverez aussi dans le répertoire + <code>src/support</code> de l'arborescence des sources. Voir sa <a href="../programs/htpasswd.html">page de manuel</a> pour plus de + détails. En bref :</p> + + <p>On crée un fichier de mots de passe <code>nom-fichier</code> avec + <code>nom-utilisateur</code> comme identifiant initial. Le mot de + passe correspondant sera alors demandé :</p> + + <div class="example"><p><code> + htpasswd -c nom-fichier nom-utilisateur + </code></p></div> + + <p>Pour ajouter ou modifier <code>nom-utilisateur2</code> dans le + fichier de mots de passe <code>nom-fichier</code> :</p> + + <div class="example"><p><code> + htpasswd nom-fichier nom-utilisateur2 + </code></p></div> + + <p>Noter qu'une recherche dans de grands fichiers texte peut être + très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM + avec la directive <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>.</p> + + <p>Pour <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, vous devez utiliser + le programme <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>. + Notez que vous ne pouvez pas mélanger des données utilisateur pour + l'Authentification HTTP à base de condensé et des données pour + l'Authentification de Base dans le même fichier.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Assurez-vous que le fichier <code class="directive">AuthUserFile</code> + soit bien stocké en dehors de l'arborescence des documents du + serveur web. Ne placez <strong>pas</strong> ce fichier dans le + répertoire qu'il protège. Dans le cas contraire, les clients + seraient en mesure de télécharger le fichier des mots de passe.</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_file.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html.ja.utf8 b/docs/manual/mod/mod_authn_file.html.ja.utf8 new file mode 100644 index 0000000..12909ac --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.ja.utf8 @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_file - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_authn_file</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>テキストファイルを用いたユーザ認証</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>authn_file_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_authn_file.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 以降</td></tr></table> +<h3>概要</h3> + + <p>本モジュールは <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> や + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> といった認証フロントエンドに対して、 + プレインテキストのパスワードファイル内からユーザを検索することで、 + ユーザ認証機能を提供します。似たような機能は <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> + でも提供されています。</p> + + <p><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> や <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> + を使用する際には、 + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> や + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprivider">AuthDigestPrivider</a></code> + で <code>file</code> と指定することでこのモジュールは起動されます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authuserfile">AuthUserFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_file">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_file">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code></li> +<li><code class="program"><a href="../programs/htdigest.html">htdigest</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthUserFile" id="AuthUserFile">AuthUserFile</a> <a name="authuserfile" id="authuserfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>認証に使用するユーザとパスワードの一覧が格納されている、 +テキストファイルの名前を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthUserFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authn_file</td></tr> +</table> + <p><code class="directive">AuthUserFile</code> ディレクティブは、 + ユーザ認証のためのユーザとパスワードの一覧を格納した + テキストファイルの名前を設定します。<var>file-path</var> + はユーザファイルへのパスです。 + もし絶対パスでなければ、 + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + からの相対パスとして扱われます。</p> + + <p>ユーザファイルの各行には、ユーザ名、コロン、 + 暗号化したパスワードを記述します。 + 同一ユーザ ID が複数回登録された時は、 + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> + は最初に見つかったパスワードを使用して認証します。</p> + + <p>バイナリ配布の一部としてインストールされるか、 + あるいは <code>src/support</code> にある + <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> + ユーティリティで、この <em>HTTP 基本認証</em> + 用パスワードファイルをメインテナンスします。 + 詳細は <a href="../programs/htpasswd.html">man + ページ</a>をご覧頂くとして、簡単には:</p> + + <p>初期 ID <code>username</code> で、<code>Filename</code> + というパスワードファイルを生成します。 + 次のコマンドを発行するとパスワードが要求されます:</p> + + <div class="example"><p><code> + htpasswd -c Filename username + </code></p></div> + + <p>パスワードファイル <code>Filename</code> に、<code>username2</code> + を追加したり修正したりします:</p> + + <div class="example"><p><code> + htpasswd Filename username2 + </code></p></div> + + <p>(訳注: 非常に多くのユーザを登録すると大きなファイルになりますが) + 大きなテキストファイルを検索するのは<em>非常に効率が悪い</em> + ということに注意してください。そのような必要のある時は、 + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> + を代わりに使ってください。</p> + + <p><em>HTTP ダイジェスト認証</em>を使用する場合は、 + <a href="../programs/htpasswd.html">htpasswd</a> + プログラムでは不十分です。その代わりに + <code class="program"><a href="../programs/htdigest.html">htdigest</a></code> + を使用してください。ダイジェスト認証用のデータと + 基本認証用のデータを同一ファイルに混ぜて保存できない、 + ということに注意してください。</p> + + <div class="warning"><h3>セキュリティ</h3> + <p><code class="directive">AuthUserFile </code> + は、ウェブサーバのドキュメントツリーの外側に保管するようにしてください。 + 保護しようとしているディレクトリ以下には、<strong>置かないで下さい</strong>。 + そうしないと <code class="directive">AuthUserFile</code> は + ダウンロードできてしまいます。</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_file.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_file.html.ko.euc-kr b/docs/manual/mod/mod_authn_file.html.ko.euc-kr new file mode 100644 index 0000000..3bcbfd9 --- /dev/null +++ b/docs/manual/mod/mod_authn_file.html.ko.euc-kr @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_file - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_authn_file</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ̿ </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>authn_file_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_authn_file.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 </td></tr></table> +<h3></h3> + + <p> <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> մܸ + Ϲ ȣϿ ڸ ãƼ Ѵ. + <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ϴ.</p> + + <p><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>̳ + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> Ҷ <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> + <code>file</code> ϸ Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authuserfile">AuthUserFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_file">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_file">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li> + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> +</li> +<li> + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> +</li> +<li><a href="../programs/htpasswd.html">htpasswd</a></li> +<li><a href="../programs/htdigest.html">htdigest</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthUserFile" id="AuthUserFile">AuthUserFile</a> <a name="authuserfile" id="authuserfile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ڸ ȣ ϴ ϸ +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthUserFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authn_file</td></tr> +</table> + <p><code class="directive">AuthUserFile</code> þ + ڸ ȣ ϴ ϸ Ѵ. + <var>File-path</var> ϰ̴. θ + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + η óѴ.</p> + + <p> ٿ ڸ, ݷ, ڵ ȣ + ´. ٿ ̵ ϸ, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> ù° ȣ + Ѵ.</p> + + <p>ϵ ̳ <code>src/support</code> ִ <a href="../programs/htpasswd.html">htpasswd</a> <em>HTTP + Basic Authentication</em> ȣ Ѵ. + ڼ <a href="../programs/htpasswd.html">manpage</a> + ϶. ϸ:</p> + + <p>ʱ ̵ <code>username</code> ȣ + <code>Filename</code> . ȣ :</p> + + <div class="example"><p><code> + htpasswd -c Filename username + </code></p></div> + + <p>ȣ <code>Filename</code> <code>username2</code> + ߰ϰų Ѵ:</p> + + <div class="example"><p><code> + htpasswd Filename username2 + </code></p></div> + + <p>ū ˻ϴ <em>ſ</em> ȿ + ϶. ڰ ٸ <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> ؾ + Ѵ.</p> + + <p><em>HTTP Digest Authentication</em> Ѵٸ <a href="../programs/htpasswd.html">htpasswd</a> ȵȴ. + <a href="../programs/htdigest.html">htdigest</a> + ؾ Ѵ. Digest Authentication Basic Authentication + ڷḦ Ͽ ϶.</p> + + <div class="warning"><h3></h3> + <p><code class="directive">AuthUserFile</code> + ۿ ġ Ȯ϶. ȣ 丮 ȿ + <em></em>. , Ŭ̾Ʈ + <code class="directive">AuthUserFile</code> ٿε ִ.</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_file.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authn_file.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_file.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_socache.html b/docs/manual/mod/mod_authn_socache.html new file mode 100644 index 0000000..9f5130b --- /dev/null +++ b/docs/manual/mod/mod_authn_socache.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authn_socache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authn_socache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_socache.html.en b/docs/manual/mod/mod_authn_socache.html.en new file mode 100644 index 0000000..5c85385 --- /dev/null +++ b/docs/manual/mod/mod_authn_socache.html.en @@ -0,0 +1,255 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_socache - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authn_socache</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_socache.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_socache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Manages a cache of authentication credentials to relieve +the load on backends</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authn_socache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authn_socache.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>Maintains a cache of authentication credentials, so that a new backend + lookup is not required for every authenticated request.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#intro">Authentication Caching</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Usage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dev">Caching with custom modules</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authncachecontext">AuthnCacheContext</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncacheenable">AuthnCacheEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncachesocache">AuthnCacheSOCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncachetimeout">AuthnCacheTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_socache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_socache">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intro" id="intro">Authentication Caching</a></h2> + <p>Some users of more heavyweight authentication such as SQL database + lookups (<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>) have reported it putting an + unacceptable load on their authentication provider. A typical case + in point is where an HTML page contains hundreds of objects + (images, scripts, stylesheets, media, etc), and a request to the page + generates hundreds of effectively-immediate requests for authenticated + additional contents.</p> + <p><code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> provides a solution to this problem by + maintaining a cache of authentication credentials.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Usage</a></h2> + <p>The authentication cache should be used where authentication + lookups impose a significant load on the server, or a backend or + network. Authentication by file (<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>) + or dbm (<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>) are unlikely to benefit, + as these are fast and lightweight in their own right (though in some + cases, such as a network-mounted file, caching may be worthwhile). + Other providers such as SQL or LDAP based authentication are more + likely to benefit, particularly where there is an observed + performance issue. Amongst the standard modules, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> manages its own cache, so only + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> will usually benefit from this cache.</p> + <p>The basic rules to cache for a provider are:</p> + <ol><li>Include the provider you're caching for in an + <code class="directive"><a href="#authncacheprovidefor">AuthnCacheProvideFor</a></code> directive.</li> + <li>List <var>socache</var> ahead of the provider you're + caching for in your <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> or <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> directive.</li> + </ol> + <p>A simple usage example to accelerate <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> + using dbm as a cache engine:</p> + <pre class="prettyprint lang-config">#AuthnCacheSOCache is optional. If specified, it is server-wide +AuthnCacheSOCache dbm +<Directory "/usr/www/myhost/private"> + AuthType Basic + AuthName "Cached Authentication Example" + AuthBasicProvider socache dbd + AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s" + AuthnCacheProvideFor dbd + Require valid-user + #Optional + AuthnCacheContext dbd-authn-example +</Directory></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="dev" id="dev">Caching with custom modules</a></h2> + <p>Module developers should note that their modules must be enabled + for caching with <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>. A single optional API function + <var>ap_authn_cache_store</var> is provided to cache credentials + a provider has just looked up or generated. Usage examples are + available in <a href="http://svn.eu.apache.org/viewvc?view=revision&revision=957072">r957072</a>, in which three authn providers are enabled for caching.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnCacheContext" id="AuthnCacheContext">AuthnCacheContext</a> <a name="authncachecontext" id="authncachecontext">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify a context string for use in the cache key</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthnCacheContext directory|server|<var>custom-string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthnCacheContext directory</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>This directive specifies a string to be used along with the supplied + username (and realm in the case of Digest Authentication) in constructing + a cache key. This serves to disambiguate identical usernames serving + different authentication areas on the server.</p> + <p>Two special values for this are <code>directory</code>, which uses + the directory context of the request as a string, and <code>server</code> + which uses the virtual host name.</p> + <p>The default is <code>directory</code>, which is also the most + conservative setting. This is likely to be less than optimal, as it + (for example) causes <var>$app-base</var>, <var>$app-base/images</var>, + <var>$app-base/scripts</var> and <var>$app-base/media</var> each to + have its own separate cache key. A better policy is to name the + <code class="directive">AuthnCacheContext</code> for the password + provider: for example a <var>htpasswd</var> file or database table.</p> + <p>Contexts can be shared across different areas of a server, where + credentials are shared. However, this has potential to become a vector + for cross-site or cross-application security breaches, so this directive + is not permitted in <var>.htaccess</var> contexts.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnCacheEnable" id="AuthnCacheEnable">AuthnCacheEnable</a> <a name="authncacheenable" id="authncacheenable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable Authn caching configured anywhere</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthnCacheEnable</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>This directive is not normally necessary: it is implied if + authentication caching is enabled anywhere in <var>httpd.conf</var>. + However, if it is not enabled anywhere in <var>httpd.conf</var> + it will by default not be initialised, and is therefore not + available in a <var>.htaccess</var> context. This directive + ensures it is initialised so it can be used in <var>.htaccess</var>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnCacheProvideFor" id="AuthnCacheProvideFor">AuthnCacheProvideFor</a> <a name="authncacheprovidefor" id="authncacheprovidefor">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify which authn provider(s) to cache for</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthnCacheProvideFor <var>authn-provider</var> [...]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>This directive specifies an authentication provider or providers + to cache for. Credentials found by a provider not listed in an + <code class="directive">AuthnCacheProvideFor</code> directive will not be cached.</p> + + <p>For example, to cache credentials found by <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> + or by a custom provider <var>myprovider</var>, but leave those looked + up by lightweight providers like file or dbm lookup alone:</p> + <pre class="prettyprint lang-config">AuthnCacheProvideFor dbd myprovider</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnCacheSOCache" id="AuthnCacheSOCache">AuthnCacheSOCache</a> <a name="authncachesocache" id="authncachesocache">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Select socache backend provider to use</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthnCacheSOCache <var>provider-name[:provider-args]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Optional provider arguments are available in +Apache HTTP Server 2.4.7 and later</td></tr> +</table> + <p>This is a server-wide setting to select a provider for the + <a href="../socache.html">shared object cache</a>, followed by + optional arguments for that provider. + Some possible values for <var>provider-name</var> are "dbm", "dc", + "memcache", or "shmcb", each subject to the appropriate module + being loaded. If not set, your platform's default will be used.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnCacheTimeout" id="AuthnCacheTimeout">AuthnCacheTimeout</a> <a name="authncachetimeout" id="authncachetimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set a timeout for cache entries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthnCacheTimeout <var>timeout</var> (seconds)</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthnCacheTimeout 300 (5 minutes)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>Caching authentication data can be a security issue, though short-term + caching is unlikely to be a problem. Typically a good solution is to + cache credentials for as long as it takes to relieve the load on a + backend, but no longer, though if changes to your users and passwords + are infrequent then a longer timeout may suit you. The default 300 + seconds (5 minutes) is both cautious and ample to keep the load + on a backend such as dbd (SQL database queries) down.</p> + <p>This should not be confused with session timeout, which is an + entirely separate issue. However, you may wish to check your + session-management software for whether cached credentials can + "accidentally" extend a session, and bear it in mind when setting + your timeout.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authn_socache.html" title="English"> en </a> | +<a href="../fr/mod/mod_authn_socache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_socache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authn_socache.html.fr.utf8 b/docs/manual/mod/mod_authn_socache.html.fr.utf8 new file mode 100644 index 0000000..bb60bd3 --- /dev/null +++ b/docs/manual/mod/mod_authn_socache.html.fr.utf8 @@ -0,0 +1,286 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authn_socache - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authn_socache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_socache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_socache.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gère un cache des données d'authentification pour diminuer +la charge des serveurs d'arrière-plan</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_socache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_socache.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table> +<h3>Sommaire</h3> + + <p>Maintient un cache des données d'authentification pour limiter + les sollicitations du serveur d'arrière-plan.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#intro">Mise en cache des données d'authentification</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dev">La mise en cache avec les modules tiers</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authncachecontext">AuthnCacheContext</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncacheenable">AuthnCacheEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncacheprovidefor">AuthnCacheProvideFor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncachesocache">AuthnCacheSOCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authncachetimeout">AuthnCacheTimeout</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_socache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_socache">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intro" id="intro">Mise en cache des données d'authentification</a></h2> + <p>Certains utilisateurs qui mettent en oeuvre une authentification + lourde s'appuyant par exemple sur des requêtes SQL + (<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>) ont signalé une charge induite + inacceptable sur leur fournisseur d'authentification. Cela se + produit typiquement dans le cas où une page HTML contient des + centaines d'objets (images, scripts, pages de styles, media, + etc...), et où une requête pour cette page génère des centaines de + sous-requêtes à effet immédiat pour des contenus supplémentaires + authentifiés.</p> + <p>Pour résoudre ce problème, <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> fournit une + solution qui permet de maintenir un cache des données + d'authentification.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Utilisation</a></h2> + <p>Le cache d'authentification doit être utilisé lorsque les + requêtes d'authentification induisent une charge significative sur le + serveur, le serveur d'arrière-plan ou le réseau. Cette mise en cache + n'apportera probablement aucune amélioration dans le cas d'une + authentification à base de fichier (<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>) + ou de base de données dbm (<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>) car ces + méthodes sont de par leur conception rapides et légères (la mise en + cache peut cependant s'avérer utile dans le cas où le fichier est + situé sur un montage réseau). Les fournisseurs d'authentification + basés sur SQL ou LDAP ont plus de chances de tirer parti de cette + mise en cache, en particulier lorsqu'un problème de performances est + détecté. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> gérant son propre cache, + seul <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> est concerné par notre sujet.</p> + <p>Les principales règles à appliquer pour la mise en cache sont :</p> + <ol><li>Inclure le fournisseur pour lequel vous voulez effectuer une + mise en cache dans une directive + <code class="directive"><a href="#authncacheprovidefor">AuthnCacheProvideFor</a></code>.</li> + <li>Mettre <var>socache</var> avant le fournisseur pour lequel + vous voulez effectuer une mise en cache dans votre directive + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</li> + </ol> + <p>Voici un exemple simple permettant d'accélérer + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et utilisant dbm comme moteur de la + mise en cache :</p> + <pre class="prettyprint lang-config"> #AuthnCacheSOCache est optionnel. S'il est défini, il l'est pour + #l'ensemble du serveur +AuthnCacheSOCache dbm +<Directory "/usr/www/myhost/private"> + AuthType Basic + AuthName "Cached Authentication Example" + AuthBasicProvider socache dbd + AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s" + AuthnCacheProvideFor dbd + Require valid-user + #Optionnel + AuthnCacheContext dbd-authn-example +</Directory></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="dev" id="dev">La mise en cache avec les modules tiers</a></h2> + <p>Les développeurs de modules doivent savoir que la mise en cache + avec <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> doit être activée dans leurs modules. La + fonction de l'API <var>ap_authn_cache_store</var> permet de + mettre en cache les données d'authentification qu'un fournisseur + vient de rechercher ou de générer. Vous trouverez des exemples + d'utilisation à <a href="http://svn.eu.apache.org/viewvc?view=revision&revision=957072">r957072</a>, où trois fournisseurs authn sont activés pour la mise + en cache.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authncachecontext" id="authncachecontext">Directive</a> <a name="AuthnCacheContext" id="AuthnCacheContext">AuthnCacheContext</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie une chaîne de contexte à utiliser dans la clé du +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheContext directory|server|<var>custom-string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthnCacheContext directory</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>Cette directive permet de spécifier une chaîne à utiliser avec le + nom d'utilisateur fourni (et le domaine d'authentification - realm - + dans le cas d'une authentification à base de condensés) lors de la + construction d'une clé de cache. Ceci permet de lever l'ambiguïté + entre plusieurs noms d'utilisateurs identiques servant différentes + zones d'authentification sur le serveur.</p> + <p>Il y a deux valeurs spéciales pour le paramètre : <code>directory</code>, + qui utilise le contexte de répertoire de la requête comme chaîne, et + <code>server</code>, qui utilise le nom du serveur virtuel.</p> + <p>La valeur par défaut est <code>directory</code>, qui est aussi la + définition la plus courante. Ceci est cependant loin d'être optimal, + car par exemple, <var>$app-base</var>, <var>$app-base/images</var>, + <var>$app-base/scripts</var> et <var>$app-base/media</var> + possèderont chacun leur propre clé de cache. Il est préférable + d'utiliser le fournisseur de mot de passe : par exemple un fichier + <var>htpasswd</var> ou une table de base de données.</p> + <p>Les contextes peuvent être partagés entre différentes zones du + serveur, où les données d'authentification sont partagées. Ceci est + cependant susceptible de créer des trous de sécurité de type + cross-site ou cross-application, et cette directive n'est donc pas + disponible dans les contextes <var>.htaccess</var>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authncacheenable" id="authncacheenable">Directive</a> <a name="AuthnCacheEnable" id="AuthnCacheEnable">AuthnCacheEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mise en cache de l'authentification en tout +endroit</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheEnable</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>Normalement, cette directive n'est pas nécessaire : l'activation + est implicite si la mise en cache de l'authentification a été + activée en tout autre endroit du fichier <var>httpd.conf</var>. Par + contre, si cette mise en cache n'a pas été activée, par défaut, elle + ne sera pas initialisée, et ne sera donc pas disponible dans un + contexte de fichier <var>.htaccess</var>. Cette directive permet + d'être sûr que la mise en cache a bien été activée et pourra + donc être utilisée dans les fichiers <var>.htaccess</var>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authncacheprovidefor" id="authncacheprovidefor">Directive</a> <a name="AuthnCacheProvideFor" id="AuthnCacheProvideFor">AuthnCacheProvideFor</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le fournisseur pour lequel on veut effectuer une +mise en cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheProvideFor <var>fournisseur-authn</var> [...]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>Cette directive permet de spécifier un ou plusieurs fournisseurs pour + le(s)quel(s) on veut effectuer une mise en cache. Les données + d'authentification trouvées par un fournisseur non spécifié dans une + directive <code class="directive">AuthnCacheProvideFor</code> ne seront pas mises en + cache.</p> + + <p>Par exemple, pour mettre en cache les données d'authentification + trouvées par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> ou par un fournisseur + personnalisé <var>mon-fournisseur</var>, et ne pas mettre en cache + celles trouvées par les fournisseurs légers comme file ou dbm :</p> + <pre class="prettyprint lang-config">AuthnCacheProvideFor dbd mon-fournisseur</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authncachesocache" id="authncachesocache">Directive</a> <a name="AuthnCacheSOCache" id="AuthnCacheSOCache">AuthnCacheSOCache</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne le fournisseur socache d'arrière-plan à +utiliser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheSOCache <var>nom-fournisseur[:arguments-fournisseur]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les arguments optionnels du fournisseur sont disponibles +à partir de la version 2.4.7 du serveur HTTP Apache</td></tr> +</table> + <p>Cette définition s'applique à l'ensemble du serveur et permet de + sélectionner un fournisseur pour le <a href="../socache.html">cache + d'objets partagés</a>, ainsi que des arguments éventuels pour ce + fournisseur. Les fournisseurs disponibles sont, entre autres, "dbm", + "dc", "memcache", ou "shmcb", chacun d'entre eux nécessitant le chargement + du module approprié. Si elle est + absente, c'est la valeur par défaut pour votre plate-forme qui sera + utilisée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authncachetimeout" id="authncachetimeout">Directive</a> <a name="AuthnCacheTimeout" id="AuthnCacheTimeout">AuthnCacheTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie pour les entrées du cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheTimeout <var>durée-de-vie</var> (secondes)</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthnCacheTimeout 300 (5 minutes)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr> +</table> + <p>La mise en cache des données d'authentification peut constituer + un trou de sécurité, bien qu'un mise en cache de courte durée ne + posera probablement pas de problème. En général, il est conseillé de + conserver les entrées du cache de façon à ce que la charge du serveur + d'arrière-plan reste normale, mais pas plus longtemps ; + une durée de vie plus longue peut être paramétrée si les + changements d'utilisateurs et de mots de passe sont peu fréquents. + La durée de vie par défaut de 300 secondes (5 minutes) est à la fois + raisonnable et suffisamment importante pour réduire la charge d'un + serveur d'arrière-plan comme dbd (requêtes SQL).</p> + <p>Cette durée de vie ne doit pas être confondue avec la durée de + vie de session qui est un tout autre sujet. Cependant, vous devez + utiliser votre logiciel de gestion de session pour vérifier si les + données d'authentification mises en cache peuvent allonger + accidentellement une session, et en tenir compte lorsque vous + définissez la durée de vie.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_socache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authn_socache.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_socache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_fcgi.html b/docs/manual/mod/mod_authnz_fcgi.html new file mode 100644 index 0000000..a70ee70 --- /dev/null +++ b/docs/manual/mod/mod_authnz_fcgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authnz_fcgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authnz_fcgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authnz_fcgi.html.en b/docs/manual/mod/mod_authnz_fcgi.html.en new file mode 100644 index 0000000..de10c85 --- /dev/null +++ b/docs/manual/mod/mod_authnz_fcgi.html.en @@ -0,0 +1,566 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authnz_fcgi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authnz_fcgi</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_fcgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_fcgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows a FastCGI authorizer application to handle Apache +httpd authentication and authorization</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authnz_fcgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authnz_fcgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.10 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module allows FastCGI authorizer applications to + authenticate users and authorize access to resources. It supports + generic FastCGI authorizers which participate in a single phase + for authentication and authorization as well as Apache httpd-specific + authenticators and authorizors which participate in one or both + phases.</p> + + <p>FastCGI authorizers can authenticate using user id and password, + such as for Basic authentication, or can authenticate using arbitrary + mechanisms.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#invocations">Invocation modes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Additional examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitations">Limitations</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Logging</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_fcgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_fcgi">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../howto/auth.html">Authentication, Authorization, +and Access Control</a></li> +<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li> +<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="invocations" id="invocations">Invocation modes</a></h2> + + <p>The invocation modes for FastCGI authorizers supported by this + module are distinguished by two characteristics, <em>type</em> and + auth <em>mechanism</em>.</p> + + <p><em>Type</em> is simply <code>authn</code> for authentication, + <code>authz</code> for authorization, or <code>authnz</code> for + combined authentication and authorization.</p> + + <p>Auth <em>mechanism</em> refers to the Apache httpd configuration + mechanisms and processing phases, and can be <code> + AuthBasicProvider</code>, <code>Require</code>, or <code> + check_user_id</code>. The first two of these + correspond to the directives used to enable participation in the + appropriate processing phase.</p> + + <p>Descriptions of each mode:</p> + + <dl> + <dt><em>Type</em> <code>authn</code>, <em>mechanism</em> + <code>AuthBasicProvider</code></dt> + + <dd>In this mode, + <code>FCGI_ROLE</code> is set to <code>AUTHORIZER</code> and + <code>FCGI_APACHE_ROLE</code> is set to <code>AUTHENTICATOR</code>. + The application must be defined as provider type <em>authn</em> + using <code class="directive"><a href="#authnzfcgidefineprovider"> + AuthnzFcgiDefineProvider</a></code> and enabled with + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. + When invoked, the application is + expected to authenticate the client using the provided user id and + password. Example application: + +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR"; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + die if !$ENV{'REMOTE_PASSWD'}; + die if !$ENV{'REMOTE_USER'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") && + $ENV{'REMOTE_PASSWD'} eq "bar" ) { + print "Status: 200\n"; + print "Variable-AUTHN_1: authn_01\n"; + print "Variable-AUTHN_2: authn_02\n"; + print "\n"; + } + else { + print "Status: 401\n\n"; + } +}</pre> + + + Example configuration: +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/ +<Location "/protected/"> + AuthType Basic + AuthName "Restricted" + AuthBasicProvider FooAuthn + Require ... +</Location></pre> + + </dd> + + <dt><em>Type</em> <code>authz</code>, <em>mechanism</em> + <code>Require</code></dt> + <dd>In this mode, <code>FCGI_ROLE</code> is set to <code> + AUTHORIZER</code> and <code>FCGI_APACHE_ROLE</code> is set to + <code>AUTHORIZER</code>. The application must be defined as + provider type <em>authz</em> using <code class="directive"><a href="#authnzfcgidefineprovider"> + AuthnzFcgiDefineProvider</a></code>. When invoked, the application + is expected to authorize the client using the provided user id and other + request data. Example application: +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHORIZER"; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + die if $ENV{'REMOTE_PASSWD'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ($ENV{'REMOTE_USER'} eq "foo1") { + print "Status: 200\n"; + print "Variable-AUTHZ_1: authz_01\n"; + print "Variable-AUTHZ_2: authz_02\n"; + print "\n"; + } + else { + print "Status: 403\n\n"; + } +}</pre> + + + Example configuration: +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10103/ +<Location "/protected/"> + AuthType ... + AuthName ... + AuthBasicProvider ... + Require FooAuthz +</Location></pre> + + </dd> + + <dt><em>Type</em> <code>authnz</code>, <em>mechanism</em> + <code>AuthBasicProvider</code> <em>+</em> <code>Require</code></dt> + + <dd>In this mode, which supports the web server-agnostic FastCGI + <code>AUTHORIZER</code> protocol, <code>FCGI_ROLE</code> is set to + <code>AUTHORIZER</code> and <code>FCGI_APACHE_ROLE</code> is not set. + The application must be defined as provider type <em>authnz</em> + using <code class="directive"><a href="#authnzfcgidefineprovider"> + AuthnzFcgiDefineProvider</a></code>. The application is expected to + handle both authentication and authorization in the same invocation + using the user id, password, and other request data. The invocation + occurs during the Apache httpd API authentication phase. If the + application returns 200 and the same provider is invoked during the + authorization phase (via <code class="directive">Require</code>), mod_authnz_fcgi + will return success for the authorization phase without invoking the + application. Example application: +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'}; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + die if !$ENV{'REMOTE_PASSWD'}; + die if !$ENV{'REMOTE_USER'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") && + $ENV{'REMOTE_PASSWD'} eq "bar" && + $ENV{'REQUEST_URI'} =~ m%/bar/.*%) { + print "Status: 200\n"; + print "Variable-AUTHNZ_1: authnz_01\n"; + print "Variable-AUTHNZ_2: authnz_02\n"; + print "\n"; + } + else { + print "Status: 401\n\n"; + } +}</pre> + + + Example configuration: +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/ +<Location "/protected/"> + AuthType Basic + AuthName "Restricted" + AuthBasicProvider FooAuthnz + Require FooAuthnz +</Location></pre> + + </dd> + + <dt><em>Type</em> <code>authn</code>, <em>mechanism</em> + <code>check_user_id</code></dt> + + <dd>In this mode, <code>FCGI_ROLE</code> is set to <code> + AUTHORIZER</code> and <code>FCGI_APACHE_ROLE</code> is set to + <code>AUTHENTICATOR</code>. The application must be defined as + provider type <em>authn</em> using <code class="directive"><a href="#authnzfcgidefineprovider"> + AuthnzFcgiDefineProvider</a></code>. <code class="directive"><a href="#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></code> + specifies when it is called. Example application: +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR"; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + + # This authorizer assumes that the RequireBasicAuth option of + # AuthnzFcgiCheckAuthnProvider is On: + die if !$ENV{'REMOTE_PASSWD'}; + die if !$ENV{'REMOTE_USER'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") && + $ENV{'REMOTE_PASSWD'} eq "bar" ) { + print "Status: 200\n"; + print "Variable-AUTHNZ_1: authnz_01\n"; + print "Variable-AUTHNZ_2: authnz_02\n"; + print "\n"; + } + else { + print "Status: 401\n\n"; + # If a response body is written here, it will be returned to + # the client. + } +}</pre> + + + Example configuration: +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10103/ +<Location "/protected/"> + AuthType ... + AuthName ... + AuthnzFcgiCheckAuthnProvider FooAuthn \ + Authoritative On \ + RequireBasicAuth Off \ + UserExpr "%{reqenv:REMOTE_USER}" + Require ... +</Location></pre> + + </dd> + + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Additional examples</a></h2> + + <ol> + <li>If your application supports the separate authentication and + authorization roles (<code>AUTHENTICATOR</code> and <code>AUTHORIZER</code>), define + separate providers as follows, even if they map to the same + application: + +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/ +AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10102/</pre> + + + Specify the authn provider on + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + and the authz provider on + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>: + +<pre class="prettyprint lang-config">AuthType Basic +AuthName "Restricted" +AuthBasicProvider FooAuthn +Require FooAuthz</pre> + + </li> + + <li>If your application supports the generic <code>AUTHORIZER</code> role + (authentication and authorizer in one invocation), define a + single provider as follows: + +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/</pre> + + + Specify the authnz provider on both <code class="directive">AuthBasicProvider</code> + and <code class="directive">Require</code>: + +<pre class="prettyprint lang-config">AuthType Basic +AuthName "Restricted" +AuthBasicProvider FooAuthnz +Require FooAuthnz</pre> + + </li> +</ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="limitations" id="limitations">Limitations</a></h2> + + <p>The following are potential features which are not currently + implemented:</p> + + <dl> + <dt>Apache httpd access checker</dt> + <dd>The Apache httpd API <em>access check</em> phase is a separate + phase from authentication and authorization. Some other FastCGI + implementations implement this phase, which is denoted by the + setting of <code>FCGI_APACHE_ROLE</code> to <code>ACCESS_CHECKER</code>.</dd> + + <dt>Local (Unix) sockets or pipes</dt> + <dd>Only TCP sockets are currently supported.</dd> + + <dt>Support for mod_authn_socache</dt> + <dd>mod_authn_socache interaction should be implemented for + applications which participate in Apache httpd-style + authentication.</dd> + + <dt>Support for digest authentication using AuthDigestProvider</dt> + <dd>This is expected to be a permanent limitation as there is + no authorizer flow for retrieving a hash.</dd> + + <dt>Application process management</dt> + <dd>This is expected to be permanently out of scope for + this module. Application processes must be controlled by + other means. For example, <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> can be used to + start them.</dd> + + <dt>AP_AUTH_INTERNAL_PER_URI</dt> + <dd>All providers are currently registered as + AP_AUTH_INTERNAL_PER_CONF, which means that checks are not + performed again for internal subrequests with the same + access control configuration as the initial request.</dd> + + <dt>Protocol data charset conversion</dt> + <dd>If mod_authnz_fcgi runs in an EBCDIC compilation + environment, all FastCGI protocol data is written in EBCDIC + and expected to be received in EBCDIC.</dd> + + <dt>Multiple requests per connection</dt> + <dd>Currently the connection to the FastCGI authorizer is + closed after every phase of processing. For example, if the + authorizer handles separate <em>authn</em> and <em>authz</em> + phases then two connections will be used.</dd> + + <dt>URI Mapping</dt> + <dd>URIs from clients can't be mapped, such as with the <code class="directive"> + ProxyPass</code> used with FastCGI responders.</dd> + + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Logging</a></h2> + + <ol> + <li>Processing errors are logged at log level <code>error</code> + and higher.</li> + <li>Messages written by the application are logged at log + level <code>warn</code>.</li> + <li>General messages for debugging are logged at log level + <code>debug</code>.</li> + <li>Environment variables passed to the application are + logged at log level <code>trace2</code>. The value of the + <code>REMOTE_PASSWD</code> variable will be obscured, + but <strong>any other sensitive data will be visible in the + log</strong>.</li> + <li>All I/O between the module and the FastCGI application, + including all environment variables, will be logged in printable + and hex format at log level <code>trace5</code>. <strong>All + sensitive data will be visible in the log.</strong></li> + </ol> + + <p><code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> can be used + to configure a log level specific to mod_authnz_fcgi. For + example:</p> + +<pre class="prettyprint lang-config">LogLevel info authnz_fcgi:trace8</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnzFcgiCheckAuthnProvider" id="AuthnzFcgiCheckAuthnProvider">AuthnzFcgiCheckAuthnProvider</a> <a name="authnzfcgicheckauthnprovider" id="authnzfcgicheckauthnprovider">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_fcgi</td></tr> +</table> + <p>This directive is used to enable a FastCGI authorizer to + handle a specific processing phase of authentication or + authorization.</p> + + <p>Some capabilities of FastCGI authorizers require enablement + using this directive instead of + <code class="directive">AuthBasicProvider</code>:</p> + + <ul> + <li>Non-Basic authentication; generally, determining the user + id of the client and returning it from the authorizer; see the + <code>UserExpr</code> option below</li> + <li>Selecting a custom response code; for a non-200 response + from the authorizer, the code from the authorizer will be the + status of the response</li> + <li>Setting the body of a non-200 response; if the authorizer + provides a response body with a non-200 response, that body + will be returned to the client; up to 8192 bytes of text are + supported</li> + </ul> + + <dl> + <dt><em>provider-name</em></dt> + <dd>This is the name of a provider defined with <code class="directive"> + AuthnzFcgiDefineProvider</code>.</dd> + + <dt><code>None</code></dt> + <dd>Specify <code>None</code> to disable a provider enabled + with this directive in an outer scope, such as in a parent + directory.</dd> + + <dt><em>option</em></dt> + <dd>The following options are supported: + + <dl> + <dt>Authoritative On|Off (default On)</dt> + <dd>This controls whether or not other modules are allowed + to run when this module has a FastCGI authorizer configured + and it fails the request.</dd> + + <dt>DefaultUser <em>userid</em></dt> + <dd>When the authorizer returns success and <code>UserExpr</code> + is configured and evaluates to an empty string (e.g., authorizer + didn't return a variable), this value will be used as the user + id. This is typically used when the authorizer has a concept of + guest, or unauthenticated, users and guest users are mapped to + some specific user id for logging and other purposes.</dd> + + <dt>RequireBasicAuth On|Off (default Off)</dt> + <dd>This controls whether or not Basic auth is required + before passing the request to the authorizer. If required, + the authorizer won't be invoked without a user id and + password; 401 will be returned for a request without that.</dd> + + <dt>UserExpr <em>expr</em> (no default)</dt> + <dd>When Basic authentication isn't provided by the client + and the authorizer determines the user, this expression, + evaluated after calling the authorizer, determines the + user. The expression follows <a href="../expr.html"> + ap_expr syntax</a> and must resolve to a string. A typical + use is to reference a <code>Variable-<em>XXX</em></code> + setting returned by the authorizer using an option like + <code>UserExpr "%{reqenv:<em>XXX</em>}"</code>. If + this option is specified and the user id can't be retrieved + using the expression after a successful authentication, the + request will be rejected with a 500 error.</dd> + + </dl> + </dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthnzFcgiDefineProvider" id="AuthnzFcgiDefineProvider">AuthnzFcgiDefineProvider</a> <a name="authnzfcgidefineprovider" id="authnzfcgidefineprovider">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_fcgi</td></tr> +</table> + <p>This directive is used to define a FastCGI application as + a provider for a particular phase of authentication or + authorization.</p> + + <dl> + <dt><em>type</em></dt> + <dd>This must be set to <em>authn</em> for authentication, + <em>authz</em> for authorization, or <em>authnz</em> for + a generic FastCGI authorizer which performs both checks.</dd> + + <dt><em>provider-name</em></dt> + <dd>This is used to assign a name to the provider which is + used in other directives such as + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + and + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</dd> + + <dt><em>backend-address</em></dt> + <dd>This specifies the address of the application, in the form + <em>fcgi://hostname:port/</em>. The application process(es) + must be managed independently, such as with + <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code>.</dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_fcgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_fcgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authnz_fcgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 b/docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 new file mode 100644 index 0000000..640da43 --- /dev/null +++ b/docs/manual/mod/mod_authnz_fcgi.html.fr.utf8 @@ -0,0 +1,588 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authnz_fcgi - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authnz_fcgi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_fcgi.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet à une application d'autorisation FastCGI de gérer +l'authentification et l'autorisation httpd.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authnz_fcgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_fcgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP +Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet aux applications d'autorisation FastCGI + d'authentifier les utilisateurs et de contrôler leur accès aux + ressources. Il supporte les systèmes d'autorisation FastCGI + génériques qui participent en une seule phase à l'authentification + et à l'autorisation, ainsi que les processus d'authentification et + d'autorisation spécifiques à Apache httpd qui interviennent en une + ou plusieurs phases.</p> + + <p>Les processus d'autorisation FastCGI peuvent authentifier un + utilisateur via son identificateur et son mot de passe comme dans le + processus d'authentification basique, ou via un mécanisme + arbitraire.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#invocations">Modes d'invocation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples supplémentaires</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitations">Limitations</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../howto/auth.html">Authentification, autorisation et +contrôle d'accès</a></li> +<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li> +<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="invocations" id="invocations">Modes d'invocation</a></h2> + + <p>Les modes d'invocation des processus d'autorisation FastCGI que + ce module supporte se distinguent par deux caractéristiques : le + <em>type</em> et le <em>mécanisme</em> d'authentification.</p> + + <p>Le <em>Type</em> est simplement <code>authn</code> pour + l'authentification, <code>authz</code> pour l'autorisation et + <code>authnz</code> l'authentification et l'autorisation.</p> + + <p>Le <em>mécanisme</em> d'authentification fait référence aux + mécanismes d'authentification et aux phases de traitement de la + configuration de Apache httpd, et peut être + <code>AuthBasicProvider</code>, <code>Require</code>, ou + <code>check_user_id</code>. Les deux premiers mécanismes + correspondent aux directives utilisées pour participer aux phases de + traitement appropriées.</p> + + <p>Description de chaque mode:</p> + + <dl> + <dt><em>Type</em> <code>authn</code>, <em>mechanism</em> + <code>AuthBasicProvider</code></dt> + + <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à + <code>AUTHORIZER</code>, et la variable + <code>FCGI_APACHE_ROLE</code> à <code>AUTHENTICATOR</code>. + L'application doit être spécifiée en tant que fournisseur de type + <em>authn</em> via la directive <code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>, et + activée via la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'elle + est invoquée, l'application est censée authentifier le client à + l'aide de l'identifiant et du mot de passe de l'utilisateur. + Exemple d'application : + +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR"; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + die if !$ENV{'REMOTE_PASSWD'}; + die if !$ENV{'REMOTE_USER'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") && + $ENV{'REMOTE_PASSWD'} eq "bar" ) { + print "Status: 200\n"; + print "Variable-AUTHN_1: authn_01\n"; + print "Variable-AUTHN_2: authn_02\n"; + print "\n"; + } + else { + print "Status: 401\n\n"; + } +}</pre> + + + Exemple de configuration httpd : +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/ +<Location "/protected/"> + AuthType Basic + AuthName "Restricted" + AuthBasicProvider FooAuthn + Require ... +</Location></pre> + + </dd> + + <dt><em>Type</em> <code>authz</code>, <em>mechanism</em> + <code>Require</code></dt> + <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à + <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> à + <code>AUTHORIZER</code>. L'application doit être spécifiée en tant + que fournisseur de type <em>authz</em> via la directive <code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>. + Lorsqu'elle est invoquée, l'application est censée contrôler les + accès du client à l'aide de l'identifiant utilisateur et d'autres + données contenues dans la requête. Exemple d'application : +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHORIZER"; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + die if $ENV{'REMOTE_PASSWD'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ($ENV{'REMOTE_USER'} eq "foo1") { + print "Status: 200\n"; + print "Variable-AUTHZ_1: authz_01\n"; + print "Variable-AUTHZ_2: authz_02\n"; + print "\n"; + } + else { + print "Status: 403\n\n"; + } +}</pre> + + + Exemple de configuration httpd : +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10103/ +<Location "/protected/"> + AuthType ... + AuthName ... + AuthBasicProvider ... + Require FooAuthz +</Location></pre> + + </dd> + + <dt><em>Type</em> <code>authnz</code>, <em>mechanism</em> + <code>AuthBasicProvider</code> <em>+</em> <code>Require</code></dt> + + <dd>Dans ce mode qui supporte le protocole d'autorisation web + server-agnostic FastCGI, la variable <code>FCGI_ROLE</code> est + définie à <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> + n'est pas définie. L'application doit être spécifiée en tant que + fournisseur de type <em>authnz</em> via la directive <code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>. + L'application est censée assurer l'authentification et + l'autorisation au cours d'une même invocation à l'aide de + l'identifiant et du mot de passe de l'utilisateur et d'autres + données contenues dans la requête. L'invocation de l'application + intervient au cours de la phase d'authentification de l'API Apache + httpd. Si l'application renvoie le code 200, et si le même + fournisseur est invoqué au cours de la phase d'autorisation (via + une directive <code class="directive">Require</code>), mod_authnz_fcgi + renverra un code de type success pour la phase d'autorisation sans + invoquer l'application. Exemple d'application : +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'}; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + die if !$ENV{'REMOTE_PASSWD'}; + die if !$ENV{'REMOTE_USER'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") && + $ENV{'REMOTE_PASSWD'} eq "bar" && + $ENV{'REQUEST_URI'} =~ m%/bar/.*%) { + print "Status: 200\n"; + print "Variable-AUTHNZ_1: authnz_01\n"; + print "Variable-AUTHNZ_2: authnz_02\n"; + print "\n"; + } + else { + print "Status: 401\n\n"; + } +}</pre> + + + Exemple de configuration httpd : +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/ +<Location "/protected/"> + AuthType Basic + AuthName "Restricted" + AuthBasicProvider FooAuthnz + Require FooAuthnz +</Location></pre> + + </dd> + + <dt><em>Type</em> <code>authn</code>, <em>mechanism</em> + <code>check_user_id</code></dt> + + <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à + <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> à + <code>AUTHENTICATOR</code>. L'application doit être spécifiée en + tant que fournisseur de type <em>authn</em> via une directive + <code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>. La + directive <code class="directive"><a href="#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></code> + permet de l'invoquer. Exemple d'application : +<pre class="prettyprint lang-perl">#!/usr/bin/perl +use FCGI; +my $request = FCGI::Request(); +while ($request->Accept() >= 0) { + die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR"; + die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER"; + + # This authorizer assumes that the RequireBasicAuth option of + # AuthnzFcgiCheckAuthnProvider is On: + die if !$ENV{'REMOTE_PASSWD'}; + die if !$ENV{'REMOTE_USER'}; + + print STDERR "This text is written to the web server error log.\n"; + + if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") && + $ENV{'REMOTE_PASSWD'} eq "bar" ) { + print "Status: 200\n"; + print "Variable-AUTHNZ_1: authnz_01\n"; + print "Variable-AUTHNZ_2: authnz_02\n"; + print "\n"; + } + else { + print "Status: 401\n\n"; + # If a response body is written here, it will be returned to + # the client. + } +}</pre> + + + Exemple de configuration httpd : +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10103/ +<Location "/protected/"> + AuthType ... + AuthName ... + AuthnzFcgiCheckAuthnProvider FooAuthn \ + Authoritative On \ + RequireBasicAuth Off \ + UserExpr "%{reqenv:REMOTE_USER}" + Require ... +</Location></pre> + + </dd> + + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples supplémentaires</a></h2> + + <ol> + <li>Si votre application supporte séparément les rôles + d'authentification et d'autorisation (<code>AUTHENTICATOR</code> et + <code>AUTHORIZER</code>), vous pouvez définir des fournisseurs + séparés comme suit, même s'ils correspondent à la même application : + +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/ +AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10102/</pre> + + + Spécifie le fournisseur authn via la directive + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + et le fournisseur authz via la directive + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>: + +<pre class="prettyprint lang-config">AuthType Basic +AuthName "Restricted" +AuthBasicProvider FooAuthn +Require FooAuthz</pre> + + </li> + + <li>Si votre application supporte le rôle générique + <code>AUTHORIZER</code> (authentification et autorisation en une + seule invocation), vous pouvez définir un fournisseur unique comme + suit : + +<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/</pre> + + + Spécifie le fournisseur authnz via les directives + <code class="directive">AuthBasicProvider</code> et + <code class="directive">Require</code> : + +<pre class="prettyprint lang-config">AuthType Basic +AuthName "Restricted" +AuthBasicProvider FooAuthnz +Require FooAuthnz</pre> + + </li> +</ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="limitations" id="limitations">Limitations</a></h2> + + <p>Les fonctionnalités suivantes ne sont pas encore implémentées :</p> + + <dl> + <dt>Vérificateur d'accès d'Apache httpd</dt> + <dd>La phase <em>access check</em> de l'API Apache httpd est + distincte des phases d'authentification et d'autorisation. + Certaines autres implémentations de FastCGI supportent cette phase + et lorsque c'est le cas, la variable <code>FCGI_APACHE_ROLE</code> + est définie à <code>ACCESS_CHECKER</code>.</dd> + + <dt>Redirections (pipes) ou sockets locaux (Unix)</dt> + <dd>Seuls les sockets TCP sont actuellement supportés.</dd> + + <dt>Support de mod_authn_socache</dt> + <dd>Le support de l'interaction avec mod_authn_socache pour les + applications qui interviennent dans le processus + d'authentification d'Apache httpd serait souhaitable.</dd> + + <dt>Support de l'authentification de type digest à l'aide de AuthDigestProvider</dt> + <dd>Cette limitation ne sera probablement jamais franchie car il + n'existe aucun flux de données d'autorisation capable de lire dans + un condensé de type hash.</dd> + + <dt>Gestion des processus applicatifs</dt> + <dd>Cette fonctionnalité restera probablement hors de portée de ce + module. Il faudra donc gérer les processus applicatifs d'une autre + manière ; par exemple, <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> permet de + les démarrer.</dd> + + <dt>AP_AUTH_INTERNAL_PER_URI</dt> + <dd>Tous les fournisseurs sont actuellement enregistrés en tant + que AP_AUTH_INTERNAL_PER_CONF, ce qui signifie que les + vérifications ne sont pas effectuées pour les + sous-requêtes internes avec la même configuration de contrôle + d'accès que la requête initiale.</dd> + + <dt>Conversion du jeu de caractères des données de protocole</dt> + <dd>Si mod_authnz_fcgi s'exécute dans un environnement de + compilation EBCDIC, toutes les données de protocole FastCGI sont + écrites en EBCDIC et doivent être disponibles en EBCDIC.</dd> + + <dt>Plusieurs requêtes pour une connexion</dt> + <dd>Actuellement, la connexion au fournisseur d'autorisation + FastCGI est fermée après chaque phase de traitement. Par exemple, + si le fournisseur d'autorisation gère séparément les phases + <em>authn</em> et <em>authz</em>, deux connexions seront + nécessaires.</dd> + + <dt>Redirection de certains URIs</dt> + <dd>Les URIs en provenance des clients ne peuvent pas être + redirigés selon une table de redirection, comme avec la directive + <code class="directive">ProxyPass</code> utilisée avec les répondeurs + FastCGI.</dd> + + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Journalisation</a></h2> + + <ol> + <li>Les erreurs de traitement sont journalisées à un niveau + <code>error</code> ou supérieur.</li> + <li>Les messages envoyés par l'application sont journalisés au + niveau <code>warn</code>.</li> + <li>Les messages de deboguage à caractère général sont + journalisés au niveau <code>debug</code>.</li> + <li>Les variables d'environnement transmises à l'application + sont journalisées au niveau <code>trace2</code>. La valeur de la + variable <code>REMOTE_PASSWD</code> sera occultée, mais + <strong>toute autre donnée sensible sera visible dans le + journal</strong>.</li> + <li>Toutes les entrées/sorties entre le module et l'application + FastCGI, y compris les variables d'environnement, seront + journalisées au format imprimable et hexadécimal au niveau + <code>trace5</code>. <strong>Toutes les données sensibles seront + visibles dans le journal.</strong></li> + </ol> + + <p>La directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> permet + de configurer un niveau de journalisation spécifique à + mod_authnz_fcgi. Par exemple :</p> + +<pre class="prettyprint lang-config">LogLevel info authnz_fcgi:trace8</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authnzfcgicheckauthnprovider" id="authnzfcgicheckauthnprovider">Directive</a> <a name="AuthnzFcgiCheckAuthnProvider" id="AuthnzFcgiCheckAuthnProvider">AuthnzFcgiCheckAuthnProvider</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet à une application FastCGI de gérer l'accroche +d'authentification check_authn.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_fcgi</td></tr> +</table> + <p>Cette directive permet de confier à une application FastCGI la + gestion d'une phase spécifique du processus d'authentification ou + d'autorisation.</p> + + <p>Certaines fonctionnalités des fournisseurs d'autorisation FastCGI + nécessitent cette directive en lieu et place de + <code class="directive">AuthBasicProvider</code> pour pouvoir être activées :</p> + + <ul> + <li>L'authentification de type autre que basique ; en général, + détermination de l'identifiant utilisateur et renvoi de sa valeur + depuis le fournisseur d'autorisation ; voir l'option + <code>UserExpr</code> ci-dessous</li> + <li>Sélection d'un code de réponse personnalisé ; en cas de + code de réponse autre que 200 en provenance du fournisseur + d'autorisation, c'est ce code qui sera utilisé comme code d'état + de la réponse</li> + <li>Définition du corps d'une réponse autre que 200 ; si le + fournisseur d'autorisation renvoie un corps de réponse avec un + code autre que 200, c'est ce corps de réponse qui sera renvoyé au + client ; la longueur du texte est limitée à 8192 octets</li> + </ul> + + <dl> + <dt><em>provider-name</em></dt> + <dd>C'est le nom du fournisseur défini au préalable via la + directive <code class="directive">AuthnzFcgiDefineProvider</code>.</dd> + + <dt><code>None</code></dt> + <dd>Spécifiez <code>None</code> pour désactiver un fournisseur + activé avec cette même directive dans une autre portée, par + exemple dans un répertoire parent.</dd> + + <dt><em>option</em></dt> + <dd>Les options suivantes sont supportées : + + <dl> + <dt>Authoritative On|Off (par défaut On)</dt> + <dd>Cette option permet de définir si l'appel à d'autres + modules est autorisé lorsqu'un fournisseur d'autorisation FastCGI a + été configuré et si la requête échoue.</dd> + + <dt>DefaultUser <em>id utilisateur</em></dt> + <dd>Lorsque le fournisseur d'autorisation donne son accord, et + si <code>UserExpr</code> est défini et correspond à une chaîne + vide, (par exemple, si le fournisseur d'autorisation ne renvoie + aucune variable), c'est cette valeur qui sera utilisée comme id + utilisateur par défaut. Cela se produit souvent lorsqu'on se trouve dans + un contexte d'invité, ou d'utilisateur non authentifié ; + les utilisateurs et invités se voient alors attribué un id + utilisateur spécifique qui permettra de se connecter et + d'accéder à certaines ressources.</dd> + + <dt>RequireBasicAuth On|Off (par défaut Off)</dt> + <dd>Cette option permet de définir si l'authentification + basique est requise avant de transmettre la requête au + fournisseur d'autorisation. Dans l'affirmative, le fournisseur + d'autorisation ne sera invoqué qu'en présence d'un id + utilisateur et d'un mot de passe ; si ces deux éléments ne sont + pas présents, un code d'erreur 401 sera renvoyé</dd> + + <dt>UserExpr <em>expr</em> (pas de valeur par défaut)</dt> + <dd>Lorsque le client ne fournit pas l'authentification basique + et si le fournisseur d'autorisation détermine l'id utilisateur, + cette expression, évaluée après l'appel au fournisseur + d'autorisation, permet de déterminer l'id utilisateur. Cette + expression se conforme à la <a href="../expr.html">syntaxe + ap_expr</a> et doit correspondre à une chaîne de caractères. + Une utilisation courante consiste à référencer la définition + d'une <code>Variable-<em>XXX</em></code> renvoyée par le + fournisseur d'autorisation via une option du style + <code>UserExpr "%{reqenv:<em>XXX</em>}"</code>. Si cette option + est spécifiée, et si l'id utilisateur ne peut pas être définie + via l'expression après une authentification réussie, la requête + sera rejetée avec un code d'erreur 500.</dd> + + </dl> + </dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authnzfcgidefineprovider" id="authnzfcgidefineprovider">Directive</a> <a name="AuthnzFcgiDefineProvider" id="AuthnzFcgiDefineProvider">AuthnzFcgiDefineProvider</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une application FastCGI en tant que fournisseur +d'authentification et/ou autorisation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_fcgi</td></tr> +</table> + <p>Cette directive permet de définir une application FastCGI en tant + que fournisseur pour une phase particulière d'authentification ou + d'autorisation.</p> + + <dl> + <dt><em>type</em></dt> + <dd>Les valeurs de ce paramètre sont <em>authn</em> pour + l'authentification, <em>authz</em> pour l'autorisation, ou + <em>authnz</em> pour un fournisseur d'autorisation générique + FastCGI qui effectue les deux vérifications.</dd> + + <dt><em>provider-name</em></dt> + <dd>Ce paramètre permet d'associer un nom au fournisseur ; ce nom + pourra être utilisé dans des directives comme <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> et + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</dd> + + <dt><em>backend-address</em></dt> + <dd>Ce paramètre permet de spécifier l'adresse de l'application + sous la forme <em>fcgi://hostname:port/</em>. Le ou les processus + de l'application doivent être gérés indépendamment comme avec + <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code>.</dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_fcgi.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authnz_fcgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_ldap.html b/docs/manual/mod/mod_authnz_ldap.html new file mode 100644 index 0000000..140894e --- /dev/null +++ b/docs/manual/mod/mod_authnz_ldap.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authnz_ldap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authnz_ldap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authnz_ldap.html.en b/docs/manual/mod/mod_authnz_ldap.html.en new file mode 100644 index 0000000..36b5aac --- /dev/null +++ b/docs/manual/mod/mod_authnz_ldap.html.en @@ -0,0 +1,1435 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authnz_ldap - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authnz_ldap</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_ldap.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows an LDAP directory to be used to store the database +for HTTP Basic authentication.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authnz_ldap_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authnz_ldap.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module allows authentication front-ends such as + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> to authenticate users through + an ldap directory.</p> + + <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> supports the following features:</p> + + <ul> + <li>Known to support the <a href="http://www.openldap.org/">OpenLDAP SDK</a> (both 1.x + and 2.x), <a href="http://developer.novell.com/ndk/cldap.htm"> + Novell LDAP SDK</a> and the <a href="http://www.iplanet.com/downloads/developer/">iPlanet + (Netscape)</a> SDK.</li> + + <li>Complex authorization policies can be implemented by + representing the policy with LDAP filters.</li> + + <li>Uses extensive caching of LDAP operations via <a href="mod_ldap.html">mod_ldap</a>.</li> + + <li>Support for LDAP over SSL (requires the Netscape SDK) or + TLS (requires the OpenLDAP 2.x SDK or Novell LDAP SDK).</li> + </ul> + + <p>When using <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, this module is invoked + via the <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> + directive with the <code>ldap</code> value.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#contents">Contents</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gcaveats">General caveats</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#operation">Operation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usingtls">Using TLS</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usingssl">Using SSL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Exposing Login Information</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#activedirectory">Using Active Directory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#frontpage">Using Microsoft + FrontPage with mod_authnz_ldap</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapbinddn">AuthLDAPBindDN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPURL</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_ldap">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_ldap">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></li> +<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="contents" id="contents">Contents</a></h2> + + <ul> + <li> <a href="#gcaveats">General caveats</a> </li> + <li> <a href="#operation">Operation</a> + + <ul> + <li><a href="#authenphase">The Authentication + Phase</a></li> + + <li><a href="#authorphase">The Authorization + Phase</a></li> + </ul> + </li> + + <li> + <a href="#requiredirectives">The Require Directives</a> + + <ul> + <li><a href="#requser">Require ldap-user</a></li> + <li><a href="#reqgroup">Require ldap-group</a></li> + <li><a href="#reqdn">Require ldap-dn</a></li> + <li><a href="#reqattribute">Require ldap-attribute</a></li> + <li><a href="#reqfilter">Require ldap-filter</a></li> + </ul> + </li> + + <li><a href="#examples">Examples</a></li> + <li><a href="#usingtls">Using TLS</a></li> + <li><a href="#usingssl">Using SSL</a></li> + <li><a href="#exposed">Exposing Login Information</a></li> + <li><a href="#activedirectory">Using Active Directory</a></li> + <li> + <a href="#frontpage">Using Microsoft FrontPage with + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></a> + + <ul> + <li><a href="#howitworks">How It Works</a></li> + <li><a href="#fpcaveats">Caveats</a></li> + </ul> + </li> + </ul> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="gcaveats" id="gcaveats">General caveats</a></h2> +<p> This module caches authentication and authorization results based +on the configuration of <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Changes +made to the backing LDAP server will not be immediately reflected on the +HTTP Server, including but not limited to user lockouts/revocations, +password changes, or changes to group memberships. Consult the directives +in <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> for details of the cache tunables. +</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="operation" id="operation">Operation</a></h2> + + <p>There are two phases in granting access to a user. The first + phase is authentication, in which the <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> + authentication provider verifies that the user's credentials are valid. + This is also called the <em>search/bind</em> phase. The second phase is + authorization, in which <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> determines + if the authenticated user is allowed access to the resource in + question. This is also known as the <em>compare</em> + phase.</p> + + <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> registers both an authn_ldap authentication + provider and an authz_ldap authorization handler. The authn_ldap + authentication provider can be enabled through the + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> directive + using the <code>ldap</code> value. The authz_ldap handler extends the + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive's authorization types + by adding <code>ldap-user</code>, <code>ldap-dn</code> and <code>ldap-group</code> + values.</p> + +<h3><a name="authenphase" id="authenphase">The Authentication + Phase</a></h3> + + <p>During the authentication phase, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> + searches for an entry in the directory that matches the username + that the HTTP client passes. If a single unique match is found, + then <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> attempts to bind to the + directory server using the DN of the entry plus the password + provided by the HTTP client. Because it does a search, then a + bind, it is often referred to as the search/bind phase. Here are + the steps taken during the search/bind phase.</p> + + <ol> + <li>Generate a search filter by combining the attribute and + filter provided in the <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> directive with + the username passed by the HTTP client.</li> + + <li>Search the directory using the generated filter. If the + search does not return exactly one entry, deny or decline + access.</li> + + <li>Fetch the distinguished name of the entry retrieved from + the search and attempt to bind to the LDAP server using that + DN and the password passed by the HTTP client. If the bind is + unsuccessful, deny or decline access.</li> + </ol> + + <p>The following directives are used during the search/bind + phase</p> + + <table> + + <tr> + <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code></td> + + <td>Specifies the LDAP server, the + base DN, the attribute to use in the search, as well as the + extra search filter to use.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></td> + + <td>An optional DN to bind with + during the search phase.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code></td> + + <td>An optional password to bind + with during the search phase.</td> + </tr> + </table> + + +<h3><a name="authorphase" id="authorphase">The Authorization Phase</a></h3> + + <p>During the authorization phase, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> + attempts to determine if the user is authorized to access the + resource. Many of these checks require + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> to do a compare operation on the + LDAP server. This is why this phase is often referred to as the + compare phase. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> accepts the + following <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directives to determine if the credentials are acceptable:</p> + + <ul> + <li>Grant access if there is a <a href="#reqgroup"><code>Require ldap-user</code></a> directive, and the + username in the directive matches the username passed by the + client.</li> + + <li>Grant access if there is a <a href="#reqdn"><code>Require + ldap-dn</code></a> directive, and the DN in the directive matches + the DN fetched from the LDAP directory.</li> + + <li>Grant access if there is a <a href="#reqgroup"><code>Require ldap-group</code></a> directive, and + the DN fetched from the LDAP directory (or the username + passed by the client) occurs in the LDAP group or, potentially, in + one of its sub-groups.</li> + + <li>Grant access if there is a <a href="#reqattribute"> + <code>Require ldap-attribute</code></a> + directive, and the attribute fetched from the LDAP directory + matches the given value.</li> + + <li>Grant access if there is a <a href="#reqfilter"> + <code>Require ldap-filter</code></a> + directive, and the search filter successfully finds a single user + object that matches the dn of the authenticated user.</li> + + <li>otherwise, deny or decline access</li> + </ul> + + <p>Other <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> values may also + be used which may require loading additional authorization modules.</p> + + <ul> + <li>Grant access to all successfully authenticated users if + there is a <a href="#requser"><code>Require valid-user</code></a> + directive. (requires <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>)</li> + + <li>Grant access if there is a <a href="#reqgroup"><code>Require group</code></a> directive, and + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> has been loaded with the + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> + directive set.</li> + + <li>others...</li> + </ul> + + + <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> uses the following directives during the + compare phase:</p> + + <table> + + <tr> + <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> </td> + + <td>The attribute specified in the + URL is used in compare operations for the <code>Require + ldap-user</code> operation.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code></td> + + <td>Determines the behavior of the + <code>Require ldap-dn</code> directive.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code></td> + + <td>Determines the attribute to + use for comparisons in the <code>Require ldap-group</code> + directive.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code></td> + + <td>Specifies whether to use the + user DN or the username when doing comparisons for the + <code>Require ldap-group</code> directive.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code></td> + + <td>Determines the maximum depth of sub-groups that will be evaluated + during comparisons in the <code>Require ldap-group</code> directive.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code></td> + + <td>Determines the attribute to use when obtaining sub-group members + of the current group during comparisons in the <code>Require ldap-group</code> + directive.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code></td> + + <td>Specifies the LDAP objectClass values used to identify if queried directory + objects really are group objects (as opposed to user objects) during the + <code>Require ldap-group</code> directive's sub-group processing.</td> + </tr> + </table> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Apache's <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authnz_ldap extends the + authorization types with <code>ldap-user</code>, <code>ldap-dn</code>, + <code>ldap-group</code>, <code>ldap-attribute</code> and + <code>ldap-filter</code>. Other authorization types may also be + used but may require that additional authorization modules be loaded.</p> + + <p>Since v2.4.8, <a href="../expr.html">expressions</a> are supported + within the LDAP require directives.</p> + +<h3><a name="requser" id="requser">Require ldap-user</a></h3> + + <p>The <code>Require ldap-user</code> directive specifies what + usernames can access the resource. Once + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> has retrieved a unique DN from the + directory, it does an LDAP compare operation using the username + specified in the <code>Require ldap-user</code> to see if that username + is part of the just-fetched LDAP entry. Multiple users can be + granted access by putting multiple usernames on the line, + separated with spaces. If a username has a space in it, then it + must be surrounded with double quotes. Multiple users can also be + granted access by using multiple <code>Require ldap-user</code> + directives, with one user per line. For example, with a <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> of + <code>ldap://ldap/o=Example?cn</code> (i.e., <code>cn</code> is + used for searches), the following Require directives could be used + to restrict access:</p> +<pre class="prettyprint lang-config">Require ldap-user "Barbara Jenson" +Require ldap-user "Fred User" +Require ldap-user "Joe Manager"</pre> + + + <p>Because of the way that <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> handles this + directive, Barbara Jenson could sign on as <em>Barbara + Jenson</em>, <em>Babs Jenson</em> or any other <code>cn</code> that + she has in her LDAP entry. Only the single <code>Require + ldap-user</code> line is needed to support all values of the attribute + in the user's entry.</p> + + <p>If the <code>uid</code> attribute was used instead of the + <code>cn</code> attribute in the URL above, the above three lines + could be condensed to</p> +<pre class="prettyprint lang-config">Require ldap-user bjenson fuser jmanager</pre> + + + +<h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3> + + <p>This directive specifies an LDAP group whose members are + allowed access. It takes the distinguished name of the LDAP + group. Note: Do not surround the group name with quotes. + For example, assume that the following entry existed in + the LDAP directory:</p> +<div class="example"><pre>dn: cn=Administrators, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Barbara Jenson, o=Example +uniqueMember: cn=Fred User, o=Example</pre></div> + + <p>The following directive would grant access to both Fred and + Barbara:</p> +<pre class="prettyprint lang-config">Require ldap-group cn=Administrators, o=Example</pre> + + + <p>Members can also be found within sub-groups of a specified LDAP group + if <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code> + is set to a value greater than 0. For example, assume the following entries + exist in the LDAP directory:</p> +<div class="example"><pre>dn: cn=Employees, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Managers, o=Example +uniqueMember: cn=Administrators, o=Example +uniqueMember: cn=Users, o=Example + +dn: cn=Managers, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Bob Ellis, o=Example +uniqueMember: cn=Tom Jackson, o=Example + +dn: cn=Administrators, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Barbara Jenson, o=Example +uniqueMember: cn=Fred User, o=Example + +dn: cn=Users, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Allan Jefferson, o=Example +uniqueMember: cn=Paul Tilley, o=Example +uniqueMember: cn=Temporary Employees, o=Example + +dn: cn=Temporary Employees, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Jim Swenson, o=Example +uniqueMember: cn=Elliot Rhodes, o=Example</pre></div> + + <p>The following directives would allow access for Bob Ellis, Tom Jackson, + Barbara Jenson, Fred User, Allan Jefferson, and Paul Tilley but would not + allow access for Jim Swenson, or Elliot Rhodes (since they are at a + sub-group depth of 2):</p> +<pre class="prettyprint lang-config">Require ldap-group cn=Employees, o=Example +AuthLDAPMaxSubGroupDepth 1</pre> + + + <p>Behavior of this directive is modified by the <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code>, <code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code>, <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code>, <code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code>, and <code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code> + directives.</p> + + +<h3><a name="reqdn" id="reqdn">Require ldap-dn</a></h3> + + <p>The <code>Require ldap-dn</code> directive allows the administrator + to grant access based on distinguished names. It specifies a DN + that must match for access to be granted. If the distinguished + name that was retrieved from the directory server matches the + distinguished name in the <code>Require ldap-dn</code>, then + authorization is granted. Note: do not surround the distinguished + name with quotes.</p> + + <p>The following directive would grant access to a specific + DN:</p> +<pre class="prettyprint lang-config">Require ldap-dn cn=Barbara Jenson, o=Example</pre> + + + <p>Behavior of this directive is modified by the <code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code> + directive.</p> + + +<h3><a name="reqattribute" id="reqattribute">Require ldap-attribute</a></h3> + + <p>The <code>Require ldap-attribute</code> directive allows the + administrator to grant access based on attributes of the authenticated + user in the LDAP directory. If the attribute in the directory + matches the value given in the configuration, access is granted.</p> + + <p>The following directive would grant access to anyone with + the attribute employeeType = active</p> + + <pre class="prettyprint lang-config">Require ldap-attribute employeeType="active"</pre> + + + <p>Multiple attribute/value pairs can be specified on the same line + separated by spaces or they can be specified in multiple + <code>Require ldap-attribute</code> directives. The effect of listing + multiple attribute/values pairs is an OR operation. Access will be + granted if any of the listed attribute values match the value of the + corresponding attribute in the user object. If the value of the + attribute contains a space, only the value must be within double quotes.</p> + + <p>The following directive would grant access to anyone with + the city attribute equal to "San Jose" or status equal to "Active"</p> + + <pre class="prettyprint lang-config">Require ldap-attribute city="San Jose" status="active"</pre> + + + + +<h3><a name="reqfilter" id="reqfilter">Require ldap-filter</a></h3> + + <p>The <code>Require ldap-filter</code> directive allows the + administrator to grant access based on a complex LDAP search filter. + If the dn returned by the filter search matches the authenticated user + dn, access is granted.</p> + + <p>The following directive would grant access to anyone having a cell phone + and is in the marketing department</p> + + <pre class="prettyprint lang-config">Require ldap-filter "&(cell=*)(department=marketing)"</pre> + + + <p>The difference between the <code>Require ldap-filter</code> directive and the + <code>Require ldap-attribute</code> directive is that <code>ldap-filter</code> + performs a search operation on the LDAP directory using the specified search + filter rather than a simple attribute comparison. If a simple attribute + comparison is all that is required, the comparison operation performed by + <code>ldap-attribute</code> will be faster than the search operation + used by <code>ldap-filter</code> especially within a large directory.</p> + + <p>When using an <a href="../expr.html">expression</a> within the filter, care + must be taken to ensure that LDAP filters are escaped correctly to guard against + LDAP injection. The ldap function can be used for this purpose.</p> + +<pre class="prettyprint lang-config"><LocationMatch ^/dav/(?<SITENAME>[^/]+)/> + Require ldap-filter (memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example) +</LocationMatch></pre> + + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + + <ul> + <li> + Grant access to anyone who exists in the LDAP directory, + using their UID for searches. +<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)" +Require valid-user</pre> + + </li> + + <li> + The next example is the same as above; but with the fields + that have useful defaults omitted. Also, note the use of a + redundant LDAP server. +<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example" +Require valid-user</pre> + + </li> + + <li> + The next example is similar to the previous one, but it + uses the common name instead of the UID. Note that this + could be problematical if multiple people in the directory + share the same <code>cn</code>, because a search on <code>cn</code> + <strong>must</strong> return exactly one entry. That's why + this approach is not recommended: it's a better idea to + choose an attribute that is guaranteed unique in your + directory, such as <code>uid</code>. +<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn" +Require valid-user</pre> + + </li> + + <li> + Grant access to anybody in the Administrators group. The + users must authenticate using their UID. +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid +Require ldap-group cn=Administrators, o=Example</pre> + + </li> + + <li> + Grant access to anybody in the group whose name matches the + hostname of the virtual host. In this example an + <a href="../expr.html">expression</a> is used to build the filter. +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid +Require ldap-group cn=%{SERVER_NAME}, o=Example</pre> + + </li> + + <li> + The next example assumes that everyone at Example who + carries an alphanumeric pager will have an LDAP attribute + of <code>qpagePagerID</code>. The example will grant access + only to people (authenticated via their UID) who have + alphanumeric pagers: +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*) +Require valid-user</pre> + + </li> + + <li> + <p>The next example demonstrates the power of using filters + to accomplish complicated administrative requirements. + Without filters, it would have been necessary to create a + new LDAP group and ensure that the group's members remain + synchronized with the pager users. This becomes trivial + with filters. The goal is to grant access to anyone who has + a pager, plus grant access to Joe Manager, who doesn't + have a pager, but does need to access the same + resource:</p> +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager)) +Require valid-user</pre> + + + <p>This last may look confusing at first, so it helps to + evaluate what the search filter will look like based on who + connects, as shown below. If + Fred User connects as <code>fuser</code>, the filter would look + like</p> + + <div class="example"><p><code>(&(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</code></p></div> + + <p>The above search will only succeed if <em>fuser</em> has a + pager. When Joe Manager connects as <em>jmanager</em>, the + filter looks like</p> + + <div class="example"><p><code>(&(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</code></p></div> + + <p>The above search will succeed whether <em>jmanager</em> + has a pager or not.</p> + </li> + </ul> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usingtls" id="usingtls">Using TLS</a></h2> + + <p>To use TLS, see the <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> directives <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> and <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p> + + <p>An optional second parameter can be added to the + <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> to override + the default connection type set by <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>. + This will allow the connection established by an <em>ldap://</em> Url + to be upgraded to a secure connection on the same port.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usingssl" id="usingssl">Using SSL</a></h2> + + <p>To use SSL, see the <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> directives <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> and <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p> + + <p>To specify a secure LDAP server, use <em>ldaps://</em> in the + <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> + directive, instead of <em>ldap://</em>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exposed" id="exposed">Exposing Login Information</a></h2> + + <p>when this module performs <em>authentication</em>, ldap attributes specified + in the <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> + directive are placed in environment variables with the prefix "AUTHENTICATE_".</p> + + <p>when this module performs <em>authorization</em>, ldap attributes specified + in the <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> + directive are placed in environment variables with the prefix "AUTHORIZE_".</p> + + <p>If the attribute field contains the username, common name + and telephone number of a user, a CGI program will have access to + this information without the need to make a second independent LDAP + query to gather this additional information.</p> + + <p>This has the potential to dramatically simplify the coding and + configuration required in some web applications.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="activedirectory" id="activedirectory">Using Active Directory</a></h2> + + <p>An Active Directory installation may support multiple domains at the + same time. To distinguish users between domains, an identifier called + a User Principle Name (UPN) can be added to a user's entry in the + directory. This UPN usually takes the form of the user's account + name, followed by the domain components of the particular domain, + for example <em>somebody@nz.example.com</em>.</p> + + <p>You may wish to configure the <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> + module to authenticate users present in any of the domains making up + the Active Directory forest. In this way both + <em>somebody@nz.example.com</em> and <em>someone@au.example.com</em> + can be authenticated using the same query at the same time.</p> + + <p>To make this practical, Active Directory supports the concept of + a Global Catalog. This Global Catalog is a read only copy of selected + attributes of all the Active Directory servers within the Active + Directory forest. Querying the Global Catalog allows all the domains + to be queried in a single query, without the query spanning servers + over potentially slow links.</p> + + <p>If enabled, the Global Catalog is an independent directory server + that runs on port 3268 (3269 for SSL). To search for a user, do a + subtree search for the attribute <em>userPrincipalName</em>, with + an empty search root, like so:</p> + +<pre class="prettyprint lang-config">AuthLDAPBindDN apache@example.com +AuthLDAPBindPassword password +AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub</pre> + + + <p>Users will need to enter their User Principal Name as a login, in + the form <em>somebody@nz.example.com</em>.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="frontpage" id="frontpage">Using Microsoft + FrontPage with mod_authnz_ldap</a></h2> + + <p>Normally, FrontPage uses FrontPage-web-specific user/group + files (i.e., the <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> and + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> modules) to handle all + authentication. Unfortunately, it is not possible to just + change to LDAP authentication by adding the proper directives, + because it will break the <em>Permissions</em> forms in + the FrontPage client, which attempt to modify the standard + text-based authorization files.</p> + + <p>Once a FrontPage web has been created, adding LDAP + authentication to it is a matter of adding the following + directives to <em>every</em> <code>.htaccess</code> file + that gets created in the web</p> +<pre class="prettyprint lang-config">AuthLDAPURL "the url" +AuthGroupFile "mygroupfile" +Require group "mygroupfile"</pre> + + +<h3><a name="howitworks" id="howitworks">How It Works</a></h3> + + <p>FrontPage restricts access to a web by adding the <code>Require + valid-user</code> directive to the <code>.htaccess</code> + files. The <code>Require valid-user</code> directive will succeed for + any user who is valid <em>as far as LDAP is + concerned</em>. This means that anybody who has an entry in + the LDAP directory is considered a valid user, whereas FrontPage + considers only those people in the local user file to be + valid. By substituting the ldap-group with group file authorization, + Apache is allowed to consult the local user file (which is managed by + FrontPage) - instead of LDAP - when handling authorizing the user.</p> + + <p>Once directives have been added as specified above, + FrontPage users will be able to perform all management + operations from the FrontPage client.</p> + + +<h3><a name="fpcaveats" id="fpcaveats">Caveats</a></h3> + + <ul> + <li>When choosing the LDAP URL, the attribute to use for + authentication should be something that will also be valid + for putting into a <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> user file. + The user ID is ideal for this.</li> + + <li>When adding users via FrontPage, FrontPage administrators + should choose usernames that already exist in the LDAP + directory (for obvious reasons). Also, the password that the + administrator enters into the form is ignored, since Apache + will actually be authenticating against the password in the + LDAP database, and not against the password in the local user + file. This could cause confusion for web administrators.</li> + + + <li>Apache must be compiled with <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> and + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> in order to + use FrontPage support. This is because Apache will still use + the <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> group file for determine + the extent of a user's access to the FrontPage web.</li> + + <li>The directives must be put in the <code>.htaccess</code> + files. Attempting to put them inside <code class="directive"><a href="../mod/core.html#location"><Location></a></code> or <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> directives won't work. This + is because <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> has to be able to grab + the <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> + directive that is found in FrontPage <code>.htaccess</code> + files so that it knows where to look for the valid user list. If + the <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> directives aren't in the same + <code>.htaccess</code> file as the FrontPage directives, then + the hack won't work, because <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will + never get a chance to process the <code>.htaccess</code> file, + and won't be able to find the FrontPage-managed user file.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPAuthorizePrefix" id="AuthLDAPAuthorizePrefix">AuthLDAPAuthorizePrefix</a> <a name="authldapauthorizeprefix" id="authldapauthorizeprefix">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the prefix for environment variables set during +authorization</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPAuthorizePrefix <em>prefix</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPAuthorizePrefix AUTHORIZE_</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.6 and later</td></tr> +</table> + <p>This directive allows you to override the prefix used for environment + variables set during LDAP authorization. If <em>AUTHENTICATE_</em> is + specified, consumers of these environment variables see the same information + whether LDAP has performed authentication, authorization, or both.</p> + + <div class="note"><h3>Note</h3> + No authorization variables are set when a user is authorized on the basis of + <code>Require valid-user</code>. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPBindAuthoritative" id="AuthLDAPBindAuthoritative">AuthLDAPBindAuthoritative</a> <a name="authldapbindauthoritative" id="authldapbindauthoritative">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPBindAuthoritative off|on</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPBindAuthoritative on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>By default, subsequent authentication providers are only queried if a + user cannot be mapped to a DN, but not if the user can be mapped to a DN and their + password cannot be verified with an LDAP bind. + If <code class="directive">AuthLDAPBindAuthoritative</code> + is set to <em>off</em>, other configured authentication modules will have + a chance to validate the user if the LDAP bind (with the current user's credentials) + fails for any reason.</p> + <p> This allows users present in both LDAP and + <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> to authenticate + when the LDAP server is available but the user's account is locked or password + is otherwise unusable.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li> +<li><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</a> <a name="authldapbinddn" id="authldapbinddn">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Optional DN to use in binding to the LDAP server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPBindDN <em>distinguished-name</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>An optional DN used to bind to the server when searching for + entries. If not provided, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will use + an anonymous bind.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a> <a name="authldapbindpassword" id="authldapbindpassword">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Password used in conjunction with the bind DN</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPBindPassword <em>password</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td><em>exec:</em> was added in 2.4.5.</td></tr> +</table> + <p>A bind password to use in conjunction with the bind DN. Note + that the bind password is probably sensitive data, and should be + properly protected. You should only use the <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code> and <code class="directive">AuthLDAPBindPassword</code> if you + absolutely need them to search the directory.</p> + + <p>If the value begins with exec: the resulting command will be + executed and the first line returned to standard output by the + program will be used as the password.</p> +<pre class="prettyprint lang-config">#Password used as-is +AuthLDAPBindPassword secret + +#Run /path/to/program to get my password +AuthLDAPBindPassword exec:/path/to/program + +#Run /path/to/otherProgram and provide arguments +AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</a> <a name="authldapcharsetconfig" id="authldapcharsetconfig">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Language to charset conversion configuration file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPCharsetConfig <em>file-path</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>The <code class="directive">AuthLDAPCharsetConfig</code> directive sets the location + of the language to charset conversion configuration file. <var>File-path</var> is relative + to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. This file specifies + the list of language extensions to character sets. + Most administrators use the provided <code>charset.conv</code> + file, which associates common language extensions to character sets.</p> + + <p>The file contains lines in the following format:</p> + + <div class="example"><p><code> + <var>Language-Extension</var> <var>charset</var> [<var>Language-String</var>] ... + </code></p></div> + + <p>The case of the extension does not matter. Blank lines, and lines + beginning with a hash character (<code>#</code>) are ignored.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPCompareAsUser" id="AuthLDAPCompareAsUser">AuthLDAPCompareAsUser</a> <a name="authldapcompareasuser" id="authldapcompareasuser">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPCompareAsUser on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPCompareAsUser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.6 and later</td></tr> +</table> + <p>When set, and <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> has authenticated the + user, LDAP comparisons for authorization use the queried distinguished name (DN) + and HTTP basic authentication password of the authenticated user instead of + the servers configured credentials.</p> + + <p> The <em>ldap-attribute</em>, <em>ldap-user</em>, and <em>ldap-group</em> (single-level only) + authorization checks use comparisons.</p> + + <p>This directive only has effect on the comparisons performed during + nested group processing when <code class="directive"><a href="#authldapsearchasuser"> + AuthLDAPSearchAsUser</a></code> is also enabled.</p> + + <p> This directive should only be used when your LDAP server doesn't + accept anonymous comparisons and you cannot use a dedicated + <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li> +<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</a> <a name="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the LDAP server to compare the DNs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPCompareDNOnServer on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPCompareDNOnServer on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>When set, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will use the LDAP + server to compare the DNs. This is the only foolproof way to + compare DNs. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will search the + directory for the DN specified with the <a href="#reqdn"><code>Require dn</code></a> directive, then, + retrieve the DN and compare it with the DN retrieved from the user + entry. If this directive is not set, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> simply does a string comparison. It + is possible to get false negatives with this approach, but it is + much faster. Note the <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> cache can speed up + DN comparison in most situations.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a> <a name="authldapdereferencealiases" id="authldapdereferencealiases">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>When will the module de-reference aliases</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPDereferenceAliases never|searching|finding|always</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPDereferenceAliases always</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>This directive specifies when <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will + de-reference aliases during LDAP operations. The default is + <code>always</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a> <a name="authldapgroupattribute" id="authldapgroupattribute">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>LDAP attributes used to identify the user members of +groups.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPGroupAttribute <em>attribute</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPGroupAttribute member uniqueMember</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>This directive specifies which LDAP attributes are used to + check for user members within groups. Multiple attributes can be used + by specifying this directive multiple times. If not specified, + then <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> uses the <code>member</code> and + <code>uniqueMember</code> attributes.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</a> <a name="authldapgroupattributeisdn" id="authldapgroupattributeisdn">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the DN of the client username when checking for +group membership</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPGroupAttributeIsDN on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPGroupAttributeIsDN on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>When set <code>on</code>, this directive says to use the + distinguished name of the client username when checking for group + membership. Otherwise, the username will be used. For example, + assume that the client sent the username <code>bjenson</code>, + which corresponds to the LDAP DN <code>cn=Babs Jenson, + o=Example</code>. If this directive is set, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will check if the group has + <code>cn=Babs Jenson, o=Example</code> as a member. If this + directive is not set, then <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will + check if the group has <code>bjenson</code> as a member.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPInitialBindAsUser" id="AuthLDAPInitialBindAsUser">AuthLDAPInitialBindAsUser</a> <a name="authldapinitialbindasuser" id="authldapinitialbindasuser">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPInitialBindAsUser off|on</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPInitialBindAsUser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.6 and later</td></tr> +</table> + <p>By default, the server either anonymously, or with a dedicated user and + password, converts the basic authentication username into an LDAP + distinguished name (DN). This directive forces the server to use the verbatim username + and password provided by the incoming user to perform the initial DN + search.</p> + + <p> If the verbatim username can't directly bind, but needs some + cosmetic transformation, see <code class="directive"><a href="#authldapinitialbindpattern"> + AuthLDAPInitialBindPattern</a></code>.</p> + + <p> This directive should only be used when your LDAP server doesn't + accept anonymous searches and you cannot use a dedicated + <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + + <div class="note"><h3>Not available with authorization-only</h3> + This directive can only be used if this module authenticates the user, and + has no effect when this module is used exclusively for authorization. + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code></li> +<li><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></li> +<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code></li> +<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPInitialBindPattern" id="AuthLDAPInitialBindPattern">AuthLDAPInitialBindPattern</a> <a name="authldapinitialbindpattern" id="authldapinitialbindpattern">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPInitialBindPattern (.*) $1 (remote username used verbatim)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.6 and later</td></tr> +</table> + <p>If <code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code> is set to + <em>ON</em>, the basic authentication username will be transformed according to the + regular expression and substitution arguments.</p> + + <p> The regular expression argument is compared against the current basic authentication username. + The substitution argument may contain backreferences, but has no other variable interpolation.</p> + + <p> This directive should only be used when your LDAP server doesn't + accept anonymous searches and you cannot use a dedicated + <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + + <pre class="prettyprint lang-config">AuthLDAPInitialBindPattern (.+) $1@example.com</pre> + + <pre class="prettyprint lang-config">AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com</pre> + + + <div class="note"><h3>Not available with authorization-only</h3> + This directive can only be used if this module authenticates the user, and + has no effect when this module is used exclusively for authorization. + </div> + <div class="note"><h3>debugging</h3> + The substituted DN is recorded in the environment variable + <em>LDAP_BINDASUSER</em>. If the regular expression does not match the input, + the verbatim username is used. + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li> +<li><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPMaxSubGroupDepth" id="AuthLDAPMaxSubGroupDepth">AuthLDAPMaxSubGroupDepth</a> <a name="authldapmaxsubgroupdepth" id="authldapmaxsubgroupdepth">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPMaxSubGroupDepth <var>Number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPMaxSubGroupDepth 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.0 and later</td></tr> +</table> + <p>When this directive is set to a non-zero value <code>X</code> + combined with use of the <code>Require ldap-group someGroupDN</code> + directive, the provided user credentials will be searched for + as a member of the <code>someGroupDN</code> directory object or of + any group member of the current group up to the maximum nesting + level <code>X</code> specified by this directive.</p> + <p>See the <a href="#reqgroup"><code>Require ldap-group</code></a> + section for a more detailed example.</p> + + <div class="note"><h3>Nested groups performance</h3> + <p> When <code class="directive">AuthLDAPSubGroupAttribute</code> overlaps with + <code class="directive">AuthLDAPGroupAttribute</code> (as it does by default and + as required by common LDAP schemas), uncached searching for subgroups in + large groups can be very slow. If you use large, non-nested groups, set + <code class="directive">AuthLDAPMaxSubGroupDepth</code> to zero.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a> <a name="authldapremoteuserattribute" id="authldapremoteuserattribute">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPRemoteUserAttribute uid</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>If this directive is set, the value of the + <code>REMOTE_USER</code> environment variable will be set to the + value of the attribute specified. Make sure that this attribute is + included in the list of attributes in the <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> definition, + otherwise this directive will have no effect. This directive, if + present, takes precedence over <code class="directive"><a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></code>. This + directive is useful should you want people to log into a website + using an email address, but a backend application expects the + username as a userid.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</a> <a name="authldapremoteuserisdn" id="authldapremoteuserisdn">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPRemoteUserIsDN on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPRemoteUserIsDN off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>If this directive is set to on, the value of the + <code>REMOTE_USER</code> environment variable will be set to the full + distinguished name of the authenticated user, rather than just + the username that was passed by the client. It is turned off by + default.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPSearchAsUser" id="AuthLDAPSearchAsUser">AuthLDAPSearchAsUser</a> <a name="authldapsearchasuser" id="authldapsearchasuser">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPSearchAsUser on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPSearchAsUser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.6 and later</td></tr> +</table> + <p>When set, and <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> has authenticated the + user, LDAP searches for authorization use the queried distinguished name (DN) + and HTTP basic authentication password of the authenticated user instead of + the servers configured credentials.</p> + + <p> The <em>ldap-filter</em> and <em>ldap-dn</em> authorization + checks use searches.</p> + + <p>This directive only has effect on the comparisons performed during + nested group processing when <code class="directive"><a href="#authldapcompareasuser"> + AuthLDAPCompareAsUser</a></code> is also enabled.</p> + + <p> This directive should only be used when your LDAP server doesn't + accept anonymous searches and you cannot use a dedicated + <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li> +<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPSubGroupAttribute" id="AuthLDAPSubGroupAttribute">AuthLDAPSubGroupAttribute</a> <a name="authldapsubgroupattribute" id="authldapsubgroupattribute">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPSubGroupAttribute <em>attribute</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPSubGroupAttribute member uniqueMember</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.0 and later</td></tr> +</table> + <p>An LDAP group object may contain members that are users and + members that are groups (called nested or sub groups). The + <code class="directive">AuthLDAPSubGroupAttribute</code> directive identifies the + labels of group members and the <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code> + directive identifies the labels of the user members. Multiple + attributes can be used by specifying this directive multiple times. + If not specified, then <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> uses the + <code>member</code> and <code>uniqueMember</code> attributes.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPSubGroupClass" id="AuthLDAPSubGroupClass">AuthLDAPSubGroupClass</a> <a name="authldapsubgroupclass" id="authldapsubgroupclass">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPSubGroupClass <em>LdapObjectClass</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.0 and later</td></tr> +</table> + <p>An LDAP group object may contain members that are users and + members that are groups (called nested or sub groups). The + <code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code> + directive identifies the + labels of members that may be sub-groups of the current group + (as opposed to user members). The <code class="directive">AuthLDAPSubGroupClass</code> + directive specifies the LDAP objectClass values used in verifying that + these potential sub-groups are in fact group objects. Verified sub-groups + can then be searched for more user or sub-group members. Multiple + attributes can be used by specifying this directive multiple times. + If not specified, then <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> uses the + <code>groupOfNames</code> and <code>groupOfUniqueNames</code> values.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthLDAPURL" id="AuthLDAPURL">AuthLDAPURL</a> <a name="authldapurl" id="authldapurl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL specifying the LDAP search parameters</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>An RFC 2255 URL which specifies the LDAP search parameters + to use. The syntax of the URL is</p> +<div class="example"><p><code>ldap://host:port/basedn?attribute?scope?filter</code></p></div> + <p>If you want to specify more than one LDAP URL that Apache should try in turn, the syntax is:</p> +<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/dc=..."</pre> + +<p><em><strong>Caveat: </strong>If you specify multiple servers, you need to enclose the entire URL string in quotes; +otherwise you will get an error: "AuthLDAPURL takes one argument, URL to define LDAP connection.." </em> +You can of course use search parameters on each of these.</p> + +<dl> +<dt>ldap</dt> + + <dd>For regular ldap, use the + string <code>ldap</code>. For secure LDAP, use <code>ldaps</code> + instead. Secure LDAP is only available if Apache was linked + to an LDAP library with SSL support.</dd> + +<dt>host:port</dt> + + <dd> + <p>The name/port of the ldap server (defaults to + <code>localhost:389</code> for <code>ldap</code>, and + <code>localhost:636</code> for <code>ldaps</code>). To + specify multiple, redundant LDAP servers, just list all + servers, separated by spaces. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> + will try connecting to each server in turn, until it makes a + successful connection. If multiple ldap servers are specified, + then entire LDAP URL must be encapsulated in double quotes.</p> + + <p>Once a connection has been made to a server, that + connection remains active for the life of the + <code class="program"><a href="../programs/httpd.html">httpd</a></code> process, or until the LDAP server goes + down.</p> + + <p>If the LDAP server goes down and breaks an existing + connection, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> will attempt to + re-connect, starting with the primary server, and trying + each redundant server in turn. Note that this is different + than a true round-robin search.</p> + </dd> + +<dt>basedn</dt> + + <dd>The DN of the branch of the + directory where all searches should start from. At the very + least, this must be the top of your directory tree, but + could also specify a subtree in the directory.</dd> + +<dt>attribute</dt> + + <dd>The attribute to search for. + Although RFC 2255 allows a comma-separated list of + attributes, only the first attribute will be used, no + matter how many are provided. If no attributes are + provided, the default is to use <code>uid</code>. It's a good + idea to choose an attribute that will be unique across all + entries in the subtree you will be using. All attributes + listed will be put into the environment with an AUTHENTICATE_ prefix + for use by other modules.</dd> + +<dt>scope</dt> + + <dd>The scope of the search. Can be either <code>one</code> or + <code>sub</code>. Note that a scope of <code>base</code> is + also supported by RFC 2255, but is not supported by this + module. If the scope is not provided, or if <code>base</code> scope + is specified, the default is to use a scope of + <code>sub</code>.</dd> + +<dt>filter</dt> + + <dd>A valid LDAP search filter. If + not provided, defaults to <code>(objectClass=*)</code>, which + will search for all objects in the tree. Filters are + limited to approximately 8000 characters (the definition of + <code>MAX_STRING_LEN</code> in the Apache source code). This + should be more than sufficient for any application. In 2.4.10 and later, + the keyword <code>none</code> disables the use of a filter; this is + required by some primitive LDAP servers.</dd> +</dl> + + <p>When doing searches, the attribute, filter and username passed + by the HTTP client are combined to create a search filter that + looks like + <code>(&(<em>filter</em>)(<em>attribute</em>=<em>username</em>))</code>.</p> + + <p>For example, consider an URL of + <code>ldap://ldap.example.com/o=Example?cn?sub?(posixid=*)</code>. When + a client attempts to connect using a username of <code>Babs + Jenson</code>, the resulting search filter will be + <code>(&(posixid=*)(cn=Babs Jenson))</code>.</p> + + <p>An optional parameter can be added to allow the LDAP Url to override + the connection type. This parameter can be one of the following:</p> + +<dl> + <dt>NONE</dt> + <dd>Establish an unsecure connection on the default LDAP port. This + is the same as <code>ldap://</code> on port 389.</dd> + <dt>SSL</dt> + <dd>Establish a secure connection on the default secure LDAP port. + This is the same as <code>ldaps://</code></dd> + <dt>TLS | STARTTLS</dt> + <dd>Establish an upgraded secure connection on the default LDAP port. + This connection will be initiated on port 389 by default and then + upgraded to a secure connection on the same port.</dd> +</dl> + + <p>See above for examples of <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> URLs.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_ldap.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_ldap.html.fr.utf8 b/docs/manual/mod/mod_authnz_ldap.html.fr.utf8 new file mode 100644 index 0000000..725bf8a --- /dev/null +++ b/docs/manual/mod/mod_authnz_ldap.html.fr.utf8 @@ -0,0 +1,1466 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authnz_ldap - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authnz_ldap</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification +HTTP de base.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authnz_ldap_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_ldap.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet aux frontaux d'authentification comme + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> d'authentifier les utilisateurs via + un annuaire ldap.</p> + + <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> supporte les fonctionnalités + suivantes :</p> + + <ul> + <li>Support vérifié du <a href="http://www.openldap.org/">OpenLDAP SDK</a> (versions 1.x et + 2.x), du <a href="http://developer.novell.com/ndk/cldap.htm"> + Novell LDAP SDK</a> et du SDK <a href="http://www.iplanet.com/downloads/developer/">iPlanet + (Netscape)</a>.</li> + + <li>Implémentation de politiques d'autorisation complexes en les + définissant via des filtres LDAP.</li> + + <li>Mise en oeuvre d'une mise en cache des opérations LDAP + élaborée via <a href="mod_ldap.html">mod_ldap</a>.</li> + + <li>Support de LDAP via SSL (nécessite le SDK Netscape) ou TLS + (nécessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).</li> + </ul> + + <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, ce module est + invoqué en affectant la valeur <code>ldap</code> à la directive + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#contents">Sommaire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gcaveats">Mises en garde à caractère général</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#operation">Mode opératoire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives requises</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usingtls">Utilisation de TLS</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usingssl">Utilisation de SSL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de +connexion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#activedirectory">Utilisation d'Active +Directory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#frontpage">Utilisation de Microsoft + FrontPage avec mod_authnz_ldap</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapbinddn">AuthLDAPBindDN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindpassword">AuthLDAPBindPassword</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPURL</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_ldap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_ldap">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></li> +<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="contents" id="contents">Sommaire</a></h2> + + <ul> + <li> <a href="#gcaveats">Mises en garde à caractère général</a> </li> + <li> <a href="#operation">Mode opératoire</a> + + <ul> + <li><a href="#authenphase">La phase + d'authentification</a></li> + + <li><a href="#authorphase">La phase d'autorisation</a></li> + </ul> + </li> + + <li> + <a href="#requiredirectives">Les directives requises</a> + + <ul> + <li><a href="#requser">Require ldap-user</a></li> + <li><a href="#reqgroup">Require ldap-group</a></li> + <li><a href="#reqdn">Require ldap-dn</a></li> + <li><a href="#reqattribute">Require ldap-attribute</a></li> + <li><a href="#reqfilter">Require ldap-filter</a></li> + </ul> + </li> + + <li><a href="#examples">Exemples</a></li> + <li><a href="#usingtls">Utilisation de TLS</a></li> + <li><a href="#usingssl">Utilisation de SSL</a></li> + <li><a href="#exposed">Mise à disposition des informations de + connexion</a></li> + <li><a href="#activedirectory">Utilisation d'Active Directory</a></li> + <li> + <a href="#frontpage">Utilisation de Microsoft FrontPage avec + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></a> + + <ul> + <li><a href="#howitworks">Comment ça marche</a></li> + <li><a href="#fpcaveats">Mises en garde</a></li> + </ul> + </li> + </ul> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="gcaveats" id="gcaveats">Mises en garde à caractère général</a></h2> +<p>Ce module effectue une mise en cache des résultats du processus +d'authentification et d'autorisation en fonction de la configuration du +module <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Les modifications effectuées au niveau +du serveur LDAP d'arrière-plan comme les +verrouillages ou révocations d'utilisateurs, les changements de mot de +passe, ou les changements d'appartenance à un groupe (et cette liste +n'est pas exhaustive), ne seront pas immédiatement propagées jusqu'au +serveur HTTP. Consultez les directives du module +<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> pour plus de détails à propos de la +configuration de la mise en cache. +</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="operation" id="operation">Mode opératoire</a></h2> + + <p>L'utilisateur se voit accorder l'accès selon un processus en deux + phases. La première phase est l'authentification, au cours de + laquelle le fournisseur d'authentification + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> vérifie que les informations de + connexion de l'utilisateur sont valides. Elle est aussi connue sous + le nom de phase de <em>recherche/connexion</em> (NdT : en anglais ou + dans le code source : <em>search/bind</em>). La deuxième + phase est l'autorisation, au cours de laquelle + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> détermine si l'utilisateur + authentifié a la permission d'accéder à la ressource considérée. + Elle est aussi connue sous le nom de phase de + <em>comparaison</em> (<em>compare</em>).</p> + + <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> comporte un fournisseur + d'authentification authn_ldap et un gestionnaire d'autorisation + authz_ldap. Le fournisseur d'authentification authn_ldap peut être + invoqué en affectant la valeur <code>ldap</code> à la directive + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Le + gestionnaire d'autorisation authz_ldap enrichit la liste des types + d'autorisations de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> en y ajoutant les + valeurs <code>ldap-user</code>, <code>ldap-dn</code> et + <code>ldap-group</code>.</p> + +<h3><a name="authenphase" id="authenphase">La phase d'authentification</a></h3> + + <p>Au cours de la phase d'authentification, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> recherche une entrée de l'annuaire + LDAP qui correspond au nom d'utilisateur fourni par le client HTTP. + Si une correspondance unique est trouvée, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de se connecter au serveur + hébergeant l'annuaire LDAP en utilisant le DN de l'entrée et le mot + de passe fourni par le client HTTP. Comme ce processus effectue tout + d'abord une recherche, puis une connexion, il est aussi connu sous + le nom de phase de recherche/connexion. Voici le détail des étapes + constituant la phase de recherche/connexion :</p> + + <ol> + <li>Confection d'un filtre de recherche en combinant les attribut + et filtre définis par la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> avec le nom d'utilisateur et le mot de + passe fournis par le client HTTP.</li> + + <li>Recherche dans l'annuaire LDAP en utilisant le filtre + confectionné précédemment. Si le résultat de la recherche est + négatif ou comporte plusieurs entrées, refus ou restriction de + l'accès.</li> + + <li>Extraction du DN (distinguished name) de l'entrée issue du + résultat de la recherche, et tentative de connexion au serveur + LDAP en utilisant ce DN et le mot de passe fournis par le client + HTTP. Si la connexion échoue, refus ou restriction de + l'accès.</li> + </ol> + + <p>Les directives utilisées durant la phase de recherche/connexion + sont les suivantes :</p> + + <table> + + <tr> + <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code></td> + + <td>Spécifie le serveur LDAP, le DN de base, l'attribut à + utiliser pour la recherche, ainsi que les filtres de recherche + supplémentaires.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></td> + + <td>Un DN optionnel pour se connecter durant la phase de + recherche.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code></td> + + <td>Un mot de passe optionnel pour se connecter durant la phase + de recherche.</td> + </tr> + </table> + + +<h3><a name="authorphase" id="authorphase">La phase d'autorisation</a></h3> + + <p>Au cours de la phase d'autorisation, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de déterminer si + l'utilisateur est autorisé à accéder à la ressource considérée. Une + grande partie de cette vérification consiste pour + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> en des opérations de comparaison au + niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue + sous le nom de phase de comparaison. + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> accepte les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> suivantes pour + déterminer si les informations de connexion permettent d'accorder + l'accès à l'utilisateur :</p> + + <ul> + <li>Avec la directive <a href="#reqgroup"><code>Require ldap-user</code></a>, + l'autorisation d'accès est accordée si le nom d'utilisateur + spécifié par la directive correspond au nom d'utilisateur fourni + par le client.</li> + + <li>Avec la directive <a href="#reqdn"><code>Require + ldap-dn</code></a>, l'autorisation d'accès est accordée si le DN + spécifié par la directive correspond au DN extrait du résultat de + la recherche dans l'annuaire LDAP.</li> + + <li>Avec la directive <a href="#reqgroup"><code>Require ldap-group</code></a>, + l'autorisation d'accès est accordée si le DN extrait du résultat de + la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni + par le client) appartient au groupe LDAP spécifié par la + directive, ou éventuellement à un de ses sous-groupes.</li> + + <li>Avec la directive <a href="#reqattribute"> + <code>Require ldap-attribute</code></a>, l'autorisation d'accès + est accordée si la valeur de l'attribut extraite de la recherche + dans l'annuaire LDAP correspond à la valeur spécifiée par la + directive.</li> + + <li>Avec la directive <a href="#reqfilter"> + <code>Require ldap-filter</code></a>, l'autorisation d'accès + est accordée si le filtre de recherche renvoie un objet + utilisateur unique qui corresponde au DN de l'utilisateur + authentifié.</li> + + <li>dans tous les autres cas, refus ou restriction de + l'accès.</li> + </ul> + + <p>Sous réserve du chargement de modules d'autorisation + supplémentaires, d'autres valeurs de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> peuvent être + spécifiées.</p> + + <ul> + <li>L'accès est accordé à tous les utilisateurs authentifiés si + une directive <a href="#requser"><code>Require + valid-user</code></a> est présente (nécessite le module + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>).</li> + + <li>Avec la directive <a href="#reqgroup"><code>Require group</code></a>, l'autorisation + d'accès est accordée si le module + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> a été chargé et si la + directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> a été + définie.</li> + + <li>etc...</li> + </ul> + + + <p>Durant la phase de comparaison, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> + utilise les directives suivantes :</p> + + <table> + + <tr> + <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> + </td> + + <td>On utilise l'attribut spécifié dans l'URL pour les + opérations de comparaison initiées par la directive + <code>Require ldap-user</code>.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code></td> + + <td>Détermine le comportement de la directive <code>Require + ldap-dn</code>.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code></td> + + <td>Détermine l'attribut utilisé pour les opérations de + comparaison initiées par la directive <code>Require + ldap-group</code>.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code></td> + + <td>Spécifie si l'on doit utiliser le DN ou le nom de + l'utilisateur lors des opérations de comparaison initiées par la + directive <code>Require ldap-group</code>.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code></td> + + <td>Détermine la profondeur maximale de l'arborescence des + sous-groupes qui seront évalués au cours des opérations de + comparaisons initiées par la directive <code>Require + ldap-group</code>.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code></td> + + <td>Détermine l'attribut à utiliser lors de l'extraction de + membres de sous-groupes du groupe courant au cours des + opérations de comparaison initiées par la directive + <code>Require ldap-group</code>.</td> + </tr> + + <tr> + <td><code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code></td> + + <td>Spécifie les valeurs de classe d'objet LDAP à utiliser pour + déterminer si les objets extraits de l'annuaire sont bien des + objets de type groupe (et non des objets de type utilisateur), + au cours du traitement des sous-groupes initié par la directive + <code>Require ldap-group</code>.</td> + </tr> + </table> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">Les directives requises</a></h2> + + <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache sont utilisées + au cours de la phase d'autorisation afin de s'assurer que + l'utilisateur est autorisé à accéder à une ressource. + mod_authnz_ldap enrichit la liste des types d'autorisations avec les + valeurs <code>ldap-user</code>, <code>ldap-dn</code>, + <code>ldap-group</code>, <code>ldap-attribute</code> et + <code>ldap-filter</code>. D'autres types d'autorisations sont + disponibles, sous réserve du chargement de modules d'autorisation + supplémentaires.</p> + + <p>Depuis la version 2.4.8, les directives require LDAP supportent + les <a href="../expr.html">expressions</a>.</p> + +<h3><a name="requser" id="requser">Require ldap-user</a></h3> + + <p>La directive <code>Require ldap-user</code> permet de spécifier + les noms des utilisateurs autorisés à accéder à la ressource. + Lorsque <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a extrait un DN unique de + l'annuaire LDAP, il effectue une opération de comparaison LDAP en + utilisant le nom d'utilisateur spécifié par la directive + <code>Require ldap-user</code>, pour vérifier si ce nom + d'utilisateur correspond à l'entrée LDAP extraite. On peut accorder + l'accès à plusieurs utilisateurs en plaçant plusieurs nom + d'utilisateurs sur la même ligne séparés par des espaces. Si un nom + d'utilisateur contient des espaces, il doit être entouré de + guillemets. On peut aussi accorder l'accès à plusieurs utilisateurs + en utilisant une directive <code>Require ldap-user</code> par + utilisateur. Par exemple, avec la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> définie à + <code>ldap://ldap/o=Example?cn</code> (spécifiant donc que l'attribut + <code>cn</code> sera utilisé pour les recherches), on pourra + utiliser les directives Require suivantes pour restreindre l'accès + :</p> +<pre class="prettyprint lang-config">Require ldap-user "Barbara Jenson" +Require ldap-user "Fred User" +Require ldap-user "Joe Manager"</pre> + + + <p>De par la manière dont <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> traite + cette directive, Barbara Jenson peut s'authentifier comme + <em>Barbara Jenson</em>, <em>Babs Jenson</em> ou tout autre + <code>cn</code> sous lequel elle est enregistrée dans l'annuaire + LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour + toutes les valeurs de l'attribut dans l'entrée LDAP de + l'utilisateur.</p> + + <p>Si l'attribut <code>uid</code> avait été spécifié à la place de + l'attribut <code>cn</code> dans l'URL précédente, les trois lignes + ci-dessus auraient pû être condensées en une seule ligne :</p> +<pre class="prettyprint lang-config">Require ldap-user bjenson fuser jmanager</pre> + + + +<h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3> + + <p>Cette directive permet de spécifier un groupe LDAP dont les + membres auront l'autorisation d'accès. Elle prend comme argument le + DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des + guillemets. Par exemple, supposons que l'entrée suivante existe dans + l'annuaire LDAP :</p> +<div class="example"><pre>dn: cn=Administrators, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Barbara Jenson, o=Example +uniqueMember: cn=Fred User, o=Example</pre></div> + + <p>La directive suivante autoriserait alors l'accès à Fred et + Barbara :</p> +<pre class="prettyprint lang-config">Require ldap-group cn=Administrators, o=Example</pre> + + + <p>Les membres peuvent aussi se trouver dans les sous-groupes du + groupe LDAP spécifié si la directive <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code> a été + définie à une valeur supérieure à 0. Par exemple, supposons que les + entrées suivantes existent dans l'annuaire LDAP :</p> +<div class="example"><pre>dn: cn=Employees, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Managers, o=Example +uniqueMember: cn=Administrators, o=Example +uniqueMember: cn=Users, o=Example + +dn: cn=Managers, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Bob Ellis, o=Example +uniqueMember: cn=Tom Jackson, o=Example + +dn: cn=Administrators, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Barbara Jenson, o=Example +uniqueMember: cn=Fred User, o=Example + +dn: cn=Users, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Allan Jefferson, o=Example +uniqueMember: cn=Paul Tilley, o=Example +uniqueMember: cn=Temporary Employees, o=Example + +dn: cn=Temporary Employees, o=Example +objectClass: groupOfUniqueNames +uniqueMember: cn=Jim Swenson, o=Example +uniqueMember: cn=Elliot Rhodes, o=Example</pre></div> + + <p>Les directives suivantes autoriseraient alors l'accès à Bob + Ellis, Tom Jackson, Barbara Jenson, Fred User, Allan Jefferson, et + Paul Tilley, mais l'interdiraient à Jim Swenson, ou Elliot Rhodes + (car ils sont situés dans un sous-groupe de niveau de profondeur 2) + :</p> +<pre class="prettyprint lang-config">Require ldap-group cn=Employees, o=Example +AuthLDAPMaxSubGroupDepth 1</pre> + + + <p>Le comportement de cette directive est modifié par les directives + <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code>, + <code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code>, + <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code>, + <code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code>, et + <code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code>.</p> + + +<h3><a name="reqdn" id="reqdn">Require ldap-dn</a></h3> + + <p>La directive <code>Require ldap-dn</code> permet à + l'administrateur d'accorder l'utorisation d'accès en fonction du DN. + Elle permet de spécifier un DN pour lequel l'accès est autorisé. Si + le DN extrait de + l'annuaire correspond au DN spécifié par la directive <code>Require + ldap-dn</code>, l'autorisation d'accès est accordée. Note : + n'entourez pas Le DN de guillemets.</p> + + <p>La directive suivante accorderait l'accès à un DN spécifique + :</p> +<pre class="prettyprint lang-config">Require ldap-dn cn=Barbara Jenson, o=Example</pre> + + + <p>Le comportement ce cette directive est modifié par la directive + <code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code>.</p> + + +<h3><a name="reqattribute" id="reqattribute">Require ldap-attribute</a></h3> + + <p>La directive <code>Require ldap-attribute</code> permet à + l'administrateur d'accorder l'autorisation d'accès en fonction des + attributs de l'utilisateur authentifié dans l'annuaire LDAP. Si la + valeur de l'attribut dans l'annuaire correspond à la valeur + spécifiée par la directive, l'autorisation d'accès est accordée.</p> + + <p>La directive suivante accorderait l'autorisation d'accès à tout + utilisateur dont l'attribut employeeType a pour valeur "actif" :</p> + + <pre class="prettyprint lang-config">Require ldap-attribute employeeType="active"</pre> + + + <p>Plusieurs paires attribut/valeur peuvent être spécifiées par une + même directive en les séparant par des espaces, ou en définissant + plusieurs directives <code>Require ldap-attribute</code>. La logique + sous-jacente à une liste de paires attribut/valeur est une opération + OU. L'autorisation d'accès sera accordée si au moins une paire + attribut/valeur de la liste spécifiée correspond à la paire + attribut/valeur de l'utilisateur authentifié. Si elle contient des + espaces, la valeur, et seulement la valeur, doit être entourée de + guillemets.</p> + + <p>La directive suivante accorderait l'autorisation d'accès à tout + utilisateur dont l'attribut city aurait pour valeur "San Jose", ou + donc l'attribut status aurait pour valeur "actif" :</p> + + <pre class="prettyprint lang-config">Require ldap-attribute city="San Jose" status="active"</pre> + + + + +<h3><a name="reqfilter" id="reqfilter">Require ldap-filter</a></h3> + + <p>La directive <code>Require ldap-filter</code> permet à + l'administrateur d'accorder l'autorisation d'accès en fonction d'un + filtre de recherche LDAP complexe. L'autorisation d'accès est + accordée si le DN renvoyé par le filtre de recherche correspond au + DN de l'utilisateur authentifié.</p> + + <p>La directive suivante accorderait l'autorisation d'accès à tout + utilisateur possédant un téléphone cellulaire et faisant partie du + département "marketing" :</p> + + <pre class="prettyprint lang-config">Require ldap-filter &(cell=*)(department=marketing)</pre> + + + <p>Alors que la directive <code>Require ldap-attribute</code> se + contente d'une simple comparaison d'attributs, la directive + <code>Require ldap-filter</code> effectue une opération de recherche + dans l'annuaire LDAP en utilisant le filtre de recherche spécifié. + Si une simple comparaison d'attributs suffit, l'opération de + comparaison effectuée par <code>ldap-attribute</code> sera plus + rapide que l'opération de recherche effectuée par + <code>ldap-filter</code>, en particulier dans le cas d'un annuaire + LDAP de grande taille.</p> + + <p>Lorsqu'on utilise une <a href="../expr.html">expression</a> dans un + filtre, il faut s'assurer que les filtres LDAP sont correctement échappés + afin de se prémunir contre toute injection LDAP. Pour ce faire, + il est possible d'utiliser la fonction <strong>ldap</strong>.</p> + +<pre class="prettyprint lang-config"><LocationMatch ^/dav/(?<SITENAME>[^/]+)/> + Require ldap-filter (memberOf=cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}},ou=Websites,o=Example) +</LocationMatch></pre> + + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + + <ul> + <li> + Accorde l'autorisation d'accès à tout utilisateur présent dans + l'annuaire LDAP, en utilisant son UID pour effectuer la + recherche : +<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)" +Require valid-user</pre> + + </li> + + <li> + L'exemple suivant est similaire au précédent, mais les champs + dont les valeurs par défaut conviennent sont omis. Notez aussi + la présence d'un annuaire LDAP redondant : +<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example" +Require valid-user</pre> + + </li> + + <li> + Encore un exemple similaire aux précédents, mais cette fois, + c'est l'attribut cn qui est utilisé pour la recherche à la place + de l'UID. Notez que ceci peut poser problème si plusieurs + utilisateurs de l'annuaire partagent le même <code>cn</code>, + car une recherche sur le <code>cn</code> <strong>doit</strong> + retourner une entrée et une seule. C'est pourquoi cette + approche n'est pas recommandée : il est préférable de choisir un + attribut de votre annuaire dont l'unicité soit garantie, comme + <code>uid</code>. +<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn" +Require valid-user</pre> + + </li> + + <li> + Accorde l'autorisation d'accès à tout utilisateur appartenant au + groupe Administrateurs. Les utilisateurs doivent s'authentifier + en utilisant leur UID : +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid +Require ldap-group cn=Administrators, o=Example</pre> + + </li> + + <li> + Accorde l'accès à tout utilisateur appartenant au groupe dont le + nom correspond au nom d'hôte du serveur virtuel. Dans cet exemple, + on utilise une <a href="../expr.html">expression</a> pour + construire le filtre. +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid +Require ldap-group cn=%{SERVER_NAME}, o=Example</pre> + + </li> + + <li> + Pour l'exemple suivant, on suppose que tout utilisateur de chez + Example qui dispose d'un bippeur alphanumérique possèdera un + attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs + (authentifiés via leur UID) se verront accorder l'autorisation + d'accès : +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*) +Require valid-user</pre> + + </li> + + <li> + <p>L'exemple suivant illustre la puissance des filtres pour + effectuer des requêtes complexes. Sans les filtres, il aurait + été nécessaire de créer un nouveau groupe LDAP et de s'assurer + de la synchronisation des membres du groupe avec les + utilisateurs possédant un bippeur. Tout devient limpide avec les + filtres. Nous avons pour but d'accorder l'autorisation d'accès à + tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager + qui ne possède pas de bippeur, mais doit tout de même pouvoir + accéder à la ressource :</p> +<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager)) +Require valid-user</pre> + + + <p>Ce dernier exemple peut sembler confus au premier abord ; en + fait, il permet de mieux comprendre à quoi doit ressembler le + filtre en fonction de l'utilisateur qui se connecte. Si Fred + User se connecte en tant que <code>fuser</code>, le filtre devra + ressembler à :</p> + + <div class="example"><p><code>(&(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</code></p></div> + + <p>Un recherche avec le filtre ci-dessus ne retournera un + résultat positif que si <em>fuser</em> dispose d'un bippeur. Si + Joe Manager se connecte en tant que <em>jmanager</em>, le filtre + devra ressembler à :</p> + + <div class="example"><p><code>(&(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</code></p></div> + + <p>Un recherche avec le filtre ci-dessus retournera un + résultat positif que <em>jmanager</em> dispose d'un + bippeur ou non</p> + </li> + </ul> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usingtls" id="usingtls">Utilisation de TLS</a></h2> + + <p>Pour l'utilisation de TLS, voir les directives du module + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p> + + <p>Un second paramètre optionnel peut être ajouté à la directive + <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> pour + remplacer le type de connexion par défaut défini par la directive + <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>. Ceci + permettra de promouvoir la connexion établie via une URL du type + <em>ldap://</em> au statut de connection sécurisée sur le même + port.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usingssl" id="usingssl">Utilisation de SSL</a></h2> + + <p>Pour l'utilisation de SSL, voir les directives du module + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p> + + <p>Pour spécifier un serveur LDAP sécurisé, utilisez + <em>ldaps://</em> au lieu de + <em>ldap://</em> dans la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exposed" id="exposed">Mise à disposition des informations de +connexion</a></h2> + + <p>Au cours du processus d'<em>authentification</em>, les attributs LDAP + spécifiés par la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> sont enregistrés dans des + variables d'environnement préfixées par la chaîne "AUTHENTICATE_".</p> + + <p>Au cours du processus d'<em>autorisation</em>, les attributs LDAP + spécifiés par la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> sont enregistrés + dans des variables d'environnement préfixées par la chaîne + "AUTHORIZE_".</p> + + <p>Si les champs attribut contiennent le nom, le CN et le numéro de + téléphone d'un utilisateur, un programme CGI pourra accéder à ces + informations sans devoir effectuer une autre requête LDAP pour + les extraire de l'annuaire.</p> + + <p>Ceci a pour effet de simplifier considérablement le code et la + configuration nécessaire de certaines applications web.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="activedirectory" id="activedirectory">Utilisation d'Active +Directory</a></h2> + + <p>Active Directory peut supporter plusieurs domaines à la fois. + Pour faire la distinction entre les utilisateurs de plusieurs + domaines, on peut ajouter à l'entrée de l'utilisateur dans + l'annuaire un identifiant appelé Nom + Principal d'Utilisateur (User Principle Name ou UPN). Cet UPN se + compose en général du nom de compte de l'utilisateur, suivi du nom + du domaine considéré, par exemple <em>untel@nz.example.com</em>.</p> + + <p>Vous voudrez probablement configurer le module + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> afin de pouvoir authentifier les + utilisateurs de n'importe quel domaine de la forêt Active Directory. + Ainsi, <em>untel@nz.example.com</em> et + <em>untel@au.example.com</em> pourront être authentifiés en une + seule fois par la même requête.</p> + + <p>Pour y parvenir, on utilise le concept de Catalogue Global + d'Active Directory. Ce Catalogue Global est une copie en lecture + seule des attributs sélectionnés de tous les serveurs de la forêt + Active Directory. Une requête vers le + Catalogue Global permet donc d'atteindre tous les domaines en une + seule fois, sans avoir à se connecter aux différents serveurs, via + des liaisons dont certaines peuvent être lentes.</p> + + <p>Lorsqu'il est activé, la Catalogue Global est un serveur + d'annuaire indépendant accessible sur le port 3268 (3269 pour SSL). + Pour rechercher un utilisateur, effectuez une recherche sur + l'attribut <em>userPrincipalName</em>, avec une base de recherche + vide, comme suit :</p> + +<pre class="prettyprint lang-config">AuthLDAPBindDN apache@example.com +AuthLDAPBindPassword password +AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub</pre> + + + <p>Les utilisateurs devront s'authentifier en entrant leur UPN, de + la forme<em>untel@nz.example.com</em>.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="frontpage" id="frontpage">Utilisation de Microsoft + FrontPage avec mod_authnz_ldap</a></h2> + + <p>Normalement, FrontPage utilise des fichiers utilisateur/groupe + spécifiques à FrontPage-web (c'est à dire les modules + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>) pour effectuer toute + l'authentification. Malheureusement, il ne suffit pas de modifier + l'authentification LDAP en ajoutant les directives appropriées, car + ceci corromprait les formulaires de <em>Permissions</em> dans le + client FrontPage, qui sont censés modifier les fichiers + d'autorisation standards au format texte.</p> + + <p>Lorsqu'un site web FrontPage a été créé, lui adjoindre + l'authentification LDAP consiste à ajouter les directives suivantes + à <em>chaque</em> fichier <code>.htaccess</code> qui sera créé dans + le site web :</p> +<pre class="prettyprint lang-config">AuthLDAPURL "the url" +AuthGroupFile "mygroupfile" +Require group "mygroupfile"</pre> + + +<h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3> + + <p>FrontPage restreint l'accès à un site web en ajoutant la + directive <code>Require valid-user</code> aux fichiers + <code>.htaccess</code>. La directive <code>Require valid-user</code> + permettra l'accès à tout utilisateur valide <em>du point de vue + LDAP</em>. Cela signifie que tout utilisateur possédant une entrée + dans l'annuaire LDAP sera considéré comme valide, alors que + FrontPage ne considère comme valides que les utilisateurs + enregistrés dans le fichier des utilisateurs local. En remplaçant + l'autorisation par groupe LDAP par une autorisation par fichier de + groupe, Apache sera en mesure de consulter le fichier des + utilisateurs local (géré par FrontPage) - au lieu de l'annuaire LDAP + - lors du processus d'autorisation des utilisateurs.</p> + + <p>Une fois les directives ajoutées selon ce qui précède, les + utilisateurs FrontPage pourront effectuer toutes les opérations de + gestion à partir du client FrontPage.</p> + + +<h3><a name="fpcaveats" id="fpcaveats">Avertissements</a></h3> + + <ul> + <li>Lors du choix de l'URL LDAP, l'attribut à utiliser pour + l'authentification doit aussi être valide pour le fichier des + utilisateurs de <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. A cette fin, + l'UID est idéal.</li> + + <li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les + administrateurs de FrontPage doivent choisir des noms + d'utilisateurs qui existent déjà dans l'annuaire LDAP (pour des + raisons évidentes). De même, le mot de passe que l'administrateur + entre dans le formulaire est ignoré, car pour l'authentification, + Apache utilise le mot de passe de l'annuaire LDAP, et non le mot + de passe enregistré dans le fichier des utilisateurs, ce qui peut + semer la confusion parmi les administrateurs web.</li> + + + <li>Pour supporter FrontPage, Apache doit être compilé avec + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> + et <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>. Ceci est dû au fait + qu'Apache doit utiliser le fichier de groupes de + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> pour déterminer le niveau + d'accès d'un utilisateur au site web FrontPage.</li> + + <li>Les directives doivent être placées dans les fichiers + <code>.htaccess</code>. Elles ne fonctionneront pas si vous les + placez dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>. Ceci est dû au fait que pour savoir + où se trouve la liste des utilisateurs valides, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> doit être en mesure d'atteindre + la directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> qui se trouve + dans les fichiers <code>.htaccess</code> de FrontPage. Si les directives + de <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sont pas situées dans le + même fichier <code>.htaccess</code> que les directives FrontPage, + la configuration ne fonctionnera pas, car + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sera jamais en mesure de + traiter le fichier <code>.htaccess</code>, et par conséquent ne + pourra jamais trouver le fichier des utilisateurs géré par + FrontPage.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapauthorizeprefix" id="authldapauthorizeprefix">Directive</a> <a name="AuthLDAPAuthorizePrefix" id="AuthLDAPAuthorizePrefix">AuthLDAPAuthorizePrefix</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le préfixe ajouté aux variables d'environnement +durant la phase d'autorisation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPAuthorizePrefix <em>préfixe</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPAuthorizePrefix AUTHORIZE_</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr> +</table> + <p>Cette directive permet de spécifier le préfixe ajouté aux + variables d'environnement durant la phase d'autorisation. Si la + valeur spécifiée est <em>AUTHENTICATE_</em>, les utilisateurs de ces + variables d'environnement verront les mêmes informations, que le + serveur effectue une authentification, une autorisation, ou les + deux.</p> + + <div class="note"><h3>Note</h3> + Aucune variable d'autorisation n'est définie lorsqu'un utilisateur + s'est vu autoriser l'accès via la directive <code>Require + valid-user</code>. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapbindauthoritative" id="authldapbindauthoritative">Directive</a> <a name="AuthLDAPBindAuthoritative" id="AuthLDAPBindAuthoritative">AuthLDAPBindAuthoritative</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'on doit utiliser d'autres fournisseurs +d'authentification lorsque le serveur ne peut pas valider les données +d'authentification de l'utilisateur, alors que ce dernier possède un +DN.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindAuthoritative off|on</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPBindAuthoritative on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Par défaut, des fournisseurs d'authentification sont appelés + si un utilisateur ne possède pas de DN, mais ne le sont pas si + l'utilisateur possède un DN et si son mot de passe ne peut pas être + vérifié lors d'une connexion au serveur LDAP. Si la directive + <code class="directive">AuthLDAPBindAuthoritative</code> est + définie à <em>off</em>, d'autres modules d'authentification + configurés auront une chance de valider le mot de passe de + l'utilisateur si la tentative de connexion au serveur LDAP échoue + pour une raison quelconque (avec les données d'authentification + fournies).</p> + <p>Ceci permet aux utilisateurs présent à la fois dans l'annuaire + LDAP et dans un fichier <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> de s'authentifier + lorsque le serveur LDAP est disponible, alors que le compte de + l'utilisateur est verrouillé ou que son mot de passe est + inutilisable pour une raison quelconque.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li> +<li><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapbinddn" id="authldapbinddn">Directive</a> <a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Un DN optionnel pour se connecter au serveur +LDAP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindDN <em>dn</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Cette directive permet de définir un DN optionnel pour se + connecter au serveur afin d'y rechercher des entrées. Si aucun DN + n'est spécifié, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera une + connexion anonyme.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapbindpassword" id="authldapbindpassword">Directive</a> <a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mot de passe à utiliser en conjonction avec le DN de +connexion</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindPassword <em>mot-de-passe</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td><em>exec:</em> est disponible depuis la version 2.4.5 du +serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive permet de spécifier un mot de passe à utiliser en + conjonction avec le DN de connexion. Notez que ce mot de passe + constitue en général une donnée sensible, et doit donc être protégé + de manière appropriée. Vous ne devez utiliser les directives + <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code> et + <code class="directive">AuthLDAPBindPassword</code> que si + vous en avez vraiment besoin pour effectuer une recherche dans + l'annuaire.</p> + + <p>Si la valeur spécifiée débute par "exec:", la commande qui suit sera + exécutée, et la première ligne renvoyée par la commande sur la + sortie standard sera utilisée comme mot de passe.</p> +<pre class="prettyprint lang-config"># Mot de passe spécifié directement +AuthLDAPBindPassword secret + +# Exécution de /path/to/program pour obtenir le mot de passe +AuthLDAPBindPassword exec:/path/to/program + +# Exécution de /path/to/otherProgram avec un argument pour obtenir le mot de passe +AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapcharsetconfig" id="authldapcharsetconfig">Directive</a> <a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de configuration de la correspondance +langage/jeu de caractères</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCharsetConfig <em>chemin-fichier</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>La directive <code class="directive">AuthLDAPCharsetConfig</code> permet + de définir le chemin du fichier de configuration de la + correspondance langage/jeu de caractères. <var>chemin-fichier</var> + est un chemin relatif au répertoire défini par la directive + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Ce fichier contient une liste + de correspondances extension de langage/jeu de caractères. La + plupart des administrateurs utilisent le fichier + <code>charset.conv</code> fourni qui associe les extensions de + langage courantes à leurs jeux de caractères.</p> + + <p>Le fichier contient des lignes au format suivant :</p> + + <div class="example"><p><code> + <var>extension de langage</var> <var>jeu de caractères</var> + [<var>Nom du langage</var>] ... + </code></p></div> + + <p>L'extension est insensible à la casse. Les lignes vides et les + lignes commençant par un dièse (<code>#</code>) sont ignorées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapcompareasuser" id="authldapcompareasuser">Directive</a> <a name="AuthLDAPCompareAsUser" id="AuthLDAPCompareAsUser">AuthLDAPCompareAsUser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation des données d'authentification de l'utilisateur +pour effectuer les comparaisons pour l'attribution des autorisations</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareAsUser on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareAsUser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version version 2.3.6</td></tr> +</table> + <p>Lorsque cette directive est définie, et si + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les + recherches LDAP pour les autorisations utilisent le nom distinctif + trouvé (DN) et le mot de passe d'authentification basique HTTP de + l'utilisateur authentifié au lieu des données d'authentification + configurées au niveau du serveur.</p> + + <p>Les vérifications d'autorisation <em>ldap-attribute</em>, + <em>ldap-user</em>, et <em>ldap-group</em> (niveau simple seulement) + utilisent des comparaisons.</p> + + <p>Cette directive n'a d'effet sur les comparaisons effectuées au + cours des traitements de groupe imbriqués, et lorsque la directive + <code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code> + est aussi activée.</p> + + <p>Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li> +<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a> <a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le serveur LDAP pour comparer les DNs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareDNOnServer on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareDNOnServer on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Lorsque cette directive est définie à on, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise le serveur LDAP pour + comparer les DNs. Il s'agit de la seule méthode infaillible pour + comparer les DNs. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va rechercher + dans l'annuaire le DN spécifié par la directive <a href="#reqdn"><code>Require dn</code></a>, puis extraire ce DN et le + comparer avec le DN extrait de l'entrée de l'utilisateur. Si cette + directive est à off, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> effectue une + simple comparaison de chaînes. Cette dernière approche peut produire + des faux négatifs, mais elle est beaucoup plus rapide. Notez + cependant que le cache de <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> peut accélérer + la comparaison de DNs dans la plupart des situations.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapdereferencealiases" id="authldapdereferencealiases">Directive</a> <a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>À quel moment le module va déréférencer les +alias</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPDereferenceAliases never|searching|finding|always</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPDereferenceAliases always</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier à quel moment + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va déréférencer les alias au cours + des opérations liées à LDAP. La valeur par défaut est + <code>always</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapgroupattribute" id="authldapgroupattribute">Directive</a> <a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'attribut LDAP utilisé pour vérifier l'appartenance d'un +utilisateur à un groupe.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttribute <em>attribut</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttribute member uniqueMember</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier quel attribut LDAP est + utilisé pour vérifier l'appartenance d'un utilisateur à un + groupe. On peut spécifier plusieurs attributs en répétant cette + directive plusieurs fois. Si la directive n'est pas définie, + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs + <code>member</code> et <code>uniqueMember</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapgroupattributeisdn" id="authldapgroupattributeisdn">Directive</a> <a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour vérifier son +appartenance à un groupe</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttributeIsDN on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttributeIsDN on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Lorsqu'elle est définie à <code>on</code>, cette directive + indique que c'est le DN de l'utilisateur qui doit être utilisé pour + vérifier son appartenance à un groupe. Dans le cas contraire, c'est + le nom de l'utilisateur qui sera utilisé. Par exemple, supposons que + le client envoie le nom d'utilisateur <code>bjenson</code>, qui + correspond au DN LDAP <code>cn=Babs Jenson,o=Example</code>. Si la + directive est à <code>on</code>, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va + vérifier si <code>cn=Babs Jenson, o=Example</code> est un membre du + groupe. Dans le cas contraire, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> + vérifiera si <code>bjenson</code> est un membre du groupe.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapinitialbindasuser" id="authldapinitialbindasuser">Directive</a> <a name="AuthLDAPInitialBindAsUser" id="AuthLDAPInitialBindAsUser">AuthLDAPInitialBindAsUser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur effectue la recherche initiale du +DN en utilisant le nom propre de l'utilisateur pour l'authentification +de base +et non de manière anonyme, ou en utilisant des données d'authentification +codées en dur pour le serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindAsUser off|on</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindAsUser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr> +</table> + <p>Par défaut, le serveur convertit le nom d'utilisateur pour + l'authentification de base en nom distinctif LDAP (DN) soit de + manière anonyme, soit avec un couple nom/mot de passe dédié. Cette + directive permet de forcer le serveur à utiliser les véritables nom + d'utilisateur et mot de passe fournis par l'utilisateur pour + effectuer la recherche initiale du DN.</p> + + <p>Si le nom d'utilisateur ne peut pas s'authentifier directement + et nécessite de légères modifications, voir la directive <code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code>.</p> + + <p>Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + + <div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3> + On ne peut utiliser cette directive que si ce module + effectue une authentification, et n'a aucun effet si ce module + n'est utilisé que pour les processus d'autorisation. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code></li> +<li><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></li> +<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code></li> +<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapinitialbindpattern" id="authldapinitialbindpattern">Directive</a> <a name="AuthLDAPInitialBindPattern" id="AuthLDAPInitialBindPattern">AuthLDAPInitialBindPattern</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie la modification a apporter au nom d'utilisateur +pour l'authentification de base lors de l'authentification auprès du +serveur LDAP pour effectuer une recherche de DN</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindPattern (.*) $1 (nom de l'utilisateur +distant utilisé tel quel)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr> +</table> + <p>Si la directive <code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code> est + définie à <em>ON</em>, le nom utilisateur pour l'authentification de + base sera transformé selon l'expression rationnelle + <var>regex</var> et l'argument <var>substitution</var> spécifiés.</p> + + <p>L'expression rationnelle est comparée au nom d'utilisateur pour + l'authentification de base courant. L'argument + <var>substitution</var> peut contenir des références arrières, mais + n'effectue aucune autre interpolation de variable.</p> + + <p>Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + + <pre class="prettyprint lang-config">AuthLDAPInitialBindPattern (.+) $1@example.com</pre> + + <pre class="prettyprint lang-config">AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com</pre> + + + <div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3> + On ne peut utiliser cette directive que si ce module + effectue une authentification, et n'a aucun effet si ce module + n'est utilisé que pour les processus d'autorisation. + </div> + <div class="note"><h3>Débogage</h3> + Le DN de substitution est enregistré dans la variable + d'environnement <em>LDAP_BINDASUSER</em>. Si l'expression + rationnelle ne convient pas, le nom d'utilisateur est utilisé + tel quel. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li> +<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapmaxsubgroupdepth" id="authldapmaxsubgroupdepth">Directive</a> <a name="AuthLDAPMaxSubGroupDepth" id="AuthLDAPMaxSubGroupDepth">AuthLDAPMaxSubGroupDepth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie la profondeur d'imbrication des sous-groupes +maximale prise en compte avant l'abandon de la recherche de +l'utilisateur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPMaxSubGroupDepth <var>Nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPMaxSubGroupDepth 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP +Apache</td></tr> +</table> + <p>Lorsque cette directive est définie à une valeur <code>X</code> + non nulle, en combinaison avec l'utilisation de la directive + <code>Require ldap-group DN-groupe</code>, les données de connexion + fournies seront utilisées pour vérifier l'appartenance de + l'utilisateur à l'objet de l'annuaire <code>DN-groupe</code> ou à + tout sous-groupe du groupe courant en tenant compte de la profondeur + d'imbrication maximale <code>X</code> spécifiée par la directive.</p> + <p>Se référer à la section <a href="#reqgroup"><code>Require + ldap-group</code></a> pour un exemple plus détaillé.</p> + + <div class="note"><h3>Performances dans le cas des groupes imbriqués</h3> + <p>Lorsque les directives + <code class="directive">AuthLDAPSubGroupAttribute</code> et + <code class="directive">AuthLDAPGroupAttribute</code> se recouvrent (comme + c'est le cas par défaut et requis par les schémas LDAP courants), la + recherche de sous-groupes au sein de grands groupes peut être très + longue. Si vos groupes sont très grands et non imbriqués, définissez + la directive <code class="directive">AuthLDAPMaxSubGroupDepth</code> à 0.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapremoteuserattribute" id="authldapremoteuserattribute">Directive</a> <a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'attribut dont la valeur renvoyée au cours de la +requête de l'utilisateur sera utilisée pour définir la variable +d'environnement REMOTE_USER</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserAttribute uid</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Lorsque cette directive est définie, la variable d'environnement + <code>REMOTE_USER</code> sera définie à la valeur de l'attribut spécifié. + Assurez-vous que cet attribut soit bien inclus dans la liste d'attributs + spécifiés dans la définition de <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> ; dans le cas contraire, + cette directive n'aurait aucun effet. Si elle est présente, cette directive + l'emporte sur <code class="directive"><a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></code>. Elle peut + s'avérer utile par exemple, si vous souhaitez que les utilisateurs se + connectent à un site web en utilisant leur adresse email, alors qu'une + application sous-jacente nécessite un nom d'utilisateur comme + identifiant.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapremoteuserisdn" id="authldapremoteuserisdn">Directive</a> <a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour définir la variable +d'environnement REMOTE_USER</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserIsDN on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPRemoteUserIsDN off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table> + <p>Lorsque cette directive est à on, la variable d'environnement + <code>REMOTE_USER</code> sera définie avec la valeur du DN complet + de l'utilisateur authentifié, et non plus avec simplement le nom + d'utilisateur fourni par le client. Elle est définie à off par + défaut.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapsearchasuser" id="authldapsearchasuser">Directive</a> <a name="AuthLDAPSearchAsUser" id="AuthLDAPSearchAsUser">AuthLDAPSearchAsUser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise les données d'authentification de l'utilisateur +pour la recherche des autorisations</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSearchAsUser on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPSearchAsUser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr> +</table> + <p>Lorsque cette directive est définie, et si + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les + recherches LDAP pour définir les autorisations utilisent le nom + distinctif (DN) trouvé et le mot de passe pour l'authentification de + base HTTP de l'utilisateur authentifié, au lieu des données + d'authentification configurées au niveau du serveur.</p> + + <p>Les vérifications d'autorisation <em>ldap-filter</em> et + <em>ldap-dn</em> utilisent des recherches.</p> + + <p>Cette directive n'a d'effet sur les comparaisons effectuées au + cours des traitements de groupe imbriqués, et lorsque la directive + <code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code> + est aussi activée.</p> + + <p>Cette directive ne doit être utilisée que si votre serveur LDAP + n'autorise pas les recherches anonymes, ou si vous ne pouvez pas + utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>. + </p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li> +<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapsubgroupattribute" id="authldapsubgroupattribute">Directive</a> <a name="AuthLDAPSubGroupAttribute" id="AuthLDAPSubGroupAttribute">AuthLDAPSubGroupAttribute</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les noms d'attribut, un par directive, utilisés +pour différencier les membres du groupe courant qui sont eux-mêmes des +groupes.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupAttribute <em>attribut</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPSubgroupAttribute member uniqueMember</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP +Apache</td></tr> +</table> + <p>Un objet groupe LDAP peut contenir des membres qui sont des + utilisateurs et des membres qui sont eux-mêmes des groupes (appelés + sous-groupes ou groupes imbriqués). La directive + <code class="directive">AuthLDAPSubGroupAttribute</code> spécifie l'attribut utilisé + pour identifier les groupes, alors que la directive + <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code> + spécifie l'attribut utilisé pour identifier les utilisateurs. On peut + spécifier plusieurs attributs en répétant la directive plusieurs fois. Si + elle n'est pas définie, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les + attributs <code>member</code> et <code>uniqueMember</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapsubgroupclass" id="authldapsubgroupclass">Directive</a> <a name="AuthLDAPSubGroupClass" id="AuthLDAPSubGroupClass">AuthLDAPSubGroupClass</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie quelles valeurs d'objectClass LDAP identifient les +objets de l'annuaire qui sont des groupes au cours du traitement des +sous-groupes.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP +Apache</td></tr> +</table> + <p>Un objet groupe LDAP peut contenir des membres qui sont des + utilisateurs et des membres qui sont eux-mêmes des groupes (appelés + sous-groupes ou groupes imbriqués). La directive + <code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code> + permet d'identifier les + membres qui sont des sous-groupes du groupe courant (à l'opposé des + membres utilisateurs). La directive + <code class="directive">AuthLDAPSubGroupClass</code> permet de spécifier les valeurs + d'objectClass LDAP utilisées pour vérifier que certains membres sont + en fait des objets groupe. Les sous-groupes ainsi identifiés peuvent + alors faire l'objet d'une recherche d'autres membres utilisateurs ou + sous-groupes. On peut spécifier plusieurs attributs en répétant + cette directive plusieurs fois. Si cette directive n'est pas + définie, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs + <code>groupOfNames</code> et <code>groupOfUniqueNames</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authldapurl" id="authldapurl">Directive</a> <a name="AuthLDAPURL" id="AuthLDAPURL">AuthLDAPURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL specifying the LDAP search parameters</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr> +</table><p>La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.</p></div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_core.html b/docs/manual/mod/mod_authz_core.html new file mode 100644 index 0000000..1d707a8 --- /dev/null +++ b/docs/manual/mod/mod_authz_core.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_core.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_core.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authz_core.html.en b/docs/manual/mod/mod_authz_core.html.en new file mode 100644 index 0000000..c3358a7 --- /dev/null +++ b/docs/manual/mod/mod_authz_core.html.en @@ -0,0 +1,689 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_core - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authz_core</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_core.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_core.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Core Authorization</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authz_core_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authz_core.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTPD 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides core authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site. <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> provides the + functionality to register various authorization providers. It is + usually used in conjunction with an authentication + provider module such as <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> and an + authorization module such as <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. It + also allows for advanced logic to be applied to the + authorization processing.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#logic">Authorization Containers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzalias">Creating Authorization Provider Aliases</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authmerging">AuthMerging</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzprovideralias"><AuthzProviderAlias></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requireall"><RequireAll></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requireany"><RequireAny></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requirenone"><RequireNone></a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_core">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_core">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logic" id="logic">Authorization Containers</a></h2> + + <p>The authorization container directives + <code class="directive"><a href="#requireall"><RequireAll></a></code>, + <code class="directive"><a href="#requireany"><RequireAny></a></code> + and + <code class="directive"><a href="#requirenone"><RequireNone></a></code> + may be combined with each other and with the + <code class="directive"><a href="#require">Require</a></code> + directive to express complex authorization logic.</p> + + <p>The example below expresses the following authorization logic. + In order to access the resource, the user must either be the + <code>superadmin</code> user, or belong to both the + <code>admins</code> group and the <code>Administrators</code> LDAP + group and either belong to the <code>sales</code> group or + have the LDAP <code>dept</code> attribute <code>sales</code>. + Furthermore, in order to access the resource, the user must + not belong to either the <code>temps</code> group or the + LDAP group <code>Temporary Employees</code>.</p> + + <pre class="prettyprint lang-config"><Directory "/www/mydocs"> + <RequireAll> + <RequireAny> + Require user superadmin + <RequireAll> + Require group admins + Require ldap-group "cn=Administrators,o=Airius" + <RequireAny> + Require group sales + Require ldap-attribute dept="sales" + </RequireAny> + </RequireAll> + </RequireAny> + <RequireNone> + Require group temps + Require ldap-group "cn=Temporary Employees,o=Airius" + </RequireNone> + </RequireAll> +</Directory></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> provides some generic authorization + providers which can be used with the + <code class="directive"><a href="#require">Require</a></code> directive.</p> + + <h3><a name="reqenv" id="reqenv">Require env</a></h3> + + <p>The <code>env</code> provider allows access to the server + to be controlled based on the existence of an <a href="../env.html">environment variable</a>. When <code>Require + env <var>env-variable</var></code> is specified, then the request is + allowed access if the environment variable <var>env-variable</var> + exists. The server provides the ability to set environment + variables in a flexible way based on characteristics of the client + request using the directives provided by + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Therefore, this directive can be + used to allow access based on such factors as the clients + <code>User-Agent</code> (browser type), <code>Referer</code>, or + other HTTP request header fields.</p> + + <pre class="prettyprint lang-config">SetEnvIf User-Agent "^KnockKnock/2\.0" let_me_in +<Directory "/docroot"> + Require env let_me_in +</Directory></pre> + + + <p>In this case, browsers with a user-agent string beginning + with <code>KnockKnock/2.0</code> will be allowed access, and all + others will be denied.</p> + + <p>When the server looks up a path via an internal + <a class="glossarylink" href="../glossary.html#subrequest" title="see glossary">subrequest</a> such as looking + for a <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + or generating a directory listing with <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, + per-request environment variables are <em>not</em> inherited in the + subrequest. Additionally, + <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> directives + are not separately evaluated in the subrequest due to the API phases + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> takes action in.</p> + + + + <h3><a name="reqall" id="reqall">Require all</a></h3> + + <p>The <code>all</code> provider mimics the functionality that + was previously provided by the 'Allow from all' and 'Deny from all' + directives. This provider can take one of two arguments which are + 'granted' or 'denied'. The following examples will grant or deny + access to all requests.</p> + + <pre class="prettyprint lang-config">Require all granted</pre> + + + <pre class="prettyprint lang-config">Require all denied</pre> + + + + + <h3><a name="reqmethod" id="reqmethod">Require method</a></h3> + + <p>The <code>method</code> provider allows using the HTTP method in + authorization decisions. The GET and HEAD methods are treated as + equivalent. The TRACE method is not available to this provider, + use <code class="directive"><a href="../mod/core.html#traceenable">TraceEnable</a></code> instead.</p> + + <p>The following example will only allow GET, HEAD, POST, and OPTIONS + requests:</p> + + <pre class="prettyprint lang-config">Require method GET POST OPTIONS</pre> + + + <p>The following example will allow GET, HEAD, POST, and OPTIONS + requests without authentication, and require a valid user for all other + methods:</p> + + <pre class="prettyprint lang-config"><RequireAny> + Require method GET POST OPTIONS + Require valid-user +</RequireAny></pre> + + + + + <h3><a name="reqexpr" id="reqexpr">Require expr</a></h3> + + <p>The <code>expr</code> provider allows basing authorization + decisions on arbitrary expressions.</p> + + <pre class="prettyprint lang-config">Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17"</pre> + + + <pre class="prettyprint lang-config"><RequireAll> + Require expr "!(%{QUERY_STRING} =~ /secret/)" + Require expr "%{REQUEST_URI} in { '/example.cgi', '/other.cgi' }" +</RequireAll></pre> + + + <pre class="prettyprint lang-config">Require expr "!(%{QUERY_STRING} =~ /secret/) && %{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"</pre> + + + <p>The syntax is described in the <a href="../expr.html">ap_expr</a> + documentation. Before httpd 2.4.16, the surrounding double-quotes MUST be + omitted.</p> + + <p>Normally, the expression is evaluated before authentication. However, if + the expression returns false and references the variable + <code>%{REMOTE_USER}</code>, authentication will be performed and + the expression will be re-evaluated.</p> + + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authzalias" id="authzalias">Creating Authorization Provider Aliases</a></h2> + + <p>Extended authorization providers can be created within the configuration + file and assigned an alias name. The alias providers can then be referenced + through the <code class="directive"><a href="#require">Require</a></code> directive + in the same way as a base authorization provider. Besides the ability to + create and alias an extended provider, it also allows the same extended + authorization provider to be referenced by multiple locations. + </p> + + <h3><a name="example" id="example">Example</a></h3> + <p>The example below creates two different ldap authorization provider + aliases based on the ldap-group authorization provider. This example + allows a single authorization location to check group membership within + multiple ldap hosts: + </p> + + <pre class="prettyprint lang-config"><AuthzProviderAlias ldap-group ldap-group-alias1 "cn=my-group,o=ctx"> + AuthLDAPBindDN "cn=youruser,o=ctx" + AuthLDAPBindPassword yourpassword + AuthLDAPUrl "ldap://ldap.host/o=ctx" +</AuthzProviderAlias> + +<AuthzProviderAlias ldap-group ldap-group-alias2 "cn=my-other-group,o=dev"> + AuthLDAPBindDN "cn=yourotheruser,o=dev" + AuthLDAPBindPassword yourotherpassword + AuthLDAPUrl "ldap://other.ldap.host/o=dev?cn" +</AuthzProviderAlias> + +Alias "/secure" "/webpages/secure" +<Directory "/webpages/secure"> + Require all granted + + AuthBasicProvider file + + AuthType Basic + AuthName LDAP_Protected_Place + + #implied OR operation + Require ldap-group-alias1 + Require ldap-group-alias2 +</Directory></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthMerging" id="AuthMerging">AuthMerging</a> <a name="authmerging" id="authmerging">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthMerging Off | And | Or</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthMerging Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>When authorization is enabled, it is normally inherited by each + subsequent <a href="../sections.html#merging">configuration section</a>, + unless a different set of authorization directives is specified. + This is the default action, which corresponds to an explicit setting + of <code>AuthMerging Off</code>.</p> + + <p>However, there may be circumstances in which it is desirable + for a configuration section's authorization to be combined with + that of its predecessor while configuration sections are being + merged. Two options are available for this case, <code>And</code> + and <code>Or</code>.</p> + + <p>When a configuration section contains <code>AuthMerging And</code> + or <code>AuthMerging Or</code>, + its authorization logic is combined with that of the nearest + predecessor (according to the overall order of configuration sections) + which also contains authorization logic as if the two sections + were jointly contained within a + <code class="directive"><a href="#requireall"><RequireAll></a></code> or + <code class="directive"><a href="#requireany"><RequireAny></a></code> + directive, respectively.</p> + + <div class="note">The setting of <code class="directive">AuthMerging</code> is not + inherited outside of the configuration section in which it appears. + In the following example, only users belonging to group <code>alpha</code> + may access <code>/www/docs</code>. Users belonging to either + groups <code>alpha</code> or <code>beta</code> may access + <code>/www/docs/ab</code>. However, the default <code>Off</code> + setting of <code class="directive">AuthMerging</code> applies to the + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + configuration section for <code>/www/docs/ab/gamma</code>, so + that section's authorization directives override those of the + preceding sections. Thus only users belong to the group + <code>gamma</code> may access <code>/www/docs/ab/gamma</code>.</div> + + <pre class="prettyprint lang-config"><Directory "/www/docs"> + AuthType Basic + AuthName Documents + AuthBasicProvider file + AuthUserFile "/usr/local/apache/passwd/passwords" + Require group alpha +</Directory> + +<Directory "/www/docs/ab"> + AuthMerging Or + Require group beta +</Directory> + +<Directory "/www/docs/ab/gamma"> + Require group gamma +</Directory></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthzProviderAlias" id="AuthzProviderAlias"><AuthzProviderAlias></a> <a name="authzprovideralias" id="authzprovideralias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p><code class="directive"><AuthzProviderAlias></code> and + <code></AuthzProviderAlias></code> are used to enclose a group of + authorization directives that can be referenced by the alias name using the + directive <code class="directive"><a href="#require">Require</a></code>.</p> + + <p>If several parameters are needed in <var>Require-Parameters</var>, + they must be enclosed in quotation marks. Otherwise, only the first one + is taken into account.</p> + + <pre class="prettyprint lang-config"># In this example, for both addresses to be taken into account, they MUST be enclosed +# between quotation marks +<AuthzProviderAlias ip reject-ips "XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY"> +</AuthzProviderAlias> + +<Directory "/path/to/dir"> + <RequireAll> + Require not reject-ips + Require all granted + </RequireAll> +</Directory></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthzSendForbiddenOnFailure" id="AuthzSendForbiddenOnFailure">AuthzSendForbiddenOnFailure</a> <a name="authzsendforbiddenonfailure" id="authzsendforbiddenonfailure">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthzSendForbiddenOnFailure On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthzSendForbiddenOnFailure Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTPD 2.3.11 and later</td></tr> +</table> + <p>If authentication succeeds but authorization fails, Apache HTTPD will + respond with an HTTP response code of '401 UNAUTHORIZED' by default. This + usually causes browsers to display the password dialogue to the user + again, which is not wanted in all situations. + <code class="directive">AuthzSendForbiddenOnFailure</code> allows to change the + response code to '403 FORBIDDEN'.</p> + + <div class="warning"><h3>Security Warning</h3> + <p>Modifying the response in case of missing authorization weakens the + security of the password, because it reveals to a possible attacker, that + his guessed password was right.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>This directive tests whether an authenticated user is authorized + according to a particular authorization provider and the specified + restrictions. <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> provides the following + generic authorization providers:</p> + + <dl> + <dt><code>Require all granted</code></dt> + <dd>Access is allowed unconditionally.</dd> + + <dt><code>Require all denied</code></dt> + <dd>Access is denied unconditionally.</dd> + + <dt><code>Require env <var>env-var</var> [<var>env-var</var>] + ...</code></dt> + <dd>Access is allowed only if one of the given environment variables is + set.</dd> + + <dt><code>Require method <var>http-method</var> [<var>http-method</var>] + ...</code></dt> + <dd>Access is allowed only for the given HTTP methods.</dd> + + <dt><code>Require expr <var>expression</var> </code></dt> + <dd>Access is allowed if <var>expression</var> evaluates to true.</dd> + </dl> + + <p>Some of the allowed syntaxes provided by <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>, + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>, + and <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> are:</p> + + <dl> + <dt><code>Require user <var>userid</var> [<var>userid</var>] + ...</code></dt> + <dd>Only the named users can access the resource.</dd> + + <dt><code>Require group <var>group-name</var> [<var>group-name</var>] + ...</code></dt> + <dd>Only users in the named groups can access the resource.</dd> + + <dt><code>Require valid-user</code></dt> + <dd>All valid users can access the resource.</dd> + + <dt><code>Require ip 10 172.20 192.168.2</code></dt> + <dd>Clients in the specified IP address ranges can access the + resource.</dd> + + <dt><code>Require forward-dns dynamic.example.org</code></dt> + <dd>A client the IP of which is resolved from the name dynamic.example.org will be granted access. + </dd> + + </dl> + + <p>Other authorization modules that implement require options + include <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, + <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, <code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code>, + <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> and <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p> + + <p>In most cases, for a complete authentication and authorization + configuration, <code class="directive">Require</code> must be accompanied by + <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> and + <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> or + <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> + directives, and directives such as + <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> + and <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> (to + define users and groups) in order to work correctly. Example:</p> + + <pre class="prettyprint lang-config">AuthType Basic +AuthName "Restricted Resource" +AuthBasicProvider file +AuthUserFile "/web/users" +AuthGroupFile "/web/groups" +Require group admin</pre> + + + <p>Access controls which are applied in this way are effective for + <strong>all</strong> methods. <strong>This is what is normally + desired.</strong> If you wish to apply access controls only to + specific methods, while leaving other methods unprotected, then + place the <code class="directive">Require</code> statement into a + <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> + section.</p> + + <p>The result of the <code class="directive">Require</code> directive + may be negated through the use of the + <code>not</code> option. As with the other negated authorization + directive <code class="directive"><RequireNone></code>, + when the <code class="directive">Require</code> directive is negated it can + only fail or return a neutral result, and therefore may never + independently authorize a request.</p> + + <p>In the following example, all users in the <code>alpha</code> + and <code>beta</code> groups are authorized, except for those who + are also in the <code>reject</code> group.</p> + + <pre class="prettyprint lang-config"><Directory "/www/docs"> + <RequireAll> + Require group alpha beta + Require not group reject + </RequireAll> +</Directory></pre> + + + <p>When multiple <code class="directive">Require</code> directives are + used in a single + <a href="../sections.html#merging">configuration section</a> + and are not contained in another authorization directive like + <code class="directive"><a href="#requireall"><RequireAll></a></code>, + they are implicitly contained within a + <code class="directive"><a href="#requireany"><RequireAny></a></code> + directive. Thus the first one to authorize a user authorizes the + entire request, and subsequent <code class="directive">Require</code> directives + are ignored.</p> + + <div class="warning"><h3>Security Warning</h3> + <p>Exercise caution when setting authorization directives in + <code class="directive"><a href="../mod/core.html#location">Location</a></code> sections + that overlap with content served out of the filesystem. + By default, these <a href="../sections.html#merging">configuration sections</a> overwrite authorization configuration + in <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, + and <code class="directive"><a href="../mod/core.html#files">Files</a></code> sections.</p> + <p>The <code class="directive"><a href="#authmerging">AuthMerging</a></code> directive + can be used to control how authorization configuration sections are + merged.</p> + </div> + +<h3>See also</h3> +<ul> +<li><a href="../howto/access.html">Access Control howto</a></li> +<li><a href="#logic">Authorization Containers</a></li> +<li><code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RequireAll" id="RequireAll"><RequireAll></a> <a name="requireall" id="requireall">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><RequireAll> ... </RequireAll></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p><code class="directive"><RequireAll></code> and + <code></RequireAll></code> are used to enclose a group of + authorization directives of which none must fail and at least one + must succeed in order for + the <code class="directive"><RequireAll></code> directive to + succeed.</p> + + <p>If none of the directives contained within the + <code class="directive"><RequireAll></code> directive fails, + and at least one succeeds, then the + <code class="directive"><RequireAll></code> directive + succeeds. If none succeed and none fail, then it returns a + neutral result. In all other cases, it fails.</p> + +<h3>See also</h3> +<ul> +<li><a href="#logic">Authorization Containers</a></li> +<li><a href="../howto/auth.html">Authentication, Authorization, + and Access Control</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RequireAny" id="RequireAny"><RequireAny></a> <a name="requireany" id="requireany">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><RequireAny> ... </RequireAny></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p><code class="directive"><RequireAny></code> and + <code></RequireAny></code> are used to enclose a group of + authorization directives of which one must succeed in order for + the <code class="directive"><RequireAny></code> directive to + succeed.</p> + + <p>If one or more of the directives contained within the + <code class="directive"><RequireAny></code> directive succeed, + then the <code class="directive"><RequireAny></code> directive + succeeds. If none succeed and none fail, then it returns a + neutral result. In all other cases, it fails.</p> + + <div class="note">Because negated authorization directives are unable to + return a successful result, they can not significantly influence + the result of a <code class="directive"><RequireAny></code> + directive. (At most they could cause the directive to fail in + the case where they failed and all other directives returned a + neutral value.) Therefore negated authorization directives + are not permitted within a <code class="directive"><RequireAny></code> + directive.</div> + +<h3>See also</h3> +<ul> +<li><a href="#logic">Authorization Containers</a></li> +<li><a href="../howto/auth.html">Authentication, Authorization, + and Access Control</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RequireNone" id="RequireNone"><RequireNone></a> <a name="requirenone" id="requirenone">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><RequireNone> ... </RequireNone></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p><code class="directive"><RequireNone></code> and + <code></RequireNone></code> are used to enclose a group of + authorization directives of which none must succeed + in order for the + <code class="directive"><RequireNone></code> directive to + not fail.</p> + + <p>If one or more of the directives contained within the + <code class="directive"><RequireNone></code> directive succeed, + then the <code class="directive"><RequireNone></code> directive + fails. In all other cases, it returns a neutral result. Thus as with + the other negated authorization directive <code>Require not</code>, + it can never independently + authorize a request because it can never return a successful result. + It can be used, however, to restrict the set of users who are + authorized to access a resource.</p> + + <div class="note">Because negated authorization directives are unable to + return a successful result, they can not significantly influence + the result of a <code class="directive"><RequireNone></code> + directive. Therefore negated authorization directives + are not permitted within a + <code class="directive"><RequireNone></code> directive.</div> + +<h3>See also</h3> +<ul> +<li><a href="#logic">Authorization Containers</a></li> +<li><a href="../howto/auth.html">Authentication, Authorization, + and Access Control</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_core.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_core.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_core.html.fr.utf8 b/docs/manual/mod/mod_authz_core.html.fr.utf8 new file mode 100644 index 0000000..2dd0043 --- /dev/null +++ b/docs/manual/mod/mod_authz_core.html.fr.utf8 @@ -0,0 +1,697 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_core - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authz_core</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_core.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basique</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_core_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_core.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 +d'Apache HTTPD</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit des fonctionnalités d'autorisation basiques + permettant d'accorder ou refuser l'accès à certaines zones du site + web aux utilisateurs authentifiés. <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> + donne la possibilité d'enregistrer divers fournisseurs + d'autorisation. Il est en général utilisé avec un module fournisseur + d'authentification comme <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, et un + module d'autorisation comme <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. Il + permet aussi l'application d'une logique élaborée au déroulement du + processus d'autorisation.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#logic">Conteneurs d'autorisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzalias">Création des alias du fournisseur +d'autorisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authmerging">AuthMerging</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzprovideralias"><AuthzProviderAlias></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requireall"><RequireAll></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requireany"><RequireAny></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requirenone"><RequireNone></a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_core">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logic" id="logic">Conteneurs d'autorisation</a></h2> + + <p>Les directives de conteneur d'autorisation <code class="directive"><a href="#requireall"><RequireAll></a></code>, + <code class="directive"><a href="#requireany"><RequireAny></a></code> et <code class="directive"><a href="#requirenone"><RequireNone></a></code> + peuvent être combinées entre elles et avec la directive <code class="directive"><a href="#require">Require</a></code> pour confectionner une + logique d'autorisation complexe.</p> + + <p>L'exemple ci-dessous illustre la logique d'autorisation suivante. + Pour pouvoir accéder à la ressource, l'utilisateur doit être + l'utilisateur <code>superadmin</code>, ou appartenir aux deux + groupes LDAP <code>admins</code> et <code>Administrateurs</code> et + soit appartenir au groupe <code>ventes</code> ou avoir + <code>ventes</code> comme valeur de l'attribut LDAP + <code>dept</code>. De plus, pour pouvoir accéder à la ressource, + l'utilisateur ne doit appartenir ni au groupe <code>temps</code>, ni + au groupe LDAP <code>Employés temporaires</code>.</p> + + <pre class="prettyprint lang-config"><Directory "/www/mydocs"> + <RequireAll> + <RequireAny> + Require user superadmin + <RequireAll> + Require group admins + Require ldap-group "cn=Administrators,o=Airius" + <RequireAny> + Require group sales + Require ldap-attribute dept="sales" + </RequireAny> + </RequireAll> + </RequireAny> + <RequireNone> + Require group temps + Require ldap-group "cn=Temporary Employees,o=Airius" + </RequireNone> + </RequireAll> +</Directory></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">Les directives Require</a></h2> + + <p>Le module <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> met à disposition des + fournisseurs d'autorisation génériques utilisables avec la directive + <code class="directive"><a href="#require">Require</a></code>.</p> + + <h3><a name="reqenv" id="reqenv">Require env</a></h3> + + <p>Le fournisseur <code>env</code> permet de contrôler l'accès au + serveur en fonction de l'existence d'une <a href="../env.html">variable d'environnement</a>. Lorsque <code>Require + env <var>env-variable</var></code> est spécifié, la requête se voit + autoriser l'accès si la variable d'environnement + <var>env-variable</var> existe. Le serveur permet de définir + facilement des variables d'environnement en fonction des + caractéristiques de la requête du client via les directives fournies + par le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Cette directive Require + env permet donc de contrôler l'accès en fonction des + valeurs des en-têtes de la requête HTTP tels que + <code>User-Agent</code> (type de navigateur), <code>Referer</code>, + entre autres.</p> + + <pre class="prettyprint lang-config">SetEnvIf User-Agent "^KnockKnock/2\.0" let_me_in +<Directory "/docroot"> + Require env let_me_in +</Directory></pre> + + + <p>Avec cet exemple, les navigateurs dont la chaîne user-agent + commence par <code>KnockKnock/2.0</code> se verront autoriser + l'accès, alors que tous les autres seront rejetés.</p> + + <p>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="../glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la + recherche d'un <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un + listing du contenu d'un répertoire via le module + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des + variables d'environnement spécifiques à la requête. En outre, à cause + des phases de l'API auxquelles <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> prend + part, les directives <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas évaluées + séparément dans la sous-requête.</p> + + + + <h3><a name="reqall" id="reqall">Require all</a></h3> + + <p>Le fournisseur <code>all</code> reproduit la fonctionnalité + précédemment fournie par les directives 'Allow from all' et 'Deny + from all'. Il accepte un argument dont les deux valeurs possibles + sont : 'granted' ou 'denied'. Les exemples suivants autorisent ou + interdisent l'accès à toutes les requêtes.</p> + + <pre class="prettyprint lang-config">Require all granted</pre> + + + <pre class="prettyprint lang-config">Require all denied</pre> + + + + + <h3><a name="reqmethod" id="reqmethod">Require method</a></h3> + + <p>Le fournisseur <code>method</code> permet d'utiliser la méthode + HTTP dans le processus d'autorisation. Les méthodes GET et HEAD sont + ici considérées comme équivalentes. La méthode TRACE n'est pas + supportée par ce fournisseur ; utilisez à la place la directive + <code class="directive"><a href="../mod/core.html#traceenable">TraceEnable</a></code>.</p> + + <p>Dans l'exemple suivant, seules les méthodes GET, HEAD, POST, et + OPTIONS sont autorisées :</p> + + <pre class="prettyprint lang-config">Require method GET POST OPTIONS</pre> + + + <p>Dans l'exemple suivant, les méthodes GET, HEAD, POST, et OPTIONS + sont autorisées sans authentification, alors que toutes les autres + méthodes nécessitent un utilisateur valide :</p> + + <pre class="prettyprint lang-config"><RequireAny> + Require method GET POST OPTIONS + Require valid-user +</RequireAny></pre> + + + + <h3><a name="reqexpr" id="reqexpr">Require expr</a></h3> + + <p>Le fournisseur <code>expr</code> permet d'accorder l'autorisation + d'accès de base en fonction d'expressions arbitraires.</p> + + <pre class="prettyprint lang-config">Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17"</pre> + + + <pre class="prettyprint lang-config"><RequireAll> + Require expr "!(%{QUERY_STRING} =~ /secret/)" + Require expr "%{REQUEST_URI} in { '/example.cgi', '/other.cgi' }" +</RequireAll></pre> + + + <pre class="prettyprint lang-config">Require expr "!(%{QUERY_STRING} =~ /secret/) && %{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"</pre> + + + <p>La syntaxe de l'expression est décrite dans la documentation de <a href="../expr.html">ap_expr</a>. Avant la version 2.4.16, les doubles-quotes + étaient prohibées</p> + + <p>Normalement, l'expression est évaluée avant l'authentification. + Cependant, si l'expression renvoie false et se réfère à la variable + <code>%{REMOTE_USER}</code>, le processus d'authentification sera + engagé et l'expression réévaluée.</p> + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authzalias" id="authzalias">Création des alias du fournisseur +d'autorisation</a></h2> + + <p>Il est possible de créer des fournisseurs d'autorisation étendus + dans le fichier de configuration et de leur assigner un nom d'alias. + On peut ensuite utiliser ces fournisseurs aliasés dans une + directive <code class="directive"><a href="#require">Require</a></code> de + la même manière qu'on le ferait pour des fournisseurs d'autorisation + de base. En plus de la possibilité de créer et d'aliaser un + fournisseur étendu, le même fournisseur d'autorisation étendu peut + être référencé par plusieurs localisations. + </p> + + <h3><a name="example" id="example">Exemple</a></h3> + <p>Dans l'exemple suivant, on crée deux alias de fournisseur + d'autorisation ldap différents basés sur le fournisseur + d'autorisation ldap-group. Il est ainsi possible pour un seul + répertoire de vérifier l'appartenance à un groupe dans plusieurs + serveurs ldap : + </p> + + <pre class="prettyprint lang-config"><AuthzProviderAlias ldap-group ldap-group-alias1 "cn=my-group,o=ctx"> + AuthLDAPBindDN "cn=youruser,o=ctx" + AuthLDAPBindPassword yourpassword + AuthLDAPURL "ldap://ldap.host/o=ctx" +</AuthzProviderAlias> + +<AuthzProviderAlias ldap-group ldap-group-alias2 "cn=my-other-group,o=dev"> + AuthLDAPBindDN "cn=yourotheruser,o=dev" + AuthLDAPBindPassword yourotherpassword + AuthLDAPURL "ldap://other.ldap.host/o=dev?cn" +</AuthzProviderAlias> + +Alias "/secure" "/webpages/secure" +<Directory "/webpages/secure"> + Require all granted + + AuthBasicProvider file + + AuthType Basic + AuthName LDAP_Protected_Place + + #implied OR operation + Require ldap-group-alias1 + Require ldap-group-alias2 +</Directory></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authmerging" id="authmerging">Directive</a> <a name="AuthMerging" id="AuthMerging">AuthMerging</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration précédentes.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthMerging Off | And | Or</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthMerging Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>Lorsque l'autorisation est activée, elle est normalement héritée + par chaque <a href="../sections.html#merging">section de + configuration</a> suivante, à moins qu'un jeu de directives + d'autorisations différent ne soit spécifié. Il s'agit du + comportement par défaut, qui correspond à la définition explicite + <code>AuthMerging Off</code>.</p> + + <p>Dans certaines situations cependant, il peut être souhaitable de + combiner la logique d'autorisation d'une section de configuration + avec celle de la section précédente lorsque les sections de + configuration se combinent entre elles. Dans ce cas, deux options + sont disponibles, <code>And</code> et <code>Or</code>.</p> + + <p>Lorsqu'une section de configuration contient <code>AuthMerging + And</code> ou <code>AuthMerging Or</code>, sa logique d'autorisation + se combine avec celle de la section de configuration qui la précède + (selon l'ordre général des sections de configuration), et qui + contient aussi une logique d'autorisation, comme si les deux + sections étaient concaténées respectivement dans une directive + <code class="directive"><a href="#requireall"><RequireAll></a></code> ou <code class="directive"><a href="#requireany"><RequireAny></a></code>.</p> + + <div class="note">La définition de la directive + <code class="directive">AuthMerging</code> ne concerne que la section de + configuration dans laquelle elle apparaît. Dans l'exemple suivant, + seuls les utilisateurs appartenant au groupe <code>alpha</code> sont + autorisés à accéder à <code>/www/docs</code>. Les utilisateurs + appartenant au groupe <code>alpha</code> ou au groupe + <code>beta</code> sont autorisés à accéder à + <code>/www/docs/ab</code>. Cependant, la définition implicite à + <code>Off</code> de la directive <code class="directive">AuthMerging</code> + s'applique à la section de configuration <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> concernant le répertoire + <code>/www/docs/ab/gamma</code>, ce qui implique que les directives + d'autorisation de cette section l'emportent sur celles des sections + précédentes. Par voie de conséquence, seuls les utilisateurs + appartenant au groupe <code>gamma</code> sont autorisés à accéder à + <code>/www/docs/ab/gamma</code>.</div> + + <pre class="prettyprint lang-config"><Directory "/www/docs"> + AuthType Basic + AuthName Documents + AuthBasicProvider file + AuthUserFile "/usr/local/apache/passwd/passwords" + Require group alpha +</Directory> + +<Directory "/www/docs/ab"> + AuthMerging Or + Require group beta +</Directory> + +<Directory "/www/docs/ab/gamma"> + Require group gamma +</Directory></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authzprovideralias" id="authzprovideralias">Directive</a> <a name="AuthzProviderAlias" id="AuthzProviderAlias"><AuthzProviderAlias></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives représentant une extension d'un +fournisseur d'autorisation de base qui pourra être référencée à l'aide +de l'alias spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><AuthzProviderAlias <var>fournisseur-de-base Alias +Paramètres-Require</var>> +... </AuthzProviderAlias> +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>Les balises <code class="directive"><AuthzProviderAlias></code> et + <code></AuthzProviderAlias></code> permettent de regrouper des + directives d'autorisation auxquelles on pourra faire référence à + l'aide de l'alias spécifié dans une directive <code class="directive"><a href="#require">Require</a></code>.</p> + + <p>Si <var>Require-Parameters</var> comporte plusieurs paramètres, la liste + de ces derniers doit être entourée de guillemets. Dans le cas contraire, + seul le premier paramètre de la liste sera pris en compte.</p> + + <pre class="prettyprint lang-config"># Dans cet exemple, pour que les deux adresses IP soient prises en compte, elles +# DOIVENT être entourées de guillemets +<AuthzProviderAlias ip reject-ips "XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY"> +</AuthzProviderAlias> + +<Directory "/path/to/dir"> + <RequireAll> + Require not reject-ips + Require all granted + </RequireAll> +</Directory></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authzsendforbiddenonfailure" id="authzsendforbiddenonfailure">Directive</a> <a name="AuthzSendForbiddenOnFailure" id="AuthzSendForbiddenOnFailure">AuthzSendForbiddenOnFailure</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie '403 FORBIDDEN' au lieu de '401 UNAUTHORIZED' si +l'authentification réussit et si l'autorisation a été refusée. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzSendForbiddenOnFailure On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzSendForbiddenOnFailure Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.11 d'Apache HTTPD</td></tr> +</table> + <p>Par défaut, si l'authentification réussit, alors que + l'autorisation est refusée, Apache HTTPD renvoie un code de réponse + HTTP '401 UNAUTHORIZED'. En général, les navigateurs proposent alors + une nouvelle fois à l'utilisateur la boîte de dialogue de saisie du + mot de passe, ce qui n'est pas toujours souhaitable. La directive + <code class="directive">AuthzSendForbiddenOnFailure</code> permet de changer + le code de réponse en '403 FORBIDDEN'.</p> + + <div class="warning"><h3>Avertissement de sécurité</h3> + <p>La modification de la réponse en cas de refus d'autorisation + diminue la sécurité du mot de passe, car elle indique à un éventuel + attaquant que le mot de passe qu'il a saisi était correct.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="require" id="require">Directive</a> <a name="Require" id="Require">Require</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si un utilisateur authentifié a une +autorisation d'accès accordée par un fournisseur +d'autorisation.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Require [not] <var>nom-entité</var> [<var>nom-entité</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>Cette directive permet de vérifier si un utilisateur authentifié + a l'autorisation d'accès accordée pour un certain fournisseur + d'autorisation et en tenant compte de certaines restrictions. + <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> met à disposition les fournisseurs + d'autorisation génériques suivants :</p> + + <dl> + <dt><code>Require all granted</code></dt> + <dd>L'accès est autorisé sans restriction.</dd> + + <dt><code>Require all denied</code></dt> + <dd>L'accès est systématiquement refusé.</dd> + + <dt><code>Require env <var>env-var</var> [<var>env-var</var>] + ...</code></dt> + <dd>L'accès n'est autorisé que si l'une au moins des variables + d'environnement spécifiées est définie.</dd> + + <dt><code>Require method <var>http-method</var> [<var>http-method</var>] + ...</code></dt> + <dd>L'accès n'est autorisé que pour les méthodes HTTP spécifiées.</dd> + + <dt><code>Require expr <var>expression</var> </code></dt> + <dd>L'accès est autorisé si <var>expression</var> est évalué à + vrai.</dd> + </dl> + + <p>Voici quelques exemples de syntaxes autorisées par + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>, <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> et + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> :</p> + + <dl> + <dt><code>Require user <var>identifiant utilisateur</var> + [<var>identifiant utilisateur</var>] + ...</code></dt> + <dd>Seuls les utilisateurs spécifiés auront accès à la + ressource.</dd> + + <dt><code>Require group <var>nom groupe</var> [<var>nom + groupe</var>] + ...</code></dt> + <dd>Seuls les utilisateurs appartenant aux groupes spécifiés + auront accès à la ressource.</dd> + + <dt><code>Require valid-user</code></dt> + <dd>Tous les utilisateurs valides auront accès à la + ressource.</dd> + + <dt><code>Require ip 10 172.20 192.168.2</code></dt> + <dd>Les clients dont les adresses IP font partie des tranches + spécifiées auront accès à la ressource.</dd> + + <dt><code>Require forward-dns dynamic.example.org</code></dt> + <dd>Un client dont l'adresse IP est résolue à partir du nom + dynamic.example.org aura l'autorisation d'accès. + </dd> + + </dl> + + <p>D'autres modules d'autorisation comme + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, + <code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code>, + <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> et <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> + implémentent des options de la directive Require.</p> + + <p>Pour qu'une configuration d'authentification et d'autorisation + fonctionne correctement, la directive <code class="directive">Require</code> + doit être accompagnée dans la plupart des cas de directives <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> et <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>, ainsi que + de directives telles que <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> (pour la + définition des utilisateurs et des groupes). Exemple :</p> + + <pre class="prettyprint lang-config">AuthType Basic +AuthName "Restricted Resource" +AuthBasicProvider file +AuthUserFile "/web/users" +AuthGroupFile "/web/groups" +Require group admin</pre> + + + <p>Les contrôles d'accès appliqués de cette manière sont effectifs + pour <strong>toutes</strong> les méthodes. <strong>C'est d'ailleurs + ce que l'on souhaite en général.</strong> Si vous voulez n'appliquer + les contrôles d'accès qu'à certaines méthodes, tout en laissant les + autres méthodes sans protection, placez la directive + <code class="directive">Require</code> dans une section <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p> + + <p>Le résultat de la directive <code class="directive">Require</code> peut + être inversé en utilisant l'option <code>not</code>. Comme dans le + cas de l'autre directive d'autorisation inversée <code class="directive"><RequireNone></code>, si la directive + <code class="directive">Require</code> est inversée, elle ne peut qu'échouer + ou produire un résultat neutre ; elle ne peut donc alors pas + autoriser une requête de manière indépendante.</p> + + <p>Dans l'exemple suivant, tous les utilisateurs appartenant aux + groupes <code>alpha</code> et <code>beta</code> ont l'autorisation + d'accès, à l'exception de ceux appartenant au groupe + <code>reject</code>.</p> + + <pre class="prettyprint lang-config"><Directory "/www/docs"> + <RequireAll> + Require group alpha beta + Require not group reject + </RequireAll> +</Directory></pre> + + + <p>Lorsque plusieurs directives <code class="directive">Require</code> sont + placées dans une même <a href="../sections.html#merging">section de + configuration</a>, et ne se trouvent pas dans une autre directive + d'autorisation comme <code class="directive"><a href="#requireall"><RequireAll></a></code>, elles sont implicitement + contenues dans une directive <code class="directive"><a href="#requireany"><RequireAny></a></code>. Ainsi, la première directive + <code class="directive">Require</code> qui autorise l'accès à un utilisateur + autorise l'accès pour l'ensemble de la requête, et les directives + <code class="directive">Require</code> suivantes sont ignorées.</p> + + <div class="warning"><h3>Avertissement à propos de la sécurité</h3> + <p>Prettez une attention particulière aux directives d'autorisation + définies + au sein des sections <code class="directive"><a href="../mod/core.html#location">Location</a></code> + qui se chevauchent avec des contenus servis depuis le système de + fichiers. Par défaut, les configurations définies dans ces <a href="../sections.html#merging">sections</a> l'emportent sur les + configurations d'autorisations définies au sein des sections + <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et <code class="directive"><a href="../mod/core.html#files">Files</a></code> sections.</p> + <p>La directive <code class="directive"><a href="#authmerging">AuthMerging</a></code> permet de contrôler + la manière selon laquelle les configurations d'autorisations sont + fusionnées au sein des sections précitées.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../howto/access.html">Tutoriel du contrôle d'accès</a></li> +<li><a href="#logic">Conteneurs d'autorisation</a></li> +<li><code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="requireall" id="requireall">Directive</a> <a name="RequireAll" id="RequireAll"><RequireAll></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe plusieurs directives d'autorisation dont aucune ne +doit échouer et dont au moins une doit retourner un résultat positif +pour que la directive globale retourne elle-même un résultat +positif.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><RequireAll> ... </RequireAll></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>Les balises <code class="directive"><RequireAll></code> et + <code></RequireAll></code> permettent de regrouper des + directives d'autorisation dont aucune ne doit échouer, et dont au + moins une doit retourner un résultat positif pour que la directive + <code class="directive"><RequireAll></code> retourne elle-même + un résultat positif.</p> + + <p>Si aucune des directives contenues dans la directive <code class="directive"><RequireAll></code> n'échoue, et si au moins une + retourne un résultat positif, alors la directive <code class="directive"><RequireAll></code> retourne elle-même un résultat + positif. Si aucune ne retourne un résultat positif, et si aucune + n'échoue, la directive globale retourne un résultat neutre. Dans + tous les autres cas, elle échoue.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="#logic">Conteneurs d'autorisation</a></li> +<li><a href="../howto/auth.html">Authentification, autorisation et +contrôle d'accès</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="requireany" id="requireany">Directive</a> <a name="RequireAny" id="RequireAny"><RequireAny></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives d'autorisation dont au moins une +doit retourner un résultat positif pour que la directive globale +retourne elle-même un résultat positif.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><RequireAny> ... </RequireAny></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>Les balises <code class="directive"><RequireAny></code> et + <code></RequireAny></code> permettent de regrouper des + directives d'autorisation dont au moins une doit retourner un + résultat positif pour que la directive <code class="directive"><RequireAny></code> retourne elle-même un résultat + positif.</p> + + <p>Si une ou plusieurs directives contenues dans la directive + <code class="directive"><RequireAny></code> retournent un + résultat positif, alors la directive <code class="directive"><RequireAny></code> retourne elle-même un résultat + positif. Si aucune ne retourne un résultat positif et aucune + n'échoue, la directive globale retourne un résultat neutre. Dans + tous les autres cas, elle échoue.</p> + + <div class="note">Comme les directives d'autorisation inversées sont incapables + de retourner un résultat positif, elles ne peuvent pas impacter de + manière significative le résultat d'une directive <code class="directive"><RequireAny></code> (elles pourraient tout au plus + faire échouer la directive dans le cas où elles échoueraient + elles-mêmes, et où + toutes les autres directives retourneraient un résultat neutre). + C'est pourquoi il n'est pas permis d'utiliser les directives + d'autorisation inversées dans une directive <code class="directive"><RequireAny></code>.</div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="#logic">Conteneurs d'autorisation</a></li> +<li><a href="../howto/auth.html">Authentification, autorisation et +contrôle d'accès</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="requirenone" id="requirenone">Directive</a> <a name="RequireNone" id="RequireNone"><RequireNone></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives d'autorisation dont aucune ne doit +retourner un résultat positif pour que la directive globale n'échoue +pas.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><RequireNone> ... </RequireNone></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_core</td></tr> +</table> + <p>Les balises <code class="directive"><RequireNone></code> et + <code></RequireNone></code> permettent de regrouper des + directives d'autorisation dont aucune ne doit retourner un résultat + positif pour que la directive <code class="directive"><RequireNone></code> n'échoue pas.</p> + + <p>Si une ou plusieurs directives contenues dans la directive + <code class="directive"><RequireNone></code> retournent un + résultat positif, la directive <code class="directive"><RequireNone></code> échouera. Dans tous les + autres cas, cette dernière retournera un résultat neutre. Ainsi, + comme pour la directive d'autorisation inversée <code>Require + not</code>, elle ne peut jamais autoriser une requête de manière + indépendante car elle ne pourra jamais retourner un résultat + positif. Par contre, on peut l'utiliser pour restreindre l'ensemble + des utilisateurs autorisés à accéder à une ressource.</p> + + <div class="note">Comme les directives d'autorisation inversées sont incapables + de retourner un résultat positif, elles ne peuvent pas impacter de + manière significative le résultat d'une directive <code class="directive"><RequireNone></code>. + C'est pourquoi il n'est pas permis d'utiliser les directives + d'autorisation inversées dans une directive <code class="directive"><RequireNone></code>.</div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="#logic">Conteneurs d'autorisation</a></li> +<li><a href="../howto/auth.html">Authentification, autorisation et +contrôle d'accès</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_core.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbd.html b/docs/manual/mod/mod_authz_dbd.html new file mode 100644 index 0000000..ef33047 --- /dev/null +++ b/docs/manual/mod/mod_authz_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authz_dbd.html.en b/docs/manual/mod/mod_authz_dbd.html.en new file mode 100644 index 0000000..23d517a --- /dev/null +++ b/docs/manual/mod/mod_authz_dbd.html.en @@ -0,0 +1,315 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_dbd - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authz_dbd</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Group Authorization and Login using SQL</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authz_dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authz_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site by group membership. Similar functionality is + provided by <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> and + <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, with the exception that + this module queries a SQL database to determine whether a + user is a member of a group.</p> + <p>This module can also provide database-backed user login/logout + capabilities. These are likely to be of most value when used + in conjunction with <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> + <p>This module relies on <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> to specify + the backend database driver and connection parameters, and + manage the database connections.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#login">Database Login</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#client">Client Login integration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Configuration example</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdquery">AuthzDBDQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbd">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbd">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></code> +</li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Apache's <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_dbd extends the + authorization types with <code>dbd-group</code>, <code>dbd-login</code> and + <code>dbd-logout</code>.</p> + + <p>Since v2.4.8, <a href="../expr.html">expressions</a> are supported + within the DBD require directives.</p> + +<h3><a name="reqgroup" id="reqgroup">Require dbd-group</a></h3> + + <p>This directive specifies group membership that is required for the + user to gain access.</p> + + <pre class="prettyprint lang-config">Require dbd-group team +AuthzDBDQuery "SELECT user_group FROM authz WHERE user = %s"</pre> + + + + +<h3><a name="reqlogin" id="reqlogin">Require dbd-login</a></h3> + + <p>This directive specifies a query to be run indicating the user + has logged in.</p> + + <pre class="prettyprint lang-config">Require dbd-login +AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre> + + + + +<h3><a name="reqlogout" id="reqlogout">Require dbd-logout</a></h3> + + <p>This directive specifies a query to be run indicating the user + has logged out.</p> + + <pre class="prettyprint lang-config">Require dbd-logout +AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"</pre> + + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="login" id="login">Database Login</a></h2> + +<p> +In addition to the standard authorization function of checking group +membership, this module can also provide server-side user session +management via database-backed login/logout capabilities. +Specifically, it can update a user's session status in the database +whenever the user visits designated URLs (subject of course to users +supplying the necessary credentials).</p> +<p>This works by defining two special +<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> types: +<code>Require dbd-login</code> and <code>Require dbd-logout</code>. +For usage details, see the configuration example below.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="client" id="client">Client Login integration</a></h2> + +<p>Some administrators may wish to implement client-side session +management that works in concert with the server-side login/logout +capabilities offered by this module, for example, by setting or unsetting +an HTTP cookie or other such token when a user logs in or out.</p> +<p>To support such integration, <code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code> exports an +optional hook that will be run whenever a user's status is updated in +the database. Other session management modules can then use the hook +to implement functions that start and end client-side sessions.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Configuration example</a></h2> + +<pre class="prettyprint lang-config"># mod_dbd configuration +DBDriver pgsql +DBDParams "dbname=apacheauth user=apache pass=xxxxxx" + +DBDMin 4 +DBDKeep 8 +DBDMax 20 +DBDExptime 300 + +<Directory "/usr/www/my.site/team-private/"> + # mod_authn_core and mod_auth_basic configuration + # for mod_authn_dbd + AuthType Basic + AuthName Team + AuthBasicProvider dbd + + # mod_authn_dbd SQL query to authenticate a logged-in user + AuthDBDUserPWQuery \ + "SELECT password FROM authn WHERE user = %s AND login = 'true'" + + # mod_authz_core configuration for mod_authz_dbd + Require dbd-group team + + # mod_authz_dbd configuration + AuthzDBDQuery "SELECT group FROM authz WHERE user = %s" + + # when a user fails to be authenticated or authorized, + # invite them to login; this page should provide a link + # to /team-private/login.html + ErrorDocument 401 "/login-info.html" + + <Files "login.html"> + # don't require user to already be logged in! + AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s" + + # dbd-login action executes a statement to log user in + Require dbd-login + AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s" + + # return user to referring page (if any) after + # successful login + AuthzDBDLoginToReferer On + </Files> + + <Files "logout.html"> + # dbd-logout action executes a statement to log user out + Require dbd-logout + AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s" + </Files> +</Directory></pre> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthzDBDLoginToReferer" id="AuthzDBDLoginToReferer">AuthzDBDLoginToReferer</a> <a name="authzdbdlogintoreferer" id="authzdbdlogintoreferer">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthzDBDLoginToReferer On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthzDBDLoginToReferer Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr> +</table> + <p>In conjunction with <code>Require dbd-login</code> or + <code>Require dbd-logout</code>, this provides the option to + redirect the client back to the Referring page (the URL in + the <code>Referer</code> HTTP request header, if present). + When there is no <code>Referer</code> header, + <code>AuthzDBDLoginToReferer On</code> will be ignored.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthzDBDQuery" id="AuthzDBDQuery">AuthzDBDQuery</a> <a name="authzdbdquery" id="authzdbdquery">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify the SQL Query for the required operation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthzDBDQuery <var>query</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr> +</table> + <p>The <code class="directive">AuthzDBDQuery</code> specifies an SQL + query to run. The purpose of the query depends on the + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive in + effect.</p> + <ul> + <li>When used with a <code>Require dbd-group</code> directive, + it specifies a query to look up groups for the current user. This is + the standard functionality of other authorization modules such as + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> and <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>. + The first column value of each row returned by the query statement + should be a string containing a group name. Zero, one, or more rows + may be returned. + <pre class="prettyprint lang-config">Require dbd-group +AuthzDBDQuery "SELECT group FROM groups WHERE user = %s"</pre> + + </li> + <li>When used with a <code>Require dbd-login</code> or + <code>Require dbd-logout</code> directive, it will never deny access, + but will instead execute a SQL statement designed to log the user + in or out. The user must already be authenticated with + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>. + <pre class="prettyprint lang-config">Require dbd-login +AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre> + + </li> + </ul> + <p>In all cases, the user's ID will be passed as a single string + parameter when the SQL query is executed. It may be referenced within + the query statement using a <code>%s</code> format specifier.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthzDBDRedirectQuery" id="AuthzDBDRedirectQuery">AuthzDBDRedirectQuery</a> <a name="authzdbdredirectquery" id="authzdbdredirectquery">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify a query to look up a login page for the user</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthzDBDRedirectQuery <var>query</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr> +</table> + <p>Specifies an optional SQL query to use after successful login + (or logout) to redirect the user to a URL, which may be + specific to the user. The user's ID will be passed as a single string + parameter when the SQL query is executed. It may be referenced within + the query statement using a <code>%s</code> format specifier.</p> + <pre class="prettyprint lang-config">AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"</pre> + + <p>The first column value of the first row returned by the query + statement should be a string containing a URL to which to redirect + the client. Subsequent rows will be ignored. If no rows are returned, + the client will not be redirected.</p> + <p>Note that <code class="directive">AuthzDBDLoginToReferer</code> takes + precedence if both are set.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbd.html.fr.utf8 b/docs/manual/mod/mod_authz_dbd.html.fr.utf8 new file mode 100644 index 0000000..b6cc7d3 --- /dev/null +++ b/docs/manual/mod/mod_authz_dbd.html.fr.utf8 @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_dbd - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authz_dbd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbd.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation en groupe et reconnaissance d'identité avec base +SQL</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.4 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit des fonctionnalités d'autorisation permettant + d'accorder ou de refuser aux utilisateurs authentifiés l'accès à + certaines zones du site web en fonction de leur appartenance à tel + ou tel groupe. Les modules <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> et + <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> fournissent une fonctionnalité + similaire, mais ici le module interroge une base de données SQL pour + déterminer si un utilisateur appartient ou non à tel ou tel groupe.</p> + <p>Ce module propose également des fonctionnalités de connexion + utilisateur s'appuyant sur une base de données, ce qui peut se révéler + particulièrement utile lorsque le module est utilisé conjointement avec + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> + <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le + pilote de la base de données sous-jacente et les paramètres de + connexion, et gérer les connexions à la base de données.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#login">Reconnaissance d'identité s'appuyant sur une base de données</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#client">Reconnaissance d'identité côté client</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdquery">AuthzDBDQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li> + <code class="directive"><a href="../mod/mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery</a></code> +</li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li> +<li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">Les directives Require</a></h2> + + <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une ressource. mod_authz_dbd ajoute + les types d'autorisation <code>dbd-group</code>, + <code>dbd-login</code> et <code>dbd-logout</code>.</p> + + <p>A partir de la version 2.4.8, les directives require DBD + supportent les <a href="../expr.html">expressions</a>.</p> + +<h3><a name="reqgroup" id="reqgroup">Require dbd-group</a></h3> + + <p>Cette directive permet de spécifier à quel groupe un utilisateur + doit appartenir pour obtenir l'autorisation d'accès.</p> + + <pre class="prettyprint lang-config">Require dbd-group team +AuthzDBDQuery "SELECT user_group FROM authz WHERE user = %s"</pre> + + + + +<h3><a name="reqlogin" id="reqlogin">Require dbd-login</a></h3> + + <p>Cette directive permet de spécifier une requête à exécuter pour + indiquer que l'utilisateur s'est authentifié.</p> + + <pre class="prettyprint lang-config">Require dbd-login +AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre> + + + + +<h3><a name="reqlogout" id="reqlogout">Require dbd-logout</a></h3> + + <p>Cette directive permet de spécifier une requête à exécuter pour + indiquer que l'utilisateur s'est déconnecté.</p> + + <pre class="prettyprint lang-config">Require dbd-logout +AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"</pre> + + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="login" id="login">Reconnaissance d'identité s'appuyant sur une base de données</a></h2> + +<p> +Outre sa fonction d'autorisation standard consistant à vérifier +l'appartenance à des groupes, ce module permet aussi de gérer des +sessions utilisateur côté serveur grâce à sa fonctionnalité de connexion utilisateur +en s'appuyant sur une base de données. En particulier, il peut mettre à +jour le statut de session de l'utilisateur dans la base de données +chaque fois que celui-ci visite certaines URLs (sous réserve bien +entendu que l'utilisateur fournissent les informations de connexion +nécessaires).</p> +<p>Pour cela, il faut definir deux directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> spéciales : <code>Require +dbd-login</code> et <code>Require dbd-logout</code>. Pour les détails de +leur utilisation, voir l'exemple de configuration ci-dessous.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="client" id="client">Reconnaissance d'identité côté client</a></h2> + +<p>Certains administrateurs peuvent vouloir implémenter une gestion de +session côté client fonctionnant de concert avec les fonctionnalités de +connexion/déconnexion des utilisateurs côté serveur offertes par ce module, en +définissant ou en annulant par exemple un cookie HTTP ou un jeton +similaire lorsqu'un utilisateur se connecte ou se déconnecte.</p> + +<p>Pour supporter une telle intégration, <code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code> exporte +un programme à déclenchement optionnel (hook) qui sera lancé chaque fois +que le statut d'un utilisateur sera mis à jour dans la base de données. +D'autres modules de gestion de session pourront alors utiliser ce +programme pour implémenter des fonctions permettant d'ouvrir et de +fermer des sessions côté client.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Exemple de configuration</a></h2> + +<pre class="prettyprint lang-config"># configuration de mod_dbd +DBDriver pgsql +DBDParams "dbname=apacheauth user=apache pass=xxxxxx" + +DBDMin 4 +DBDKeep 8 +DBDMax 20 +DBDExptime 300 + +<Directory "/usr/www/mon.site/team-private/"> + # configuration de mod_authn_core et mod_auth_basic + # pour mod_authn_dbd + AuthType Basic + AuthName Team + AuthBasicProvider dbd + + # requête SQL de mod_authn_dbd pour authentifier un utilisateur qui se + # connecte + AuthDBDUserPWQuery \ + "SELECT password FROM authn WHERE user = %s AND login = 'true'" + + # configuration de mod_authz_core pour mod_authz_dbd + Require dbd-group team + + # configuration de mod_authz_dbd + AuthzDBDQuery "SELECT group FROM authz WHERE user = %s" + + # lorsqu'un utilisateur échoue dans sa tentative d'authentification ou + # d'autorisation, on l'invite à se connecter ; cette page doit + # contenir un lien vers /team-private/login.html + ErrorDocument 401 "/login-info.html" + + <Files "login.html"> + # il n'est pas nécessaire que l'utilisateur soit déjà connecté ! + AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s" + + # le processus de connexion dbd exécute une requête pour enregistrer + # la connexion de l'utilisateur + Require dbd-login + AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s" + + # redirige l'utilisateur vers la page d'origine (si elle existe) + # après une connexion réussie + AuthzDBDLoginToReferer On + </Files> + + <Files "logout.html"> + # le processus de déconnexion dbd exécute une requête pour + # enregistrer la déconnexion de l'utilisateur + Require dbd-logout + AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s" + </Files> +</Directory></pre> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authzdbdlogintoreferer" id="authzdbdlogintoreferer">Directive</a> <a name="AuthzDBDLoginToReferer" id="AuthzDBDLoginToReferer">AuthzDBDLoginToReferer</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le client doit être redirigé vers la page +d'origine en cas de connexion ou de déconnexion réussie si un en-tête +de requête <code>Referer</code> est présent</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDLoginToReferer On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzDBDLoginToReferer Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr> +</table> + <p>Utilisée en conjonction avec <code>Require dbd-login</code> ou + <code>Require dbd-logout</code>, cette directive permet de rediriger + le client vers la page d'origine (l'URL contenue dans l'en-tête + de requête HTTP <code>Referer</code>, s'il est présent). En + l'absence d'en-tête <code>Referer</code>, la définition + <code>AuthzDBDLoginToReferer On</code> sera ignorée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authzdbdquery" id="authzdbdquery">Directive</a> <a name="AuthzDBDQuery" id="AuthzDBDQuery">AuthzDBDQuery</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la requête SQL pour l'opération requise</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDQuery <var>requête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr> +</table> + <p>La directive <code class="directive">AuthzDBDQuery</code> permet de + spécifier une requête SQL à exécuter. Le but de cette requête dépend + de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> en cours de + traitement.</p> + <ul> + <li>Avec la directive <code>Require dbd-group</code>, elle spécifie + une requête permettant de rechercher les groupes d'appartenance de + l'utilisateur courant. Ceci correspond à la fonctionnalité standard + d'autres modules d'autorisation comme + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> et + <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>. + La première colonne de chaque enregistrement renvoyé par la requête + doit contenir une chaîne de caractères correspondant à un nom de + groupe. La requête peut renvoyer zéro, un ou plusieurs + enregistrements. + <pre class="prettyprint lang-config">Require dbd-group +AuthzDBDQuery "SELECT group FROM groups WHERE user = %s"</pre> + + </li> + <li>Avec la directive <code>Require dbd-login</code> ou + <code>Require dbd-logout</code>, elle ne refusera jamais l'accès, + mais au contraire exécutera une requête SQL permettant d'enregistrer + la connexion ou la déconnexion de l'utilisateur. Ce dernier doit + être déjà authentifié avec <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>. + <pre class="prettyprint lang-config">Require dbd-login +AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre> + + </li> + </ul> + <p>Dans tous les cas, l'identifiant utilisateur sera transmis comme + paramètre sous la forme d'une simple chaîne lorsque la requête SQL + sera exécutée. Il y sera fait référence dans la requête en utilisant + le spécificateur de format <code>%s</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authzdbdredirectquery" id="authzdbdredirectquery">Directive</a> <a name="AuthzDBDRedirectQuery" id="AuthzDBDRedirectQuery">AuthzDBDRedirectQuery</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une requête pour rechercher une page vers laquelle +rediriger l'utilisateur après une connexion réussie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDRedirectQuery <var>requête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbd</td></tr> +</table> + <p>Spécifie une requête SQL optionnelle à utiliser après une + connexion (ou une déconnexion) réussie pour rediriger l'utilisateur + vers une URL, qui peut être spécifique à l'utilisateur. + L'identifiant utilisateur sera transmis comme paramètre sous la + forme d'une simple chaîne lorsque la requête SQL sera exécutée. Il y + sera fait référence dans la requête en utilisant le spécificateur de + format <code>%s</code>.</p> + <pre class="prettyprint lang-config">AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"</pre> + + <p>La première colonne du premier enregistrement renvoyé par la + requête doit contenir une chaîne de caractères correspondant à une + URL vers laquelle rediriger le client. Les enregistrements suivants + sont ignorés. Si aucun enregistrement n'est renvoyé, le client ne + sera pas redirigé.</p> + <p>Notez que <code class="directive">AuthzDBDLoginToReferer</code> l'emporte + sur cette directive si les deux sont définies.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbd.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbm.html b/docs/manual/mod/mod_authz_dbm.html new file mode 100644 index 0000000..fa7cdcb --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_dbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_dbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_dbm.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_dbm.html.en b/docs/manual/mod/mod_authz_dbm.html.en new file mode 100644 index 0000000..3bfa532 --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html.en @@ -0,0 +1,215 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_dbm - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authz_dbm</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_dbm.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_authz_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Group authorization using DBM files</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authz_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authz_dbm.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site by group membership. Similar functionality is + provided by <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Example usage</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbmtype">AuthzDBMType</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbm">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbm">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Apache's <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_dbm extends the + authorization types with <code>dbm-group</code>.</p> + + <p>Since v2.4.8, <a href="../expr.html">expressions</a> are supported + within the DBM require directives.</p> + +<h3><a name="reqgroup" id="reqgroup">Require dbm-group</a></h3> + + <p>This directive specifies group membership that is required for the + user to gain access.</p> + + <pre class="prettyprint lang-config">Require dbm-group admin</pre> + + + + +<h3><a name="reqfilegroup" id="reqfilegroup">Require dbm-file-group</a></h3> + + <p>When this directive is specified, the user must be a member of the group + assigned to the file being accessed.</p> + + <pre class="prettyprint lang-config">Require dbm-file-group</pre> + + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Example usage</a></h2> + +<p><em>Note that using mod_authz_dbm requires you to require <code>dbm-group</code> +instead of <code>group</code>:</em> +</p> +<pre class="prettyprint lang-config"><Directory "/foo/bar"> + AuthType Basic + AuthName "Secure Area" + AuthBasicProvider dbm + AuthDBMUserFile "site/data/users" + AuthDBMGroupFile "site/data/users" + Require dbm-group admin +</Directory></pre> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMGroupFile" id="AuthDBMGroupFile">AuthDBMGroupFile</a> <a name="authdbmgroupfile" id="authdbmgroupfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBMGroupFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbm</td></tr> +</table> + <p>The <code class="directive">AuthDBMGroupFile</code> directive sets the + name of a DBM file containing the list of user groups for user + authorization. <var>File-path</var> is the absolute path to the + group file.</p> + + <p>The group file is keyed on the username. The value for a + user is a comma-separated list of the groups to which the users + belongs. There must be no whitespace within the value, and it + must never contain any colons.</p> + + <div class="warning"><h3>Security</h3> + <p>Make sure that the <code class="directive">AuthDBMGroupFile</code> is + stored outside the document tree of the web-server. Do + <strong>not</strong> put it in the directory that it protects. + Otherwise, clients will be able to download the + <code class="directive">AuthDBMGroupFile</code> unless otherwise + protected.</p> + </div> + + <p>Combining Group and Password DBM files: In some cases it is + easier to manage a single database which contains both the + password and group details for each user. This simplifies any + support programs that need to be written: they now only have to + deal with writing to and locking a single DBM file. This can be + accomplished by first setting the group and password files to + point to the same DBM:</p> + + <pre class="prettyprint lang-config">AuthDBMGroupFile "/www/userbase" +AuthDBMUserFile "/www/userbase"</pre> + + + <p>The key for the single DBM is the username. The value consists + of</p> + + <div class="example"><p><code> + Encrypted Password : List of Groups [ : (ignored) ] + </code></p></div> + + <p>The password section contains the encrypted + password as before. This is followed by a colon and the comma + separated list of groups. Other data may optionally be left in the + DBM file after another colon; it is ignored by the authorization + module. This is what www.telescope.org uses for its combined + password and group database.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthzDBMType" id="AuthzDBMType">AuthzDBMType</a> <a name="authzdbmtype" id="authzdbmtype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the type of database file that is used to +store list of user groups</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthzDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthzDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbm</td></tr> +</table> + <p>Sets the type of database file that is used to store the list + of user groups. + The default database type is determined at compile time. The + availability of other types of database files also depends on + <a href="../install.html#dbm">compile-time settings</a>.</p> + + <p>It is crucial that whatever program you use to create your group + files is configured to use the same type of database.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_dbm.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_authz_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbm.html.fr.utf8 b/docs/manual/mod/mod_authz_dbm.html.fr.utf8 new file mode 100644 index 0000000..0adfc3d --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html.fr.utf8 @@ -0,0 +1,225 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_dbm - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authz_dbm</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbm.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_authz_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur les groupes à l'aide de fichiers +DBM</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_dbm.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet d'autoriser ou d'interdire l'accès à certaines + zones du site web aux utilisateurs authentifiés en fonction de leur + appartenance à un groupe spécifié. Le module + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> fournit une fonctionnalité + similaire.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemple d'utilisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbmtype">AuthzDBMType</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une ressource. mod_authz_dbm ajoute + les types d'autorisation <code>dbm-group</code> et <code>dbm-file-group</code>.</p> + + <p>A partir de la version 2.4.8, les directives require DBM + supportent les <a href="../expr.html">expressions</a>.</p> + +<h3><a name="reqgroup" id="reqgroup">Require dbm-group</a></h3> + + <p>Cette directive permet de spécifier à quel groupe un utilisateur + doit appartenir pour obtenir l'autorisation d'accès.</p> + + <pre class="prettyprint lang-config">Require dbm-group admin</pre> + + + + +<h3><a name="reqfilegroup" id="reqfilegroup">Require dbm-file-group</a></h3> + + <p>Lorsque cette directive est définie, l'utilisateur doit + appartenir au groupe du fichier pour pouvoir y accéder.</p> + + <pre class="prettyprint lang-config">Require dbm-file-group</pre> + + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemple d'utilisation</a></h2> + +<p><em>Notez que si vous utilisez mod_authz_dbm, le mot-clé pour les +groupes d'authentification qui était auparavant <code>group</code> est +maintenant <code>dbm-group</code> :</em> +</p> +<pre class="prettyprint lang-config"><Directory "/foo/bar"> + AuthType Basic + AuthName "Secure Area" + AuthBasicProvider dbm + AuthDBMUserFile "site/data/users" + AuthDBMGroupFile "site/data/users" + Require dbm-group admin +</Directory></pre> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authdbmgroupfile" id="authdbmgroupfile">Directive</a> <a name="AuthDBMGroupFile" id="AuthDBMGroupFile">AuthDBMGroupFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom du fichier de base de données contenant la +liste des groupes d'utilisateurs permettant de définir les +autorisations des utilisateurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBMGroupFile <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbm</td></tr> +</table> + <p>La directive <code class="directive">AuthDBMGroupFile</code> sert à + définir le nom d'un fichier DBM contenant la liste des groupes + d'utilisateurs. Les utilisateurs peuvent dès lors se voir autoriser ou + refuser leurs accès selon l'appartenance à tel ou tel groupe. + <var>chemin-fichier</var> est le chemin absolu du + fichier de groupes.</p> + + <p>La clé du fichier de groupes est le nom d'utilisateur. La valeur + de chaque clé est la liste des groupes, séparés par des virgules, + auxquels l'utilisateur appartient. Cette liste ne doit comporter + ni espace, ni caractère ':'.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Le fichier spécifié par la directive +<code class="directive">AuthDBMGroupFile</code> doit être situé en dehors de +l'arborescence des documents du serveur web. Ne le placez +<strong>surtout pas</strong> dans le répertoire qu'il protège, faute +de quoi, les clients pourraient le télécharger, en l'abscence de +protection supplémentaire.</p> + </div> + + <p>Utilisation combinée de fichiers DBM de groupes et de mots de + passe : dans certains cas, il est plus simple de gérer une seule + base de données contenant les groupes et mots de passe de chaque + utilisateur. L'écriture de programmes de support en est ainsi + simplifiée car ils n'ont plus qu'un seul fichier DBM à gérer et + à verrouiller. Pour ce faire, on attribue le même nom de fichier + DBM aux fichiers de groupes et de mots de passe :</p> + + <pre class="prettyprint lang-config">AuthDBMGroupFile "/www/userbase" +AuthDBMUserFile "/www/userbase"</pre> + + + <p>La clé du fichier DBM unique est le nom d'utilisateur. La + valeur associée à la clé contient :</p> + + <div class="example"><p><code> + Mot de passe chiffré : Liste de groupes [ : (ignoré) ] + </code></p></div> + + <p>La partie mot de passe contient comme d'habitude le mot de + passe chiffré. Viennent ensuite le caractère ':' et la liste des + groupes séparés par des virgules. Il est possible d'ajouter + d'autres données en fin de ligne après un autre caractère ':', + mais elles seront ignorées par le module d'autorisation. Il s'agit + du format utilisé par www.telescope.org pour sa base de données + combinée groupes et mots de passe.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authzdbmtype" id="authzdbmtype">Directive</a> <a name="AuthzDBMType" id="AuthzDBMType">AuthzDBMType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de fichier de base de données contenant +la liste des groupes d'utilisateurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_dbm</td></tr> +</table> + <p>Définit le type de fichier de base de données contenant la + liste des groupes d'utilisateurs. Le type de base de données par + défaut est déterminé à la compilation. Les autres types de bases + de données disponibles dépendent aussi de la + <a href="../install.html#dbm">configuration de la + compilation</a>.</p> + + <p>Quel que soit le programme que vous utilisez pour créer votre + fichier de groupes, il est impératif que celui-ci soit configuré + pour utiliser le même type de base de données.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbm.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_authz_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr b/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr new file mode 100644 index 0000000..a820ecc --- /dev/null +++ b/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr @@ -0,0 +1,156 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_dbm - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_authz_dbm</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_authz_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_authz_dbm.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>DBM </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>authz_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_authz_dbm.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> Ϻθ + ִ Ͽ Ѻο Ѵ. + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> ϴ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authdbmgroupfile">AuthDBMGroupFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzdbmtype">AuthzDBMType</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbm">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbm">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li> +<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthDBMGroupFile" id="AuthDBMGroupFile">AuthDBMGroupFile</a> <a name="authdbmgroupfile" id="authdbmgroupfile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ϴ ͺ̽ +ϸ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthDBMGroupFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authz_dbm</td></tr> +</table> + <p><code class="directive">AuthDBMGroupFile</code> þ + ϴ DBM ϸ Ѵ. + <var>File-path</var> ̴.</p> + + <p> ڸ Ű Ѵ. ڿ ǥ + ڰ ̴. ̳ ݷ + .</p> + + <div class="warning"><h3></h3> + <p><code class="directive">AuthDBMGroupFile</code> + ۿ ġ Ȯ϶. ȣ 丮 + ȿ <em></em>. , Ŭ̾Ʈ + <code class="directive">AuthDBMGroupFile</code> ٿε + ִ.</p> + </div> + + <p> DBM ϰ ȣ DBM ϱ: ڿ + ȣ θ ͺ̽ ϴ + ﶧ ִ. ۼ α . + α DBM ϸ װ ȴ. ϰ + ȣ DBMϷ ϸ ϴ:</p> + + <div class="example"><p><code> + AuthDBMGroupFile /www/userbase<br /> + AuthDBMUserFile /www/userbase + </code></p></div> + + <p> DBM Ű ڸ̴. </p> + + <div class="example"><p><code> + ڵ ȣ : [ : () ] + </code></p></div> + + <p>ȣ κ ڵ ȣ̴. ݷ ڿ ǥ + ´. ٽ ݷ ٸ + ִ. κ Ѵ. + www.telescope.org ̷ ȣ ͺ̽ + ͺ̽ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthzDBMType" id="AuthzDBMType">AuthzDBMType</a> <a name="authzdbmtype" id="authzdbmtype">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȣ ϴ ͺ̽ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthzDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>AuthzDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authz_dbm</td></tr> +</table> + <p>ȣ ϴ ͺ̽ Ѵ. + ͺ̽ ⺻ ϶ . + ִ ٸ ͺ̽ <a href="../install.html#dbm"> </a> ȴ.</p> + + <p>ȣ α ͺ̽ + ϵ ؾ Ѵ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_authz_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_authz_dbm.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html b/docs/manual/mod/mod_authz_groupfile.html new file mode 100644 index 0000000..4a39b16 --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_groupfile.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_groupfile.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_groupfile.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_groupfile.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_groupfile.html.en b/docs/manual/mod/mod_authz_groupfile.html.en new file mode 100644 index 0000000..105e57e --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.en @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_groupfile - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authz_groupfile</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_groupfile.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Group authorization using plaintext files</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authz_groupfile_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authz_groupfile.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site by group membership. Similar functionality is + provided by <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authgroupfile">AuthGroupFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_groupfile">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_groupfile">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Apache's <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_groupfile extends the + authorization types with <code>group</code> and <code>group-file</code>. + </p> + + <p>Since v2.4.8, <a href="../expr.html">expressions</a> are supported + within the groupfile require directives.</p> + +<h3><a name="reqgroup" id="reqgroup">Require group</a></h3> + + <p>This directive specifies group membership that is required for the + user to gain access.</p> + + <pre class="prettyprint lang-config">Require group admin</pre> + + + + +<h3><a name="reqfilegroup" id="reqfilegroup">Require file-group</a></h3> + + <p>When this directive is specified, the filesystem permissions on + the file being accessed are consulted. The user must be a member of + a group with the same name as the group that owns the file. + See <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> for more + details.</p> + + <pre class="prettyprint lang-config">Require file-group</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthGroupFile" id="AuthGroupFile">AuthGroupFile</a> <a name="authgroupfile" id="authgroupfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the name of a text file containing the list +of user groups for authorization</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthGroupFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_groupfile</td></tr> +</table> + <p>The <code class="directive">AuthGroupFile</code> directive sets the + name of a textual file containing the list of user groups for user + authorization. <var>File-path</var> is the path to the group + file. If it is not absolute, it is treated as relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <p>Each line of the group file contains a groupname followed by a + colon, followed by the member usernames separated by spaces.</p> + + <div class="example"><h3>Example:</h3><p><code> + mygroup: bob joe anne + </code></p></div> + + <p>Note that searching large text files is <em>very</em> + inefficient; <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> provides a much better performance.</p> + + <div class="warning"><h3>Security</h3> + <p>Make sure that the <code class="directive">AuthGroupFile</code> is + stored outside the document tree of the web-server; do <em>not</em> + put it in the directory that it protects. Otherwise, clients may + be able to download the <code class="directive">AuthGroupFile</code>.</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_groupfile.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_groupfile.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html.fr.utf8 b/docs/manual/mod/mod_authz_groupfile.html.fr.utf8 new file mode 100644 index 0000000..7c3a1ed --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.fr.utf8 @@ -0,0 +1,165 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_groupfile - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authz_groupfile</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur les groupes à l'aide de fichiers +textes</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_groupfile_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_groupfile.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet d'autoriser ou d'interdire l'accès à +certaines zones du site web aux utilisateurs authentifiés en +fonction de leur appartenance à un groupe spécifié. Le module +<code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> fournit une fonctionnalité similaire.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authgroupfile">AuthGroupFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_groupfile">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_groupfile">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">Les directives Require</a></h2> + + <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une ressource. mod_authz_groupfile ajoute + les types d'autorisation <code>group</code> et <code>file-group</code>. + </p> + + <p>A partir de la version 2.4.8, les directives require groupfile + supportent les <a href="../expr.html">expressions</a>.</p> + +<h3><a name="reqgroup" id="reqgroup">Require group</a></h3> + + <p>Cette directive permet de spécifier à quel groupe un utilisateur + doit appartenir pour obtenir l'autorisation d'accès.</p> + + <pre class="prettyprint lang-config">Require group admin</pre> + + + + +<h3><a name="reqfilegroup" id="reqfilegroup">Require file-group</a></h3> + + <p>Lorsque cette directive est définie, Les permissions système du fichier + auquel on veut accéder sont vérifiées. L'utilisateur doit être un membre d'un + groupe de même nom que le groupe qui possède le fichier. Voir + <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> pour plus de détails.</p> + + <pre class="prettyprint lang-config">Require file-group</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="authgroupfile" id="authgroupfile">Directive</a> <a name="AuthGroupFile" id="AuthGroupFile">AuthGroupFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de définir les autorisations des +utilisateurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthGroupFile <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authz_groupfile</td></tr> +</table> + <p>La directive <code class="directive">AuthGroupFile</code> permet de définir +le nom d'un fichier texte contenant la liste des groupes d'utilisateurs. +L'appartenance d'un utilisateur à tel ou tel groupe pourra dès lors être utilisée +pour définir les permissions d'accès de l'utilisateur. +<var>chemin-fichier</var> est le chemin du fichier de groupes. S'il n'est +pas absolu, ce chemin est considéré comme relatif au répertoire défini par +la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <p>Chaque ligne du fichier de groupes contient un nom de groupe +suivi du caractère ':' et des noms des utilisateurs membres du groupe +séparés par des espaces.</p> + + <div class="example"><h3>Exemple :</h3><p><code> + mon-groupe : bob joe anne + </code></p></div> + + <p>Notez que la recherche dans de grands fichiers textes est +<em>très</em> inefficace ; la directive <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> fournit de bien meilleures + performances.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Le fichier <code class="directive">AuthGroupFile</code> ne doit pas +être stocké dans l'arborescence des documents du site web ; ne le placez +<em>surtout pas</em> dans le répertoire qu'il protège, faute de quoi les +clients pourraient le télécharger.</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_groupfile.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 b/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 new file mode 100644 index 0000000..39b718a --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_groupfile - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_authz_groupfile</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>プレーンテキストファイルを用いたグループ承認</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>authz_groupfile_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_authz_groupfile.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 以降</td></tr></table> +<h3>概要</h3> + + <p>このモジュールは認証されたユーザがグループのメンバーか + 否かによってウェブサイトの一部へのアクセスを許可するか拒否するかの + 承認機能を提供します。同様の機能は <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> + によっても提供されています。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authgroupfile">AuthGroupFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_groupfile">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_groupfile">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthGroupFile" id="AuthGroupFile">AuthGroupFile</a> <a name="authgroupfile" id="authgroupfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>証認に使用するユーザグループの一覧が格納されている、 +テキストファイルの名前を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthGroupFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_authz_groupfile</td></tr> +</table> + <p><code class="directive">AuthGroupFile</code> ディレクティブは、 + 証認に使用するユーザグループの一覧が格納されている、 + テキストファイルの名前を設定します。 + <var>file-path</var> はグループファイルへのパスです。 + 絶対パスでなければ、 + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + からの相対パスとして扱われます。</p> + + <p>グループファイル各行は、グループ名、コロン、そして + スペース区切りでそのメンバーのユーザ名を記述します。</p> + + <div class="example"><h3>例:</h3><p><code> + mygroup: bob joe anne + </code></p></div> + + <p>大きなファイルを探索するのは、<em>非常に</em>効率が悪いという点に + 注意してください。そのような場合は、 + <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> + の方がずっと良い性能を発揮します。</p> + + <div class="warning"><h3>セキュリティ</h3> + <p><code class="directive">AuthGroupFile</code> は、 + ウェブサーバのドキュメントツリーの外側に + 保管するようにしてください。 + 保護しようとしているディレクトリ以下には、<em>置かないで下さい</em>。 + そうしないとクライアントが <code class="directive">AuthGroupFile</code> を + ダウンロードできてしまう可能性があります。</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_groupfile.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr b/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr new file mode 100644 index 0000000..3002120 --- /dev/null +++ b/docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_groupfile - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_authz_groupfile</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>Ϲ ̿ Ѻο</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>authz_groupfile_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_authz_groupfile.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> Ʈ Ϻθ + ִ Ͽ Ѻο Ѵ. + <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> ϴ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#authgroupfile">AuthGroupFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_groupfile">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_groupfile">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li> +<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthGroupFile" id="AuthGroupFile">AuthGroupFile</a> <a name="authgroupfile" id="authgroupfile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ϴ ϸ +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AuthGroupFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_authz_groupfile</td></tr> +</table> + <p><code class="directive">AuthGroupFile</code> þ + ϴ ϸ + Ѵ. <var>File-path</var> ̴. θ + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> η Ƶδ.</p> + + <p> ٿ , ݷ, + ڸ ´.</p> + + <div class="example"><h3>:</h3><p><code> + mygroup: bob joe anne + </code></p></div> + + <p> ū ˻ϴ <em>ſ</em> + ȿ ϶. <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> .</p> + + <div class="warning"><h3></h3> + <p><code class="directive">AuthGroupFile</code> + ۿ ġ Ȯ϶. ȣ 丮 ȿ + <em></em>. , Ŭ̾Ʈ + <code class="directive">AuthGroupFile</code> ٿε ִ.</p> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_groupfile.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_groupfile.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_groupfile.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_host.html b/docs/manual/mod/mod_authz_host.html new file mode 100644 index 0000000..60b27e6 --- /dev/null +++ b/docs/manual/mod/mod_authz_host.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_host.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_host.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authz_host.html.en b/docs/manual/mod/mod_authz_host.html.en new file mode 100644 index 0000000..1f4c11c --- /dev/null +++ b/docs/manual/mod/mod_authz_host.html.en @@ -0,0 +1,253 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_host - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authz_host</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_host.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_host.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Group authorizations based on host (name or IP +address)</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authz_host_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authz_host.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>The <code>forward-dns</code> provider was added in 2.4.19</td></tr></table> +<h3>Summary</h3> + + <p>The authorization providers implemented by <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> are + registered using the <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directive. The directive can be referenced within a + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, + or <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section + as well as <code><a href="core.html#accessfilename">.htaccess</a> + </code> files to control access to particular parts of the server. + Access can be controlled based on the client hostname or IP address.</p> + + <p>In general, access restriction directives apply to all + access methods (<code>GET</code>, <code>PUT</code>, + <code>POST</code>, etc). This is the desired behavior in most + cases. However, it is possible to restrict some methods, while + leaving other methods unrestricted, by enclosing the directives + in a <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> section.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_host">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_host">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../howto/auth.html">Authentication, Authorization, + and Access Control</a></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Apache's <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directive is used during the authorization phase to ensure that a user is allowed or + denied access to a resource. mod_authz_host extends the + authorization types with <code>ip</code>, <code>host</code>, + <code>forward-dns</code> and <code>local</code>. + Other authorization types may also be + used but may require that additional authorization modules be loaded.</p> + + <p>These authorization providers affect which hosts can + access an area of the server. Access can be controlled by + hostname, IP Address, or IP Address range.</p> + + <p>Since v2.4.8, <a href="../expr.html">expressions</a> are supported + within the host require directives.</p> + +<h3><a name="reqip" id="reqip">Require ip</a></h3> + + <p>The <code>ip</code> provider allows access to the server + to be controlled based on the IP address of the remote client. + When <code>Require ip <var>ip-address</var></code> is specified, + then the request is allowed access if the IP address matches.</p> + + <p>A full IP address:</p> + + <pre class="prettyprint lang-config">Require ip 10.1.2.3 +Require ip 192.168.1.104 192.168.1.205</pre> + + + <p>An IP address of a host allowed access</p> + + <p>A partial IP address:</p> + + <pre class="prettyprint lang-config">Require ip 10.1 +Require ip 10 172.20 192.168.2</pre> + + <p>The first 1 to 3 bytes of an IP address, for subnet + restriction.</p> + + <p>A network/netmask pair:</p> + + <pre class="prettyprint lang-config">Require ip 10.1.0.0/255.255.0.0</pre> + + <p>A network a.b.c.d, and a netmask w.x.y.z. For more + fine-grained subnet restriction.</p> + + <p>A network/nnn CIDR specification:</p> + + <pre class="prettyprint lang-config">Require ip 10.1.0.0/16</pre> + + <p>Similar to the previous case, except the netmask consists of + nnn high-order 1 bits.</p> + + <p>Note that the last three examples above match exactly the + same set of hosts.</p> + + <p>IPv6 addresses and IPv6 subnets can be specified as shown + below:</p> + + <pre class="prettyprint lang-config">Require ip 2001:db8::a00:20ff:fea7:ccea +Require ip 2001:db8:1:1::a +Require ip 2001:db8:2:1::/64 +Require ip 2001:db8:3::/48</pre> + + + <p>Note: As the IP addresses are parsed on startup, expressions are + not evaluated at request time.</p> + + + +<h3><a name="reqhost" id="reqhost">Require host</a></h3> + + <p>The <code>host</code> provider allows access to the server + to be controlled based on the host name of the remote client. + When <code>Require host <var>host-name</var></code> is specified, + then the request is allowed access if the host name matches.</p> + + <p>A (partial) domain-name</p> + + <pre class="prettyprint lang-config">Require host example.org +Require host .net example.edu</pre> + + + <p>Hosts whose names match, or end in, this string are allowed + access. Only complete components are matched, so the above + example will match <code>foo.example.org</code> but it will not + match <code>fooexample.org</code>. This configuration will cause + Apache to perform a double reverse DNS lookup on the client IP + address, regardless of the setting of the <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> directive. It will do + a reverse DNS lookup on the IP address to find the associated + hostname, and then do a forward lookup on the hostname to assure + that it matches the original IP address. Only if the forward + and reverse DNS are consistent and the hostname matches will + access be allowed.</p> + + + +<h3><a name="reqfwddns" id="reqfwddns">Require forward-dns</a></h3> + + <p>The <code>forward-dns</code> provider allows access to the server + to be controlled based on simple host names. When + <code>Require forward-dns <var>host-name</var></code> is specified, + all IP addresses corresponding to <code><var>host-name</var></code> + are allowed access.</p> + + <p>In contrast to the <code>host</code> provider, this provider does not + rely on reverse DNS lookups: it simply queries the DNS for the host name + and allows a client if its IP matches. As a consequence, it will only + work with complete host names that can be resolved in DNS, not partial domain names. + However, as the reverse DNS is not used, and DNS lookups occur at request processing + time (instead of startup), it will work with clients which use a dynamic DNS service.</p> + + <pre class="prettyprint lang-config">Require forward-dns dynamic.example.org</pre> + + + <p>A client the IP of which is resolved from the name + <code>dynamic.example.org</code> will be granted access.</p> + + <p>The <code>forward-dns</code> provider was added in 2.4.19.</p> + + +<h3><a name="reqlocal" id="reqlocal">Require local</a></h3> + + <p>The <code>local</code> provider allows access to the server if any + of the following conditions is true:</p> + + <ul> + <li>the client address matches 127.0.0.0/8</li> + <li>the client address is ::1</li> + <li>both the client and the server address of the connection are + the same</li> + </ul> + + <p>This allows a convenient way to match connections that originate from + the local host:</p> + + <pre class="prettyprint lang-config">Require local</pre> + + + + +<h3><a name="proxy" id="proxy">Security Note</a></h3> + + <p>If you are proxying content to your server, you need to be aware + that the client address will be the address of your proxy server, + not the address of the client, and so using the <code>Require</code> + directive in this context may not do what you mean. See + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> for one possible solution to this + problem.</p> + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_host.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_host.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_host.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_host.html.fr.utf8 b/docs/manual/mod/mod_authz_host.html.fr.utf8 new file mode 100644 index 0000000..a9337fe --- /dev/null +++ b/docs/manual/mod/mod_authz_host.html.fr.utf8 @@ -0,0 +1,256 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_host - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authz_host</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_host.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_host.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe basées sur l'hôte (nom ou adresse +IP)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_host_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_host.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Le fournisseur <code>forward-dns</code> est disponible à partir +de la version 2.4.19 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Les fournisseurs d'autorisation implémentés par le module + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> sont enregistrés à l'aide de + la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. On peut + utiliser cette directive à l'intérieur de sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ou <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou de fichiers + <code><a href="core.html#accessfilename">.htaccess</a> </code> pour + contrôler l'accès à certaines zones du serveur. Le contrôle d'accès + peut être effectué en fonction du nom d'hôte ou de l'adresse IP.</p> + + <p>En général, les directives de restriction d'accès s'appliquent à + toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>, + <code>POST</code>, etc...). C'est d'ailleurs ce que l'on souhaite + dans la plupart des cas. Il est cependant possible de ne restreindre + l'accès que pour certaines méthodes, tout en laissant les autres + méthodes sans protection, en plaçant les directives dans une section + <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_host">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_host">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../howto/auth.html">Authentification, autorisation et +contrôle d'accès</a></li> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">Les directives Require</a></h2> + + <p>La directive Apache <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est utilisée au cours de + la phase d'autorisation pour vérifier si un utilisateur se voit + accorder ou refuser l'accès à une ressource. mod_authz_host fournit + les types d'autorisation <code>ip</code>, <code>host</code>, + <code>forward-dns</code> et <code>local</code>. D'autres + types d'autorisation sont aussi disponibles, mais nécessitent le chargement + des modules d'autorisation appropriés.</p> + + <p>Ces fournisseurs d'autorisation permettent de déterminer quels + hôtes peuvent accéder à une zone du serveur. On peut contrôler + l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle + d'adresses IP.</p> + + <p>A partir de la version 2.4.8, les directives require host + supportent les <a href="../expr.html">expressions</a>.</p> + +<h3><a name="reqip" id="reqip">Require ip</a></h3> + + <p>Le fournisseur <code>ip</code> permet de contrôler l'accès au + serveur en fonction de l'adresse IP du client distant. Lorsque + <code>Require ip <var>adresse-ip</var></code> est spécifié, la + requête est autorisée si l'adresse IP du client distant correspond + à</p> + + <p>Une adresse IP complète :</p> + + <pre class="prettyprint lang-config">Require ip 10.1.2.3 +Require ip 192.168.1.104 192.168.1.205</pre> + + + <p>L'adresse IP d'un hôte pour qui l'accès est accordé</p> + + <p>Une adresse IP partielle :</p> + + <pre class="prettyprint lang-config">Require ip 10.1 +Require ip 10 172.20 192.168.2</pre> + + <p>Les 1 à 3 premiers octets d'une adresse IP, pour une restriction + à un sous-réseau.</p> + + <p>Une paire réseau/masque de sous-réseau :</p> + + <pre class="prettyprint lang-config">Require ip 10.1.0.0/255.255.0.0</pre> + + <p>Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z. pour une + restriction de sous-réseau plus fine.</p> + + <p>Une spécification CIDR réseau/nnn :</p> + + <pre class="prettyprint lang-config">Require ip 10.1.0.0/16</pre> + + <p>Identique au cas précédent, excepté que le masque de sous-réseau + représente les nnn premiers bits de poids fort.</p> + + <p>Notez que les trois derniers exemples correspondent exectement au + même ensemble d'hôtes.</p> + + <p>On peut spécifier des adresses et des sous-réseaux IPv6 comme + suit :</p> + + <pre class="prettyprint lang-config">Require ip 2001:db8::a00:20ff:fea7:ccea +Require ip 2001:db8:1:1::a +Require ip 2001:db8:2:1::/64 +Require ip 2001:db8:3::/48</pre> + + + <p>Note: comme les adresses IP sont lues au démarrage, les + expressions ne sont pas évaluées au moment de la requête.</p> + + + +<h3><a name="reqhost" id="reqhost">Require host</a></h3> + + <p>Le fournisseur <code>host</code> permet de contrôler l'accès au + serveur en fonction du nom d'hôte du client distant. Lorsque + <code>Require host <var>nom-hôte</var></code> est spécifié, la + requête est autorisée si le nom d'hôte correspond à</p> + + <p>Un nom de domaine (éventuellement partiel)</p> + + <pre class="prettyprint lang-config">Require host example.org +Require host .net example.edu</pre> + + + <p>Les hôtes dont les noms correspondent ou se terminent par la + chaîne spécifiée se voient accorder l'accès. Seuls les élément de + nom de domaine complets sont mis en correspondance ; ainsi, + l'exemple ci-dessus correspondra à <code>foo.example.org</code>, mais + ne correspondra pas à <code>fooexample.org</code>. Avec cette + configuration, Apache va effectuer une double recherche DNS sur + l'adresse IP du client, sans tenir compte de la définition de la + directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>. Il + va effectuer une recherche DNS inverse sur l'adresse IP pour trouver + le nom d'hôte associé, puis une recherche DNS directe sur le nom + d'hôte pour vérifier qu'il correspond bien à l'adresse IP originale. + L'accès ne sera accordé que si le nom d'hôte correspond et si les + recherches DNS inverse et directe sont cohérentes.</p> + + + +<h3><a name="reqfwddns" id="reqfwddns">Require forward-dns</a></h3> + + <p>Le fournisseur <code>forward-dns</code> permet d'accéder au serveur + sécurisé en fonction de simples noms d'hôte. Lorsque <code>Require + forward-dns <var>host-name</var></code> est spécifié, toute adresse IP + correspondant à <code><var>host-name</var></code> se voit autoriser l'accès.</p> + + <p>A la différence du fournisseur <code>host</code>, ce fournisseur + n'effectue pas de recherche DNS inverse : il effectue simplement une requête + DNS directe pour le nom d'hôte spécifié et donne accès au client si son + adresse IP correspond. Il ne fonctionnera donc qu'avec des noms d'hôte + complets qui peuvent être résolus par le DNS, et non avec des noms de + domaine partiels. Par contre, comme le DNS inverse n'est pas sollicité, et + comme les recherches DNS interviennent au moment du traitement de la requête + (et non au démarrage), il fonctionnera avec des clients qui utilisent un + service de DNS dynamique.</p> + + <pre class="prettyprint lang-config">Require forward-dns dynamic.example.org</pre> + + + <p>Un client dont l'adresse IP correspond au nom d'hôte + <code>dynamic.example.org</code> se verra autoriser l'accès.</p> + + + +<h3><a name="reqlocal" id="reqlocal">Require local</a></h3> + + <p>Le fournisseur <code>local</code> autorise l'accès au serveur si + l'une au moins de ces conditions est satisfaite :</p> + + <ul> + <li>l'adresse IP du client correspond à 127.0.0.0/8</li> + <li>l'adresse IP du client est ::1</li> + <li>les adresses IP du client et du serveur sont identiques</li> + </ul> + + <p>L'exemple suivant montre une méthode simple pour sélectionner les + connexions en provenance de l'hôte local :</p> + + <pre class="prettyprint lang-config">Require local</pre> + + + + +<h3><a name="proxy" id="proxy">Note concernant la sécurité</a></h3> + + <p>Si le contenu de votre serveur est mandaté, vous devez garder à + l'esprit que l'adresse client correspondra à l'adresse de votre + serveur mandataire et non à l'adresse du client, et l'utilisation de + la directive <code>Require</code> dans ce contexte ne provoquera pas + forcément l'effet désiré. Voir <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> pour + une solution possible à ce problème.</p> + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_host.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_host.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_host.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html b/docs/manual/mod/mod_authz_owner.html new file mode 100644 index 0000000..20ed9bf --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_owner.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_owner.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_owner.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_owner.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_owner.html.en b/docs/manual/mod/mod_authz_owner.html.en new file mode 100644 index 0000000..6978191 --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.en @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_owner - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authz_owner</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_owner.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authorization based on file ownership</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authz_owner_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authz_owner.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module authorizes access to files by comparing the userid used + for HTTP authentication (the web userid) with the file-system owner or + group of the requested file. The supplied username and password + must be already properly verified by an authentication module, + such as <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> + recognizes two arguments for the <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive, <code>file-owner</code> and + <code>file-group</code>, as follows:</p> + + <dl> + <dt><code>file-owner</code></dt> + <dd>The supplied web-username must match the system's name for the + owner of the file being requested. That is, if the operating system + says the requested file is owned by <code>jones</code>, then the + username used to access it through the web must be <code>jones</code> + as well.</dd> + + <dt><code>file-group</code></dt> + <dd>The name of the system group that owns the file must be present + in a group database, which is provided, for example, by <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> or <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, + and the web-username must be a member of that group. For example, if + the operating system says the requested file is owned by (system) + group <code>accounts</code>, the group <code>accounts</code> must + appear in the group database and the web-username used in the request + must be a member of that group.</dd> + </dl> + + <div class="note"><h3>Note</h3> + <p>If <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> is used in order to authorize + a resource that is not actually present in the filesystem + (<em>i.e.</em> a virtual resource), it will deny the access.</p> + + <p>Particularly it will never authorize <a href="../content-negotiation.html#multiviews">content negotiated + "MultiViews"</a> resources.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Configuration Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_owner">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_owner">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Configuration Examples</a></h2> + + <h3><a name="examples.file-owner" id="examples.file-owner">Require file-owner</a></h3> + <p>Consider a multi-user system running the Apache Web server, with + each user having his or her own files in <code>~/public_html/private</code>. Assuming that there is a single + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> database + that lists all of their web-usernames, and that these usernames match + the system's usernames that actually own the files on the server, then + the following stanza would allow only the user himself access to his + own files. User <code>jones</code> would not be allowed to access + files in <code>/home/smith/public_html/private</code> unless they + were owned by <code>jones</code> instead of <code>smith</code>.</p> + + <pre class="prettyprint lang-config"><Directory "/home/*/public_html/private"> + AuthType Basic + AuthName MyPrivateFiles + AuthBasicProvider dbm + AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all" + Require file-owner +</Directory></pre> + + + + <h3><a name="examples.file-group" id="examples.file-group">Require file-group</a></h3> + <p>Consider a system similar to the one described above, but with + some users that share their project files in + <code>~/public_html/project-foo</code>. The files are owned by the + system group <code>foo</code> and there is a single <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> database that + contains all of the web-usernames and their group membership, + <em>i.e.</em> they must be at least member of a group named + <code>foo</code>. So if <code>jones</code> and <code>smith</code> + are both member of the group <code>foo</code>, then both will be + authorized to access the <code>project-foo</code> directories of + each other.</p> + + <pre class="prettyprint lang-config"><Directory "/home/*/public_html/project-foo"> + AuthType Basic + AuthName "Project Foo Files" + AuthBasicProvider dbm + + # combined user/group database + AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all" + AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all" + + Satisfy All + Require file-group +</Directory></pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_owner.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_owner.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html.fr.utf8 b/docs/manual/mod/mod_authz_owner.html.fr.utf8 new file mode 100644 index 0000000..aab688b --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.fr.utf8 @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_owner - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authz_owner</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur l'appartenance des +fichiers</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_owner_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_owner.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de contrôler l'accès aux fichiers en comparant + l'identifiant utilisateur ayant servi à l'authentification HTTP + (l'identifiant utilisateur web) avec le propriétaire ou le groupe + du fichier demandé du point de vue du système de fichiers. Le nom + d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par + un module d'authentification comme <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> + ou <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. + <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> reconnaît deux arguments pour la + directive <code class="directive"><a href="../mod/core.html#require">Require</a></code> : + <code>file-owner</code> et <code>file-group</code> :</p> + + <dl> + <dt><code>file-owner</code></dt> + <dd>Le nom d'utilisateur web utilisé pour l'authentification doit + correspondre au nom système du propriétaire du fichier demandé. En + d'autres termes, si le système indique <code>jones</code> comme + propriétaire du fichier demandé, le nom d'utilisateur fourni pour + l'authentification HTTP doit aussi être <code>jones</code>.</dd> + + <dt><code>file-group</code></dt> + <dd>Le nom du groupe système du fichier demandé doit être présent + dans une base de données de groupes fournie, par exemple, par + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> ou + <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, et le nom d'utilisateur web fourni + pour l'authentification doit être un membre de ce groupe. Par + exemple, si le système indique que le groupe (système) du fichier + demandé est <code>accounts</code>, le groupe <code>accounts</code> + doit apparaître dans la base de données des groupes, et le nom + d'utilisateur web utilisé pour l'authentification doit être un + membre de ce groupe.</dd> + </dl> + + <div class="note"><h3>Note</h3> + <p>Si le module <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> est utilisé pour + vérifier l'autorisation d'accès à une ressource qui n'est pas + vraiment présente dans le système de fichiers (en d'autres termes + une ressource virtuelle), il refusera l'accès.</p> + + <p>En particulier, il n'accordera jamais l'accès à une ressource + du type <a href="../content-negotiation.html#multiviews">"Vues + multiples" (MultiViews) d'un contenu négocié</a>.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples de configuration</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_owner">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_owner">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples de configuration</a></h2> + + <h3><a name="examples.file-owner" id="examples.file-owner">Require file-owner</a></h3> + <p>Considérons un serveur Web Apache fonctionnant sous un système + multi-utilisateurs, où les fichiers de chaque utilisateur sont + stockés dans <code>~/public_html/private</code>. En supposant + qu'il n'existe qu'une seule base de données contenant les noms + d'utilisateurs web, et que ces noms d'utilisateurs correspondent + aux noms d'utilisateurs système qui sont les propriétaires + effectifs des fichiers, la configuration de l'exemple suivant + n'accordera l'autorisation d'accès aux fichiers qu'à leur + propriétaire. L'utilisateur <code>jones</code> ne sera pas + autorisé à accéder aux fichiers situés dans + <code>/home/smith/public_html/private</code>, à moins que leur + propriétaire ne soit <code>jones</code> au lieu de + <code>smith</code>.</p> + + <pre class="prettyprint lang-config"><Directory "/home/*/public_html/private"> + AuthType Basic + AuthName MyPrivateFiles + AuthBasicProvider dbm + AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all" + Require file-owner +</Directory></pre> + + + + <h3><a name="examples.file-group" id="examples.file-group">Require file-group</a></h3> + <p>Considérons un système similaire à celui décrit ci-dessus, mais + où certains utilisateurs partagent leurs fichiers de projets dans + <code>~/public_html/project-foo</code>. Le groupe système des + fichiers est <code>foo</code>, et il n'existe qu'une seule base de + données <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> qui contient + tous les noms d'utilisateurs web et leurs groupes d'appartenance. + Ces noms d'utilisateurs web doivent alors appartenir au moins au + groupe <code>foo</code>. En d'autres termes, si <code>jones</code> + et <code>smith</code> sont tous deux membres du groupe + <code>foo</code>, ils seront autorisés à accéder aux + répertoires <code>project-foo</code> de chacun d'entre eux.</p> + + <pre class="prettyprint lang-config"><Directory "/home/*/public_html/project-foo"> + AuthType Basic + AuthName "Project Foo Files" + AuthBasicProvider dbm + + # combined user/group database + AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all" + AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all" + + Satisfy All + Require file-group +</Directory></pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_owner.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html.ja.utf8 b/docs/manual/mod/mod_authz_owner.html.ja.utf8 new file mode 100644 index 0000000..2e0f724 --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.ja.utf8 @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_owner - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_authz_owner</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ファイルの所有者に基づいた承認</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>authz_owner_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_authz_owner.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 以降で使用可能</td></tr></table> +<h3>概要</h3> + + <p>このモジュールはリクエストされたファイルのファイルシステムの + 所有者やグループを HTTP 認証に使われたユーザ ID (ウェブユーザ ID) と + 比較することでアクセスを承認します。提供されたユーザ名とパスワードは + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> や + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> のような認証モジュールで既に + 適切に検証されている必要があります。<code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> + は以下のように、<code class="directive"><a href="../mod/core.html#require">Require</a></code> ディレクティブの <code>file-owner</code> と + <code>file-group</code> という二つの引数を認識します:</p> + + <dl> + <dt><code>file-owner</code></dt> + <dd>提供されたウェブユーザ名はリクエストされたファイルの所有者の + システムにおける名前と一致する必要があります。つまり、オペレーティング + システムがファイルは <code>jones</code> により所有されている + と言ったときは、ウェブからのアクセスに使われるユーザ名も + <code>jones</code> でなければなりません。</dd> + + <dt><code>file-group</code></dt> + <dd>ファイルを所有するシステムのグループの名前が、例えば + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> や <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> + により提供されるグループデータベースに存在していて、 + ウェブユーザ名がそのグループに属していなければなりません。 + 例えば、オペレーティングシステムがファイルは (システムの) グループ + <code>accounts</code> により所有されていると言ったときは、 + <code>accounts</code> がグループデータベースに存在して、 + リクエストに使用されたウェブユーザ名がそのグループに属している + 必要があります。</dd> + </dl> + + <div class="note"><h3>注</h3> + <p>ファイルシステムに実際には存在しないリソース + (<em>つまり</em> バーチャルなリソース) の承認に + <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> が使用されたときは、 + アクセスは拒否されます。</p> + + <p>特に、<a href="../content-negotiation.html#multiviews">コンテント + ネゴシエーションされた"MultiViews"</a> のリソースは + 決して承認しません。</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">設定例</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<p>このモジュールにディレクティブはありません。</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_owner">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_owner">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">設定例</a></h2> + + <h3><a name="examples.file-owner" id="examples.file-owner">Require file-owner</a></h3> + <p>複数ユーザのシステムで Apache ウェブサーバが実行されていて、 + <code>~/public_html/private</code> に各ユーザがファイルを置いているとします。 + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> + データベースが一つだけあり、すべてのウェブユーザ名が列挙されており、 + このユーザ名がサーバで実際にファイルを所有しているユーザ名と一致している場合、 + 次の節のような設定で、ユーザが自分自身のファイルにアクセスできるようになります。 + <code>/home/smith/public_html/private</code> の中のファイルは、所有者が + <code>smith</code> の代わりに <code>jones</code> になっていない限り、 + <code>jones</code> にはアクセスは許可されません。</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/private><br /> + <span class="indent"> + AuthType Basic<br /> + AuthName MyPrivateFiles<br /> + AuthBasicProvider dbm<br /> + AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all<br /> + Require file-owner<br /> + </span> + </Directory> + </code></p></div> + + + <h3><a name="examples.file-group" id="examples.file-group">Require file-group</a></h3> + <p>上記のようなシステムで、数人のユーザがプロジェクトのファイルを + <code>~/public_html/project-foo</code> で共有しているとします。 + ファイルはシステムのグループ <code>foo</code> に所有されていて、 + <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> + データベースが一つだけあり、そこにすべてのウェブユーザ名と + グループのメンバが列挙されている、<em>つまり</em>、それらの + ユーザは少なくとも <code>foo</code> というグループに属している、とします。 + <code>jones</code> と<code>smith</code> の二人共がグループ + <code>foo</code> のメンバである場合、どちらの人も両方の + <code>project-foo</code> にアクセスが許可されます。</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/project-foo><br /> + <span class="indent"> + AuthType Basic<br /> + AuthName "Project Foo Files"<br /> + AuthBasicProvider dbm<br /> + <br /> + # combined user/group database<br /> + AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all<br /> + AuthDBMGroupFile /usr/local/apache2/etc/.htdbm-all<br /> + <br /> + Satisfy All<br /> + Require file-group<br /> + </span> + </Directory> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_owner.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_owner.html.ko.euc-kr b/docs/manual/mod/mod_authz_owner.html.ko.euc-kr new file mode 100644 index 0000000..262b94f --- /dev/null +++ b/docs/manual/mod/mod_authz_owner.html.ko.euc-kr @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_owner - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_authz_owner</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ڸ ̿ Ѻο</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>authz_owner_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_authz_owner.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> HTTP ̵( + ̵) û Ͻý / Ͽ + ٱ οѴ. ⼭ ڸ ȣ ̹ + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>̳ + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> Ȯ + ƴ. <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> <code class="directive"><a href="../mod/core.html#require">Require</a></code> þ ƱԸƮ, + <code>file-owner</code> <code>file-group</code> óѴ:</p> + + <dl> + <dt><code>file-owner</code></dt> + <dd> ڸ û ý ̸ ƾ + Ѵ. , ü û ڰ + <code>jones</code>, Ͽ ϴ ڵ + <code>jones</code>̾ Ѵ.</dd> + + <dt><code>file-group</code></dt> + <dd> ý + <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>̳ + <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> ͺ̽ + ְ, ڸ ش 쿡 ؾ Ѵ. , + ü û <code>accounts</code> (ý) + ϰ ִٸ, ͺ̽ + <code>accounts</code> ְ û + ڸ 쿡 ؾ Ѵ.</dd> + </dl> + + <div class="note"><h3></h3> + <p><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> Ͻýۿ + ʴ ڿ (<em>,</em> ڿ) ѺοѴٸ, + źѴ.</p> + + <p>Ư <a href="../content-negotiation.html#multiviews"> + "MultiViews"</a> ڿ Ѻο ʴ´.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples"> </a></li> +</ul><h3 class="directives">þ</h3> +<p> þ ϴ.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_owner">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_owner">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li> +<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples"> </a></h2> + + <h3><a name="examples.file-owner" id="examples.file-owner">Require file-owner</a></h3> + <p>ġ ϴ ýۿ ڰ + <code>~/public_html/private</code> ڽ Ѵٰ + . ڸ ϴ <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> + ͺ̽ ְ, ڸ + ϴ ý ڸ ϴ. + Ʒ ڿԸ Ѵ. + <code>jones</code> <code>jones</code> ƴ + <code>smith</code> ϰ ִ + <code>/home/smith/public_html/private</code> ִ Ͽ + .</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/private><br /> + <span class="indent"> + AuthType Basic<br /> + AuthName MyPrivateFiles<br /> + AuthBasicProvider dbm<br /> + AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all<br /> + Satisfy All<br /> + Require file-owner<br /> + </span> + </Directory> + </code></p></div> + + + <h3><a name="examples.file-group" id="examples.file-group">Require file-group</a></h3> + <p> Ȳ + <code>~/public_html/project-foo</code> Ʈ + Ѵٰ . ϵ ý <code>foo</code> + ϸ, ڸ ϴ <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> + ͺ̽ ִ. <em>,</em> ּ <code>foo</code> + 쿡 ִ. <code>jones</code> + <code>smith</code> <code>foo</code> + ̶, <code>project-foo</code> 丮 + ִ.</p> + + <div class="example"><p><code> + <Directory /home/*/public_html/project-foo><br /> + <span class="indent"> + AuthType Basic<br /> + AuthName "Project Foo Files"<br /> + AuthBasicProvider dbm<br /> + <br /> + # combined user/group database<br /> + AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all<br /> + AuthDBMGroupFile /usr/local/apache2/etc/.htdbm-all<br /> + <br /> + Satisfy All<br /> + Require file-group<br /> + </span> + </Directory> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_owner.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_owner.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_owner.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html b/docs/manual/mod/mod_authz_user.html new file mode 100644 index 0000000..0bad215 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_authz_user.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_user.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_user.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_authz_user.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_authz_user.html.en b/docs/manual/mod/mod_authz_user.html.en new file mode 100644 index 0000000..acd841c --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.en @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_user - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_authz_user</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_user.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User Authorization</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>authz_user_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_authz_user.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides authorization capabilities so that + authenticated users can be allowed or denied access to portions + of the web site. <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> grants + access if the authenticated user is listed in a <code>Require user</code> + directive. Alternatively <code>Require valid-user</code> can be used to + grant access to all successfully authenticated users.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_user">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_user">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Apache's <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> + directives are used during the authorization phase to ensure that + a user is allowed to access a resource. mod_authz_user extends the + authorization types with <code>user</code> and <code>valid-user</code>. + </p> + + <p>Since v2.4.8, <a href="../expr.html">expressions</a> are supported + within the user require directives.</p> + +<h3><a name="requser" id="requser">Require user</a></h3> + + <p>This directive specifies a list of users that are allowed to gain + access.</p> + + <pre class="prettyprint lang-config">Require user john paul george ringo</pre> + + + + +<h3><a name="reqvaliduser" id="reqvaliduser">Require valid-user</a></h3> + + <p>When this directive is specified, any successfully authenticated + user will be allowed to gain access.</p> + + <pre class="prettyprint lang-config">Require valid-user</pre> + + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_authz_user.html" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_user.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html.fr.utf8 b/docs/manual/mod/mod_authz_user.html.fr.utf8 new file mode 100644 index 0000000..0860641 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.fr.utf8 @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_user - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_authz_user</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur l'utilisateur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_user_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_user.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.1 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet d'accorder ou de refuser l'accès à certaines + zones du site web aux utilisateurs authentifiés. + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> accorde l'accès si l'utilisateur + authentifié fait partie de la liste spécifiée par une directive + <code>Require user</code>. On peut aussi utiliser la directive + <code>Require valid-user</code> pour accorder l'accès à tous les + utilisateurs qui ont été authentifiés avec succès.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_user">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_user">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requiredirectives" id="requiredirectives">The Require Directives</a></h2> + + <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent, + au cours de la phase d'autorisation, de s'assurer qu'un utilisateur + est bien autorisé à accéder à une + ressource. mod_authz_user ajoute + les types d'autorisation <code>user</code> et <code>valid-user</code>. + </p> + + <p>A partir de la version 2.4.8, les directives require DBM + supportent les <a href="../expr.html">expressions</a>.</p> + +<h3><a name="requser" id="requser">Require user</a></h3> + + <p>Cette directive permet de spécifier une liste d'utilisateurs + autorisés à accéder à la ressource.</p> + + <pre class="prettyprint lang-config">Require user john paul george ringo</pre> + + + + +<h3><a name="reqvaliduser" id="reqvaliduser">Require valid-user</a></h3> + + <p>Lorsque cette directive est définie, tout utilisateur qui s'est + authentifié avec succès aura l'autorisation d'accès à la ressource.</p> + + <pre class="prettyprint lang-config">Require valid-user</pre> + + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_user.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html.ja.utf8 b/docs/manual/mod/mod_authz_user.html.ja.utf8 new file mode 100644 index 0000000..f7e5d78 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.ja.utf8 @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_user - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_authz_user</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ユーザ承認</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>authz_user_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_authz_user.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 以降で使用可能</td></tr></table> +<h3>概要</h3> + + <p>このモジュールは、認証されたユーザにウェブサイトの一部への + アクセスを許可したり拒否したりするための承認機能を提供します。 + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> は認証されたユーザが + <code>Require user</code> ディレクティブに書かれていれば + アクセスを認めます。認証に成功したユーザすべてにアクセスを + 許可するには、代わりに <code>Require valid-user</code> を + 使うことができます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<p>このモジュールにディレクティブはありません。</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_user">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_user">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_user.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_authz_user.html.ko.euc-kr b/docs/manual/mod/mod_authz_user.html.ko.euc-kr new file mode 100644 index 0000000..a7666d3 --- /dev/null +++ b/docs/manual/mod/mod_authz_user.html.ko.euc-kr @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_authz_user - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_authz_user</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> Ѻο</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>authz_user_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_authz_user.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> οϿ, ڰ Ʈ + Ϻο ִ Ѵ. + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> <code>Require user</code> + þ Ͽ ڰ Ѵ. + , <code>require valid-user</code> + ο Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<p> þ ϴ.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_user">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_user">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li> +<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_authz_user.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_authz_user.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_user.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html b/docs/manual/mod/mod_autoindex.html new file mode 100644 index 0000000..6aaecc1 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_autoindex.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_autoindex.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_autoindex.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_autoindex.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_autoindex.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_autoindex.html.en b/docs/manual/mod/mod_autoindex.html.en new file mode 100644 index 0000000..95bb676 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.en @@ -0,0 +1,1072 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_autoindex - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_autoindex</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Generates directory indexes, + automatically, similar to the Unix <code>ls</code> command or the + Win32 <code>dir</code> shell command</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>autoindex_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_autoindex.c</td></tr></table> +<h3>Summary</h3> + + <p>The index of a directory can come from one of two + sources:</p> + + <ul> + <li>A file located in that directory, typically called + <code>index.html</code>. The <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> directive sets the + name of the file or files to be used. This is controlled by + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>.</li> + + <li>Otherwise, a listing generated by the server. The other + directives control the format of this listing. The <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code> and + <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> are + used to set a list of icons to display for various file types; + for each file listed, the first icon listed that matches the + file is displayed. These are controlled by + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>.</li> + </ul> + <p>The two functions are separated so that you can completely + remove (or replace) automatic index generation should you want + to.</p> + + <p>Automatic index generation is enabled with using + <code>Options +Indexes</code>. See the + <code class="directive"><a href="../mod/core.html#options">Options</a></code> directive for + more details.</p> + + <p>If the <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> option is given with the <code class="directive"><a href="#indexoptions">IndexOptions</a></code> directive, + the column headers are links that control the order of the + display. If you select a header link, the listing will be + regenerated, sorted by the values in that column. Selecting the + same header repeatedly toggles between ascending and descending + order. These column header links are suppressed with the + <code class="directive"><a href="#indexoptions">IndexOptions</a></code> directive's + <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> + option.</p> + + <p>Note that when the display is sorted by "Size", it's the + <em>actual</em> size of the files that's used, not the + displayed value - so a 1010-byte file will always be displayed + before a 1011-byte file (if in ascending order) even though + they both are shown as "1K".</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#query">Autoindex Request Query Arguments</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addalt">AddAlt</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbyencoding">AddAltByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbytype">AddAltByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddescription">AddDescription</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addicon">AddIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbyencoding">AddIconByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignorereset">IndexIgnoreReset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexstylesheet">IndexStyleSheet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readmename">ReadmeName</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autoindex">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autoindex">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="query" id="query">Autoindex Request Query Arguments</a></h2> + + + <p>Various query string arguments are available to give the client + some control over the ordering of the directory listing, as well as + what files are listed. If you do not wish to give the client this + control, the <code><a href="#indexoptions.ignoreclient">IndexOptions + IgnoreClient</a></code> option disables that functionality.</p> + + <p>The column sorting headers themselves are self-referencing + hyperlinks that add the sort query options shown below. Any + option below may be added to any request for the directory + resource.</p> + + <ul> + <li><code>C=N</code> sorts the directory by file name</li> + + <li><code>C=M</code> sorts the directory by last-modified + date, then file name</li> + + <li><code>C=S</code> sorts the directory by size, then file + name</li> + + <li class="separate"><code>C=D</code> sorts the directory by description, then + file name</li> + + <li><code>O=A</code> sorts the listing in Ascending + Order</li> + + <li class="separate"><code>O=D</code> sorts the listing in Descending + Order</li> + + <li><code>F=0</code> formats the listing as a simple list + (not FancyIndexed)</li> + + <li><code>F=1</code> formats the listing as a FancyIndexed + list</li> + + <li class="separate"><code>F=2</code> formats the listing as an + HTMLTable FancyIndexed list</li> + + <li><code>V=0</code> disables version sorting</li> + + <li class="separate"><code>V=1</code> enables version sorting</li> + + <li><code>P=<var>pattern</var></code> lists only files matching + the given <var>pattern</var></li> + </ul> + + <p>Note that the 'P'attern query argument is tested + <em>after</em> the usual <code class="directive"><a href="#indexignore">IndexIgnore</a></code> directives are processed, + and all file names are still subjected to the same criteria as + any other autoindex listing. The Query Arguments parser in + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> will stop abruptly when an unrecognized + option is encountered. The Query Arguments must be well formed, + according to the table above.</p> + + <p>The simple example below, which can be clipped and saved in + a header.html file, illustrates these query options. Note that + the unknown "X" argument, for the submit button, is listed last + to assure the arguments are all parsed before <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + encounters the X=Go input.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-html"><form action="" method="get"> + Show me a <select name="F"> + <option value="0"> Plain list</option> + <option value="1" selected="selected"> Fancy list</option> + <option value="2"> Table list</option> + </select> + Sorted by <select name="C"> + <option value="N" selected="selected"> Name</option> + <option value="M"> Date Modified</option> + <option value="S"> Size</option> + <option value="D"> Description</option> + </select> + <select name="O"> + <option value="A" selected="selected"> Ascending</option> + <option value="D"> Descending</option> + </select> + <select name="V"> + <option value="0" selected="selected"> in Normal order</option> + <option value="1"> in Version order</option> + </select> + Matching <input type="text" name="P" value="*" /> + <input type="submit" name="X" value="Go" /> +</form></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAlt" id="AddAlt">AddAlt</a> <a name="addalt" id="addalt">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Alternate text to display for a file, instead of an +icon selected by filename</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAlt</code> provides the alternate text to + display for a file, instead of an icon, for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>File</var> is a file extension, partial filename, wild-card + expression or full filename for files to describe. + If <var>String</var> contains any whitespace, you have to enclose it + in quotes (<code>"</code> or <code>'</code>). This alternate text + is displayed if the client is image-incapable, has image loading + disabled, or fails to retrieve the icon.</p> + + <pre class="prettyprint lang-config">AddAlt "PDF file" *.pdf +AddAlt Compressed *.gz *.zip *.Z</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByEncoding" id="AddAltByEncoding">AddAltByEncoding</a> <a name="addaltbyencoding" id="addaltbyencoding">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Alternate text to display for a file instead of an icon +selected by MIME-encoding</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByEncoding</code> provides the alternate + text to display for a file, instead of an icon, for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>MIME-encoding</var> is a valid content-encoding, such as + <code>x-compress</code>. If <var>String</var> contains any whitespace, + you have to enclose it in quotes (<code>"</code> or <code>'</code>). + This alternate text is displayed if the client is image-incapable, + has image loading disabled, or fails to retrieve the icon.</p> + + <pre class="prettyprint lang-config">AddAltByEncoding gzip x-gzip</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByType" id="AddAltByType">AddAltByType</a> <a name="addaltbytype" id="addaltbytype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Alternate text to display for a file, instead of an +icon selected by MIME content-type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByType</code> sets the alternate text to + display for a file, instead of an icon, for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>MIME-type</var> is a valid content-type, such as + <code>text/html</code>. If <var>String</var> contains any whitespace, + you have to enclose it in quotes (<code>"</code> or <code>'</code>). + This alternate text is displayed if the client is image-incapable, + has image loading disabled, or fails to retrieve the icon.</p> + + <pre class="prettyprint lang-config">AddAltByType 'plain text' text/plain</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDescription" id="AddDescription">AddDescription</a> <a name="adddescription" id="adddescription">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Description to display for a file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddDescription <var>string file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>This sets the description to display for a file, for + <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>File</var> is a file extension, partial filename, wild-card + expression or full filename for files to describe. + <var>String</var> is enclosed in double quotes (<code>"</code>).</p> + + <pre class="prettyprint lang-config">AddDescription "The planet Mars" mars.gif +AddDescription "My friend Marshall" friends/mars.gif</pre> + + + <p>The typical, default description field is 23 bytes wide. 6 + more bytes are added by the <code><a href="#indexoptions.suppressicon">IndexOptions SuppressIcon</a></code> option, 7 bytes are + added by the <code><a href="#indexoptions.suppresssize">IndexOptions SuppressSize</a></code> option, and 19 bytes are + added by the <code><a href="#indexoptions.suppresslastmodified">IndexOptions SuppressLastModified</a></code> option. + Therefore, the widest default the description column is ever + assigned is 55 bytes.</p> + + <p>Since the <var>File</var> argument may be a partial file name, + please remember that a too-short partial filename may match + unintended files. For example, <code>le.html</code> will match the + file <code>le.html</code> but will also match the file + <code>example.html</code>. In the event that there may be ambiguity, + use as complete a filename as you can, but keep in mind that the + first match encountered will be used, and order your list of + <code>AddDescription</code> directives accordingly.</p> + + <p>See the <a href="#indexoptions.descriptionwidth">DescriptionWidth</a> <code class="directive"><a href="#indexoptions">IndexOptions</a></code> keyword for details on overriding the size + of this column, or allowing descriptions of unlimited length.</p> + + <div class="note"><h3>Caution</h3> + <p>Descriptive text defined with <code class="directive">AddDescription</code> + may contain HTML markup, such as tags and character entities. If the + width of the description column should happen to truncate a tagged + element (such as cutting off the end of a bolded phrase), the + results may affect the rest of the directory listing.</p> + </div> + + <div class="note"><h3>Arguments with path information</h3> + <p>Absolute paths are not currently supported and do not match + anything at runtime. Arguments with relative path information, + which would normally only be used in htaccess context, are implicitly + prefixed with '*/' to avoid matching partial directory names.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIcon" id="AddIcon">AddIcon</a> <a name="addicon" id="addicon">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icon to display for a file selected by name</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddIcon <var>icon</var> <var>name</var> [<var>name</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>This sets the icon to display next to a file ending in + <var>name</var> for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. <var>Icon</var> is either a (%-escaped) + relative URL to the icon, a fully qualified remote URL, or of the format <code> + (<var>alttext</var>,<var>url</var>)</code> where <var>alttext</var> + is the text tag given for an icon for non-graphical browsers.</p> + + <p><var>Name</var> is either <code>^^DIRECTORY^^</code> for directories, + <code>^^BLANKICON^^</code> for blank lines (to format the list + correctly), a file extension, a wildcard expression, a partial + filename or a complete filename.</p> + + <p><code>^^BLANKICON^^</code> is only used for formatting, and so + is unnecessary if you're using <code>IndexOptions + HTMLTable</code>.</p> + + <pre class="prettyprint lang-config">#Examples +AddIcon (IMG,/icons/image.png) .gif .jpg .png +AddIcon /icons/dir.png ^^DIRECTORY^^ +AddIcon /icons/backup.png *~</pre> + + + <p><code class="directive"><a href="#addiconbytype">AddIconByType</a></code> + should be used in preference to <code class="directive">AddIcon</code>, + when possible.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByEncoding" id="AddIconByEncoding">AddIconByEncoding</a> <a name="addiconbyencoding" id="addiconbyencoding">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icon to display next to files selected by MIME +content-encoding</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>This sets the icon to display next to files with <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>Icon</var> is either a (%-escaped) relative URL to the icon, + a fully qualified remote URL, + or of the format <code>(<var>alttext</var>,<var>url</var>)</code> + where <var>alttext</var> is the text tag given for an icon for + non-graphical browsers.</p> + + <p><var>MIME-encoding</var> is a valid content-encoding, such as + <code>x-compress</code>.</p> + + <pre class="prettyprint lang-config">AddIconByEncoding /icons/compress.png x-compress</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByType" id="AddIconByType">AddIconByType</a> <a name="addiconbytype" id="addiconbytype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icon to display next to files selected by MIME +content-type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>This sets the icon to display next to files of type + <var>MIME-type</var> for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>Icon</var> is either a (%-escaped) relative URL to the icon, + a fully qualified remote URL, + or of the format <code>(<var>alttext</var>,<var>url</var>)</code> + where <var>alttext</var> is the text tag given for an icon for + non-graphical browsers.</p> + + <p><var>MIME-type</var> is a wildcard expression matching + required the mime types.</p> + + <pre class="prettyprint lang-config">AddIconByType (IMG,/icons/image.png) image/*</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultIcon" id="DefaultIcon">DefaultIcon</a> <a name="defaulticon" id="defaulticon">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icon to display for files when no specific icon is +configured</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultIcon <var>url-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">DefaultIcon</code> directive sets the icon + to display for files when no specific icon is known, for <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>Url-path</var> is a (%-escaped) relative URL to the icon, + or a fully qualified remote URL.</p> + + <pre class="prettyprint lang-config">DefaultIcon /icon/unknown.png</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeaderName" id="HeaderName">HeaderName</a> <a name="headername" id="headername">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the file that will be inserted at the top +of the index listing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HeaderName <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">HeaderName</code> directive sets the name + of the file that will be inserted at the top of the index + listing. <var>Filename</var> is the name of the file to include.</p> + + <pre class="prettyprint lang-config">HeaderName HEADER.html</pre> + + + <div class="note"> + <p>Both HeaderName and <code class="directive"><a href="#readmename">ReadmeName</a></code> now treat + <var>Filename</var> as a URI path relative to the one used to + access the directory being indexed. If <var>Filename</var> begins + with a slash, it will be taken to be relative to the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.</p> + + <pre class="prettyprint lang-config">HeaderName /include/HEADER.html</pre> + + + <p><var>Filename</var> must resolve to a document with a major + content type of <code>text/*</code> (<em>e.g.</em>, + <code>text/html</code>, <code>text/plain</code>, etc.). This means + that <var>filename</var> may refer to a CGI script if the script's + actual file type (as opposed to its output) is marked as + <code>text/html</code> such as with a directive like:</p> + + <pre class="prettyprint lang-config">AddType text/html .cgi</pre> + + + <p><a href="../content-negotiation.html">Content negotiation</a> + will be performed if <code class="directive"><a href="../mod/core.html#options">Options</a></code> + <code>MultiViews</code> is in effect. If <var>filename</var> resolves + to a static <code>text/html</code> document (not a CGI script) and + either one of the <code class="directive"><a href="../mod/core.html#options">options</a></code> + <code>Includes</code> or <code>IncludesNOEXEC</code> is enabled, + the file will be processed for server-side includes (see the + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> documentation).</p> + </div> + + <p>If the file specified by <code class="directive">HeaderName</code> contains + the beginnings of an HTML document (<html>, <head>, etc.) + then you will probably want to set <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions + +SuppressHTMLPreamble</code></a>, so that these tags are not + repeated.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#readmename">ReadmeName</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a> <a name="indexheadinsert" id="indexheadinsert">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inserts text in the HEAD section of an index page.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexHeadInsert <var>"markup ..."</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">IndexHeadInsert</code> directive specifies a + string to insert in the <var><head></var> section of the HTML + generated for the index page.</p> + <pre class="prettyprint lang-config">IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a> <a name="indexignore" id="indexignore">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds to the list of files to hide when listing +a directory</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexIgnore <var>file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>IndexIgnore "."</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">IndexIgnore</code> directive adds to the + list of files to hide when listing a directory. <var>File</var> is a + shell-style wildcard expression or full + filename. Multiple IndexIgnore directives add + to the list, rather than replacing the list of ignored + files. By default, the list contains <code>.</code> (the current + directory).</p> + + <pre class="prettyprint lang-config">IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</pre> + + + <div class="note"><h3>Regular Expressions</h3> + <p>This directive does not currently work in configuration sections + that have regular expression arguments, such as <code class="directive"><a href="../mod/core.html#directorymatch"><DirectoryMatch></a></code> + </p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnoreReset" id="IndexIgnoreReset">IndexIgnoreReset</a> <a name="indexignorereset" id="indexignorereset">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Empties the list of files to hide when listing +a directory</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexIgnoreReset ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.3.10 and later</td></tr> +</table> + <p>The <code class="directive">IndexIgnoreReset</code> directive removes + any files ignored by <code class="directive"><a href="#indexignore">IndexIgnore</a></code> otherwise + inherited from other configuration sections. </p> + + <pre class="prettyprint lang-config"><Directory "/var/www"> + IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t +</Directory> +<Directory "/var/www/backups"> + IndexIgnoreReset ON + IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t +</Directory></pre> + + + <div class="warning"><p> Review the default configuration for a list of + patterns that you might want to explicitly ignore after using this + directive.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOptions" id="IndexOptions">IndexOptions</a> <a name="indexoptions" id="indexoptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Various configuration settings for directory +indexing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>By default, no options are enabled.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">IndexOptions</code> directive specifies the + behavior of the directory indexing. <var>Option</var> can be one + of</p> + + <dl> + <dt><a name="indexoptions.addaltclass" id="indexoptions.addaltclass">AddAltClass</a></dt> + <dd>Adds an additional CSS class declaration to each row of the + directory listing table when <code>IndexOptions HTMLTable</code> + is in effect and an <code>IndexStyleSheet</code> is defined. + Rather than the standard <code>even</code> and <code>odd</code> + classes that would otherwise be applied to each row of the table, + a class of <code>even-<em>ALT</em></code> or + <code>odd-<em>ALT</em></code> where <em>ALT</em> is either the + standard alt text associated with the file style (eg. <em>snd</em>, + <em>txt</em>, <em>img</em>, etc) or the alt text defined by one of + the various <code>AddAlt*</code> directives. + </dd> + + <dt><a name="indexoptions.charset" id="indexoptions.charset">Charset=<var>character-set</var></a></dt> + + <dd>The <code>Charset</code> keyword allows you to + specify the character set of the generated page. The + default is <code>UTF-8</code> on Windows and Mac OS X, + and <code>ISO-8859-1</code> elsewhere. + (It depends on whether the underlying file system + uses Unicode filenames or not.) + + <pre class="prettyprint lang-config">IndexOptions Charset=UTF-8</pre> + + </dd> + + <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth">DescriptionWidth=[<var>n</var> | *]</a></dt> + + <dd>The <code>DescriptionWidth</code> keyword allows you to + specify the width of the description column in + characters.</dd> + + <dt><code>-DescriptionWidth</code> (or unset) allows + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> to calculate the best width.</dt> + + <dd><code>DescriptionWidth=<var>n</var></code> fixes the column width to + <var>n</var> bytes wide.</dd> + + <dd><code>DescriptionWidth=*</code> grows the column to the + width necessary to accommodate the longest description + string. + + <strong>See the section on <code class="directive"><a href="#adddescription">AddDescription</a></code> for dangers + inherent in truncating descriptions.</strong></dd> + + <dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing">FancyIndexing</a></dt> + + <dd>This turns on fancy indexing of directories.</dd> + + <dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst">FoldersFirst</a></dt> + + <dd>If this option is enabled, subdirectory listings will + <em>always</em> appear first, followed by normal files in the + directory. The listing is basically broken into two + components, the files and the subdirectories, and each is + sorted separately and then displayed subdirectories-first. + For instance, if the sort order is descending by name, and + <code>FoldersFirst</code> is enabled, subdirectory + <code>Zed</code> will be listed before subdirectory + <code>Beta</code>, which will be listed before normal files + <code>Gamma</code> and <code>Alpha</code>. + <strong>This option only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + is also enabled.</strong> + </dd> + + <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable">HTMLTable</a></dt> + + <dd>This option with <code>FancyIndexing</code> constructs + a simple table for the fancy directory listing. + It is necessary for utf-8 enabled platforms or if file + names or description text will alternate between + left-to-right and right-to-left reading order.</dd> + + <dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks">IconsAreLinks</a></dt> + + <dd>This makes the icons part of the anchor for the filename, for + fancy indexing.</dd> + + <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight">IconHeight[=<var>pixels</var>]</a></dt> + + <dd>Presence of this option, when used with <code>IconWidth</code>, + will cause the server to include <code>height</code> and + <code>width</code> attributes in the <code>img</code> tag for the file + icon. This allows browser to precalculate the page layout without having + to wait until all the images have been loaded. If no value is given for + the option, it defaults to the standard height of the icons supplied + with the Apache httpd software. + + <strong>This option + only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong> + + </dd> + + <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth">IconWidth[=<var>pixels</var>]</a></dt> + + <dd>Presence of this option, when used with <code>IconHeight</code>, + will cause the server to include <code>height</code> and + <code>width</code> attributes in the <code>img</code> tag for + the file icon. This allows browser to precalculate the page + layout without having to wait until all the images have been + loaded. If no value is given for the option, it defaults to + the standard width of the icons supplied with the Apache httpd + software.</dd> + + <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase">IgnoreCase</a></dt> + + <dd>If this option is enabled, names are sorted in a case-insensitive + manner. For instance, if the sort order is ascending by name, and + <code>IgnoreCase</code> is enabled, file Zeta will be listed after + file alfa (Note: file GAMMA will always be listed before file gamma). + </dd> + + <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient">IgnoreClient</a></dt> + + <dd>This option causes <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> to ignore all + query variables from the client, including sort order (implies + <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>.)</dd> + + <dt><a name="indexoptions.namewidth" id="indexoptions.namewidth">NameWidth=[<var>n</var> + | *]</a></dt> + + <dd>The <code>NameWidth</code> keyword allows you to specify the width + of the filename column in bytes.</dd> + + <dd><code>-NameWidth</code> (or unset) allows <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> to calculate the best width, but only up + to 20 bytes wide.</dd> + + <dd><code>NameWidth=<var>n</var></code> fixes the column width to + <var>n</var> bytes wide.</dd> + + <dd><code>NameWidth=*</code> grows the column to the necessary + width.</dd> + + <dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles">ScanHTMLTitles</a></dt> + + <dd>This enables the extraction of the title from HTML documents + for fancy indexing. If the file does not have a description + given by <code class="directive"><a href="#adddescription">AddDescription</a></code> + then httpd will read the document for the value of the + <code>title</code> element. This is CPU and disk intensive.</dd> + + <dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden">ShowForbidden</a></dt> + + <dd>If specified, Apache httpd will show files normally hidden because + the subrequest returned <code>HTTP_UNAUTHORIZED</code> or + <code>HTTP_FORBIDDEN</code></dd> + + <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></dt> + + <dd>If specified, Apache httpd will not make the column headings in a + FancyIndexed directory listing into links for sorting. The + default behavior is for them to be links; selecting the + column heading will sort the directory listing by the values + in that column. However, query string arguments which are appended + to the URL will still be honored. That behavior is controlled by <a href="#indexoptions.ignoreclient"><code>IndexOptions + IgnoreClient</code></a>.</dd> + + <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription">SuppressDescription</a></dt> + + <dd>This will suppress the file description in fancy indexing + listings. By default, no file descriptions are defined, and + so the use of this option will regain 23 characters of screen + space to use for something else. See <code class="directive"><a href="#adddescription">AddDescription</a></code> for information about setting the file + description. See also the <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code> + index option to limit the size of the description column. + + <strong>This option + only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong> + </dd> + + <dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble">SuppressHTMLPreamble</a></dt> + + <dd>If the directory actually contains a file specified by the + <code class="directive"><a href="#headername">HeaderName</a></code> + directive, the module usually includes the contents of the file + after a standard HTML preamble (<code><html></code>, + <code><head></code>, <em>et cetera</em>). The + <code>SuppressHTMLPreamble</code> option disables this behaviour, + causing the module to start the display with the header file + contents. The header file must contain appropriate HTML instructions + in this case. If there is no header file, the preamble is generated + as usual. If you also specify a <code class="directive"><a href="#readmename">ReadmeName</a></code>, and if that file + exists, The closing </body></html> tags are also + omitted from the output, under the assumption that you'll likely + put those closing tags in that file.</dd> + + <dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon">SuppressIcon</a></dt> + + <dd>This will suppress the icon in fancy indexing listings. + Combining both <code>SuppressIcon</code> and + <code>SuppressRules</code> yields proper HTML 3.2 output, which + by the final specification prohibits <code>img</code> and + <code>hr</code> elements from the <code>pre</code> block (used to + format FancyIndexed listings.)</dd> + + <dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified">SuppressLastModified</a></dt> + + <dd>This will suppress the display of the last modification date, + in fancy indexing listings. + + <strong>This option + only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong> + </dd> + + <dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules">SuppressRules</a> + </dt> + + <dd>This will suppress the horizontal rule lines (<code>hr</code> + elements) in directory listings. Combining both <code>SuppressIcon</code> and + <code>SuppressRules</code> yields proper HTML 3.2 output, which + by the final specification prohibits <code>img</code> and + <code>hr</code> elements from the <code>pre</code> block (used to + format FancyIndexed listings.) + + <strong>This option + only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong> + + </dd> + + <dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize">SuppressSize</a></dt> + + <dd>This will suppress the file size in fancy indexing listings. + + <strong>This option + only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong> + </dd> + + <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified">TrackModified</a></dt> + + <dd>This returns the <code>Last-Modified</code> and <code>ETag</code> + values for the listed directory in the HTTP header. It is only valid + if the operating system and file system return appropriate stat() + results. Some Unix systems do so, as do OS2's JFS and Win32's + NTFS volumes. OS2 and Win32 FAT volumes, for example, do not. + Once this feature is enabled, the client or proxy can track + changes to the list of files when they perform a <code>HEAD</code> + request. Note some operating systems correctly track new and + removed files, but do not track changes for sizes or dates of + the files within the directory. <strong>Changes to the size + or date stamp of an existing file will not update the + <code>Last-Modified</code> header on all Unix platforms.</strong> + If this is a concern, leave this option disabled.</dd> + + <dt><a name="indexoptions.type" id="indexoptions.type">Type=<var>MIME content-type</var></a></dt> + + <dd>The <code>Type</code> keyword allows you to + specify the MIME content-type of the generated page. The default + is <var>text/html</var>. + + <pre class="prettyprint lang-config">IndexOptions Type=text/plain</pre> + + </dd> + + <dt><a name="indexoptions.useolddateformat" id="indexoptions.useolddateformat">UseOldDateFormat</a> + (<em>Apache HTTP Server 2.4.26 and later</em>)</dt> + + <dd>The date format used for the <code>Last Modified</code> field was + inadvertently changed to <code>"%Y-%m-%d %H:%M"</code> from + <code>"%d-%b-%Y %H:%M"</code> in 2.4.0. Setting this option + restores the date format from 2.2 and earlier.</dd> + + <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort">VersionSort</a></dt> + + <dd>The <code>VersionSort</code> keyword causes files containing + version numbers to sort in a natural way. Strings are sorted as + usual, except that substrings of digits in the name and + description are compared according to their numeric value. + + <div class="example"><h3>Example:</h3><p><code> + foo-1.7<br /> + foo-1.7.2<br /> + foo-1.7.12<br /> + foo-1.8.2<br /> + foo-1.8.2a<br /> + foo-1.12 + </code></p></div> + + <p>If the number starts with a zero, then it is considered to + be a fraction:</p> + + <div class="example"><p><code> + foo-1.001<br /> + foo-1.002<br /> + foo-1.030<br /> + foo-1.04 + </code></p></div> + </dd> + + <dt><a name="indexoptions.xhtml" id="indexoptions.xhtml">XHTML</a></dt> + + <dd>The <code>XHTML</code> keyword forces <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + to emit XHTML 1.0 code instead of HTML 3.2. + <strong>This option + only has an effect if <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> is also enabled.</strong> + </dd> + + </dl> + + + + <dl><dt>Incremental IndexOptions</dt> + <dd> + <p>Be aware of how multiple <code class="directive">IndexOptions</code> are + handled.</p> + + <ul> + <li>Multiple <code class="directive">IndexOptions</code> directives for a + single directory are now merged together. The result of: + + <pre class="prettyprint lang-config"><Directory "/foo"> + IndexOptions HTMLTable + IndexOptions SuppressColumnsorting +</Directory></pre> + + + <p>will be the equivalent of</p> + + <pre class="prettyprint lang-config">IndexOptions HTMLTable SuppressColumnsorting</pre> + + </li> + + <li>The addition of the incremental syntax (<em>i.e.</em>, prefixing + keywords with <code>+</code> or <code>-</code>).</li> + </ul> + + <p>Whenever a '+' or '-' prefixed keyword is encountered, it + is applied to the current <code class="directive">IndexOptions</code> + settings (which may have been inherited from an upper-level + directory). However, whenever an unprefixed keyword is processed, it + clears all inherited options and any incremental settings encountered + so far. Consider the following example:</p> + + <pre class="prettyprint lang-config">IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing +IndexOptions +SuppressSize</pre> + + + <p>The net effect is equivalent to <code>IndexOptions FancyIndexing + +SuppressSize</code>, because the unprefixed <code>FancyIndexing</code> + discarded the incremental keywords before it, but allowed them to + start accumulating again afterward.</p> + + <p>To unconditionally set the <code class="directive">IndexOptions</code> for + a particular directory, clearing the inherited settings, specify + keywords without any <code>+</code> or <code>-</code> prefixes.</p> + </dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOrderDefault" id="IndexOrderDefault">IndexOrderDefault</a> <a name="indexorderdefault" id="indexorderdefault">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the default ordering of the directory index</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>IndexOrderDefault Ascending Name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">IndexOrderDefault</code> directive is used + in combination with the <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> index option. By default, fancyindexed + directory listings are displayed in ascending order by filename; the + <code class="directive">IndexOrderDefault</code> allows you to change this + initial display order.</p> + + <p><code class="directive">IndexOrderDefault</code> takes two + arguments. The first must be either <code>Ascending</code> or + <code>Descending</code>, indicating the direction of the sort. + The second argument must be one of the keywords <code>Name</code>, + <code>Date</code>, <code>Size</code>, or <code>Description</code>, + and identifies the primary key. The secondary key is + <em>always</em> the ascending filename.</p> + + <p>You can, if desired, prevent the client from reordering the list + by also adding the <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> + index option to remove the sort link from the top of the column, + along with the <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> index + option to prevent them from manually adding sort options to the + query string in order to override your ordering preferences.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexStyleSheet" id="IndexStyleSheet">IndexStyleSheet</a> <a name="indexstylesheet" id="indexstylesheet">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds a CSS stylesheet to the directory index</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IndexStyleSheet <var>url-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">IndexStyleSheet</code> directive sets the name of + the file that will be used as the CSS for the index listing. + </p> + <pre class="prettyprint lang-config">IndexStyleSheet "/css/style.css"</pre> + + + <p>Using this directive in conjunction with <code>IndexOptions + HTMLTable</code> adds a number of CSS classes to the resulting HTML. + The entire table is given a CSS id of <code>indexlist</code> and the + following classes are associated with the various parts of the + listing:</p> + + <table class="bordered"><tr class="header"><th>Class</th><th>Definition</th></tr> +<tr><td>tr.indexhead</td><td>Header row of listing</td></tr> +<tr class="odd"><td>th.indexcolicon and td.indexcolicon</td> <td>Icon column</td></tr> +<tr><td>th.indexcolname and td.indexcolname</td> <td>File name column</td></tr> +<tr class="odd"><td>th.indexcollastmod and td.indexcollastmod</td> <td>Last modified column</td></tr> +<tr><td>th.indexcolsize and td.indexcolsize</td> <td>File size column</td></tr> +<tr class="odd"><td>th.indexcoldesc and td.indexcoldesc</td> <td>Description column</td></tr> +<tr><td>tr.breakrow</td> <td>Horizontal rule at the bottom of the table</td></tr> +<tr class="odd"><td>tr.odd and tr.even</td> <td>Alternating even and odd rows</td></tr> +</table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadmeName" id="ReadmeName">ReadmeName</a> <a name="readmename" id="readmename">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the file that will be inserted at the end +of the index listing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReadmeName <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">ReadmeName</code> directive sets the name + of the file that will be appended to the end of the index + listing. <var>Filename</var> is the name of the file to include, and + is taken to be relative to the location being indexed. If + <var>Filename</var> begins with a slash, as in example 2, it will be taken to be + relative to the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. + </p> + + <pre class="prettyprint lang-config"># Example 1 +ReadmeName FOOTER.html</pre> + + + <pre class="prettyprint lang-config"># Example 2 +ReadmeName /include/FOOTER.html</pre> + + + <p>See also <code class="directive"><a href="#headername">HeaderName</a></code>, where this behavior is described in greater + detail.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_autoindex.html" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_autoindex.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.fr.utf8 b/docs/manual/mod/mod_autoindex.html.fr.utf8 new file mode 100644 index 0000000..0c37f87 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.fr.utf8 @@ -0,0 +1,1150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_autoindex - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_autoindex</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génère automatiquement des index de répertoires d'une +manière similaire à la commande Unix <code>ls</code>, ou à la commande +shell Win32 <code>dir</code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>autoindex_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_autoindex.c</td></tr></table> +<h3>Sommaire</h3> + + <p>L'index d'un répertoire peut être généré de deux manières :</p> + + <ul> + <li>Un fichier situé dans ce répertoire, en général appelé + <code>index.html</code>, mais dont le nom de ce ou ces fichiers peut être défini par la + directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>. C'est le module + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> qui traite alors cet index.</li> + + <li>Un listing généré par le serveur, dont le format est contrôlé + par un certain nombre de directives. Les directives <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code> et <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> permettent de + définir une liste d'icônes à afficher en fonction des différents + types de fichiers ; pour chaque fichier listé, le premier icône + qui correspond au type du fichier est affiché. C'est le module + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> qui traite alors cet index.</li> + </ul> + <p>Les deux fonctions sont séparées, si bien que vous pouvez + entièrement supprimer (ou remplacer) la génération automatique + d'index, si vous le souhaitez.</p> + + <p>On active la génération automatique d'index en spécifiant + <code>Options +Indexes</code>. Voir la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code> pour plus de détails.</p> + + <p>Si la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code> est spécifiée avec + l'option <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>, les en-têtes de colonnes sont des liens + qui permettent de contrôler l'ordre de tri de l'affichage. Si vous + actionnez le lien d'un en-tête, le listing sera généré à nouveau, + trié en fonction des valeurs de la colonne concernée. Si l'on + actionne de manière répétitive le même en-tête, l'ordre de tri est + commuté entre les ordres croissant et décroissant. On peut supprimer + ces liens d'en-têtes de colonnes à l'aide de l'option + <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> + de la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code>.</p> + + <p>Notez que lorsque l'affichage est trié en fonction de la taille, + c'est la taille <em>réelle</em> qui est prise en compte, et non la + valeur affichée - ainsi, un fichier de 1010 octets sera toujours + affiché avant un fichier de 1011 octets (en ordre croissant), même + si la taille affichée des deux fichiers est "1K".</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#query">Arguments de la requête d'autoindexation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addalt">AddAlt</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbyencoding">AddAltByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbytype">AddAltByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddescription">AddDescription</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addicon">AddIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbyencoding">AddIconByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignorereset">IndexIgnoreReset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexstylesheet">IndexStyleSheet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readmename">ReadmeName</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autoindex">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autoindex">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="query" id="query">Arguments de la requête d'autoindexation</a></h2> + + + <p>La chaîne de paramètres de la requête peut contenir de nombreux + arguments permettant dans une certaine mesure au client de contrôler + l'ordre de l'index du répertoire, ainsi que la liste des fichiers à + afficher. Si vous souhaitez désactiver cette fonctionnalité, + utilisez l'option <code><a href="#indexoptions.ignoreclient">IndexOptions + IgnoreClient</a></code>.</p> + + <p>Les en-têtes de tri des colonnes eux-mêmes sont des hyper-liens + auto-référant qui ajoutent les options de tri à la requête énumérées + ci-dessous qui peuvent être ajoutées à toute requête concernant la + ressource répertoire.</p> + + <ul> + <li><code>C=N</code> trie l'affichage en fonction du nom de + fichier</li> + + <li><code>C=M</code> trie l'affichage en fonction de la date de + dernière modification, puis du nom de fichier</li> + + <li><code>C=S</code> trie l'affichage en fonction de la taille, + puis du nom de fichier</li> + + <li class="separate"><code>C=D</code> trie l'affichage en fonction + de la description, puis du nom de fichier</li> + + <li><code>O=A</code> trie l'affichage selon l'ordre croissant</li> + + <li class="separate"><code>O=D</code> trie l'affichage selon + l'ordre décroissant</li> + + <li><code>F=0</code> affiche le listing sous la forme d'une simple + liste (sans FancyIndex)</li> + + <li><code>F=1</code> affiche le listing avec en-têtes de colonnes + sous forme de liens hyper-textes (FancyIndexed)</li> + + <li class="separate"><code>F=2</code> affiche le listing sous + forme de table HTML avec en-têtes de colonnes contenant des liens + hyper-textes (FancyIndexed)</li> + + <li><code>V=0</code> désactive le tri en fonction de la + version</li> + + <li class="separate"><code>V=1</code> active le tri en fonction de + la version</li> + + <li><code>P=<var>modèle</var></code> n'affiche que les fichiers + correspondant au <var>modèle</var> spécifié</li> + </ul> + + <p>Notez que l'argument 'P' (pour Pattern) n'est testé + qu'<em>après</em> que les directives habituelles <code class="directive"><a href="#indexignore">IndexIgnore</a></code> ont été traitées, + et que tous les noms de fichiers sont encore assujettis aux mêmes + critères que pour tout autre listing auto-indexé. L'interpréteur + d'arguments de requête de <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> s'arrête + immédiatement s'il rencontre une option non reconnue. Les arguments + de requête doivent être bien formés, selon la table ci-dessus.</p> + + <p>Les options de requêtes sont illustrées par l'exemple ci-dessous, qui + peut être copié et collé dans un fichier header.html. Notez que l'argument + inconnu "X", pour le bouton submit, est introduit en dernier afin de + s'assurer que tous les arguments ont été interprétés avant que + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> ne rencontre l'entrée X=Go.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-html"><form action="" method="get"> + Show me a <select name="F"> + <option value="0"> Plain list</option> + <option value="1" selected="selected"> Fancy list</option> + <option value="2"> Table list</option> + </select> + Sorted by <select name="C"> + <option value="N" selected="selected"> Name</option> + <option value="M"> Date Modified</option> + <option value="S"> Size</option> + <option value="D"> Description</option> + </select> + <select name="O"> + <option value="A" selected="selected"> Ascending</option> + <option value="D"> Descending</option> + </select> + <select name="V"> + <option value="0" selected="selected"> in Normal order</option> + <option value="1"> in Version order</option> + </select> + Matching <input type="text" name="P" value="*" /> + <input type="submit" name="X" value="Go" /> +</form></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addalt" id="addalt">Directive</a> <a name="AddAlt" id="AddAlt">AddAlt</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son nom</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAlt <var>texte</var> <var>fichier</var> [<var>fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">AddAlt</code> permet d'afficher un + texte optionnel pour un fichier, à la place d'un icône, dans le cas + d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>fichier</var> est une extension de fichier, un nom de fichier + partiel, une expression avec caractères génériques ou un nom de + fichier complet permettant de caractériser le(s) fichier(s) + concerné(s). Si <var>texte</var> contient des espaces, vous devez + l'entourer de guillemets ou d'apostrophes (<code>"</code> ou + <code>'</code>). Ce texte optionnel sera affiché si le client ne + peut pas afficher d'images, si le chargement d'images est désactivé + ou si l'icône ne peut pas être trouvé.</p> + + <pre class="prettyprint lang-config">AddAlt "PDF file" *.pdf +AddAlt Compressed *.gz *.zip *.Z</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addaltbyencoding" id="addaltbyencoding">Directive</a> <a name="AddAltByEncoding" id="AddAltByEncoding">AddAltByEncoding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son codage MIME</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAltByEncoding <var>texte</var> <var>codage MIME</var> +[<var>codage MIME</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">AddAltByEncoding</code> permet + d'afficher un texte optionnel à la place d'un icône pour un fichier + dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>codage MIME</var> doit être un type valide, comme + <code>x-compress</code>. Si <var>texte</var> contient des espaces, + vous devez l'entourer de guillemets ou d'apostrophes (<code>"</code> + ou <code>'</code>). Ce texte optionnel sera affiché si le client ne + peut pas afficher d'images, si le chargement d'images est désactivé + ou si l'icône ne peut pas être trouvé.</p> + + <pre class="prettyprint lang-config">AddAltByEncoding gzip x-gzip</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addaltbytype" id="addaltbytype">Directive</a> <a name="AddAltByType" id="AddAltByType">AddAltByType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son type MIME</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAltByType <var>texte</var> <var>type MIME</var> +[<var>type MIME</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">AddAltByType</code> permet + d'afficher un texte optionnel à la place d'un icône pour un fichier + dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>type MIME</var> doit être un type MIME valide, comme + <code>text/html</code>. Si <var>texte</var> contient des espaces, + vous devez l'entourer de guillemets ou d'apostrophes (<code>"</code> + ou <code>'</code>). Ce texte optionnel sera affiché si le client ne + peut pas afficher d'images, si le chargement d'images est désactivé + ou si l'icône ne peut pas être trouvé.</p> + + <pre class="prettyprint lang-config">AddAltByType 'Fichier texte' text/plain</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="adddescription" id="adddescription">Directive</a> <a name="AddDescription" id="AddDescription">AddDescription</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Afficher la description d'un fichier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDescription <var>texte</var> [<var>fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Cette directive permet d'afficher une description pour un + fichier, dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>fichier</var> est une extension de fichier, un nom de fichier + partiel, une expression avec caractères génériques ou un nom de + fichier complet permettant de caractériser le fichier. + <var>texte</var> doit être entouré de guillemets + (<code>"</code>).</p> + + <pre class="prettyprint lang-config">AddDescription "The planet Mars" mars.gif +AddDescription "My friend Marshall" friends/mars.gif</pre> + + + <p>La taille par défaut, habituelle du champ de description est de + 23 octets. L'option <code><a href="#indexoptions.suppressicon">IndexOptions SuppressIcon</a></code> ajoute 6 octets, l'option + <code><a href="#indexoptions.suppresssize">IndexOptions + SuppressSize</a></code> en ajoute 7 et l'option <code><a href="#indexoptions.suppresslastmodified">IndexOptions + SuppressLastModified</a></code> en ajoute 19. Ainsi, la plus grande + taille par défaut qui peut être assignée à la colonne description + est de 55 octets.</p> + + <p>Comme l'argument <var>fichier</var> peut être un nom de fichier + partiel, vous devez garder à l'esprit qu'un nom de fichier partiel + trop court pourra correspondre à des fichiers non voulus. Par + exemple, <code>le.html</code> correspondra au fichier + <code>le.html</code>, mais aussi au fichier + <code>example.html</code>. En cas d'ambiguïté, utilisez un nom de + fichier aussi complet que possible, et ordonnez votre liste de + directives <code>AddDescription</code> en conséquence.</p> + + <p>Voir le mot-clé <a href="#indexoptions.descriptionwidth">DescriptionWidth</a> de la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code> pour plus de + détails sur la manière d'augmenter la taille de cette colonne, ou + pour permettre des descriptions de taille illimitée.</p> + + <div class="note"><h3>Avertissement</h3> + <p>Le texte descriptif défini par la directive + <code class="directive">AddDescription</code> peut contenir des marquages + HTML, comme des balises ou des entités caractères. Si la limite de + taille de la colonne description venait à tronquer une balise (par + exemple couper la fin d'une phrase en caractères gras), le + résultat pourrait en affecter toute la suite du listing du + répertoire.</p> + </div> + + <div class="note"><h3>Arguments avec chemins</h3> + <p>Les chemins absolus ne sont actuellement pas supportés et ne + peuvent correspondre à aucun chemin réel à l'exécution. Les + arguments contenant des chemins relatifs, qui ne devraient être + normalement utilisés que dans les fichiers htaccess, sont + implicitement préfixés par '*/' afin d'éviter toute association + avec des noms de répertoires partiels.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addicon" id="addicon">Directive</a> <a name="AddIcon" id="AddIcon">AddIcon</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher pour un fichier en fonction de son +nom</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIcon <var>icône</var> <var>nom</var> [<var>nom</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Cette directive permet de déterminer l'icône à afficher à côté + d'un fichier dont le nom se termine par <var>nom</var>, dans le cas + d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. <var>icône</var> est une URL relative + (échappée par des caractères '%') vers + l'icône, une URL distante pleinement qualifiée, ou de la forme + <code>(<var>alttext</var>,<var>url</var>)</code>, où + <var>alttext</var> est le symbole texte correspondant à l'icône à + afficher dans les navigateurs en mode texte.</p> + + <p><var>nom</var> correspond à <code>^^DIRECTORY^^</code> pour les + répertoires, <code>^^BLANKICON^^</code> pour les lignes vides + (pour personnaliser la présentation du listing), une extension de + fichier, une expression avec caractères génériques, un nom de + fichier partiel ou un nom de fichier complet.</p> + + <p><code>^^BLANKICON^^</code> n'est utilisé que pour le formatage, + et n'est donc pas nécessaire si vous utilisez <code>IndexOptions + HTMLTable</code>.</p> + + <pre class="prettyprint lang-config">#Examples +AddIcon (IMG,/icons/image.png) .gif .jpg .png +AddIcon /icons/dir.png ^^DIRECTORY^^ +AddIcon /icons/backup.png *~</pre> + + + <p>Lorsque c'est possible, il est préférable d'utiliser <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> plutôt que + <code class="directive">AddIcon</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addiconbyencoding" id="addiconbyencoding">Directive</a> <a name="AddIconByEncoding" id="AddIconByEncoding">AddIconByEncoding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son +codage MIME</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByEncoding <var>icône</var> <var>codage MIME</var> +[<var>codage MIME</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Cette directive permet de déterminer l'icône à afficher à côté + d'un fichier dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>icône</var> est une URL relative + (échappée par des caractères '%') vers + l'icône, une URL pleinement qualifiée, ou de la forme + <code>(<var>alttext</var>,<var>url</var>)</code>, où + <var>alttext</var> est le symbole texte correspondant à l'icône à + afficher dans les navigateurs en mode texte.</p> + + <p><var>codage MIME</var> doit être un codage valide, comme + <code>x-compress</code>.</p> + + <pre class="prettyprint lang-config">AddIconByEncoding /icons/compress.png x-compress</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addiconbytype" id="addiconbytype">Directive</a> <a name="AddIconByType" id="AddIconByType">AddIconByType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son +type MIME</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByType <var>icône</var> <var>type MIME</var> +[<var>type MIME</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Cette directive permet de déterminer l'icône à afficher à côté + d'un fichier de type MIME <var>type MIME</var> dans le cas d'un + affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>icône</var> est une URL relative + (échappée par des caractères '%') vers + l'icône, une URL pleinement qualifiée, ou de la forme + <code>(<var>alttext</var>,<var>url</var>)</code>, où + <var>alttext</var> est le symbole texte correspondant à l'icône à + afficher dans les navigateurs en mode texte.</p> + + <p><var>type MIME</var> est une expression avec caractères + génériques représentant le type MIME.</p> + + <pre class="prettyprint lang-config">AddIconByType (IMG,/icons/image.png) image/*</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="defaulticon" id="defaulticon">Directive</a> <a name="DefaultIcon" id="DefaultIcon">DefaultIcon</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher par défaut lorsqu'aucun icône spécifique +n'est précisé</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultIcon <var>chemin URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">DefaultIcon</code> permet de définir + l'icône à afficher à côté d'un fichier lorsqu'aucun icône spécifique + n'a été précisé, dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. + <var>chemin URL</var> est une URL relative (échappée par des + caractères '%') vers l'icône ou une URL pleinement qualifiée.</p> + + <pre class="prettyprint lang-config">DefaultIcon /icon/unknown.png</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="headername" id="headername">Directive</a> <a name="HeaderName" id="HeaderName">HeaderName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier qui sera inséré au début de la page +contenant l'index</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeaderName <var>nom fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">HeaderName</code> permet de définir + le nom du fichier qui sera inséré au début de la page contenant + l'index. <var>nom fichier</var> est le nom du fichier à inclure.</p> + + <pre class="prettyprint lang-config">HeaderName HEADER.html</pre> + + + <div class="note"> + <p>Les deux directives HeaderName et <code class="directive"><a href="#readmename">ReadmeName</a></code> traitent maintenant + <var>nom fichier</var> comme un chemin URI relatif au chemin + utilisé pour accéder au répertoire faisant l'objet de l'index. Si + <var>nom fichier</var> commence par un slash '/', il sera + considéré comme relatif au répertoire défini par la directive + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.</p> + + <pre class="prettyprint lang-config">HeaderName /include/HEADER.html</pre> + + + <p><var>nom fichier</var> doit correspondre à un document dont le + type MIME est du style <code>text/*</code> (<em>par exemple</em> + <code>text/html</code>, <code>text/plain</code>, etc...). Cela + signifie que <var>nom fichier</var> peut faire référence à un + script CGI si le véritable type MIME du script (et non celui de sa + sortie) est marqué comme <code>text/html</code> par exemple à + l'aide d'une directive comme :</p> + + <pre class="prettyprint lang-config">AddType text/html .cgi</pre> + + + <p>Une <a href="../content-negotiation.html">négociation de + contenu</a> sera effectuée si <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>MultiViews</code> a été + précisé. Si <var>nom fichier</var> correspond à un document + statique <code>text/html</code> (et non à un script CGI), et une + des deux <code class="directive"><a href="../mod/core.html#options">options</a></code> + <code>Includes</code> ou <code>IncludesNOEXEC</code> est activée, + le fichier sera traité en tant qu'inclusion côté serveur (Server + Side Include) (voir la documentation de + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>).</p> + </div> + + <p>Si le fichier spécifié par la directive + <code class="directive">HeaderName</code> contient les en-têtes d'un + document HTML (<html>, <head>, etc...), vous serez + probablement amenés à définir <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions + +SuppressHTMLPreamble</code></a>, de manière à ce que ces balises ne + soient pas répétées.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#readmename">ReadmeName</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="indexheadinsert" id="indexheadinsert">Directive</a> <a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Insère du texte dans la section HEAD de la page +d'index.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexHeadInsert <var>"marque ..."</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">IndexHeadInsert</code> permet de + spécifier une chaîne de caractères à insérer dans la section + <var><head></var> du code HTML généré pour la page + d'index.</p> + <pre class="prettyprint lang-config">IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="indexignore" id="indexignore">Directive</a> <a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajouts à la liste des fichiers à cacher lors de l'affichage +de l'index d'un répertoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexIgnore <var>fichier</var> [<var>fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IndexIgnore "."</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">IndexIgnore</code> permet + d'effectuer des ajouts à la liste des fichiers à cacher lors de + l'affichage de l'index d'un répertoire. <var>fichier</var> est une + expression avec caractères génériques de style shell ou un nom de + fichier complet. Plusieurs directives IndexIgnore effectuent des + ajouts à la liste, et ne remplacent pas la liste des fichiers à + ignorer. Par défaut, la liste contient <code>.</code> (le répertoire + courant).</p> + + <pre class="prettyprint lang-config">IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</pre> + + + <div class="note"><h3>Expressions rationnelles</h3> + <p>Cette directive est actuellement incompatible avec les sections + de configuration qui comportent des arguments avec expressions + rationnelles comme <code class="directive"><a href="../mod/core.html#directorymatch"><DirectoryMatch></a></code></p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="indexignorereset" id="indexignorereset">Directive</a> <a name="IndexIgnoreReset" id="IndexIgnoreReset">IndexIgnoreReset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vide la liste des fichiers à cacher lors de l'affichage du +contenu d'un répertoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexIgnoreReset ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3.10 et supérieures</td></tr> +</table> + <p>La directive <code class="directive">IndexIgnoreReset</code> supprime toute liste + de fichiers définie par la directive <code class="directive"><a href="#indexignore">IndexIgnore</a></code> et héritée par ailleurs + d'autres sections de configuration.</p> + + <pre class="prettyprint lang-config"><Directory "/var/www"> + IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t +</Directory> +<Directory "/var/www/backups"> + IndexIgnoreReset ON + IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t +</Directory></pre> + + + <div class="warning"><p>Revoyez la configuration par défaut pour une + liste de modèles que vous voulez ignorer explicitement après usage + de cette directive.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="indexoptions" id="indexoptions">Directive</a> <a name="IndexOptions" id="IndexOptions">IndexOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Diverses options de configuration pour l'indexation d'un +répertoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Par défaut, aucune option n'est activée.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">IndexOptions</code> permet de + spécifier les options de configuration de l'indexation du + répertoire. <var>option</var> peut prendre l'une des valeurs + suivantes :</p> + + <dl> + <dt><a name="indexoptions.addaltclass" id="indexoptions.addaltclass">AddAltClass</a></dt> + <dd>Ajoute une déclaration de classe CSS supplémentaire à chaque + enregistrement de la table du listing du répertoire dans le cas où + <code>IndexOptions HTMLTable</code> est activé et où un + <code>IndexStyleSheet</code> a été défini. Plutôt que d'appliquer + à chaque enregistrement de la table les classes standards + <code>even</code> et <code>odd</code>, c'est ici une classe + <code>even-<em>ALT</em></code> ou <code>odd-<em>ALT</em></code> + qui sera appliquée, où <em>ALT</em> sera soit le texte alternatif + standard associé au style du fichier (par exemple <em>snd</em>, + <em>txt</em>, <em>img</em>, etc...), soit le texte alternatif + défini par une des différentes directives <code>AddAlt*</code>. + </dd> + + + <dt><a name="indexoptions.charset" id="indexoptions.charset">Charset=<var>jeu de caractères</var></a></dt> + + <dd>Le mot-clé <code>Charset</code> vous permet de spécifier le + jeu de caractères de la page générée. La valeur par défaut est + <var>UTF-8</var> sous Windows et MAC OS X, et + <var>ISO-8859-1</var> dans les autres cas (en fait selon que le + système de fichiers sous-jacent utilise les noms de fichiers en + Unicode ou non). + + <pre class="prettyprint lang-config">IndexOptions Charset=UTF-8</pre> + + </dd> + + <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth">DescriptionWidth=[<var>n</var> | *]</a></dt> + + <dd>Le mot-clé <code>DescriptionWidth</code> vous permet de + spécifier la taille en caractères de la colonne description.</dd> + + <dt>Avec <code>-DescriptionWidth</code> (ou si l'option n'est pas + définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> calcule la meilleure + taille.</dt> + + <dd><code>DescriptionWidth=<var>n</var></code> fixe la taille de + la colonne à <var>n</var> octets.</dd> + + <dd><code>DescriptionWidth=*</code> ajuste la taille de la colonne + à la plus longue chaîne de description. + + <strong>Voir la section concernant <code class="directive"><a href="#adddescription">AddDescription</a></code> pour les dangers + inhérants à la troncature des descriptions.</strong></dd> + + <dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing">FancyIndexing</a></dt> + + <dd>Cette option active l'indexation "améliorée" des répertoires, + c'est à dire avec en-têtes de colonnes sous forme d'hyper-liens + auto-référants.</dd> + + <dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst">FoldersFirst</a></dt> + + <dd>Lorsque cette option est activée, la liste des + sous-répertoires apparaîtra <em>toujours</em> en premier, suivie + de la liste des fichiers normaux du répertoire. Le listing + comporte principalement deux parties, les fichiers et les + sous-répertoires, chacun d'eux étant trié séparément et les + sous-répertoires affichés en premier. Par exemple, si l'ordre de + tri est décroissant par nom, et si <code>FoldersFirst</code> est + activé, le sous-répertoire <code>Zed</code> sera affiché avant le + sous-répertoire <code>Beta</code>, qui sera lui-même affiché avant + les fichiers normaux <code>Gamma</code> et <code>Alpha</code>. + <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + est aussi activé.</strong> + </dd> + + <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable">HTMLTable</a></dt> + + <dd>Cette option pour l'affichage + <code>FancyIndexing</code> permet de construire une table simple + pour l'affichage de l'index du répertoire. Cette option s'avèrera + particulièrement nécessaire pour les plates-formes où utf-8 est + activé et dans le cas où les noms de fichiers ou les chaînes + de description alternent entre les ordres de lecture gauche à + droite et droite à gauche.</dd> + + <dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks">IconsAreLinks</a></dt> + + <dd>Configure la partie réservée aux icônes de l'ancrage pour le + nom de fichier, dans le cas d'un affichage "amélioré".</dd> + + <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight">IconHeight[=<var>pixels</var>]</a></dt> + + <dd>Si cette option est présente, en combinaison avec + <code>IconWidth</code>, le serveur va inclure les attributs + <code>height</code> et <code>width</code> dans la balise + <code>img</code> qui référence le fichier de l'icône. Ceci va + permettre au navigateur de prévoir les caractéristiques de la page + sans devoir attendre que toutes les images aient été chargées. En + l'absence de cette option, c'est la hauteur standard définie par + le logiciel Apache httpd qui est choisie comme valeur par défaut. + + <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + est aussi activé.</strong> + </dd> + + <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth">IconWidth[=<var>pixels</var>]</a></dt> + + <dd>Si cette option est présente, en combinaison avec + <code>IconHeight</code>, le serveur va inclure les attributs + <code>height</code> et <code>width</code> dans la balise + <code>img</code> qui référence le fichier de l'icône. Ceci va + permettre au navigateur de prévoir les caractéristiques de la page + sans devoir attendre que toutes les images aient été chargées. En + l'absence de cette option, c'est la largeur standard définie par + le logiciel Apache httpd qui est choisie comme valeur par défaut.</dd> + + <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase">IgnoreCase</a></dt> + + <dd>Si cette option est activée, les noms sont triés sans tenir + compte de la casse. Par exemple, si le tri s'effectue sur les noms + dans l'ordre croissant, et si <code>IgnoreCase</code> est activé, + le fichier Zeta apparaîtra après le fichier alfa (Note : le + fichier GAMMA apparaîtra toujours avant le fichier gamma). + </dd> + + <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient">IgnoreClient</a></dt> + + <dd>Si cette option est activée, <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va + ignorer toutes les variables de requête fournies par le client, y + compris les informations de tri (ce qui implique l'activation de + l'option <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>).</dd> + + <dt><a name="indexoptions.namewidth" id="indexoptions.namewidth">NameWidth=[<var>n</var> + | *]</a></dt> + + <dd>Le mot-clé <code>NameWidth</code> vous permet de spécifier la + largeur en octets de la colonne correspondant au nom du + fichier.</dd> + + <dd>Avec <code>-NameWidth</code> (ou si l'option n'est pas + définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va calculer la meilleure largeur + possible, mais jusqu'à une largeur maximale de 20 octets.</dd> + + <dd><code>NameWidth=<var>n</var></code> fixe la largeur de la + colonne à <var>n</var> octets.</dd> + + <dd><code>NameWidth=*</code> définit la largeur de colonne à la + valeur nécessaire.</dd> + + <dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles">ScanHTMLTitles</a></dt> + + <dd>L'activation de cette option permet d'extraire le titre des + documents HTML dans le cas d'un affichage "amélioré". Si le fichier + ne possède aucune description définie par la directive <code class="directive"><a href="#adddescription">AddDescription</a></code>, httpd va lire + le document pour tenter d'en extraire le <code>titre</code>. Ce + processus est coûteux en ressources disque et CPU.</dd> + + <dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden">ShowForbidden</a></dt> + + <dd>Si cette option est activée, Apache httpd affichera les fichiers + normalement cachés suite au retour des valeurs + <code>HTTP_UNAUTHORIZED</code> ou <code>HTTP_FORBIDDEN</code> par + la sous-requête.</dd> + + <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></dt> + + <dd>Si cette option est activée, Apache httpd supprimera les liens + hyper-texte dans les en-têtes de colonnes dans le cas d'un + affichage "amélioré". Par défaut, ces en-têtes constituent des liens + hyper-texte, et la sélection de l'un d'entre eux va trier l'index + du répertoire en fonction des valeurs de la colonne + correspondante. Cependant, les arguments de la chaîne de + paramètres de la requête ajoutés à l'URL seront toujours ignorés. + Ce comportement est contrôlé par l'option <a href="#indexoptions.ignoreclient"><code>IndexOptions + IgnoreClient</code></a>.</dd> + + <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription">SuppressDescription</a></dt> + + <dd>L'activation de cette option va supprimer la description des + fichiers dans le cas d'un affichage "amélioré". Par défaut aucune + description de fichier n'est définie, et par conséquent + l'utilisation de cette option va permettre de récupérer un espace + à l'écran de 23 caractères pouvant être utilisé pour autre chose. + Voir la directive <code class="directive"><a href="#adddescription">AddDescription</a></code> pour plus d'informations à propos de + la définition des descriptions de fichiers. Voir aussi l'option + d'index <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code> + pour limiter la taille de la colonne description. + + <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + est aussi activé.</strong> + </dd> + + <dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble">SuppressHTMLPreamble</a></dt> + + <dd>Si le répertoire contient effectivement le fichier spécifié + par la directive <code class="directive"><a href="#headername">HeaderName</a></code>, le module inclut + en général le contenu du fichier après avoir inséré un préambule + HTML standard (<code><html></code>, + <code><head></code>, <em>etc...</em>). L'activation de + l'option <code>SuppressHTMLPreamble</code> supprime l'insertion de + ce préambule, et le module va alors commencer l'affichage + directement par le contenu du fichier d'en-tête. Dans ce cas par + contre, le fichier d'en-tête doit contenir des instructions HTML + appropriées. S'il n'y a pas de fichier d'en-tête, le préambule est + généré comme dans le cas général. Si vous spécifiez aussi une + directive <code class="directive"><a href="#readmename">ReadmeName</a></code>, et si ce + fichier existe, les balises de fermeture closing + </body></html> seront aussi omises dans la sortie, en + supposant que vous ayez placé ces balises de fermeture dans ce + fichier.</dd> + + <dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon">SuppressIcon</a></dt> + + <dd>L'activation de cette option supprime l'affichage des icônes + dans le cas d'un affichage "amélioré". La combinaison de + <code>SuppressIcon</code> et <code>SuppressRules</code> permet de + générer une sortie au format HTML 3.2 qui, selon les dernières + spécifications, interdit les éléments <code>img</code> et + <code>hr</code> dans les blocs <code>pre</code> (utilisés pour + formater les affichages "améliorés").</dd> + + <dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified">SuppressLastModified</a></dt> + + <dd>L'activation de cette option supprime l'affichage de la date + de dernière modification dans le cas d'un affichage "amélioré". + + <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + est aussi activé.</strong> + </dd> + + <dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules">SuppressRules</a> + </dt> + + <dd>L'activation de cette option supprime l'affichage des lignes + horizontales (éléments <code>hr</code>) dans les index de + répertoires. La combinaison de + <code>SuppressIcon</code> et <code>SuppressRules</code> permet de + générer une sortie au format HTML 3.2 qui, selon les dernières + spécifications, interdit les éléments <code>img</code> et + <code>hr</code> dans les blocs <code>pre</code> (utilisés pour + formater les affichages "améliorés"). + + <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + est aussi activé.</strong> + </dd> + + <dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize">SuppressSize</a></dt> + + <dd>L'activation de cette option supprime l'affichage de la taille + du fichier dans le cas d'un affichage "amélioré". + + <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + est aussi activé.</strong> + </dd> + + <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified">TrackModified</a></dt> + + <dd>Cette option renvoie les valeurs <code>Last-Modified</code> et + <code>ETag</code> pour le répertoire indexé dans l'en-tête HTTP. + Elle n'est valide que si le système d'exploitation et le système + de fichiers renvoient des résultats appropriés pour la fonction + stat(). C'est le cas de certains systèmes Unix, ainsi que JFS sous + OS/2 ou + les volumes NTFS sous Win32. Ce n'est par contre pas le cas + des volumes FAT Win32 et OS/2. Lorsque cette option est activée, le + client ou le mandataire peuvent détecter les changements dans la + liste des fichiers lorsqu'ils effectuent une requête + <code>HEAD</code>. Notez que certains systèmes d'exploitation + détectent correctement les nouveaux fichiers et les fichiers + supprimés, mais ne détectent pas les modifications de tailles ou + de dates des fichiers du répertoire. <strong>Les modifications de + taille ou de date d'un fichier existant ne mettent pas à jour + l'en-tête <code>Last-Modified</code> sur toutes les plate-formes + Unix.</strong> Si c'est le cas, laissez cette option + désactivée.</dd> + + <dt><a name="indexoptions.type" id="indexoptions.type">Type=<var>type MIME</var></a></dt> + + <dd>Le mot-clé <code>Type</code> vous permet de spécifier le type + MIME de la page générée. La valeur par défaut est + <var>text/html</var>. + + <pre class="prettyprint lang-config">IndexOptions Type=text/plain</pre> + + </dd> + + <dt><a name="indexoptions.useolddateformat" id="indexoptions.useolddateformat">UseOldDateFormat</a> + (<em>Apache HTTP Server versions 2.4.26 et ultérieures</em>)</dt> + + <dd>Le format de date utilisé dans le champ <code>Last Modified</code> + avait été modifié par inadvertance de <code>"%d-%b-%Y %H:%M"</code> en + <code>"%Y-%m-%d %H:%M"</code> dans la version 2.4.0. Cette option permet + de restaurer le format de date des versions 2.2 et antérieures.</dd> + + <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort">VersionSort</a></dt> + + <dd>Le mot-clé <code>VersionSort</code> permet de trier les + fichiers contenant des numéros de version d'une manière + spécifique. Les chaînes sont triées comme d'habitude, excepté les + sous-chaînes de chiffres du nom de fichier et de sa description + qui sont comparées en fonction de leur valeur numérique. + + <div class="example"><h3>Exemple :</h3><p><code> + foo-1.7<br /> + foo-1.7.2<br /> + foo-1.7.12<br /> + foo-1.8.2<br /> + foo-1.8.2a<br /> + foo-1.12 + </code></p></div> + + <p>Si le nombre commence par le chiffre 0, il est considéré comme + la partie fractionnaire d'un nombre :</p> + + <div class="example"><p><code> + foo-1.001<br /> + foo-1.002<br /> + foo-1.030<br /> + foo-1.04 + </code></p></div> + </dd> + + <dt><a name="indexoptions.xhtml" id="indexoptions.xhtml">XHTML</a></dt> + + <dd>Le mot-clé <code>XHTML</code> enjoint + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> de générer du code XHTML 1.0 au + lieu de HTML 3.2. + + <strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + est aussi activé.</strong> + </dd> + + </dl> + + + <dl><dt>Options d'index incrémentales</dt> + <dd> + <p>Vous devez porter une attention particulière à la manière dont + les <code class="directive">IndexOptions</code> multiples sont traitées.</p> + + <ul> + <li>Plusieurs directives <code class="directive">IndexOptions</code> + apparaissant dans la même section directory sont maintenant + fusionnées. Le résultat de : + + <pre class="prettyprint lang-config"><Directory "/foo"> + IndexOptions HTMLTable + IndexOptions SuppressColumnsorting +</Directory></pre> + + + <p>est équivalent à</p> + + <pre class="prettyprint lang-config">IndexOptions HTMLTable SuppressColumnsorting</pre> + + </li> + + <li>L'ajout de la syntaxe incrémentale (en préfixant les mots-clés + avec <code>+</code> ou <code>-</code>).</li> + </ul> + + <p>Chaque fois qu'un mot-clé préfixé par '+' ou '-' est trouvé, il + est appliqué aux définitions des + <code class="directive">IndexOptions</code> courantes (qui ont été + éventuellement héritées d'un directory de niveau supérieur). Par + contre, si un mot-clé non préfixé est trouvé, il supprime toutes + les definitions héritées, ainsi que toute + définition incrémentale. Considérons l'exemple + suivant :</p> + + <pre class="prettyprint lang-config">IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing +IndexOptions +SuppressSize</pre> + + + <p>L'effet global est équivalent à l'effet qu'aurait provoqué + <code>IndexOptions FancyIndexing +SuppressSize</code>, car l'option + non préfixée <code>FancyIndexing</code> annule les mots-clés + incrémentaux situés avant elle, mais leur permet ensuite de + s'incrémenter à nouveau.</p> + + <p>Pour définir inconditionnellement les + <code class="directive">IndexOptions</code> pour un répertoire particulier, + tout en supprimant les définitions héritées, spécifiez les + mots-clés sans préfixe <code>+</code> ou <code>-</code></p> + </dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="indexorderdefault" id="indexorderdefault">Directive</a> <a name="IndexOrderDefault" id="IndexOrderDefault">IndexOrderDefault</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'ordre d'affichage par défaut d'un index de +répertoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IndexOrderDefault Ascending Name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">IndexOrderDefault</code> s'utilise + en combinaison avec l'option d'index <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. Par + défaut, les index de répertoires "améliorés" sont affichés selon l'ordre + croissant des noms de fichiers ; la directive + <code class="directive">IndexOrderDefault</code> vous permet de modifier ce + comportement.</p> + + <p>La directive <code class="directive">IndexOrderDefault</code> accepte + deux arguments. Le premier est soit <code>Ascending</code>, soit + <code>Descending</code>, et indique l'ordre de tri. Le second doit + prendre une des valeurs <code>Name</code>, <code>Date</code>, + <code>Size</code>, ou <code>Description</code>, et permet + d'identifier la clé primaire. La clé secondaire est + <em>toujours</em> le nom du fichier selon un ordre croissant.</p> + + <p>Si vous le désirez, vous pouvez empêcher le client de modifier + l'ordre de tri de la liste en ajoutant l'option d'index <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> + qui supprime le lien de définition du tri de l'en-tête de la + colonne, ainsi que l'option <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> qui + empêche ce même client de passer outre vos préférences de tri en + ajoutant manuellement des options de tri à la chaîne de paramètres + de la requête.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="indexstylesheet" id="indexstylesheet">Directive</a> <a name="IndexStyleSheet" id="IndexStyleSheet">IndexStyleSheet</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute une feuille de style CSS à l'index du +répertoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexStyleSheet <var>chemin-url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">IndexStyleSheet</code> permet de + définir le nom du fichier qui servira de feuille de style CSS pour + l'index. + </p> + <pre class="prettyprint lang-config">IndexStyleSheet "/css/style.css"</pre> + + + <p>L'utilisation de cette directive en conjonction avec <code>IndexOptions + HTMLTable</code> ajoute plusieurs classes CSS au document HTML + résultant. Un identifiant CSS <code>indexlist</code> est attribué à + l'ensemble de la table et les classes suivantes sont associées aux + différentes parties du listing :</p> + + <table class="bordered"><tr class="header"><th>Classe</th><th>Définition</th></tr> +<tr><td>tr.indexhead</td><td>Ligne d'en-tête du listing</td></tr> +<tr class="odd"><td>th.indexcolicon and td.indexcolicon</td> <td>Colonne de + l'icône</td></tr> +<tr><td>th.indexcolname and td.indexcolname</td> <td>Colonne du nom + du fichier</td></tr> +<tr class="odd"><td>th.indexcollastmod and td.indexcollastmod</td> <td>Colonne + de la date de dernière modification</td></tr> +<tr><td>th.indexcolsize and td.indexcolsize</td> <td>Colonne de la + taille du fichier</td></tr> +<tr class="odd"><td>th.indexcoldesc and td.indexcoldesc</td> <td>Colonne de la + description</td></tr> +<tr><td>tr.breakrow</td> <td>Pied de page</td></tr> +<tr class="odd"><td>tr.odd and tr.even</td> <td>Alternance des lignes paires et + impaires</td></tr> +</table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="readmename" id="readmename">Directive</a> <a name="ReadmeName" id="ReadmeName">ReadmeName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier dont le contenu sera inséré à la fin de +l'index</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReadmeName <var>nom-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autoindex</td></tr> +</table> + <p>La directive <code class="directive">ReadmeName</code> permet de définir + le nom du fichier dont le contenu sera ajouté à la fin de l'index. + <var>nom-fichier</var> est le nom du fichier à inclure, et est + considéré comme relatif au répertoire faisant l'objet de l'index. Si + <var>nom-fichier</var> commence par un slash '/', comme dans + l'exemple 2, il sera considéré + comme relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. + </p> + + <pre class="prettyprint lang-config"># Example 1 +ReadmeName FOOTER.html</pre> + + + <pre class="prettyprint lang-config"># Example 2 +ReadmeName /include/FOOTER.html</pre> + + + <p>Voir aussi la directive <code class="directive"><a href="#headername">HeaderName</a></code>, où cette fonctionnalité est décrite plus en + détails.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_autoindex.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.ja.utf8 b/docs/manual/mod/mod_autoindex.html.ja.utf8 new file mode 100644 index 0000000..dc5f747 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.ja.utf8 @@ -0,0 +1,1081 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_autoindex - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_autoindex</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>Unix の <code>ls</code> コマンドや + Win32 の <code>dir</code> シェルコマンドに似た + ディレクトリインデックスを生成する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>autoindex_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_autoindex.c</td></tr></table> +<h3>概要</h3> + + <p>ディレクトリのインデックスは二つの情報源のうちの + 一つから生成できます:</p> + + <ul> + <li>普通は <code>index.html</code> と呼ばれる + ユーザによって書かれたファイル。 + <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + ディレクティブでこのファイル名を設定します。 + これは <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> で制御されます。</li> + + <li>もしくは、サーバによって生成された一覧。 + その他のディレクティブでこの一覧の書式を制御します。 + <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code> と + <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> + を使うことで、様々なファイルタイプに対してアイコン一覧を + セットします。つまり、リストされたファイル毎に、 + ファイルにマッチした一番最初のアイコンが表示されます。 + これらは <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> で制御されます。</li> + </ul> + <p>望むならば、自動インデックス生成を完全に除去 (あるいは置換) + できるように、この二つの機能は分離されています。</p> + + <p>自動インデックス生成は <code>Options +Indexes</code> + を使うことで有効になります。詳細については、 + <code class="directive"><a href="../mod/core.html#options">Options</a></code> + ディレクティブをご覧下さい。</p> + + <p>もし <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>オプションが + <code class="directive"><a href="../mod/autoindex.html#indexoptions">IndexOptions</a></code> + ディレクティブに与えられているならば、 + 列の先頭は表示の順番を制御するリンクになります。 + 先頭のリンクを選択すると、一覧は再生成されて + その列の値でソートされます。 + 同じ先頭を続けて選択すると、交互に昇順と降順とになります。 + これらの列の先頭のリンクは、 + <code class="directive"><a href="#indexoptions">IndexOptions</a></code> + ディレクティブの + <code>SuppressColumnSorting</code> + オプションで消すことができます。</p> + + <p>"Size" でソートした場合は、用いられるのは + <em>実際の</em>ファイルのサイズであって、 + 表示の値ではないことに注意してください - + たとえ両方ともが "1K" と表示されていたとしても、 + 1010 バイトのファイルは必ず 1011 + バイトのファイルよりも前 (昇順の場合) に表示されます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#query">Autoindex リクエストクエリー引数</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addalt">AddAlt</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbyencoding">AddAltByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbytype">AddAltByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddescription">AddDescription</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addicon">AddIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbyencoding">AddIconByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignorereset">IndexIgnoreReset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexstylesheet">IndexStyleSheet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readmename">ReadmeName</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autoindex">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autoindex">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="query" id="query">Autoindex リクエストクエリー引数</a></h2> + + + <p>Apache 2.0.23 で、 + コラムソートのためにクエリー引数を再編成して、 + 新しいクエリーオプションのグループを導入しました。 + 出力に対するクライアントのすべての制御を効率的に抹消 + できるように、 + <code><a href="#indexoptions.ignoreclient">IndexOptions + IgnoreClient</a></code> が導入されました。</p> + + <p>コラムソートのヘッダそれ自体が、 + 下記のソートクエリーオプションを付加する + 自分自身を参照するリンクです。 + 下記のオプションのどれでも、 + ディレクトリリソースへのリクエストに加えることができます。</p> + + <ul> + <li><code>C=N</code> は、ファイル名でソートします。</li> + + <li><code>C=M</code> は、更新日時、 + ディレクトリ、ファイル名の順でソートします。</li> + + <li><code>C=S</code> は、サイズ、 + ディレクトリ、ファイル名の順でソートします。</li> + + <li class="separate"><code>C=D</code> は、説明、 + ディレクトリ、ファイル名の順でソートします。</li> + + <li><code>O=A</code> は、昇順で表をソートします。</li> + + <li class="separate"><code>O=D</code> は、降順で表をソートします。</li> + + <li><code>F=0</code> は、単純な表の書式にします。 + (FancyIndex ではありません。)</li> + + <li><code>F=1</code> は、FancyIndex + 表示の表の書式にします。</li> + + <li><code>F=2</code> は、表を HTML + のテーブルを使った FancyIndex の書式にします。</li> + + <li><code>V=0</code> + は、バージョンによるソートを無効にします。</li> + + <li class="separate"><code>V=1</code> + は、バージョンによるソートを有効にします。</li> + + <li><code>P=<var>pattern</var></code> + は、与えられた <var>pattern</var> + に適合したファイルのみを表示します。</li> + </ul> + + <p>"P (パターンの P)" クエリー引数は、 + 通常の <code class="directive"><a href="#indexignore">IndexIgnore</a></code> + ディレクティブが処理された<em>後</em>に検査され、 + ファイル名全てが、他の autoindex + リスト処理と同様の判定基準下に置かれ続ける + ことに注意してください。 + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> のクエリー引数パーサ (解析) は、 + 認識不能なオプションにぶつかると即座に停止します。 + クエリー引数は上の表に従って + 正しい形式になっていなければなりません。</p> + + <p>下の単純な例は、これらのクエリーオプションを + 表します。これをそのまま切り取って HEADER.html + ファイルに保存することもできます。 + mod_autoindex が X=Go 入力にぶつかる前に + 引数が全て解釈されるように、 + 未知の引数 "X" はリストの最後に置かれています。</p> + + <div class="example"><p><code> + <form action="" method="get"><br /> + <span class="indent"> + Show me a <select name="F"><br /> + <span class="indent"> + <option value="0"> Plain list</option><br /> + <option value="1" selected="selected"> Fancy list</option><br /> + <option value="2"> Table list</option><br /> + </span> + </select><br /> + Sorted by <select name="C"><br /> + <span class="indent"> + <option value="N" selected="selected"> Name</option><br /> + <option value="M"> Date Modified</option><br /> + <option value="S"> Size</option><br /> + <option value="D"> Description</option><br /> + </span> + </select><br /> + <select name="O"><br /> + <span class="indent"> + <option value="A" selected="selected"> Ascending</option><br /> + <option value="D"> Descending</option><br /> + </span> + </select><br /> + <select name="V"><br /> + <span class="indent"> + <option value="0" selected="selected"> in Normal order</option><br /> + <option value="1"> in Version order</option><br /> + </span> + </select><br /> + Matching <input type="text" name="P" value="*" /><br /> + <input type="submit" name="X" value="Go" /><br /> + </span> + </form> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAlt" id="AddAlt">AddAlt</a> <a name="addalt" id="addalt">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイコンの代わりに +表示される、ファイル名で選択された代替テキスト</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAlt</code> は、<code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、アイコンの代わりに表示する代替テキストを提供します。 + <var>file</var> は、説明するファイルのファイル拡張子、 + ファイル名の一部、ワイルドカード表現、完全なファイル名の + どれかになります。 + <var>string</var> に空白がある場合は引用符 (<code>"</code> + か <code>'</code>) で囲む必要があります。 + この文字列は、クライアントが画像を表示できない場合や + 画像のロードを無効にしている場合や + アイコンの取得に失敗したときに表示されます。</p> + + <div class="example"><h3>例</h3><p><code> + AddAlt "PDF file" *.pdf<br /> + AddAlt Compressed *.gz *.zip *.Z + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByEncoding" id="AddAltByEncoding">AddAltByEncoding</a> <a name="addaltbyencoding" id="addaltbyencoding">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイコンの代わりに表示される、MIME 符号化方法で選択された +代替テキスト</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByEncoding</code> は、 + <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、アイコンの代わりに表示する代替文字列を提供します。 + <var>MIME-encoding</var> は有効な符号化、例えば + <code>x-compress</code> + です。 + <var>string</var> に空白があるときは、引用符 (<code>"</code> か + <code>'</code>) で囲む必要があります。 + この文字列は、クライアントが画像を表示できない場合や + 画像のロードを無効にしている場合や + アイコンの取得に失敗したときに表示されます。</p> + + <div class="example"><h3>例</h3><p><code> + AddAltByEncoding gzip x-gzip + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByType" id="AddAltByType">AddAltByType</a> <a name="addaltbytype" id="addaltbytype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイコンの代わりに +表示される、MIME タイプで選択された代替テキスト</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByType</code> は、 + <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、アイコンの代わりに表示する代替文字列を設定します。 + <var>MIME-type</var> は有効なタイプ、例えば + <code>text/html</code> + です。 + <var>string</var> に空白があるときは、引用符 (<code>"</code> か + <code>'</code>) で囲む必要があります。 + この文字列は、クライアントが画像を表示できない場合や + 画像のロードを無効にしている場合や + アイコンの取得に失敗したときに表示されます。</p> + + <div class="example"><h3>例</h3><p><code> + AddAltByType 'plain text' text/plain + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDescription" id="AddDescription">AddDescription</a> <a name="adddescription" id="adddescription">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルに対して表示する説明</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddDescription <var>string</var> <var>file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、ファイルに対して表示する説明を設定します。 + <var>file</var> は説明するファイルのファイル拡張子、 + ファイル名の一部、ワイルドカード表現、完全なファイル名の + どれかになります。 + <var>string</var> は二重引用符 (<code>"</code>) で囲まれます。</p> + + <div class="example"><h3>例</h3><p><code> + AddDescription "The planet Mars" /web/pics/mars.gif + </code></p></div> + + <p>通常のデフォルトの説明領域は 23 バイトの幅です。 + <code><a href="#indexoptions.suppressicon">IndexOptions SuppressIcon</a></code> + オプションで 6 バイト追加、 + <code><a href="#indexoptions.suppresssize">IndexOptions SuppressSize</a></code> + オプションで 7 バイト追加、 + <code><a href="#indexoptions.suppresslastmodified">IndexOptions SuppressLastModified</a></code> + オプションで 19 バイト追加されます。 + ですから、デフォルトの説明コラムの最大幅は + 55 バイトになります。</p> + + <p>このコラムの大きさを上書きしたり、 + 説明が無制限長でもよいようにするための詳細に関しては、 + <a href="#indexoptions.descriptionwidth">DescriptionWidth</a> + という + <code class="directive"><a href="#indexoptions">IndexOptions</a></code> + のキーワードをご覧下さい。</p> + + <div class="note"><h3>警告</h3> + <p><code class="directive">AddDescription</code> + で定義された説明テキストは、タグや文字列といった + HTML マークアップを含むことができます。 + もし、説明コラムの幅によってタグ付けされた要素が丸め込まれた + (太字の語句の最後が切れるといった) 場合、 + 出力結果は、ディレクトリ一覧の残りの部分に影響を与えるでしょう。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIcon" id="AddIcon">AddIcon</a> <a name="addicon" id="addicon">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルに表示するアイコンを名前で選択</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddIcon <var>icon</var> <var>name</var> +[<var>name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、 + <var>name</var> で終わるファイルの隣に表示するアイコンを設定します。 + <var>icon</var> は、(% でエスケープされた) アイコンへの相対 URL + か、他の書式 (<var>alttext</var>, <var>url</var>) です。 + ここで <var>alttext</var> + は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。 + </p> + + <p><var>name</var> は、ディレクトリに対応する <code>^^DIRECTORY^^</code> + か、空白行に対応する <code>^^BLANKICON^^</code> (一覧が正しく表示されるために) か、 + ファイル拡張子か、ワイルドカード表現か、ファイル名の一部か + 完全なファイル名です。</p> + + <div class="example"><h3>例</h3><p><code> + AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm<br /> + AddIcon /icons/dir.xbm ^^DIRECTORY^^<br /> + AddIcon /icons/backup.xbm *~ + </code></p></div> + + <p>もし可能なら、 + <code class="directive">AddIcon</code> + より + <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> + を優先的に使うべきでしょう。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByEncoding" id="AddIconByEncoding">AddIconByEncoding</a> <a name="addiconbyencoding" id="addiconbyencoding">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルに表示するアイコンを MIME +符号化方法で選択</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、ファイルの隣に表示するアイコンを設定します。 + <var>icon</var> は、(% でエスケープされた) アイコンへの相対 URL + か、他の書式 <code>(<var>alttext</var>, <var>url</var>)</code> です。 + ここで <var>alttext</var> + は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。 + </p> + + <p><var>MIME-encoding</var> は、有効なコンテントエンコーディング、 + 例えば <code>x-compress</code>です。</p> + + <div class="example"><h3>例</h3><p><code> + AddIconByEncoding /icons/compress.xbm x-compress + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByType" id="AddIconByType">AddIconByType</a> <a name="addiconbytype" id="addiconbytype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルの隣に表示するアイコンを +MIME タイプによって選択</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、ファイルの隣に表示するアイコンを設定します。 + <var>icon</var> は、(% でエスケープされた) アイコンへの相対 URL + か、他の書式 <code>(<var>alttext</var>, <var>url</var>)</code> です。 + ここで <var>alttext</var> + は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。 + </p> + + <p><var>MIME-type</var> は、要求されたタイプに該当する + ワイルドカード表現です。</p> + + <div class="example"><h3>例</h3><p><code> + AddIconByType (IMG,/icons/image.xbm) image/* + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultIcon" id="DefaultIcon">DefaultIcon</a> <a name="defaulticon" id="defaulticon">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定のアイコンが何も設定されていない時に +ファイルに表示するアイコン</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DefaultIcon <var>url-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + において、 + 特定のアイコンがない場合にファイルに表示するアイコンを設定します。 + <var>url-path</var> は、(% でエスケープされた) アイコンへの相対 URL + です。</p> + + <div class="example"><h3>例</h3><p><code> + DefaultIcon /icon/unknown.xbm + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeaderName" id="HeaderName">HeaderName</a> <a name="headername" id="headername">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td> +インデックス一覧の先頭に挿入されるファイルの名前</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>HeaderName <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">HeaderName</code> + ディレクティブは、 + インデックス一覧の先頭に挿入するファイルの名前を設定します。 + <var>Filename</var> は取り込むファイルの名前です。</p> + + <div class="example"><h3>例</h3><p><code> + HeaderName HEADER.html + </code></p></div> + + <div class="note"> + <p>HeaderName も <code class="directive"><a href="#readmename">ReadmeName</a></code> + も両方とも現在は、<var>filename</var> + をインデックスされているディレクトリに用いられた URI + に対する相対 URI パスとして扱います。 + <var>filename</var> がスラッシュで始まる場合は、 + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + からの相対パスとなります。</p> + + <div class="example"><h3>例</h3><p><code> + HeaderName /include/HEADER.html + </code></p></div> + + <p><var>filename</var> は + メジャーコンテントタイプが "<code>text/*</code>" + (<em>例えば</em>、<code>text/html</code>, + <code>text/plain</code> 等です。) + のドキュメントとして解決 + されなければなりません。これはつまり、 + もし CGI スクリプトの実際のファイルタイプが + 次のディレクティブのようにして実際の出力とは異なって + <code>text/html</code> としてマークされている場合、 + <var>filename</var> + は CGI スクリプトを参照するかも知れない、 + ということを意味します:</p> + + <div class="example"><p><code> + AddType text/html .cgi + </code></p></div> + + <p><code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>MultiViews</code> が + 有効になっている場合は、 + <a href="../content-negotiation.html">コンテントネゴシエーション</a> + が行なわれます。 + もし <var>filename</var> が (CGI スクリプトでない) 静的な + <code>text/html</code> ドキュメントで解決され、 + <code class="directive"><a href="../mod/core.html#options">options</a></code> + <code>Includes</code> か <code>IncludesNOEXEC</code> + が有効になっている場合は、 + ファイルはサーバーサイドインクルードで処理されます + (<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ドキュメントを参照して下さい)。</p> + </div> + + <p>もし <code class="directive">HeaderName</code> で指定されたファイルが + HTML ドキュメントの開始部分 (<html>, <head>, + 等) を含んでいたら、 + <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions + +SuppressHTMLPreamble</code></a> + を設定して、これらのタグが繰り返されないようにしたいと思うでしょう。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a> <a name="indexheadinsert" id="indexheadinsert">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>インデックスページの HEAD セクションにテキストを挿入する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IndexHeadInsert <var>"markup ..."</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexHeadInsert</code> ディレクティブを使って + インデックスとして生成されたHTMLの <var><head></var> セクションに + 挿入する文字列を指定します。</p> + <div class="example"><h3>Example</h3><p><code> + + IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">" + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a> <a name="indexignore" id="indexignore">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディレクトリ一覧を行なう際に無視すべき +ファイルリストに追加</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IndexIgnore <var>file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexIgnore</code> ディレクティブは、 + ディレクトリの一覧を行う際に無視すべきファイルリストに追加します。 + <var>file</var> は、 + シェル形式のワイルドカード表現か完全なファイル名です。 + IndexIgnore が複数ある場合は、無視するリストに追加が行われ、 + 置換は行われません。デフォルトではリストには <code>.</code> + (カレントディレクトリ) が含まれています。</p> + + <div class="example"><p><code> + IndexIgnore README .htaccess *.bak *~ + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnoreReset" id="IndexIgnoreReset">IndexIgnoreReset</a> <a name="indexignorereset" id="indexignorereset">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Empties the list of files to hide when listing +a directory</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IndexIgnoreReset ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.3.10 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOptions" id="IndexOptions">IndexOptions</a> <a name="indexoptions" id="indexoptions">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディレクトリインデックスの様々な設定項目 +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOptions</code> + は、ディレクトリインデックスの挙動を指定します。 + <var>option</var> は次のどれかです:</p> + + <dl> + <dt><a name="indexoptions.charset" id="indexoptions.charset">Charset=<var>character-set</var></a> (<em>Apache 2.0.61 + 以降</em>)</dt> + + <dd><code>Charset</code> キーワードで、 + 生成されるページの文字セットを指定できます。 + 下位のファイルシステムが Unicode ベースかどうかに依存しますが、 + デフォルト値は <var>ISO-8859-1</var> か <var>UTF-8</var> + になります。 + + <div class="example"><h3>Example:</h3><p><code> + IndexOptions Charset=UTF-8 + </code></p></div> + </dd> + + <dt><a name="indexoptions.type" id="indexoptions.type">Type=<var>MIME content-type</var></a> (<em>Apache 2.0.61 + 以降</em>)</dt> + + <dd><code>Type</code> キーワードで、 + 生成されるページの MIME コンテントタイプを指定できます。 + デフォルト値は <var>text/html</var> になります。 + + <div class="example"><h3>Example:</h3><p><code> + IndexOptions Type=text/plain + </code></p></div> + </dd> + + <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth">DescriptionWidth=[<var>n</var> | *]</a> + (<em>2.0.23 以降</em>)</dt> + + <dd><code>DescriptionWidth</code> + キーワードは説明コラムの幅を文字数で指定することができます。</dd> + + <dd><code>-DescriptionWidth</code> (または非設定) で、 + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が最適な幅を計算するようにできます。</dd> + + <dd><code>DescriptionWidth=<var>n</var></code> + で、コラム幅を <var>n</var> バイトに固定します。</dd> + + <dd><code>DescriptionWidth=*</code> + は、最長の説明に合わせて必要な長さまでコラムを延ばします。</dd> + + <dd><strong>説明を丸め込んだ場合特有の危険については + <code class="directive"><a href="#adddescription">AddDescription</a></code> + セクションをお読み下さい。</strong></dd> + + <dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing">FancyIndexing</a></dt> + + <dd>飾り付きインデックスをオンにします。</dd> + + <dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst">FoldersFirst</a> + (<em>2.0.23 以降</em>)</dt> + + <dd>このオプションが有効になった場合、サブディレクトリの一覧は + <em>必ず</em>最初に現われて、通常のファイルはその後に続きます。 + 一覧は基本的には、ファイルとディレクトリの二つの部分に分けられて、 + それぞれは別々にソートされ、その後サブディレクトリを先にして + 表示が行なわれます。例えばソート順が名前の降順になっていて、 + <code>FoldersFirst</code> が有効になっている場合は、 + サブディレクトリ <code>Zed</code> はサブディレクトリ + <code>Beta</code> よりも前にリストされ、通常のファイル + <code>Gamma</code> や <code>Alpha</code> + よりも前にリストされます。<strong>このオプションは + <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + も有効になっているときにのみ有効です。</strong></dd> + + <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable">HTMLTable</a> <em>(実験的、 + Apache 2.0.23 以降)</em></dt> + + <dd>この実験的なオプションは <code>FancyIndexing</code> とともに指定することで、 + 飾りの付いたディレクトリ一覧のためにテーブルを使った単純な表を作ります。 + これは古いブラウザを混乱させるかもしれないことに注意してください。 + WinNT やその他 utf-8 + が有効なプラットホームのように、ファイル名や説明テキストが + 右読みになったり左読みになりえる場合は特に必要です。</dd> + + <dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks">IconsAreLinks</a></dt> + + <dd>これは、FancyIndexing において、 + アイコンもファイル名へのリンクの一部にします。</dd> + + <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight">IconHeight[=<var>pixels</var>]</a></dt> + + <dd>このオプションが、<code>IconWidth</code> とともに + 使われている場合は、サーバはファイルアイコンのための + <code>img</code> タグに <code>height</code> と <code>width</code> + 属性を取り込むようになります。 + これによって、イメージ全てをロードし終わるまで待たなくても、 + ブラウザはページレイアウトをあらかじめ計算することができます。 + このオプションに何も値が与えられなければ、Apache + ソフトウェアで提供されているアイコンの標準の高さが + デフォルトなります。</dd> + + <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth">IconWidth[=<var>pixels</var>]</a></dt> + + <dd>このオプションが、<code>IconHeight</code> とともに使われている場合は、 + サーバはファイルアイコンのための <code>img</code> + タグに <code>height</code> と <code>width</code> + 属性を取り込むようになります。 + これによって、イメージ全てをロードし終わるまで待たなくても、 + ブラウザはページレイアウトをあらかじめ計算することができます。 + このオプションに何も値が与えられなければ、Apache + ソフトウェアで提供されているアイコンの標準の高さが + デフォルトなります。</dd> + + <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase">IgnoreCase</a></dt> + + <dd>このオプションが有効であると、ファイル名は大文字小文字を区別せずにソートされます。 + 例えばファイル名が昇順でソートされ、<code>IgnoreCase</code> が有効であれば、 + Zeta は alfa の後にリストされます + (注意: GAMMA は常に gamma の前になります)。</dd> + + <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient">IgnoreClient</a></dt> + + <dd>このオプションで <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> は、 + クライアントからの全てのクエリー変数を無視するようになります。 + これはソート順も含みます。 + (つまり <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> + も有効になります。)</dd> + + <dt><a name="indexoptions.namewidth" id="indexoptions.namewidth">NameWidth=[<var>n</var> + | *]</a></dt> + + <dd><code>NameWidth</code> キーワードでファイル名コラムの幅をバイト数で + 指定できます。</dd> + + <dd><code>-NameWidth</code> (または非設定) で、 + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が最適な幅を計算するようにできます。</dd> + + <dd><code>NameWidth=<var>n</var></code> + で、コラム幅を <var>n</var> バイトに固定します。</dd> + + <dd><code>NameWidth=*</code> + は、必要な長さまでコラムを延ばします。</dd> + + <dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles">ScanHTMLTitles</a></dt> + + <dd>FancyIndexing のために、 + HTML ドキュメントからタイトルを取り出すことを可能にします。 + もしファイルに + <code class="directive"><a href="#adddescription">AddDescription</a></code> + で説明が与えられていなければ、 + httpd は <code>title</code> タグの値を読むためにドキュメントを読み始めます。 + これは CPU や disk に負荷をかけます。</dd> + + <dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden">ShowForbidden</a></dt> + + <dd>通常 Apache はサブリクエストの結果が<code>HTTP_UNAUTHORIZED</code> や + <code>HTTP_FORBIDDEN</code> のファイルは一覧に表示しません。 + このオプションを指定すると、そのようなファイルも一覧に表示します。</dd> + + <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></dt> + + <dd>もし指定されていれば、Apache は + FancyIndexing で表示されているディレクトリ一覧での + コラムの先頭を、ソートのためのリンクにしなくなります。 + デフォルトの挙動は、リンクとします。 + コラムの先頭を選ぶとコラムの値に従ってディレクトリリストを + ソートします。 + <strong>Apache 2.0.23 以前では、これは同時に + ソート文字列のためのクエリー引数の解析も無効にします。 + </strong> + この挙動は Apache 2.0.23 では + <a href="#indexoptions.ignoreclient"><code>IndexOptions + IgnoreClient</code></a> で制御されるようになっています。</dd> + + <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription">SuppressDescription</a></dt> + + <dd>これは FancyIndexing におけるファイルの説明を消去します。 + デフォルトでは、説明は定義されておらず、 + このオプションを使うと他のために 23 + 文字の空白を稼ぐことができます。 ファイルの説明に関する情報は、 + <code class="directive"><a href="#adddescription">AddDescription</a></code> + をご覧下さい。また、説明のコラムサイズを制限する + <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code> + インデックスオプションもご覧下さい。</dd> + + <dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble">SuppressHTMLPreamble</a></dt> + + <dd>通常、 + <code class="directive"><a href="#headername">HeaderName</a></code> + ディレクティブで指定したファイルを + ディレクトリが実際に含んでいれば、標準的な HTML プリアンブル + (<code><html></code>, <code><head></code>, <em>等</em>) の後に、 + モジュールはファイルの中身をインクルードします。 + <code>SuppressHTMLPreamble</code> オプションは、 + この挙動を無効にできて、 + モジュールがヘッダーファイルの中身から表示を始めます。 + この場合、ヘッダーファイルは正しい HTML + 命令を含んでいなければなりません。 + ヘッダーファイルが存在しない場合は、プリアンブルは通常通り + 生成されます。</dd> + + <dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon">SuppressIcon</a> (<em>Apache + 2.0.23 以降</em>)</dt> + + <dd> + これは FancyIndexing の一覧からアイコンを消去します。 + <code>SuppressIcon</code> と <code>SuppressRules</code> + と組合わせることによって正しい HTML 3.2 の出力が得られます。 + HTML 3.2 の最終規格は、 <code>img</code> と <code>hr</code> + が <code>pre</code> ブロックに入る (FancyIndexing 一覧で書式に使われています) + ことを禁止しています。</dd> + + <dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified">SuppressLastModified</a></dt> + + <dd>FancyIndexing 一覧において最終更新日時の表示を消去します。</dd> + + <dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules">SuppressRules</a> + (<em>Apache 2.0.23 以降</em>) </dt> + + <dd>ディレクトリ一覧において水平区切り線 (<code>hr</code> タグ) を消去します。 + <code>SuppressIcon</code> と <code>SuppressRules</code> + と組合わせることによって正しい HTML 3.2 の出力が得られます。 + HTML 3.2 の最終規格は、 <code>img</code> と <code>hr</code> + が <code>pre</code> ブロックに入る (FancyIndexing 一覧で書式に使われています) + ことを禁止しています。</dd> + + <dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize">SuppressSize</a></dt> + + <dd>FancyIndexing 一覧においてファイルサイズの表示を消去します。</dd> + + <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified">TrackModified</a> + (<em>Apache 2.0.23 以降</em>)</dt> + + <dd>これは HTTP ヘッダ中に、 + ディレクトリの <code>Last-Modified</code> や + <code>ETag</code> を含めます。 + これは、オペレーティングシステムやファイルシステムが + 適切な stat() の返り値を返す場合にのみ有効です。 + いくつかの UNIX システム、OS2 の JFS や Win32 の NTFS + ボリュームはそうなっています。 + 例えば、OS2 と Win32 FAT ボリュームはそうではありません。 + この機能が有効になると、クライアントやプロキシは + <code>HEAD</code> リクエストを行うことによって、 + ファイル一覧の変化を追跡することができるようになります。 + オペレーティングシステムによっては、新規ファイルや + 移動ファイルは正しく追跡するけれども、 + ディレクトリ中のファイルのサイズや日付は追跡しないということに + 注意してください。 + <strong>既に存在するファイルのサイズや日付のスタンプが変化しても、 + 全ての Unix プラットホームでは、 + <code>Last-Modified</code> ヘッダーを更新しません。</strong> + もしこれが重要であれば、 + このオプションを無効のままにしてください。</dd> + + <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort">VersionSort</a> + (<em>Apache 2.0a3 以降</em>)</dt> + + <dd><code>VersionSort</code> キーワードはバージョン番号を含んだファイルが + 自然な方法でソートされるようにします。 + 文字列は通常通りソートされ、 + それ以外の、説明や名前中の数となる部分文字列は + その数値で比較されます。 + + <div class="example"><h3>例:</h3><p><code> + foo-1.7<br /> + foo-1.7.2<br /> + foo-1.7.12<br /> + foo-1.8.2<br /> + foo-1.8.2a<br /> + foo-1.12 + </code></p></div> + + <p>番号が 0 から始まる場合は、端数と考えられます</p> + + <div class="example"><p><code> + foo-1.001<br /> + foo-1.002<br /> + foo-1.030<br /> + foo-1.04 + </code></p></div> + </dd> + + <dt><a name="indexoptions.xhtml" id="indexoptions.xhtml">XHTML</a> + (<em>Apache 2.0.49 以降</em>)</dt> + + <dd><code>XHTML</code> キーワードを指定すると、<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + は HTML 3.2 の代わりに XHTML 1.0 のコードを出力するようになります。</dd> + </dl> + + + <dl><dt>増減指定できる IndexOptions</dt> + <dd> + <p>Apache 1.3.3 では、 + <code class="directive">IndexOptions</code> + ディレクティブの扱いで幾つかの大きな変化が導入されました。 + 特に、</p> + + <ul> + <li>一つのディレクトリに対する複数の + <code class="directive">IndexOptions</code> + ディレクティブは、現在では一つにマージされます。 + + <div class="example"><p><code> + <Directory /foo> + <span class="indent"> + IndexOptions HTMLTable<br /> + IndexOptions SuppressColumnsorting + </span> + </Directory> + </code></p></div> + + <p>の結果は、次の指定と同一の結果になります。</p> + + <div class="example"><p><code> + IndexOptions HTMLTable SuppressColumnsorting + </code></p></div> + </li> + + <li>増減構文 + (<em>すなわち</em>、'+' や '-' + の接頭辞が付くキーワード) の追加。</li> + </ul> + + <p>'+' や '-' 接頭辞の付いたキーワードに出会うとそれは、 + その時点での <code class="directive">IndexOptions</code> + の設定 (これは上流のディレクトリを受け継ぎます) + に対して適応されます。 + しかしながら、接頭辞の付かないキーワードが処理された場合は、 + 受け継いだオプション全てとそれまで出会った増減設定全てが + 消去されます。次の例を考えてみてください:</p> + + <div class="example"><p><code> + IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing<br /> + IndexOptions +SuppressSize + </code></p></div> + + <p>最終的な効果は + <code>IndexOptions FancyIndexing +SuppressSize</code> + と同一です。 + 接頭辞の付かない <code>FancyIndexing</code> + でそれ以前の増減キーワードは無効になり、 + その後の累積が始まるからです。</p> + + <p>あるディレクトリにおいて上位のディレクトリに指定された設定に影響されることなく + <code class="directive">IndexOptions</code> を設定したい場合、 + <code>+</code> や <code>-</code> + 接頭辞の付かないキーワードで設定してください。</p> + </dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOrderDefault" id="IndexOrderDefault">IndexOrderDefault</a> <a name="indexorderdefault" id="indexorderdefault">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td> +ディレクトリインデックスの標準の順番付けを設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>IndexOrderDefault Ascending Name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOrderDefault</code> ディレクティブは + <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + インデックスオプションと併せて用いられます。 + デフォルトでは、FancyIndexing + のディレクトリ一覧はファイル名の昇順で表示されます。 + <code class="directive">IndexOrderDefault</code> + で、初期状態の表示順番を変えることができます。</p> + + <p><code class="directive">IndexOrderDefault</code> + は二つの引数をとります。一つ目はソートの方向を指示する + <code>Ascending</code> か <code>Descending</code> のいずれかです。 + 二つ目の引数は <code>Name</code>, <code>Date</code>, + <code>Size</code> か <code>Description</code> + のいずれか一つのキーワードであって、1つ目のソートキーを指定します。 + 2つ目のソートキーは<em>常に</em>ファイル名の昇順になります。</p> + + <p>このディレクティブと <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> + インデックスオプションとを組み合わせることで、 + ディレクトリ一覧をある特定の順番でのみ表示するようにできます。 + これは、 + クライアントが別の順番でディレクトリ一覧をリクエストすることを防ぎます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexStyleSheet" id="IndexStyleSheet">IndexStyleSheet</a> <a name="indexstylesheet" id="indexstylesheet">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディレクトリインデックスに CSS スタイルシートを追加する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IndexStyleSheet <var>url-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexStyleSheet</code> ディレクティブは + インデックス表示に使用される CSS のファイル名を設定します。 + </p> + <div class="example"><h3>例</h3><p><code> + + IndexStyleSheet "/css/style.css" + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadmeName" id="ReadmeName">ReadmeName</a> <a name="readmename" id="readmename">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>インデックス一覧の最後に挿入されるファイルの名前</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ReadmeName <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">ReadmeName</code> ディレクティブは、 + インデックスの終わりに付け加えられるファイルの名前を設定します。 + <var>filename</var> は挿入するファイルの名前で、 + 一覧の行われている位置から相対的なものとして解釈されます。 + <var>filename</var> がスラッシュで始まる場合は、 + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + からの相対パスとなります。</p> + + <div class="example"><h3>例</h3><p><code> + ReadmeName FOOTER.html + </code></p></div> + + <div class="example"><h3>例 2</h3><p><code> + ReadmeName /include/FOOTER.html + </code></p></div> + + <p>より詳細にまでこの挙動について記述している <code class="directive"><a href="#headername">HeaderName</a></code> + もご覧下さい。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_autoindex.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.ko.euc-kr b/docs/manual/mod/mod_autoindex.html.ko.euc-kr new file mode 100644 index 0000000..91356b7 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.ko.euc-kr @@ -0,0 +1,893 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_autoindex - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_autoindex</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>ڵ н <code>ls</code> ɾ Win32 + <code>dir</code> ɾ 丮 </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>autoindex_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_autoindex.c</td></tr></table> +<h3></h3> + + <p>丮 ΰ:</p> + + <ul> + <li> <code>index.html</code>̶ ̸ ڰ + ۼ . ̸ <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> þ + Ѵ. ۾ <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> Ѵ.</li> + + <li>ƴϸ . ϴ + þ ִ. <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> + ܵ Ѵ. Ͽ + ϴ ù° δ. ۾ + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> Ѵ.</li> + </ul> + <p> , Ѵٸ ڵ + (Ȥ ü) ִ.</p> + + <p>ڵ <code>Options +Indexes</code> ϴ. + ڼ <code class="directive"><a href="../mod/core.html#options">Options</a></code> + þ ϶.</p> + + <p><code class="directive"><a href="#indexoptions">IndexOptions</a></code> + þ <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> ɼ ָ, ̸ + ٲٴ ũ . ̸ ũ ϸ + ٽ . ̸ ݺؼ ϸ + ̸ . <code class="directive"><a href="#indexoptions">IndexOptions</a></code> þ + <code>SuppressColumnSorting</code> ɼ ̷ ̸ ũ + ʴ´.</p> + + <p>"Size(ũ)" µǴ ƴ϶ <em></em> + ũ ϶. , 1010 Ʈ ϰ 1011 + Ʈ Ѵ "1K" ̴ 1010 Ʈ + տ ´.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#query">Autoindex û ƱԸƮ</a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addalt">AddAlt</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbyencoding">AddAltByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbytype">AddAltByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddescription">AddDescription</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addicon">AddIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbyencoding">AddIconByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignorereset">IndexIgnoreReset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexstylesheet">IndexStyleSheet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readmename">ReadmeName</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autoindex">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autoindex">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="query" id="query">Autoindex û ƱԸƮ</a></h2> + + + <p>ġ 2.0.23 û ƱԸƮ ϰ, + ο ɼǵ ߰ߴ. Ŭ̾Ʈ + <code><a href="#indexoptions.ignoreclient">IndexOptions + IgnoreClient</a></code> ɼ ߰Ǿ.</p> + + <p> ̸ Ʒ û ɼ ڱ + ũ. Ʒ ɼ 丮 ڿ û + ִ.</p> + + <ul> + <li><code>C=N</code> ϸ ̴</li> + + <li><code>C=M</code> ֱ , ϸ ̴</li> + + <li><code>C=S</code> ũ , ϸ ̴</li> + + <li class="separate"><code>C=D</code> , ϸ + ̴</li> + + <li><code>O=A</code> Ѵ</li> + + <li class="separate"><code>O=D</code> Ѵ</li> + + <li><code>F=0</code> (FancyIndexed ƴ) ̴</li> + + <li><code>F=1</code> FancyIndexed ̴</li> + + <li class="separate"><code>F=2</code> HTMLTable FancyIndexed + ̴</li> + + <li><code>V=0</code> ʴ´</li> + + <li class="separate"><code>V=1</code> Ѵ</li> + + <li><code>P=<var>pattern</var></code> ־ <var>pattern</var> + شϴ ϸ </li> + </ul> + + <p>'P'attern ƱԸƮ Ϲ <code class="directive"><a href="#indexignore">IndexIgnore</a></code> þ ó <em>Ŀ</em> + ˻ϱ, ٸ autoindex ϶. + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> û ƱԸƮ о϶ + ɼ ߰ϸ ̻ ʴ´. û ƱԸƮ + ǥ Ѵ.</p> + + <p>header.html Ͽ ִ Ʒ + ɼǵ Ѵ. submit "X" ƱԸƮ + mod_autoindex X=Go ƱԸƮ о + Ȯϱ ߴ.</p> + + <div class="example"><p><code> + <form action="" method="get"><br /> + <span class="indent"> + Show me a <select name="F"><br /> + <span class="indent"> + <option value="0"> Plain list</option><br /> + <option value="1" selected="selected"> Fancy list</option><br /> + <option value="2"> Table list</option><br /> + </span> + </select><br /> + Sorted by <select name="C"><br /> + <span class="indent"> + <option value="N" selected="selected"> Name</option><br /> + <option value="M"> Date Modified</option><br /> + <option value="S"> Size</option><br /> + <option value="D"> Description</option><br /> + </span> + </select><br /> + <select name="O"><br /> + <span class="indent"> + <option value="A" selected="selected"> Ascending</option><br /> + <option value="D"> Descending</option><br /> + </span> + </select><br /> + <select name="V"><br /> + <span class="indent"> + <option value="0" selected="selected"> in Normal order</option><br /> + <option value="1"> in Version order</option><br /> + </span> + </select><br /> + Matching <input type="text" name="P" value="*" /><br /> + <input type="submit" name="X" value="Go" /><br /> + </span> + </form> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAlt" id="AddAlt">AddAlt</a> <a name="addalt" id="addalt">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ϸ ܴ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAlt</code> <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + Ͽ ܴ Ѵ. <var>File</var> + Ȯ, ϸ Ϻ, ϵī ǥ, + ü ϸ ִ. <var>String</var> + ٸ ǥ(<code>"</code> Ȥ <code>'</code>) + Ѵ. Ŭ̾Ʈ ̹ ų, ̹ + ʰų, ߰ ̰ ȴ.</p> + + <div class="example"><h3></h3><p><code> + AddAlt "PDF file" *.pdf<br /> + AddAlt Compressed *.gz *.zip *.Z + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByEncoding" id="AddAltByEncoding">AddAltByEncoding</a> <a name="addaltbyencoding" id="addaltbyencoding">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>MIME-encoding ܴ +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByEncoding</code> <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + Ͽ ܴ Ѵ. <var>MIME-encoding</var> + <code>x-compress</code> ȿ content-encoding̴. + <var>String</var> ٸ ǥ(<code>"</code> + Ȥ <code>'</code>) Ѵ. Ŭ̾Ʈ ̹ + ų, ̹ ʰų, + ߰ ̰ ȴ.</p> + + <div class="example"><h3></h3><p><code> + AddAltByEncoding gzip x-gzip + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByType" id="AddAltByType">AddAltByType</a> <a name="addaltbytype" id="addaltbytype">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>MIME content-type ܴ +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByType</code> <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + Ͽ ܴ Ѵ. <var>MIME-type</var> + <code>text/html</code> ȿ content-type̴. + <var>String</var> ٸ ǥ(<code>"</code> + Ȥ <code>'</code>) Ѵ. Ŭ̾Ʈ ̹ + ų, ̹ ʰų, + ߰ ̰ ȴ.</p> + + <div class="example"><h3></h3><p><code> + AddAltByType 'plain text' text/plain + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDescription" id="AddDescription">AddDescription</a> <a name="adddescription" id="adddescription">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ͽ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddDescription <var>string file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p> þ <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> Ͽ Ѵ. + <var>File</var> Ȯ, ϸ Ϻ, + ϵī ǥ, ü ϸ ִ. <var>String</var> + ǥ(<code>"</code>) Ѵ.</p> + + <div class="example"><h3></h3><p><code> + AddDescription "The planet Mars" /web/pics/mars.gif + </code></p></div> + + <p> ⺻ ʵ 23 Ʈ. <code><a href="#indexoptions.suppressicon">IndexOptions + SuppressIcon</a></code> ɼ ϸ ⺻ 6 Ʈ + ߰ϰ, <code><a href="#indexoptions.suppresssize">IndexOptions SuppressSize</a></code> ɼ 7 Ʈ, + <code><a href="#indexoptions.suppresslastmodified">IndexOptions SuppressLastModified</a></code> ɼ 19 + Ʈ ߰Ѵ. Ƿ 55 Ʈ.</p> + + <p> ʵ ٲٰų ̸ Ѵ + <a href="#indexoptions.descriptionwidth">DescriptionWidth</a> <code class="directive"><a href="#indexoptions">IndexOptions</a></code> Ű带 ϶.</p> + + <div class="note"><h3></h3> + <p><code class="directive">AddDescription</code> ۿ + ±׳ character entity<span class="transnote">(<em>;</em> &lt;, &amp; + Ī)</span> HTML ִ. + ±װ ִ κ ©ԵǸ ( ü κ + ©) 丮 Ͽ ִ.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIcon" id="AddIcon">AddIcon</a> <a name="addicon" id="addicon">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td≯ Ͽ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddIcon <var>icon</var> <var>name</var> [<var>name</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p> þ <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> <var>name</var> + Ѵ. <var>Icon</var> + (%-escaped) URL Ȥ + <code>(<var>alttext</var>,<var>url</var>)</code> ̴. + ⼭ <var>alttext</var> + ܴ ̴.</p> + + <p><var>Name</var> 丮 Ÿ <code>^^DIRECTORY^^</code>, + ( ùٷ ߱) Ÿ + <code>^^BLANKICON^^</code>, Ȯ, ϵī ǥ, + ϸ Ϻ Ȥ ü ִ.</p> + + <div class="example"><h3></h3><p><code> + AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm<br /> + AddIcon /icons/dir.xbm ^^DIRECTORY^^<br /> + AddIcon /icons/backup.xbm *~ + </code></p></div> + + <p>ϸ <code class="directive">AddIcon</code>ٴ <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> ؾ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByEncoding" id="AddIconByEncoding">AddIconByEncoding</a> <a name="addiconbyencoding" id="addiconbyencoding">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>MIME content-encoding Ͽ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p> þ <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + Ѵ. <var>Icon</var> + (%-escaped) URL Ȥ + <code>(<var>alttext</var>,<var>url</var>)</code> ̴. + ⼭ <var>alttext</var> + ܴ ̴.</p> + + <p><var>MIME-encoding</var> content-encoding شϴ + ϵī ǥ̴.</p> + + <div class="example"><h3></h3><p><code> + AddIconByEncoding /icons/compress.xbm x-compress + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByType" id="AddIconByType">AddIconByType</a> <a name="addiconbytype" id="addiconbytype">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>MIME content-type Ͽ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p> þ <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + <var>MIME-type</var> Ѵ. + <var>Icon</var> (%-escaped) URL Ȥ + <code>(<var>alttext</var>,<var>url</var>)</code> ̴. + ⼭ <var>alttext</var> + ܴ ̴.</p> + + <p><var>MIME-type</var> mime type شϴ ϵī + ǥ̴.</p> + + <div class="example"><h3></h3><p><code> + AddIconByType (IMG,/icons/image.xbm) image/* + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultIcon" id="DefaultIcon">DefaultIcon</a> <a name="defaulticon" id="defaulticon">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ư Ͽ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DefaultIcon <var>url-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">DefaultIcon</code> þ <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + Ư ̴. + <var>Icon</var> (%-escaped) URL̴.</p> + + <div class="example"><h3></h3><p><code> + DefaultIcon /icon/unknown.xbm + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeaderName" id="HeaderName">HeaderName</a> <a name="headername" id="headername">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ϸ ̸</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>HeaderName <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">HeaderName</code> þ ϸ տ + ̸ Ѵ. <var>Filename</var> + ϸ̴.</p> + + <div class="example"><h3></h3><p><code> + HeaderName HEADER.html + </code></p></div> + + <div class="note"> + <p> HeaderName <code class="directive"><a href="#readmename">ReadmeName</a></code> + <var>Filename</var> Ϸ 丮 URI η + Ƶδ. <var>Filename</var> ϸ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> η + Ƶδ.</p> + + <div class="example"><h3></h3><p><code> + HeaderName /include/HEADER.html + </code></p></div> + + <p><var>Filename</var> major content type <code>text/*</code> + (<em> </em>, <code>text/html</code>, <code>text/plain</code>, + ) ؾ Ѵ. , ũƮ ( ƴ) + type <code>text/html</code> Ѵٸ + <var>filename</var> CGI ũƮ ִ:</p> + + <div class="example"><p><code> + AddType text/html .cgi + </code></p></div> + + <p><code class="directive"><a href="../mod/core.html#options">Options</a></code> + <code>MultiViews</code> ϸ <a href="../content-negotiation.html"></a> Ѵ. + <var>filename</var> (CGI ũƮ ƴ) + <code>text/html</code> ̰ <code class="directive"><a href="../mod/core.html#options">options</a></code> <code>Includes</code> + <code>IncludesNOEXEC</code> ϳ Ѵٸ + server-side includes óѴ. (<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + )</p> + </div> + + <p><code class="directive">HeaderName</code> Ͽ + (<html>, <head>, ) HTML ۺκ Եִٸ + <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions + +SuppressHTMLPreamble</code></a> Ͽ κ ߰ʴ + .</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a> <a name="indexheadinsert" id="indexheadinsert">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Inserts text in the HEAD section of an index page.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a> <a name="indexignore" id="indexignore">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>丮 Ͽ ϸ ߰Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>IndexIgnore <var>file</var> [<var>file</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexIgnore</code> þ 丮 + Ͽ ϸ ߰Ѵ. <var>File</var> + ( ϴ) ȭϵī ǥ̳ ü ϸ + ִ. IndexIgnore þ ϸ + ϸ üʰ Ͽ ϵ ߰Ѵ. + ⺻ <code>.</code> ( 丮) Ѵ.</p> + + <div class="example"><p><code> + IndexIgnore README .htaccess *.bak *~ + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnoreReset" id="IndexIgnoreReset">IndexIgnoreReset</a> <a name="indexignorereset" id="indexignorereset">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Empties the list of files to hide when listing +a directory</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>IndexIgnoreReset ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>2.3.10 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOptions" id="IndexOptions">IndexOptions</a> <a name="indexoptions" id="indexoptions">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>丮 </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOptions</code> þ 丮 + Ѵ. <var>Option</var> ϳ̴</p> + + <dl> + <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth">DescriptionWidth=[<var>n</var> | *]</a> (<em>ġ + 2.0.23 </em>)</dt> + + <dd><code>DescriptionWidth</code> Ű带 Ͽ ڴ + ִ.</dd> + + <dd><code>-DescriptionWidth</code> ϸ (Ȥ ƹ͵ + ) <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + Ѵ.</dd> + + <dd><code>DescriptionWidth=<var>n</var></code> + <var>n</var> Ʈ Ѵ.</dd> + + <dd><code>DescriptionWidth=*</code> + ִ¸ŭ ø.</dd> + + <dd><strong> © ִ <code class="directive"><a href="#adddescription">AddDescription</a></code> + ϶.</strong></dd> + + <dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing">FancyIndexing</a></dt> + + <dd>丮 fancy .</dd> + + <dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst">FoldersFirst</a> + (<em>ġ 2.0.23 </em>)</dt> + + <dd> ɼ ϸ 丮 <em></em> + , 丮 ִ Ϲ ڿ ´. + ⺻ ϰ 丮 , + Ͽ 丮 δ. + , ̸ ϰ <code>FoldersFirst</code> + Ѵٸ 丮 <code>Zed</code> 丮 + <code>Beta</code> տ , 丮 <code>Beta</code> + Ϲ <code>Gamma</code> <code>Alpha</code> տ + ´. <strong> ɼ <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> Բ Ҷ ȿ + ִ.</strong></dd> + + <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable">HTMLTable</a> (<em>, + ġ 2.0.23 </em>)</dt> + + <dd> FancyIndexing ɼ HTML ǥ + fancy 丮 . ɼ + ȥ ϶. ɼ WinNT ٸ + utf-8 ÷ ϸ̳ б (ʿ + Ȥ ʿ ) ٸ Ư ϴ.</dd> + + <dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks">IconsAreLinks</a></dt> + + <dd>fancy Ͽ ϸ ũ Ѵ.</dd> + + <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight">IconHeight[=<var>pixels</var>]</a></dt> + + <dd> ɼ IconWidth ϸ + <code>img</code> ± <code>height</code> <code>width</code> + Ӽ Ѵ. ̹ + Ȳ ̸ ִ. ɼǿ + ġ ϴ ǥ ̸ Ѵ.</dd> + + <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth">IconWidth[=<var>pixels</var>]</a></dt> + + <dd> ɼ <code>IconHeight</code> ϸ + <code>img</code> ± + <code>height</code> <code>width</code> Ӽ Ѵ. + ̹ Ȳ + ̸ ִ. ɼǿ ġ + ϴ ǥ Ѵ.</dd> + + <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase">IgnoreCase</a></dt> + + <dd> ɼ ϸ ҹ ʰ ̸ Ѵ. + , ̸ ̰ IgnoreCase ϸ + Zeta alfa ڿ ´ (: GAMMA + gamma տ ´). </dd> + + <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient">IgnoreClient</a></dt> + + <dd> ɼ ϸ <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + Ͽ Ŭ̾Ʈ Ǻ Ѵ. + (<code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> Ѵ.)</dd> + + <dt><a name="indexoptions.namewidth" id="indexoptions.namewidth">NameWidth=[<var>n</var> + | *]</a></dt> + + <dd><code>NameWidth</code> Ű Ʈ ϸ + Ѵ.</dd> + + <dd><code>-NameWidth</code> ϸ (Ȥ ƹ͵ + ) <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + Ѵ.</dd> + + <dd><code>NameWidth=<var>n</var></code> <var>n</var> + Ʈ Ѵ.</dd> + + <dd><code>NameWidth=*</code> ʿѸŭ ø.</dd> + + <dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles">ScanHTMLTitles</a></dt> + + <dd>fancy Ͽ HTML title ̴´. Ͽ + <code class="directive"><a href="#adddescription">AddDescription</a></code> + ٸ <code>title</code> + Ұ оδ. ۾ CPU ũ Ѵ.</dd> + + <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></dt> + + <dd> ɼ ϸ ġ FancyIndexed 丮 + Ͽ ̸ ٲٴ ũ ʴ´. + ̸ ũ , ̸ ϸ + ִ 丮 . <strong>ġ + 2.0.23 ƱԸƮ ʾҴ.</strong> + ġ 2.0.23 <a href="#indexoptions.ignoreclient">IndexOptions + IgnoreClient</a> Ͽ ƱԸƮ ʴ´.</dd> + + <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription">SuppressDescription</a></dt> + + <dd>fancy Ͽ ʴ´. ⺻ + ǵʰ, ɼ ϸ 23 + ٸ 뵵 Ѵ. ϴ + <code class="directive"><a href="#adddescription">AddDescription</a></code> ϶. ũ⸦ + ϴ <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code> + ɼǵ ϶.</dd> + + <dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble">SuppressHTMLPreamble</a></dt> + + <dd>丮 <code class="directive"><a href="#headername">HeaderName</a></code> þ + ִ ǥ HTML ۺκ + (<code><html></code>, <code><head></code>, + <em>et cetera</em>) ڿ ÷Ѵ. + <code>SuppressHTMLPreamble</code> ɼ ϸ ó + header Ѵ. header Ͽ + HTML ־ Ѵ. header ٸ Ϲ + ۺκ .</dd> + + <dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon">SuppressIcon</a> + (<em>ġ 2.0.23 </em>)</dt> + + <dd>fancy Ͽ . <code>SuppressIcon</code> + <code>SuppressRules</code> ϸ, (FancyIndexed + ) <code>pre</code> ȿ <code>img</code> + <code>hr</code> ǥ HTML 3.2 + ˸ ȴ.</dd> + + <dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified">SuppressLastModified</a></dt> + + <dd>fancy Ͽ ǥ ʴ´.</dd> + + <dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules">SuppressRules</a> + (<em>ġ 2.0.23 </em>)</dt> + + <dd>丮 Ͽ (<code>hr</code> ) + ʴ´. <code>SuppressIcon</code> + <code>SuppressRules</code> ϸ, (FancyIndexed + ) <code>pre</code> ȿ <code>img</code> + <code>hr</code> ǥ HTML 3.2 + ˸ ȴ.</dd> + + <dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize">SuppressSize</a></dt> + + <dd>fancy Ͽ ũ⸦ ǥ ʴ´.</dd> + + <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified">TrackModified</a> + (<em>ġ 2.0.23 </em>)</dt> + + <dd>丮 HTTP Last-Modified ETag + Ѵ. ɼ ü Ͻýۿ stat() + ȿϴ. н ý۰ OS2 + JFS, Win32 NTFS ϴ. , OS2 Win32 + FAT Ұϴ. ϸ Ŭ̾Ʈ Ͻô + <code>HEAD</code> û Ͽ ϸ ȭ + ִ. ü ο ϰ ùٷ + , 丮 ִ ũ⳪ ¥ ȭ + ϶. <strong> н ÷ + ũ⳪ ¥ ȭ Last-Modified + ٲʴ´.</strong> ̷ ȭ ߿ϴٸ ɼ + .</dd> + + <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort">VersionSort</a> + (<em>ġ 2.0a3 </em>)</dt> + + <dd><code>VersionSort</code> Ű ȣ + ϸ ڿ Ѵ. κ + , ϰ ִ κ ڰ + Ѵ. + + <div class="example"><h3>:</h3><p><code> + foo-1.7<br /> + foo-1.7.2<br /> + foo-1.7.12<br /> + foo-1.8.2<br /> + foo-1.8.2a<br /> + foo-1.12 + </code></p></div> + + <p> 0 ϸ, м Ѵ:</p> + + <div class="example"><p><code> + foo-1.001<br /> + foo-1.002<br /> + foo-1.030<br /> + foo-1.04 + </code></p></div> + </dd> + + <dt><a name="indexoptions.xhtml" id="indexoptions.xhtml">XHTML</a> + (<em>ġ 2.0.49 </em>)</dt> + + <dd><code>XHTML</code> Ű带 ϸ + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> HTML 3.2 XHTML 1.0 + ڵ带 Ѵ.</dd> + </dl> + + + <dl><dt> IndexOptions</dt> + <dd> + <p>ġ 1.3.3 <code class="directive">IndexOptions</code> + þ ó ũ ȭǾ. Ư:</p> + + <ul> + <li> 丮 + <code class="directive">IndexOptions</code> þ Ѵ. + : + + <div class="example"><p><code> + <Directory /foo> + <span class="indent"> + IndexOptions HTMLTable<br /> + IndexOptions SuppressColumnsorting + </span> + </Directory> + </code></p></div> + + <p> </p> + + <div class="example"><p><code> + IndexOptions HTMLTable SuppressColumnsorting + </code></p></div> + </li> + + <li>(<em> </em>, Ű տ <code>+</code> + <code>-</code> ̴) ߰Ǿ.</li> + </ul> + + <p>Ű տ '+' '-' ش Ű尡 + ( 丮 ӵǾ) <code class="directive">IndexOptions</code> + ݿȴ. տ ƹ͵ Ű带 + ӵǰų . + 캸:</p> + + <div class="example"><p><code> + IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing<br /> + IndexOptions +SuppressSize + </code></p></div> + + <p>տ ƹ͵ <code>FancyIndexing</code> + ٽ ߰ǿ + <code>IndexOptions FancyIndexing +SuppressSize</code> .</p> + + <p>Ư 丮 + <code class="directive">IndexOptions</code> Ϸ Ű + տ <code>+</code> <code>-</code> + ӵ .</p> + </dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOrderDefault" id="IndexOrderDefault">IndexOrderDefault</a> <a name="indexorderdefault" id="indexorderdefault">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>丮 ⺻ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>IndexOrderDefault Ascending Name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOrderDefault</code> þ <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + ɼǰ Բ Ѵ. ⺻ fancyindexed 丮 + ϸ ̴. <code class="directive">IndexOrderDefault</code> + ʱ ִ.</p> + + <p><code class="directive">IndexOrderDefault</code> ƱԸƮ + ´. ù° ϴ <code>Ascending</code> + () ̳ <code>Descending</code> () ϳ. + ι° ƱԸƮ Ÿ Ű <code>Name</code>, + <code>Date</code>, <code>Size</code>, <code>Description</code> + ϳ. <em></em> ϸ ̴.</p> + + <p> þ <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> ɼ ϸ + Ư θ 丮 . Ŭ̾Ʈ + ٸ 丮 û Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexStyleSheet" id="IndexStyleSheet">IndexStyleSheet</a> <a name="indexstylesheet" id="indexstylesheet">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>丮 Ͽ CSS ŸϽƮ ߰Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>IndexStyleSheet <var>url-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexStyleSheet</code> þ 丮 + Ͽ CSS ϸ Ѵ. + </p> + <div class="example"><h3>Example</h3><p><code> + + IndexStyleSheet "/css/style.css" + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadmeName" id="ReadmeName">ReadmeName</a> <a name="readmename" id="readmename">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ϸ ̸</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ReadmeName <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">ReadmeName</code> þ ϸ + ̸ Ѵ. <var>Filename</var> + ϸ̰, ġ η Ƶδ. + <var>Filename</var> ϸ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> η Ƶδ. + </p> + + <div class="example"><h3></h3><p><code> + ReadmeName FOOTER.html + </code></p></div> + + <div class="example"><h3> 2</h3><p><code> + ReadmeName /include/FOOTER.html + </code></p></div> + + <p> ڼ <code class="directive"><a href="#headername">HeaderName</a></code> ϶.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_autoindex.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_autoindex.html.tr.utf8 b/docs/manual/mod/mod_autoindex.html.tr.utf8 new file mode 100644 index 0000000..47d660c --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html.tr.utf8 @@ -0,0 +1,1076 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_autoindex - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_autoindex</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Unix <code>ls</code> veya Win32 <code>dir</code> kabuk komutunun +yaptığı gibi dizin içeriğini listeler.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>autoindex_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_autoindex.c</td></tr></table> +<h3>Özet</h3> + + <p>Bir dizin içerik dosyası iki kaynaktan gelebilir:</p> + + <ul> + <li>Bu dizinde bulunan ve genellikle <code>index.html</code> + adında bir dosya olarak. Kullanılan dosyanın veya dosyaların ismi + <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> yönergesi ile + belirlenir ve <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> tarafından denetlenir.</li> + + <li>Kullanıcı tarafından böyle bir dosya sağlanmadığı takdirde dizin + içerik listesini sunucu üretir. Diğer yönergeler bu listenin biçemini + belirler. Listede gösterilen dosya türü simgeleri <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code> ve <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> yönergeleri ile + belirlenir. Bunlar <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> tarafından + denetlenir.</li> + </ul> + + <p>İki işlev birbirinden ayrı tutulmuştur, böylece kendiliğinden içerik + listesi üretimi tamamen iptal edilebilir (veya değiştirilebilir).</p> + + <p>Kendiliğinden içerik listesi üretimi <code>Options +Indexes</code> ile + etkin kılınabilir. Daha fazla bilgi için <code class="directive"><a href="../mod/core.html#options">Options</a></code> yönergesinin açıklamasına bakınız.</p> + + <p><code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesi + <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> + seçeneği ile kullanılmışsa sütun başlıkları listenin sıralamasını + sütundaki sıralamaya göre değiştirecek hiper bağlar haline getirilir + (süslü liste). Aynı başlığa peşpeşe tıklamak suretiyle sıralamayı + büyükten küçüğe veya tersine değiştirebilirsiniz. Bu sütun başlığı + bağlarının oluşturulması <code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesi <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> seçeneği ile kullanılarak + engellenebilir.</p> + + <p>Boyuta göre sıralamada daima dosyanın asıl boyutuna bakılır. + Dolayısıyla ikisi de "1K" olarak gösterilen iki dosyadan 1010 baytlık + olanı küçükten büyüğe sıralamada 1011 baytlıktan önce + gösterilecektir.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#query">Sütun Sıralamada Sorgu Seçenekleri</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addalt">AddAlt</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbyencoding">AddAltByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addaltbytype">AddAltByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddescription">AddDescription</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addicon">AddIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbyencoding">AddIconByEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addiconbytype">AddIconByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulticon">DefaultIcon</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#headername">HeaderName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexheadinsert">IndexHeadInsert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignore">IndexIgnore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexignorereset">IndexIgnoreReset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexoptions">IndexOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexorderdefault">IndexOrderDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#indexstylesheet">IndexStyleSheet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#readmename">ReadmeName</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autoindex">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autoindex">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="query" id="query">Sütun Sıralamada Sorgu Seçenekleri</a></h2> + + + <p>İstemciye, dizin içeriğini listelerken neleri hangi sırada + listeleyeceğini belirleyebilmesi için içerik üzerinde biraz denetim + sağlayabileceği çeşitli sorgu dizgesi bileşenleri sağlanmıştır. + Çıktı üzerinde kullanıcı denetimini tamamen ortadan kaldırmak için + <code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesinin + <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> + seçeneği kullanılabilir.</p> + + <p>Sütun sıralama başlıklarının her biri hedefi kendisi olan birer hiper + bağ olup aşağıda sıralanan sorgu seçeneklerini kullanırlar. Bu + seçeneklerin her biri her dizin içerik listesi isteğine eklenebilir.</p> + + <ul> + <li><code>C=N</code> dizini dosya adına göre sıralar</li> + + <li><code>C=M</code> dizini son değişiklik zamanına ve ardından dosya + ismine göre sıralar.</li> + + <li><code>C=S</code> dizini boyuta ve ardından dosya adına göre + sıralar</li> + + <li class="separate"><code>C=D</code> dizini açıklamaya ve ardından + dosya adına göre sıralar.</li> + + <li><code>O=A</code> artan sıralama uygulanır.</li> + + <li class="separate"><code>O=D</code> azalan sıralama uygulanır.</li> + + <li><code>F=0</code> listeleme basit listeleme biçiminde yapılır + (<code>FancyIndexing</code> seçeneği ile etkinleştirilen biçimde + değil)</li> + + <li><code>F=1</code> listeleme <code>FancyIndexing</code> seçeneği ile + etkinleştirilen biçimde yapılır</li> + + <li class="separate"><code>F=2</code> listeleme <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> ve + <code><a href="#indexoptions.htmltable">HTMLTable</a></code> seçeneği + ile etkinleştirilen biçimde yapılır.</li> + + <li><code>V=0</code> sürüme göre sıralama iptal edilir.</li> + + <li class="separate"><code>V=1</code> sürüme göre sıralama etkin + kılınır.</li> + + <li><code>P=<var>kalıp</var></code> sadece belirtilen + <code><em>kalıp</em></code> ile eşleşen dosyalar istelenir.</li> + </ul> + + <p><code>P=<var>kalıp</var></code> sorgu seçeneğinin normalde <code class="directive"><a href="#indexignore">IndexIgnore</a></code> yönergesi işleme + sokulduktan sonra değerlendirildiğine ve dosya isimlerinin diğer + kendiliğinden içerik listeleme koşullarının konusu olmaya devam ettiğine + dikkat ediniz. <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> modülündeki Sorgu + Seçenekleri çözümleyicisi tanımadığı bir seçeneğe rastlar rastlamaz + işlemi durdurur. Sorgu Seçenekleri yukarıda belirtilene uygun olarak iyi + biçimli olmak zorundadır.</p> + + <p>Aşağıdaki basit örnekte sorgu seçeneklerinin kullanımı gösterilmiştir. + Son satırda bulunan "submit" düğmesindeki tanınmayan "X" girdisine + dikkat ediniz. "X=Göster" girdisi tüm seçenekler işlendikten sonra + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> tarafından son argüman olarak ele + alınacak ve çözümleme işlemi o noktada duracaktır.</p> + + <div class="example"><h3>Örnek</h3><pre class="prettyprint lang-html"><form action="" method="get"> + <input type="text" name="P" value="*" /> ile eşleşen + <select name="C"> + <option value="N" selected="selected">isme</option> + <option value="M"> değişiklik tarihine</option> + <option value="S"> boyuta</option> + <option value="D"> açıklamaya</option> + </select> göre + <select name="O"> + <option value="A" selected="selected"> artan</option> + <option value="D"> azalan</option> + </select> + <select name="V"> + <option value="0" selected="selected">normal</option> + <option value="1"> sürümlü</option> + </select> sıralamayla bir + <select name="F"> + <option value="0"> basit liste</option> + <option value="1" selected="selected"> süslü liste</option> + <option value="2"> tablolu liste</option> + </select> + <input type="submit" name="X" value="Göster" /> +</form></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAlt" id="AddAlt">AddAlt</a> <a name="addalt" id="addalt">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosyaya göre seçilen simgenin yerinde gösterilecek metni belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddAlt <var>metin</var> <var>dosya</var> [<var>dosya</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAlt</code> yönergesi, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. <code><em>dosya</em></code> olarak dosya türünü + betimleyecek bir dosya uzantısı, dosya isminin bir kısmı, bir dosya ismi + kalıbı veya tam yoluyla bir dosya ismi belirtilebilir. Eğer + <code><em>metin</em></code> boşluk karakterleri içeriyorsa tırnak içine + (<code>"</code> veya <code>'</code>) alınmalıdır. Simge metni, simge + bulunamadığı veya istemci resim gösteremediği takdirde ya da kullanıcı + resim yüklememeyi tercih etmişse gösterilir.</p> + + <pre class="prettyprint lang-config">AddAlt "PDF file" *.pdf +AddAlt Compressed *.gz *.zip *.Z</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByEncoding" id="AddAltByEncoding">AddAltByEncoding</a> <a name="addaltbyencoding" id="addaltbyencoding">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosyanın MIME kodlamasına göre seçilen simgenin yerinde +gösterilecek metni belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddAltByEncoding <var>metin</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByEncoding</code> yönergesi, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. <code><em>MIME-kodlaması</em></code> olarak + <code>x-compress</code> gibi geçerli bir içerik kodlaması + belirtilmelidir. Eğer <code><em>metin</em></code> boşluk karakterleri + içeriyorsa tırnak içine (<code>"</code> veya <code>'</code>) + alınmalıdır. Simge metni simge bulunamadığı veya istemci resim + gösteremediği takdirde ya da kullanıcı resim yüklememeyi tercih etmişse + gösterilir.</p> + + <pre class="prettyprint lang-config">AddAltByEncoding gzip x-gzip</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddAltByType" id="AddAltByType">AddAltByType</a> <a name="addaltbytype" id="addaltbytype">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dosyanın MIME türüne göre seçilen simgenin yerinde gösterilecek +metni belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddAltByType <var>metin</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">AddAltByType</code> yönergesi, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle + üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek + metni belirler. <code><em>MIME-türü</em></code> olarak + <code>text/html</code> gibi geçerli bir içerik türü belirtilmelidir. + Eğer <code><em>metin</em></code> boşluk karakterleri içeriyorsa tırnak + içine (<code>"</code> veya <code>'</code>) alınmalıdır. Simge metni + simge bulunamadığı veya istemci resim gösteremediği takdirde ya da + kullanıcı resim yüklememeyi tercih etmişse gösterilir.</p> + + <pre class="prettyprint lang-config">AddAltByType 'salt metin' text/plain</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDescription" id="AddDescription">AddDescription</a> <a name="adddescription" id="adddescription">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek açıklama belirtilir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddDescription <var>metin dosya</var> [<var>dosya</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Yönerge, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle üretilen dizin listesinde bir + dosya için gösterilecek açıklamayı belirler. <code><em>dosya</em></code> + olarak dosya türünü betimleyecek bir dosya uzantısı, dosya isminin bir + kısmı, bir dosya ismi kalıbı veya tam yoluyla bir dosya ismi + belirtilebilir. Eğer dosya açıklamasını içeren + <code><em>metin</em></code> boşluk karakterleri içeriyorsa çift tırnak + (<code>"</code>) içine alınmalıdır.</p> + + <pre class="prettyprint lang-config">AddDescription "Mars Gezegeni" mars.gif <br /> +AddDescription "Dostum Marshall" dostlar/mars.gif</pre> + + + <p>Normalde öntanımlı açıklama alanının genişliği 23 bayttır. <code><a href="#indexoptions.suppressicon">IndexOptions SuppressIcon</a></code> + seçeneği buna 6 bayt daha ekler; <code><a href="#indexoptions.suppresssize">IndexOptions SuppressSize</a></code> + seçeneği 7 bayt, <code><a href="#indexoptions.suppresslastmodified">IndexOptions SuppressLastModified</a></code> seçeneği ise 19 bayt + ekler. Böylece en fazla 55 karakterlik öntanımlı sütun genişliğine + ulaşılabilir.</p> + + <p><var>dosya</var> kısmî dosya ismi içerebileceğinden çok kısa dosya ismi + belirtilmesi yüzünden istemeden de olsa başka dosyalarla + eşleşebileceğini unutmayın. Örneğin, <code>le.html</code> doğrudan + <code>le.html</code> ile eşleşebileceği gibi <code>example.html</code> + ile de eşleşecektir. Şüpheli durumların ortaya çıkabileceği durumlarda + mümkün olduğunca dosya isminin tamamını kullanın ve saptanan ilk + eşleşmenin kullanılacağını aklınızdan çıkarmayın ayrıca, + <code>AddDescription</code> listesini de uygun şekilde sıralayın.</p> + + <p>Açıklama sütununun öntanımlı genişliği geçersiz kılınabilir hatta + sınırsız açıklama uzunluğu atanabilir. Bu konu için <code class="directive"><a href="#indexoptions">IndexOptions</a></code> yönergesinin <a href="#indexoptions.descriptionwidth"><code>DescriptionWidth</code></a> + seçeneğinin açıklamasına bakınız.</p> + + <div class="note"><h3>Önemli</h3> + <p><code class="directive">AddDescription</code> ile tanımlanan açıklama metni + HTML etiketleri ve karakter öğeleri içerebilir. Eğer açıklama + sütununun genişlik sınırlamasından dolayı bir HTML etiketinin içeriği + kırpılırsa bu durum dizin listesinin kalanını etkileyebilir (örneğin, + kalın gösterim listenin kalanına yayılabilir).</p> + </div> + + <div class="note"><h3>Yol bilgisi içeren değiştirgeler</h3> + <p>Mutlak yollar henüz desteklenmemetedir ve çalışma anında hiçbir şeyle + eşleşmeyeceklerdir. Normalde sadece htaccess bağlamında kullanılan, + göreli yol bilgisi içeren değiştirgeler, kısmi dizin isimleriyle + eşleşmemeleri için örtük olarak '*/' öneki alırlar.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIcon" id="AddIcon">AddIcon</a> <a name="addicon" id="addicon">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek simgeyi dosya adına göre belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddIcon <var>simge</var> <var>isim</var> [<var>isim</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Yönerge, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle üretilen dizin listesinde adı + <code><em>isim</em></code> ile biten bir dosya için gösterilecek simgeyi + belirler. <code><em>simge</em></code> ya simgenin göreli URL’si (% + öncelemeli), tam nitelenmiş bir uzak URL ya da + <code>(<var>alt-metin</var>,<var>url</var>)</code> + biçeminde olmalıdır; buradaki <code><em>alt-metin</em></code> simge + gösterilemediği durumda tarayıcı tarafından simgenin yerinde + gösterilecek metindir.</p> + + <p><code><em>isim</em></code> olarak ya (listeyi düzgün biçemlemek + amacıyla) dizinler için <code>^^DIRECTORY^^</code>, boş satırlar için + <code>^^BLANKICON^^</code> ya da dosya türünü betimleyecek bir dosya + uzantısı, dosya isminin bir kısmı, bir dosya ismi kalıbı veya tam + yoluyla bir dosya ismi belirtilebilir.</p> + + <p><code>^^BLANKICON^^</code> sadece biçemleme için kullanılır, + dolayısıyla <code>IndexOptions HTMLTable</code> kullanıyorsanız + gereksizdir.</p> + + <pre class="prettyprint lang-config">#Examples +AddIcon (IMG,/icons/image.png) .gif .jpg .png +AddIcon /icons/dir.png ^^DIRECTORY^^ +AddIcon /icons/backup.png *~</pre> + + + <p>Mümkünse <code class="directive">AddIcon</code> yerine <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> yönergesi tercih + edilmelidir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByEncoding" id="AddIconByEncoding">AddIconByEncoding</a> <a name="addiconbyencoding" id="addiconbyencoding">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek simgeyi dosyanın MIME kodlamasına +göre belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddIconByEncoding <var>simge</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Yönerge, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle üretilen dizin listesinde bir + dosya için gösterilecek simgeyi belirler. <code><em>simge</em></code> ya + simgenin göreli URL’si (% öncelemeli), tam nitelenmiş uzak bir URL ya da + <code>(<var>alt-metin</var>,<var>url</var>)</code> biçeminde olmalıdır; + buradaki <code><em>alt-metin</em></code> simge gösterilemediği durumda + tarayıcı tarafından simgenin yerinde gösterilecek metindir.</p> + + <p><code><em>MIME-kodlaması</em></code> olarak <code>x-compress</code> + gibi geçerli bir içerik kodlaması belirtilmelidir.</p> + + <pre class="prettyprint lang-config">AddIconByEncoding /icons/compress.png x-compress</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddIconByType" id="AddIconByType">AddIconByType</a> <a name="addiconbytype" id="addiconbytype">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya için gösterilecek simgeyi dosyanın MIME türüne göre +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>AddIconByType <var>simge</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p>Yönerge, <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle üretilen dizin listesinde MIME + türü <code><em>MIME-türü</em></code> olarak belirtilen bir dosya için + gösterilecek simgeyi belirler. <code><em>simge</em></code> ya simgenin + göreli URL’si (% öncelemeli), tam nitelenmiş uzak bir URL ya da + <code>(<var>alt-metin</var>,<var>url</var>)</code> biçeminde olmalıdır; + buradaki <code><em>alt-metin</em></code> simge gösterilemediği durumda + tarayıcı tarafından simgenin yerinde gösterilecek metindir.</p> + + <p><var>MIME-türü</var> MIME türleri ile eşleşen bir dosya kalıbı ifadesi + olabilir.</p> + + <pre class="prettyprint lang-config">AddIconByType (IMG,/icons/image.png) image/*</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultIcon" id="DefaultIcon">DefaultIcon</a> <a name="defaulticon" id="defaulticon">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Özel bir simge atanmamış dosyalar için gösterilecek simgeyi +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DefaultIcon <var>URL-yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p>The <code class="directive">DefaultIcon</code> yönergesi <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğiyle + üretilen dizin listesinde özel bir simge atanmamış dosyalar için + gösterilecek simgeyi belirler. <code><em>URL-yolu</em></code> simgeye + bir göreli URL (% öncelemeli) veya tam nitelenmiş uzak bir URL + belirtir.</p> + + <pre class="prettyprint lang-config">DefaultIcon /icon/unknown.png</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeaderName" id="HeaderName">HeaderName</a> <a name="headername" id="headername">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin listesinin tepesine yerleştirilecek dosyanın ismini +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>HeaderName <var>dosya-ismi</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">HeaderName</code> yönergesi, dizin listesinin tepesine + yerleştirilecek dosyanın ismini belirler. Dosyanın ismi + <code><em>dosya-ismi</em></code> ile belirtilir.</p> + + <pre class="prettyprint lang-config">HeaderName HEADER.html</pre> + + + <div class="note"> + <p><code>HeaderName</code> and <code class="directive"><a href="#readmename">ReadmeName</a></code> yönergelerinde + <code><em>dosya-ismi</em></code> artık içeriği listelenecek dizine + erişmek için kullanılan bir göreli URL yolu olarak ele alınmaktadır. + Eğer <code><em>dosya-ismi</em></code> bir bölü çizgisi ("/") ile + başlıyorsa <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + yönergesinde belirtilen dizine göre belirtildiği varsayılır.</p> + + <pre class="prettyprint lang-config">HeaderName /include/HEADER.html</pre> + + + <p><code><em>dosya-ismi</em></code>, içerik türü <code>text/*</code> + (<code>text/html</code>, <code>text/plain</code> gibi) olan bir belge + olarak çözümlenmelidir. Yani, aşağıdaki örnekteki gibi betiğin asıl + dosya türü <code>text/html</code> olarak imlenmişse + <code><em>dosya-ismi</em></code> bir CGI betiğinin ismi bile + olabilir:</p> + + <pre class="prettyprint lang-config">AddType text/html .cgi</pre> + + + <p><code class="directive"><a href="../mod/core.html#options">Options</a></code> ile + <code>MultiViews</code> etkin kılınmışsa dosyaya <a href="../content-negotiation.html">içerik dili uzlaşımı</a> da + uygulanabilir. <code><em>dosya-ismi</em></code> ile belirtilen dosya + <code>text/html</code> türünde durağan bir belge (bir CGI betiği + değil) ise ve <code class="directive"><a href="../mod/core.html#options">options</a></code> ile + <code>Includes</code> ve <code>IncludesNOEXEC</code> seçeneklerinden + biri belirtilmişse dosya bir SSI sayfası olarak ele alınır + (<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> belgesine bakınız).</p> + </div> + + <p>Eğer yönergede belirtilen dosya bir HTML belge gibi başlıyorsa + (<html>, <head>, vs.) ve bu etiketlerin yinelenmemesini + istiyorsanız <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions +SuppressHTMLPreamble</code></a> ataması yapmanız + gerekecektir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#readmename">ReadmeName</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a> <a name="indexheadinsert" id="indexheadinsert">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dizin sayfasının HEAD bölümüne metin yerleştirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexHeadInsert <var>"imlenim ..."</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexHeadInsert</code> yönergesi, dizin listesi için + üretilen HTML’nin <var><head></var> bölümüne yerleştirilecek bir + dizge tanımlar.</p> + <pre class="prettyprint lang-config">IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a> <a name="indexignore" id="indexignore">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexIgnore <var>dosya</var> [<var>dosya</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>IndexIgnore "."</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexIgnore</code> yönergesi, dizin içerik listesinden + gizlenecek dosyaların listesini belirtmek için kullanılır. + <code><em>dosya</em></code> olarak kabuk tarzı bir dosya ismi kalıbı + veya tam yoluyla bir dosya ismi belirtilebilir. Evvelce yapılmış bir + atamada değişiklik yapmak yerine birden fazla + <code class="directive">IndexIgnore</code> ataması yapabilirsiniz. Liste + öntanımlı olarak içinde bulunulan dizini (<code>./</code>) içerir.</p> + + <pre class="prettyprint lang-config">IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</pre> + + + <div class="note"><h3>Düzenli İfadeler</h3> + <p>Bu yönerge, <code class="directive"><a href="../mod/core.html#directorymatch"><DirectoryMatch></a></code> gibidüzenli ifadeler içeren yapılandırma + bölümlerinde henüz çalışmamaktadır.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexIgnoreReset" id="IndexIgnoreReset">IndexIgnoreReset</a> <a name="indexignorereset" id="indexignorereset">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dizini listelerken gizlenecek dosyalar listesini boşaltır +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexIgnoreReset ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.10 ve sonraki sürümlerinde kullanılabilmektedir.</td></tr> +</table> + <p>Bu yönerge, diğer yapılandırma bölümlerince bir şekilde miras alınmayan + ve <code class="directive"><a href="#indexignore">IndexIgnore</a></code> tarafından + yoksayılan dosyaları kaldırır. </p> + + <pre class="prettyprint lang-config"><Directory "/var/www"> + IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t +</Directory> +<Directory "/var/www/backups"> + IndexIgnoreReset ON + IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t +</Directory></pre> + + + <div class="warning"><p>Bu yönergeyi kullandıktan sonra, açıkça yoksaymak + istediğiniz kalıpların bir listesi için öntanımlı yapılandırmayı gözden + geçirin.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOptions" id="IndexOptions">IndexOptions</a> <a name="indexoptions" id="indexoptions">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin içerik listesini yapılandıracak seçenekler belirtilir. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexOptions [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Öntanımlı olarak hiçbir seçenek etkin değildir.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOptions</code> yönergesi dizin içerik listesinin + davranışını belirler. <code><em>seçenek</em></code> olarak şunlar + belirtilebilir:</p> + + <dl> + <dt><a name="indexoptions.addaltclass" id="indexoptions.addaltclass">AddAltClass</a></dt> + <dd><code>IndexOptions HTMLTable</code> etkin ve bir + <code>IndexStyleSheet</code> tanımlı olduğunda dizin listesi + tablosunun her satırına fazladan bir CSS sınıfı bildirimi ekler. + Tablonun her satırına uygulanmaması için standart <code>even</code> ve + <code>odd</code> sınıfları yerine <code>even-<em>ALT</em></code> ve + <code>odd-<em>ALT</em></code> bildirimleri kullanılabilir. Burada + <em>ALT</em> ya bir dosya biçimiyle ilişkili standat bir alt + dizgesidir ya da <code>AddAlt*</code> yönergeleriyle tanımlanan bir + alt dizgesidir. + </dd> + + <dt><a name="indexoptions.charset" id="indexoptions.charset"><code>Charset=<em>karakter-kümesi</em></code></a></dt> + + <dd><code>Charset</code> seçeneği üretilen sayfa için bir karakter + kümesi belirtebilmenizi sağlar. Dizinin bulunduğu dosya sisteminin + karakter kodlamasına bağlı olarak öntanımlı değeri Windows ve Mac OS + X'te <var>UTF-8</var>, diğerlerinde <var>ISO-8859-1</var>’dir (İlgili + dosya sisteminin Unicode dosya isimleri kullanıp kullanmamasına + bağlıdır). + + <pre class="prettyprint lang-config">IndexOptions Charset=UTF-8</pre> + + </dd> + + <dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth"><code>DescriptionWidth=[<em>n</em> | *]</code></a></dt> + + <dd><p><code>DescriptionWidth</code> seçeneği üretilen sayfada açıklama + sütununun genişliğini sizin belirleyebilmenizi sağlar. Bu seçenek + kullanılmadığında veya <code>-DescriptionWidth</code> olarak + belirtildiğinde uygun genişliği <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + hesaplar.</p> + + <p><code>DescriptionWidth=<em>n</em></code> ile açıklama sütununun + genişliği <code><em>n</em></code> baytla sınırlanır.</p> + + <p><code>DescriptionWidth=*</code> ile açıklama sütununun genişliği en + uzun açıklama metni sığacak şekilde arttırılır.</p> + + <p><strong>Sütun genişliğinin sabitliği nedeniyle metnin + kırpılmasından kaynaklanan sorunlar için <code class="directive"><a href="#adddescription">AddDescription</a></code> yönergesinin + açıklamasına bakınız.</strong></p></dd> + + <dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing"><code>FancyIndexing</code></a></dt> + + <dd>Dizin içerik listesi süslü olur.</dd> + + <dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst"><code>FoldersFirst</code></a></dt> + + <dd>Bu seçenek etkin kılındığında dizin içerik listesinde alt dizinler + dosyalardan önce listelenir. Listelemede genel olarak iki bileşen + vardır: Alt dizinler ve dosyalar. Her biri kendi arasında sıraya + dizilir ve alt dizinlerin tamamı dosyalardan önce gösterilir. Örneğin + sıralama isme göre azalan sırada yapılıyorsa ve + <code>FoldersFirst</code> etkinse <code>Zed</code> dizini listede + <code>Beta</code> dizininden ve <code>Gamma</code> ve + <code>Alpha</code> dosyalarından önce yer alacaktır. <strong>Bu + seçenek sadece <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> seçeneği etkinse etkili + olacaktır.</strong></dd> + + <dt><a name="indexoptions.htmltable" id="indexoptions.htmltable"><code>HTMLTable</code></a></dt> + + <dd><a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + seçeneği ile birlikte süslü listeleme için basit bir tablo oluşturur. + UTF-8'in etkin olduğu platformlarda gereklidir. Bununla birlikte, + Linux, WinNT gibi sağdan sola veya soldan sağa yazım yönünün değiştiği + platformlarda dosya isimleri ve açıklamalar için bu özellikle gerekli + olabilir.</dd> + + <dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks"><code>IconsAreLinks</code></a></dt> + + <dd>Bu seçenek <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> seçeneği ile birlikte süslü + listelemede dosya simgesini dosyaya bir hiper bağ haline getirir.</dd> + + <dt><a name="indexoptions.iconheight" id="indexoptions.iconheight"><code>IconHeight[=<em>benek-sayısı</em>]</code></a></dt> + + <dd>Bu seçeneğin varlığı <code>IconWidth</code> seçeneği ile + kullanıldığında dosya simgesinin <code>img</code> etiketinin + <code>height</code> ve <code>width</code> özniteliklerini içermesine + sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden + sayfa yerleşimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek + bir değer belirtilmeksizin kullanıldığında Apache http tarafından + atanmış standart simge yüksekliği öntanımlıdır. <strong>Bu + seçenek sadece <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> seçeneği etkinse etkili + olacaktır.</strong></dd> + + <dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth"><code>IconWidth[=<em>benek-sayısı</em>]</code></a></dt> + + <dd>Bu seçeneğin varlığı <code>IconHeight</code> seçeneği ile + kullanıldığında dosya simgesinin <code>img</code> etiketinin + <code>height</code> ve <code>width</code> özniteliklerini içermesine + sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden + sayfa yerleşimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek + bir değer belirtilmeksizin kullanıldığında Apache httpd tarafından + atanmış standart simge genişliği öntanımlıdır.</dd> + + <dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase"><code>IgnoreCase</code></a></dt> + + <dd>Bu seçenek etkin kılındığında isimler harf büyüklüğüne duyarsız + sıralanır. Örneğin, isme göre artan sıralamada <code>IgnoreCase</code> + etkinse Zeta dosyası alfa dosyasından sonra listelenir (Dikkat: GAMMA + daima gamma’dan önce listelenir.)</dd> + + <dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient"><code>IgnoreClient</code></a></dt> + + <dd>Bu seçenek <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>’in listenin sıralanmasına + etki edenler dahil tüm sorgu değişkenlerini yoksaymasına sebep olur + (örtük olarak <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> uygulanır).</dd> + + <dt><a name="indexoptions.namewidth" id="indexoptions.namewidth"><code>NameWidth=[<em>n</em> | *]</code></a></dt> + + <dd><p><code>NameWidth</code> seçeneği dosya ismi sütunu için bir + genişlik belirtebilmenizi mümkün kılar.</p> + + <p>Hiç belirtilmediğinde veya <code>-NameWidth</code> biçeminde + belirtildiğinde <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> uygun genişliği kendisi + hesaplayacaktır, fakat en fazla 20 karakter olabilir.</p> + + <p><code>NameWidth=<em>n</em></code> ile sütun genişliği + <code><em>n</em></code> bayt genişlikte sabitlenir.</p> + + <p><code>NameWidth=*</code> olduğunda ise sütun genişliği en geniş + satırın sığacağı kadar arttırılır.</p></dd> + + <dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles"><code>ScanHTMLTitles</code></a></dt> + + <dd>Bu seçenek süslü listeleme için HTML belgelerden sayfa başlığının + okunmasını sağlar. Dosya için <code class="directive"><a href="#adddescription">AddDescription</a></code> ile bir açıklama tanımlanmımışsa Apache + httpd belgenin <code>title</code> etiketinin içeriğini okuyacaktır. Bu + seçenek işlemciyi ve diski fazla meşgul eder.</dd> + + <dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden"><code>ShowForbidden</code></a></dt> + + <dd>Alt istek <code>HTTP_UNAUTHORIZED</code> veya + <code>HTTP_FORBIDDEN</code> döndürdüğünden dolayı normalde gizli olan + dosyalar bu seçenek belirtilmişse listede gösterilir.</dd> + + <dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting"><code>SuppressColumnSorting</code></a></dt> + + <dd>Bu seçenek belirtilmişse Apache, süslü dizin listesinde sütun + başlıklarını sıralama için hiper bağ haline getirmeyecektir. Sütun + başlıkları için öntanımlı davranış hiper bağ olmak olup bunlar + seçilerek dizin listesinin o sütundaki değerlere göre sıralanması + sağlanır. Bu davranış <a href="#indexoptions.ignoreclient"><code>IndexOptions IgnoreClient</code></a> ile sağlanmaktadır.</dd> + + <dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription"><code>SuppressDescription</code></a></dt> + + <dd>Süslü listelemede dosya açıklamalarının gösterilmesini engeller. + Öntanımlı olarak hiçbir dosya açıklaması tanımlı değildir, dolayısıyla + bu seçenek kullanılarak ekran genişliğinden 23 karakterlik yer + kazanılabilir. Dosya açıklamalarının nasıl belirlendiğini öğrenmek + için <code class="directive"><a href="#adddescription">AddDescription</a></code> + yönergesinin açıklamasına bakınız. Ayrıca, açıklama sütununun + genişliğini ayarlayan <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code> dizin listeleme seçeneğine de + bakınız. <strong>Bu seçenek sadece + <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + seçeneği etkinse etkili olacaktır.</strong></dd> + + <dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble"><code>SuppressHTMLPreamble</code></a></dt> + + <dd>Eğer dizin aslında <code class="directive"><a href="#headername">HeaderName</a></code> yönergesi ile belirtilmiş bir dosya içeriyorsa + modül normal olarak bu dosyanın içeriğinin öncesine HTML başlangıç + etiketlerini (<code><html></code>, <code><head></code>, + vs.) yerleştirir. Bu seçenek bu davranışı iptal ederek modülün dosya + içeriğinin başlangıcına bir şey eklememesini sağlar. Bu durumda başlık + dosyasının uygun HTML etiketlerini içermesi gerekir. Böyle bir başlık + dosyası yoksa normal olarak HTML başlangıç etiketleri üretilir. Eğer + bir <code class="directive"><a href="#readmename">ReadmeName</a></code> yönergesi + de belirtilirse ve bu dosya mevcutsa, kapayan + </body></html> etiketleri de çıktı bulunmaz. Buna + dayanarak bu etiketleri de sizin koymanız gerekebilir.</dd> + + <dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon"><code>SuppressIcon</code></a> + </dt> + + <dd>Süslü dizin listesinde dosya simgelerinin gösterilmesini engeller. + Son belirtim, süslü dizin listelemede kullanılan <code>pre</code> + etiketinin içeriğinde <code>img</code> ve <code>hr</code> + etiketlerinin bulunmasına izin vermediğinden <code>SuppressIcon</code> + ve <code>SuppressRules</code> seçenekleri birlikte kullanılarak HTML + 3.2 belirtimine uyum sağlanır.</dd> + + <dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified"><code>SuppressLastModified</code></a></dt> + + <dd>Süslü dizin listelemede son değişiklik tarihinin gösterilmesi + engellenir. <strong>Bu seçenek sadece + <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + seçeneği etkinse etkili olacaktır.</strong></dd> + + <dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules"><code>SuppressRules</code></a> + </dt> + + <dd>Dizin listelemede <code>hr</code> etiketinin kullanımını engeller. + Son belirtim, süslü dizin listelemede kullanılan <code>pre</code> + etiketinin içeriğinde <code>img</code> ve <code>hr</code> + etiketlerinin bulunmasına izin vermediğinden <code>SuppressIcon</code> + ve <code>SuppressRules</code> seçenekleri birlikte kullanılarak HTML + 3.2 belirtimine uyum sağlanır. <strong>Bu seçenek sadece + <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + seçeneği etkinse etkili olacaktır.</strong></dd> + + <dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize"><code>SuppressSize</code></a></dt> + + <dd>Süslü dizin listelemede dosya boyutunun gösterilmesi engellenir. + <strong>Bu seçenek sadece + <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + seçeneği etkinse etkili olacaktır.</strong> + </dd> + + <dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified"><code>TrackModified</code></a> + </dt> + + <dd>Bu seçenek listelenen dizin için HTTP başlığında + <code>Last-Modified</code> ve <code>ETag</code> alanlarının dönmesini + sağlar. Sadece işletim sistemi veya dosya sistemi uygun stat() + sonuçlarını döndürüyorsa bu geçerlidir. Bazı Unix sistemleri ve + OS/2'nin JFS'si ile Win32’nin NTFS’i böyledir. Ancak OS/2 ve Win32 FAT dosya + sistemleri böyle değildir. Bu özellik etkin kılındığında istemci veya + vekil <code>HEAD</code> istekleriyle dosya listesindeki değişiklikleri + izleyebilirler. Yalnız, bazı işletim sistemlerinin yeni ve silinmiş + dosyaların izini iyi sürdüğü halde dizin içindeki dosyaların boyut ve + tarih değişikliklerini izlemediklerine dikkat ediniz. <strong>Mevcut + bir dosyanın boyut ve zaman damgasındaki değişiklikler + <code>Last-Modified</code> başlığının güncellenmesini tüm Unix + sistemlerinde sağlamaz</strong>. Bu gibi durumlarda bu seçeneğin + kapalı kalması daha iyidir.</dd> + + <dt><a name="indexoptions.type" id="indexoptions.type">Type=<var>MIME-türü</var></a></dt> + + <dd><code>Type</code> anahtar sözcüğü üretilen sayfanın MIME içerik + türünün belirtilebilmesini sağlar. <var>text/html</var> öntanımlıdır. + + <pre class="prettyprint lang-config">IndexOptions Type=text/plain</pre> + + </dd> + + <dt><a name="indexoptions.useolddateformat" id="indexoptions.useolddateformat">UseOldDateFormat</a> + (<em>Apache HTTP Sunucusu 2.4.26 ve sonrasında</em>)</dt> + + <dd><code>Last Modified</code> alanı tarafından kullanılan tarih biçemi + <code>"%Y-%m-%d %H:%M"</code> dikkatsizlik sonucu 2.4.0 sürümünde + <code>"%d-%b-%Y %H:%M"</code> olarak değişmiştir. Bu seçenekle tarih + biçemini 2.2 ve öncesindeki biçemiyle kullanabilirsiniz.</dd> + + + <dt><a name="indexoptions.versionsort" id="indexoptions.versionsort"><code>VersionSort</code></a> + </dt> + + <dd><code>VersionSort</code> seçeneği isimlerinde sürüm numarası bulunan + dosyaların sayısal sıralamaya uygun olarak sıralanmalarını sağlar. + Normalde sıralama karakter sıralamasına göre yapılır, ardından sürüm + numaralı dosyalar veya açıklamalar kendi aralarında sayısal sıralamaya + tabi tutulur. + + <div class="example"><h3>Örnek:</h3><p><code> + foo-1.7<br /> + foo-1.7.2<br /> + foo-1.7.12<br /> + foo-1.8.2<br /> + foo-1.8.2a<br /> + foo-1.12 + </code></p></div> + + <p>Sıfır ile başlalan numaralara ondalık sayı muamelesi yapılır:</p> + + <div class="example"><p><code> + foo-1.001<br /> + foo-1.002<br /> + foo-1.030<br /> + foo-1.04 + </code></p></div> + </dd> + + <dt><a name="indexoptions.xhtml" id="indexoptions.xhtml"><code>XHTML</code></a></dt> + + <dd><code>XHTML</code> seçeneği <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>’in kodu + HTML 3.2’ye değil XHTML 1.0’a uygun üretmesini sağlar. + <strong>Bu seçenek sadece + <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> + seçeneği etkinse etkili olacaktır.</strong></dd> + </dl> + + + <dl><dt><code>+</code> veya <code>-</code> Önekli Seçenekler</dt> + <dd> + <p>Çok sayıda <code class="directive">IndexOptions</code> yönergesinin + işlenebileceğine dikkat edin.</p> + + <ul> + <li>Tek bir dizin için çok sayıda <code class="directive">IndexOptions</code> + yönergesi belirtilmişse bunlar ayrı ayrı değil birlikte ele alınır. + Yani, + + <pre class="prettyprint lang-config"><Directory "/foo"> + IndexOptions HTMLTable + IndexOptions SuppressColumnsorting +</Directory></pre> + + + <p>yapılandırmasındaki <code class="directive">IndexOptions</code> + yönergeleri</p> + + <pre class="prettyprint lang-config">IndexOptions HTMLTable SuppressColumnsorting</pre> + + + <p>yönergesine eşdeğerdir.</p> + </li> + + <li>Seçeneklerde <code>+</code> veya <code>-</code> önekleri + kullanılabilmektedir.</li> + </ul> + + <p><code>+</code> veya <code>-</code> önekli seçeneklere rastlandığında + bunlar mevcut (üst dizinden miras alınanlar ve/veya önceki atamalar) + <code class="directive">IndexOptions</code> yönergelerine uygulanır. Ancak, + önek kullanılmamış bir seçeneğe raslandığında, o noktada önceki ve + miras alınmış bu tür seçenekler iptal edilir. Şu örneği ele + alalım:</p> + + <pre class="prettyprint lang-config">IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing +IndexOptions +SuppressSize</pre> + + + <p>Bunun net etkisi + <code>IndexOptions FancyIndexing +SuppressSize</code> + atamasına eşdeğerdir, çünkü öneksiz <code>FancyIndexing</code> + seçeneği kendinden önceki önekli seçenekleri iptal etmiş fakat hemen + ardından eklenmelerine izin vermiştir.</p> + + <p>Belli bir dizine önceki seçenekleri temizleyerek koşulsuz olarak + tamamen yeni seçenekler atamak istiyorsanız + <code class="directive">IndexOptions</code> yönergesinde seçenekleri + <code>+</code> veya <code>-</code> öneklerini kullanmadan + belirtiniz.</p> + </dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexOrderDefault" id="IndexOrderDefault">IndexOrderDefault</a> <a name="indexorderdefault" id="indexorderdefault">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin içerik listesinin öntanımlı sıralamasını belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>IndexOrderDefault Ascending Name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexOrderDefault</code> yönergesi <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code> seçeneğinin + etkin olduğu durumda işe yarar. Öntanımlı olarak süslü listelemede dizin + içeriği dosya ismine göre artan sıralamayla listelenir. + <code class="directive">IndexOrderDefault</code> yönergesi bu öntanımlı + sıralamanın değiştirilmesini mümkün kılar.</p> + + <p><code class="directive">IndexOrderDefault</code> yönergesi iki değer alır. İlki + sıralama yönünü belirtmek üzere <code>Ascending</code> (küçükten büyüğe) + veya <code>Descending</code> (büyükten küçüğe) olmak zorundadır. İkinci + değer ise birincil sıralama anahtarını belirtmek üzere + <code>Name</code>, <code>Date</code>, <code>Size</code> ve + <code>Description</code> sözcüklerinden biri olmalıdır (anlamları + sırayla: İsim, Tarih, Boyut, Açıklama). İkincil sıralama anahtarı + <em>daima</em> artan sıralamayla dosya ismidir.</p> + + <p>Sütunun tepesindeki sıralama bağını kaldırmak için + <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> seçeneğinin yanında, sıralama + tercihlerinizi geçersiz kılmak için sorgu dizgesine elle sıralama + seçenekleri eklenmesini engellemek için + <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> + seçeneğini de kullanarak istemcinin listeyi yeniden sıralamasını + engelleyebilirsiniz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IndexStyleSheet" id="IndexStyleSheet">IndexStyleSheet</a> <a name="indexstylesheet" id="indexstylesheet">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin listesine bir biçembent ekler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>IndexStyleSheet <var>url-yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">IndexStyleSheet</code> yönergesi dizin listelemesi için + kullanılacak biçembent dosyasının ismini belirtmek için kullanılır.</p> + + <pre class="prettyprint lang-config">IndexStyleSheet "/css/style.css"</pre> + + + <p>Bu yönergenin <code>IndexOptions HTMLTable</code> ile birlikte + kullanılması sonuçlanan HTML dosyasına bir miktar CSS sınıfı ekler. + Tablonun tamamı <code>indexlist</code> için bir CSS kimliği verir ve + aşağıdaki sınıflar listenin çeşitli parçalarıyla ilişkilendirilir:</p> + + <table class="bordered"><tr class="header"><th>Sınıf</th><th>Tanım</th></tr> +<tr><td>tr.indexhead</td> + <td>Liste satırının başlığı</td></tr> +<tr class="odd"><td>th.indexcolicon and td.indexcolicon</td> + <td>Simge sütunu</td></tr> +<tr><td>th.indexcolname and td.indexcolname</td> + <td>Dosya ismi sütunu</td></tr> +<tr class="odd"><td>th.indexcollastmod and td.indexcollastmod</td> + <td>Son değişiklik sütunu</td></tr> +<tr><td>th.indexcolsize and td.indexcolsize</td> + <td>Dosya boyutu sütunu</td></tr> +<tr class="odd"><td>th.indexcoldesc and td.indexcoldesc</td> + <td>Açıklama sütunu</td></tr> +<tr><td>tr.breakrow</td> + <td>Tablonun altınaki yatay çizgi</td></tr> +<tr class="odd"><td>tr.odd and tr.even</td> + <td>Tek ve çift satırlar</td></tr> +</table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReadmeName" id="ReadmeName">ReadmeName</a> <a name="readmename" id="readmename">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin listesinin sonuna yerleştirilecek dosyanın ismini +belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ReadmeName <var>dosya-ismi</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_autoindex</td></tr> +</table> + <p><code class="directive">ReadmeName</code> yönergesi dizin listesinin sonuna + eklenecek dosyanın ismini belirler. <code><em>dosya-ismi</em></code> ile + listeye dahil edilecek dosyanın ismi listelenen dizine göreli olarak + belirtilir. Eğer dosya ismi 2. örnekteki gibi bir bölü çizgisi ile + başlıyorsa <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>’a göreli + belirtildiği varsayılır.</p> + + <pre class="prettyprint lang-config"># 1. Örnek +ReadmeName FOOTER.html</pre> + + + <pre class="prettyprint lang-config"># 2. Örnek +ReadmeName /include/FOOTER.html</pre> + + + <p>Ayrıca bu davranışın daha ayrıntılı ele alındığı <code class="directive"><a href="#headername">HeaderName</a></code> yönergesine de + bakınız.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_autoindex.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_autoindex.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_autoindex.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_brotli.html b/docs/manual/mod/mod_brotli.html new file mode 100644 index 0000000..dc9b5c2 --- /dev/null +++ b/docs/manual/mod/mod_brotli.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_brotli.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_brotli.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_brotli.html.en b/docs/manual/mod/mod_brotli.html.en new file mode 100644 index 0000000..97afac1 --- /dev/null +++ b/docs/manual/mod/mod_brotli.html.en @@ -0,0 +1,349 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_brotli - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_brotli</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_brotli.html" title="English"> en </a> | +<a href="../fr/mod/mod_brotli.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Compress content via Brotli before it is delivered to the +client</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>brotli_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_brotli.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.26 and later.</td></tr></table> +<h3>Summary</h3> + + <p>The <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> module provides + the <code>BROTLI_COMPRESS</code> output filter that allows output from + your server to be compressed using the brotli compression format before being sent to the client over + the network. This module uses the Brotli library found at + <a href="https://github.com/google/brotli">https://github.com/google/brotli</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#recommended">Sample Configurations</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Compression</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Dealing with proxy servers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Serving pre-compressed +content</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlialteretag">BrotliAlterETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlifilternote">BrotliFilterNote</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_brotli">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_brotli">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filters</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="recommended" id="recommended">Sample Configurations</a></h2> + <div class="warning"><h3>Compression and TLS</h3> + <p>Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries compressed data. For more + information, review the details of the "BREACH" family of attacks.</p> + </div> + <p>This is a simple configuration that compresses common text-based content types.</p> + + <div class="example"><h3>Compress only a few types</h3><pre class="prettyprint lang-config">AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript</pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Enabling Compression</a></h2> + <div class="warning"><h3>Compression and TLS</h3> + <p>Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries compressed data. For more + information, review the details of the "BREACH" family of attacks.</p> + </div> + + <h3><a name="output" id="output">Output Compression</a></h3> + <p>Compression is implemented by the <code>BROTLI_COMPRESS</code> + <a href="../filter.html">filter</a>. The following directive + will enable compression for documents in the container where it + is placed:</p> + + <pre class="prettyprint lang-config">SetOutputFilter BROTLI_COMPRESS +SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli</pre> + + + <p>If you want to restrict the compression to particular MIME types + in general, you may use the <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> directive. Here is an example of + enabling compression only for the html files of the Apache + documentation:</p> + + <pre class="prettyprint lang-config"><Directory "/your-server-root/manual"> + AddOutputFilterByType BROTLI_COMPRESS text/html +</Directory></pre> + + + <div class="note"><h3>Note</h3> + The <code>BROTLI_COMPRESS</code> filter is always inserted after RESOURCE + filters like PHP or SSI. It never touches internal subrequests. + </div> + <div class="note"><h3>Note</h3> + There is an environment variable <code>no-brotli</code>, + set via <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, which + will disable brotli compression for a particular request, even if + it is supported by the client. + </div> + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="proxies" id="proxies">Dealing with proxy servers</a></h2> + + <p>The <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> module sends a <code>Vary: + Accept-Encoding</code> HTTP response header to alert proxies that + a cached response should be sent only to clients that send the + appropriate <code>Accept-Encoding</code> request header. This + prevents compressed content from being sent to a client that will + not understand it.</p> + + <p>If you use some special exclusions dependent + on, for example, the <code>User-Agent</code> header, you must + manually configure an addition to the <code>Vary</code> header + to alert proxies of the additional restrictions. For example, + in a typical configuration where the addition of the <code>BROTLI_COMPRESS</code> + filter depends on the <code>User-Agent</code>, you should add:</p> + + <pre class="prettyprint lang-config">Header append Vary User-Agent</pre> + + + <p>If your decision about compression depends on other information + than request headers (<em>e.g.</em> HTTP version), you have to set the + <code>Vary</code> header to the value <code>*</code>. This prevents + compliant proxies from caching entirely.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">Header set Vary *</pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="precompressed" id="precompressed">Serving pre-compressed +content</a></h2> + + <p>Since <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> re-compresses content each + time a request is made, some performance benefit can be derived by + pre-compressing the content and telling mod_brotli to serve them + without re-compressing them. This may be accomplished using a + configuration like the following:</p> + + <pre class="prettyprint lang-config"><IfModule mod_headers.c> + # Serve brotli compressed CSS files if they exist + # and the client accepts brotli. + RewriteCond "%{HTTP:Accept-encoding}" "br" + RewriteCond "%{REQUEST_FILENAME}\.br" "-s" + RewriteRule "^(.*)\.css" "$1\.css\.br" [QSA] + + # Serve brotli compressed JS files if they exist + # and the client accepts brotli. + RewriteCond "%{HTTP:Accept-encoding}" "br" + RewriteCond "%{REQUEST_FILENAME}\.br" "-s" + RewriteRule "^(.*)\.js" "$1\.js\.br" [QSA] + + + # Serve correct content types, and prevent double compression. + RewriteRule "\.css\.br$" "-" [T=text/css,E=no-brotli:1] + RewriteRule "\.js\.br$" "-" [T=text/javascript,E=no-brotli:1] + + + <FilesMatch "(\.js\.br|\.css\.br)$"> + # Serve correct encoding type. + Header append Content-Encoding br + + # Force proxies to cache brotli & + # non-brotli css/js files separately. + Header append Vary Accept-Encoding + </FilesMatch> +</IfModule></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrotliAlterETag" id="BrotliAlterETag">BrotliAlterETag</a> <a name="brotlialteretag" id="brotlialteretag">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How the outgoing ETag header should be modified during compression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BrotliAlterETag AddSuffix|NoChange|Remove</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BrotliAlterETag AddSuffix</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>The <code class="directive">BrotliAlterETag</code> directive specifies + how the ETag hader should be altered when a response is compressed.</p> + <dl> + <dt>AddSuffix</dt> + <dd><p>Append the compression method onto the end of the ETag, causing + compressed and uncompressed representations to have unique ETags. + In another dynamic compression module, mod_deflate, this has been + the default since 2.4.0. This setting prevents serving "HTTP Not + Modified" (304) responses to conditional requests for compressed + content.</p></dd> + <dt>NoChange</dt> + <dd><p>Don't change the ETag on a compressed response. In another dynamic + compression module, mod_deflate, this has been the default prior to + 2.4.0. This setting does not satisfy the HTTP/1.1 property that all + representations of the same resource have unique ETags. </p></dd> + <dt>Remove</dt> + <dd><p>Remove the ETag header from compressed responses. This prevents + some conditional requests from being possible, but avoids the + shortcomings of the preceding options. </p></dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrotliCompressionMaxInputBlock" id="BrotliCompressionMaxInputBlock">BrotliCompressionMaxInputBlock</a> <a name="brotlicompressionmaxinputblock" id="brotlicompressionmaxinputblock">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum input block size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BrotliCompressionMaxInputBlock <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>(automatic)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>The <code class="directive">BrotliCompressionMaxInputBlock</code> directive specifies + the maximum input block size between 16 and 24, with the caveat that + larger block sizes require more memory.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrotliCompressionQuality" id="BrotliCompressionQuality">BrotliCompressionQuality</a> <a name="brotlicompressionquality" id="brotlicompressionquality">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Compression quality</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BrotliCompressionQuality <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BrotliCompressionQuality 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>The <code class="directive">BrotliCompressionQuality</code> directive specifies + the compression quality (a value between 0 and 11). Higher quality values + result in better, but also slower compression. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrotliCompressionWindow" id="BrotliCompressionWindow">BrotliCompressionWindow</a> <a name="brotlicompressionwindow" id="brotlicompressionwindow">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Brotli sliding compression window size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BrotliCompressionWindow <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BrotliCompressionWindow 18</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>The <code class="directive">BrotliCompressionWindow</code> directive specifies the + brotli sliding compression window size (a value between 10 and 24). Larger + window sizes can improve compression quality, but require more memory.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrotliFilterNote" id="BrotliFilterNote">BrotliFilterNote</a> <a name="brotlifilternote" id="brotlifilternote">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Places the compression ratio in a note for logging</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BrotliFilterNote [<var>type</var>] <var>notename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>The <code class="directive">BrotliFilterNote</code> directive + specifies that a note about compression ratios should be attached + to the request. The name of the note is the value specified for + the directive. You can use that note for statistical purposes by + adding the value to your <a href="../logs.html#accesslog">access log</a>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">BrotliFilterNote ratio + +LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' brotli +CustomLog "logs/brotli_log" brotli</pre> +</div> + + <p>If you want to extract more accurate values from your logs, you + can use the <var>type</var> argument to specify the type of data + left as a note for logging. <var>type</var> can be one of:</p> + + <dl> + <dt><code>Input</code></dt> + <dd>Store the byte count of the filter's input stream in the note.</dd> + + <dt><code>Output</code></dt> + <dd>Store the byte count of the filter's output stream in the note.</dd> + + <dt><code>Ratio</code></dt> + <dd>Store the compression ratio (<code>output/input * 100</code>) + in the note. This is the default, if the <var>type</var> argument + is omitted.</dd> + </dl> + + <p>Thus you may log it this way:</p> + + <div class="example"><h3>Accurate Logging</h3><pre class="prettyprint lang-config">BrotliFilterNote Input instream +BrotliFilterNote Output outstream +BrotliFilterNote Ratio ratio + +LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' brotli +CustomLog "logs/brotli_log" brotli</pre> +</div> + +<h3>See also</h3> +<ul> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_brotli.html" title="English"> en </a> | +<a href="../fr/mod/mod_brotli.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_brotli.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_brotli.html.fr.utf8 b/docs/manual/mod/mod_brotli.html.fr.utf8 new file mode 100644 index 0000000..064aeca --- /dev/null +++ b/docs/manual/mod/mod_brotli.html.fr.utf8 @@ -0,0 +1,360 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_brotli - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_brotli</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_brotli.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_brotli.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Compression du contenu via Brotli avant sa livraison au client</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>brotli_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_brotli.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> fournit le filtre en sortie + <code>BROTLI_COMPRESS</code> qui permet de compresser un contenu avant sa + livraison au client en utilisant la bibliothèque brotli. Ce filtre est + implémenté en utilisant la bibliothèque Brotli que l'on peut trouver à <a href="https://github.com/google/brotli">https://github.com/google/brotli</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#recommended">Exemples de configurations</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la compression</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Interaction avec les serveurs mandataires</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Servir un contenu pré-compressé</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlialteretag">BrotliAlterETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlicompressionquality">BrotliCompressionQuality</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlicompressionwindow">BrotliCompressionWindow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#brotlifilternote">BrotliFilterNote</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_brotli">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_brotli">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filters</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="recommended" id="recommended">Exemples de configurations</a></h2> + <div class="warning"><h3>Compression et TLS</h3> + <p>Certaines applications web sont vulnérables à une attaque de type vol + d'informations lorsqu'une connexion TLS transmet des données + compressées. Pour plus d'informations, étudiez en détail la famille + d'attaques "BREACH".</p> + </div> + <p>Voici une configuration simple qui compresse des types de contenus + courants au format texte :</p> + + <div class="example"><h3>Compression de certains types seulement</h3><pre class="prettyprint lang-config">AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript</pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Activation de la compression</a></h2> + <div class="warning"><h3>Compression et TLS</h3> + <p>Certaines applications web sont vulnérables à une attaque de type vol + d'informations lorsqu'une connexion TLS transmet des données + compressées. Pour plus d'informations, étudiez en détail la famille + d'attaques "BREACH".</p> + </div> + + <h3><a name="output" id="output">Compression en sortie</a></h3> + <p>La compression est implémentée par le <a href="../filter.html">filtre</a> <code>BROTLI_COMPRESS</code>. La + directive suivante active la compression pour les documents correspondant + au conteneur dans lequel elle est placée :</p> + + <pre class="prettyprint lang-config">SetOutputFilter BROTLI_COMPRESS +SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli</pre> + + + <p>Si vous voulez restreindre la compression à certains types MIME + particuliers, vous pouvez utiliser la directive <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. Dans l'exemple + suivant, l'activation de la compression est restreinte aux fichiers html + de la documentation d'Apache :</p> + + <pre class="prettyprint lang-config"><Directory "/your-server-root/manual"> + AddOutputFilterByType BROTLI_COMPRESS text/html +</Directory></pre> + + + <div class="note"><h3>Note</h3> + Le filtre <code>BROTLI_COMPRESS</code> est toujours inséré après les + filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les sous-requêtes + internes. + </div> + <div class="note"><h3>Note</h3> + Définie via <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, la variable + d'environnement <code>no-brotli</code> permet de désactiver la + compression brotli pour une requête particulière, et ceci même si elle + est supportée par le client. + </div> + + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="proxies" id="proxies">Interaction avec les serveurs mandataires</a></h2> + + <p>Le module <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> envoie un en-tête de réponse HTTP + <code>Vary:Accept-Encoding</code> pour indiquer aux mandataires qu'une + réponse mise en cache ne doit être envoyée qu'aux clients qui envoient + l'en-tête de requête <code>Accept-Encoding</code> approprié. Ceci permet + d'éviter d'envoyer du contenu compressé à un client qui ne sera pas en + mesure de le décompresser.</p> + + <p>Si vous utilisez des exclusions spéciales dépendant, par exemple, de + l'en-tête <code>User-Agent</code>, vous devez faire un ajout manuel à + l'en-tête <code>Vary</code> afin d'informer les mandataires des restrictions + supplémentaires. Par exemple, dans une configuration typique où l'addition + du filtre <code>BROTLI_COMPRESS</code> dépend de l'en-tête <code>User-Agent</code>, + vous devez ajouter :</p> + + <pre class="prettyprint lang-config">Header append Vary User-Agent</pre> + + + <p>Si votre décision d'utiliser la compression ou non dépend d'autres + informations que le contenu d'en-têtes de requêtes (par exemple la version + HTTP), vous devez affecter la valeur <code>*</code> à l'en-tête + <code>Vary</code>. Ceci permet d'éviter que des mandataires qui le + supportent n'effectuent une mise en cache intégrale.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Header set Vary *</pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="precompressed" id="precompressed">Servir un contenu pré-compressé</a></h2> + + <p>comme <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> compresse systématiquement un contenu + pour chaque requête le concernant, il est possible d'obtenir un gain en + performance en pré-compressant le contenu et en disant à mod_brotli de le + servir sans le recompresser. Pour cela, vous pouvez utiliser une + configuration du style :</p> + + <pre class="prettyprint lang-config"><IfModule mod_headers.c> + # Sert des fichiers CSS compressés par brotli, s'ils existent + # et si le client supporte brotli. + RewriteCond "%{HTTP:Accept-encoding}" "br" + RewriteCond "%{REQUEST_FILENAME}\.br" "-s" + RewriteRule "^(.*)\.css" "$1\.css\.br" [QSA] + + # Sert des fichiers JS compressés par brotli, s'ils existent + # et si le client supporte brotli. + RewriteCond "%{HTTP:Accept-encoding}" "br" + RewriteCond "%{REQUEST_FILENAME}\.br" "-s" + RewriteRule "^(.*)\.js" "$1\.js\.br" [QSA] + + + # Sert des types de contenu corrects, et évite la double compression. + RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-brotli:1] + RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-brotli:1] + + + <FilesMatch "(\.js\.br|\.css\.br)$"> + # Sert un type d'encodage correct. + Header append Content-Encoding br + + # Force les mandataires à mettre en cache séparément les fichiers css/js + # compressés ou non par brotli. + Header append Vary Accept-Encoding + </FilesMatch> +</IfModule></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="brotlialteretag" id="brotlialteretag">Directive</a> <a name="BrotliAlterETag" id="BrotliAlterETag">BrotliAlterETag</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Comment l'en-tête de réponse ETag doit être modifié au cours de la +compression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliAlterETag AddSuffix|NoChange|Remove</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliAlterETag AddSuffix</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>La directive <code class="directive">BrotliAlterETag</code> permet d'indiquer + comment l'en-tête ETag doit être modifié lorsqu'une réponse est compressée.</p> + <dl> + <dt>AddSuffix</dt> + <dd><p>Ajoute la méthode de compression à la fin de l'en-tête ETag, ce qui + implique que les représentations compressées et non compressées possèderont + des en-têtes ETag uniques. C'est le comportement par défaut depuis la + version 2.4.0 avec un autre module de compression dynamique, + mod-deflate. Ce paramètre permet d'éviter l'envoi de messages + "HTTP Not Modified" (304) en réponse aux requêtes conditionnelles pour des + contenus compressés.</p></dd> + <dt>NoChange</dt> + <dd><p>Ne modifie pas l'en-tête ETag d'une réponse compressée. C'était le + comportement par défaut avant la version 2.4.0 avec un autre module de + compression dynamique, mod-deflate. Ce paramètre ne respecte pas la + propriété HTTP/1.1 selon laquelle toutes les représentations d'une même + ressource ont des en-têtes ETag uniques.</p></dd> + <dt>Remove</dt> + <dd><p>Supprime l'en-tête ETag des réponses compressées, ce qui rend + impossibles certaines requêtes conditionnelles, mais évite les inconvénients + des options précédentes.</p></dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="brotlicompressionmaxinputblock" id="brotlicompressionmaxinputblock">Directive</a> <a name="BrotliCompressionMaxInputBlock" id="BrotliCompressionMaxInputBlock">BrotliCompressionMaxInputBlock</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale du bloc de données en entrée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliCompressionMaxInputBlock <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>(automatic)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>La directive <code class="directive">BrotliCompressionMaxInputBlock</code> permet + de spécifier la taille maximale du bloc de données en entrée entre 16 et 24, + sachant que plus cette taille sera grande, plus grande sera la quantité de + mémoire consommée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="brotlicompressionquality" id="brotlicompressionquality">Directive</a> <a name="BrotliCompressionQuality" id="BrotliCompressionQuality">BrotliCompressionQuality</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Qualité de la compression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliCompressionQuality <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliCompressionQuality 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>La directive <code class="directive">BrotliCompressionQuality</code> permet de + spécifier la qualité de la compression (une valeur entre 0 et + 11). Les valeurs les plus hautes correspondent à une compression de + meilleure qualité mais plus lente. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="brotlicompressionwindow" id="brotlicompressionwindow">Directive</a> <a name="BrotliCompressionWindow" id="BrotliCompressionWindow">BrotliCompressionWindow</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille de la fenêtre de compression glissante brotli</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliCompressionWindow <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliCompressionWindow 18</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>La directive <code class="directive">BrotliCompressionWindow</code> permet de + spécifier la taille de la fenêtre de compression glissante brotli (une + valeur comprise entre 10 et 24). Une taille de fenêtre plus grande peut + améliorer la qualité de la compression mais consomme d'avantage de mémoire.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="brotlifilternote" id="brotlifilternote">Directive</a> <a name="BrotliFilterNote" id="BrotliFilterNote">BrotliFilterNote</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre le taux de compression dans une note à des fins de +journalisation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliFilterNote [<var>type</var>] <var>notename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr> +</table> + <p>La directive <code class="directive">BrotliFilterNote</code> permet d'indiquer + qu'une note à propos du taux de compression doit être attachée à la + requête. L'argument <var>notename</var> permet de spécifier le nom de la + note. Vous pouvez utiliser cette note à des fins de statistiques en ajoutant + l'information correspondante à votre <a href="../logs.html#accesslog">access + log</a>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">BrotliFilterNote ratio + +LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' brotli +CustomLog "logs/brotli_log" brotli</pre> +</div> + + <p>Si vous souhaitez que l'information enregistrée dans vos journaux soit + plus pertinente, vous pouvez renseigner l'argument optionnel <var>type</var> + afin de spécifier le type de données à enregistrer dans la note à + journaliser. L'argument <var>type</var> accepte les valeurs suivantes :</p> + + <dl> + <dt><code>Input</code></dt> + <dd>Enregistre dans la note le nombre d'octets contenus dans le flux + d'entrée du filtre.</dd> + + <dt><code>Output</code></dt> + <dd>Enregistre dans la note le nombre d'octets contenus dans le flux + de sortie du filtre.</dd> + + <dt><code>Ratio</code></dt> + <dd>Enregistre dans la note le taux de compression (<code>output/input * + 100</code>). Il s'agit de l'option par défaut si l'argument + <var>type</var> est omis.</dd> + </dl> + + <p>Vous pouvez alors configurer vos journaux de la manière suivante :</p> + + <div class="example"><h3>Journalisation spécifique</h3><pre class="prettyprint lang-config">BrotliFilterNote Input instream +BrotliFilterNote Output outstream +BrotliFilterNote Ratio ratio + +LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' brotli +CustomLog "logs/brotli_log" brotli</pre> +</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_brotli.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_brotli.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_brotli.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_buffer.html b/docs/manual/mod/mod_buffer.html new file mode 100644 index 0000000..585dd55 --- /dev/null +++ b/docs/manual/mod/mod_buffer.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_buffer.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_buffer.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_buffer.html.en b/docs/manual/mod/mod_buffer.html.en new file mode 100644 index 0000000..32cb0eb --- /dev/null +++ b/docs/manual/mod/mod_buffer.html.en @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_buffer - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_buffer</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_buffer.html" title="English"> en </a> | +<a href="../fr/mod/mod_buffer.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support for request buffering</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>buffer_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_buffer.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides the ability to buffer the input and output + filter stacks.</p> + + <p>Under certain circumstances, content generators might create + content in small chunks. In order to promote memory reuse, in + memory chunks are always 8k in size, regardless of the size of the + chunk itself. When many small chunks are generated by a request, + this can create a large memory footprint while the request is + being processed, and an unnecessarily large amount of data on the + wire. The addition of a buffer collapses the response into the + fewest chunks possible.</p> + + <p>When httpd is used in front of an expensive content generator, + buffering the response may allow the backend to complete + processing and release resources sooner, depending on how the + backend is designed.</p> + + <p>The buffer filter may be added to either the input or the + output filter stacks, as appropriate, using the + <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, + <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, + <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> or + <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> directives.</p> + + <div class="example"><h3>Using buffer with mod_include</h3><pre class="prettyprint lang-config">AddOutputFilterByType INCLUDES;BUFFER text/html</pre> +</div> + + <div class="warning">The buffer filters read the request/response into + RAM and then repack the request/response into the fewest memory + buckets possible, at the cost of CPU time. When the request/response + is already efficiently packed, buffering the request/response could + cause the request/response to be slower than not using a buffer at + all. These filters should be used with care, and only where + necessary.</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#buffersize">BufferSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_buffer">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_buffer">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filters</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BufferSize" id="BufferSize">BufferSize</a> <a name="buffersize" id="buffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BufferSize integer</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BufferSize 131072</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_buffer</td></tr> +</table> + <p>The <code class="directive"><a href="#buffersize">BufferSize</a></code> + directive specifies the amount of data in bytes that will be + buffered before being read from or written to each request. + The default is 128 kilobytes.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_buffer.html" title="English"> en </a> | +<a href="../fr/mod/mod_buffer.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_buffer.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_buffer.html.fr.utf8 b/docs/manual/mod/mod_buffer.html.fr.utf8 new file mode 100644 index 0000000..3490924 --- /dev/null +++ b/docs/manual/mod/mod_buffer.html.fr.utf8 @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_buffer - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_buffer</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_buffer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_buffer.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de la mise en tampon des requêtes</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>buffer_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_buffer.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.3 et supérieures +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit la possibilité de mettre en tampon les piles + des filtres en entrée et sortie.</p> + + <p>Dans certaines situations, les générateurs de contenu créent des + contenus composés de petits tronçons. Afin de permettre la + réutilisation de la mémoire, les éléments de mémoire attribués aux + tronçons ont toujours une taille de 8k, quelle que soit la taille du + tronçon lui-même. Lorsqu'une requête génère de nombreux petits + tronçons, une grande quantité de mémoire peut être mobilisée par le + traitement de la requête, et une grande quantité de données + transmises sans nécessité. Pour y remédier, l'utilisation d'un + tampon rassemble la réponse en un nombre de tronçons le plus petit + possible.</p> + + <p>Lorsque httpd est utilisé comme frontal d'un générateur de + contenu consommant beaucoup de ressources, la mise en tampon de la + réponse peut permettre à ce dernier d'effectuer le traitement et de + libérer les ressources plus ou moins rapidement, en fonction de la + manière dont il a été conçu.</p> + + <p>Le filtre de mise en tampon peut être ajouté aux piles des + filtres en entrée ou en sortie, selon les besoins, à l'aide des + directives <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, + <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> ou <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>.</p> + + <div class="example"><h3>Utilisation d'un tampon avec mod_include</h3><pre class="prettyprint lang-config">AddOutputFilterByType INCLUDES;BUFFER text/html</pre> +</div> + + <div class="warning">Les filtres de mise en tampon lisent la + requête/réponse en RAM, puis la reconditionnent sous la forme d'un + nombre d'éléments mémoire le plus petit possible, au prix d'une + consommation de temps CPU. Lorsque la requête/réponse est déjà + conditionnée de manière satisfaisante, sa mise en tampon pourrait + s'avérer encore plus lente qu'en l'absence d'utilisation de tampon. + C'est pourquoi ces filtres doivent être utilisés avec précautions, + et seulement si nécessaire.</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#buffersize">BufferSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_buffer">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_buffer">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../filter.html">Les filtres</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="buffersize" id="buffersize">Directive</a> <a name="BufferSize" id="BufferSize">BufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale en octets du filtre par tampon</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferSize entier</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferSize 131072</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_buffer</td></tr> +</table> + <p>La directive <code class="directive"><a href="#buffersize">BufferSize</a></code> permet de spécifier la + quantité de données en octets qui sera mise en tampon avant d'être + lue depuis ou écrite vers chaque requête. La valeur par défaut est + 128 ko.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_buffer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_buffer.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_buffer.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html b/docs/manual/mod/mod_cache.html new file mode 100644 index 0000000..40128b0 --- /dev/null +++ b/docs/manual/mod/mod_cache.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cache.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cache.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cache.html.en b/docs/manual/mod/mod_cache.html.en new file mode 100644 index 0000000..d554c51 --- /dev/null +++ b/docs/manual/mod/mod_cache.html.en @@ -0,0 +1,1078 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_cache</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cache.html" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>RFC 2616 compliant HTTP caching filter.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>cache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_cache.c</td></tr></table> +<h3>Summary</h3> + + <div class="warning">This module should be used with care, as when the + <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> directive is + in its default value of <strong>on</strong>, the <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> directives will be circumvented. + You should not enable quick handler caching for any content to which you + wish to limit access by client host name, address or environment + variable.</div> + + <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> implements an <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> compliant + <strong>HTTP content caching filter</strong>, with support for the caching + of content negotiated responses containing the Vary header.</p> + + <p>RFC 2616 compliant caching provides a mechanism to verify whether + stale or expired content is still fresh, and can represent a significant + performance boost when the origin server supports <strong>conditional + requests</strong> by honouring the + <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">If-None-Match</a> + HTTP request header. Content is only regenerated from scratch when the content + has changed, and not when the cached entry expires.</p> + + <p>As a filter, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> can be placed in front of + content originating from any handler, including <strong>flat + files</strong> (served from a slow disk cached on a fast disk), the output + of a <strong>CGI script</strong> or <strong>dynamic content + generator</strong>, or content <strong>proxied from another + server</strong>.</p> + + <p>In the default configuration, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> inserts the + caching filter as far forward as possible within the filter stack, + utilising the <strong>quick handler</strong> to bypass all per request + processing when returning content to the client. In this mode of + operation, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> may be thought of as a caching + proxy server bolted to the front of the webserver, while running within + the webserver itself.</p> + + <p>When the quick handler is switched off using the + <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> directive, + it becomes possible to insert the <strong>CACHE</strong> filter at a + point in the filter stack chosen by the administrator. This provides the + opportunity to cache content before that content is personalised by the + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> filter, or optionally compressed by the + <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> filter.</p> + + <p>Under normal operation, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> will respond to + and can be controlled by the + <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">Cache-Control</a> + and + <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">Pragma</a> + headers sent from a client in a request, or from a + server within a response. Under exceptional circumstances, + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> can be configured to override these headers + and force site specific behaviour, however such behaviour will be limited + to this cache only, and will not affect the operation of other caches + that may exist between the client and server, and as a result is not + recommended unless strictly necessary.</p> + + <p>RFC 2616 allows for the cache to return stale data while the existing + stale entry is refreshed from the origin server, and this is supported + by <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> when the + <code class="directive"><a href="#cachelock">CacheLock</a></code> directive is suitably + configured. Such responses will contain a + <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a> + HTTP header with a 110 response code. RFC 2616 also allows a cache to return + stale data when the attempt made to refresh the stale data returns an + error 500 or above, and this behaviour is supported by default by + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. Such responses will contain a + <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a> + HTTP header with a 111 response code.</p> + + <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> requires the services of one or more + storage management modules. The following storage management modules are included in + the base Apache distribution:</p> + <dl> + <dt><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></dt> + <dd>Implements a disk based storage manager. Headers and bodies are + stored separately on disk, in a directory structure derived from the + md5 hash of the cached URL. Multiple content negotiated responses can + be stored concurrently, however the caching of partial content is not + supported by this module. The <code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> tool is + provided to list cached URLs, remove cached URLs, or to maintain the size + of the disk cache within size and inode limits.</dd> + <dt><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></dt> + <dd>Implements a shared object cache based storage manager. Headers and + bodies are stored together beneath a single key based on the URL of the + response being cached. Multiple content negotiated responses can + be stored concurrently, however the caching of partial content is not + supported by this module.</dd> + </dl> + + <p>Further details, discussion, and examples, are provided in the + <a href="../caching.html">Caching Guide</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#related">Related Modules and Directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Sample Configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Avoiding the Thundering Herd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Fine Control with the CACHE Filter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#status">Cache Status and Logging</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedetailheader">CacheDetailHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheheader">CacheHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockpath">CacheLockPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminexpire">CacheMinExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachequickhandler">CacheQuickHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestaleonerror">CacheStaleOnError</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreexpired">CacheStoreExpired</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../caching.html">Caching Guide</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Related Modules and Directives</a></h2> + <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></li><li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sampleconf" id="sampleconf">Sample Configuration</a></h2> + <div class="example"><h3>Sample httpd.conf</h3><pre class="prettyprint lang-config"># +# Sample Cache Configuration +# +LoadModule cache_module modules/mod_cache.so +<IfModule mod_cache.c> + LoadModule cache_disk_module modules/mod_cache_disk.so + <IfModule mod_cache_disk.c> + CacheRoot "c:/cacheroot" + CacheEnable disk "/" + CacheDirLevels 5 + CacheDirLength 3 + </IfModule> + + # When acting as a proxy, don't cache the list of security updates + CacheDisable "http://security.update.server/update-list/" +</IfModule></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="thunderingherd" id="thunderingherd">Avoiding the Thundering Herd</a></h2> + <p>When a cached entry becomes stale, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> will submit + a conditional request to the backend, which is expected to confirm whether the + cached entry is still fresh, and send an updated entity if not.</p> + <p>A small but finite amount of time exists between the time the cached entity + becomes stale, and the time the stale entity is fully refreshed. On a busy + server, a significant number of requests might arrive during this time, and + cause a <strong>thundering herd</strong> of requests to strike the backend + suddenly and unpredictably.</p> + <p>To keep the thundering herd at bay, the <code class="directive"><a href="#cachelock">CacheLock</a></code> + directive can be used to define a directory in which locks are created for + URLs <strong>in flight</strong>. The lock is used as a <strong>hint</strong> + by other requests to either suppress an attempt to cache (someone else has + gone to fetch the entity), or to indicate that a stale entry is being refreshed + (stale content will be returned in the mean time). + </p> + <h3>Initial caching of an entry</h3> + + <p>When an entity is cached for the first time, a lock will be created for the + entity until the response has been fully cached. During the lifetime of the + lock, the cache will suppress the second and subsequent attempt to cache the + same entity. While this doesn't hold back the thundering herd, it does stop + the cache attempting to cache the same entity multiple times simultaneously. + </p> + + <h3>Refreshment of a stale entry</h3> + + <p>When an entity reaches its freshness lifetime and becomes stale, a lock + will be created for the entity until the response has either been confirmed as + still fresh, or replaced by the backend. During the lifetime of the lock, the + second and subsequent incoming request will cause stale data to be returned, + and the thundering herd is kept at bay.</p> + + <h3>Locks and Cache-Control: no-cache</h3> + + <p>Locks are used as a <strong>hint only</strong> to enable the cache to be + more gentle on backend servers, however the lock can be overridden if necessary. + If the client sends a request with a Cache-Control header forcing a reload, any + lock that may be present will be ignored, and the client's request will be + honored immediately and the cached entry refreshed.</p> + <p>As a further safety mechanism, locks have a configurable maximum age. + Once this age has been reached, the lock is removed, and a new request is + given the opportunity to create a new lock. This maximum age can be set using + the <code class="directive"><a href="#cachelockmaxage">CacheLockMaxAge</a></code> directive, and defaults + to 5 seconds. + </p> + + <h3>Example configuration</h3> + + <div class="example"><h3>Enabling the cache lock</h3><pre class="prettyprint lang-config"># +# Enable the cache lock +# +<IfModule mod_cache.c> + CacheLock on + CacheLockPath "/tmp/mod_cache-lock" + CacheLockMaxAge 5 +</IfModule></pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="finecontrol" id="finecontrol">Fine Control with the CACHE Filter</a></h2> + <p>Under the default mode of cache operation, the cache runs as a quick handler, + short circuiting the majority of server processing and offering the highest + cache performance available.</p> + + <p>In this mode, the cache <strong>bolts onto</strong> the front of the server, + acting as if a free standing RFC 2616 caching proxy had been placed in front of + the server.</p> + + <p>While this mode offers the best performance, the administrator may find that + under certain circumstances they may want to perform further processing on the + request after the request is cached, such as to inject personalisation into the + cached page, or to apply authorization restrictions to the content. Under these + circumstances, an administrator is often forced to place independent reverse + proxy servers either behind or in front of the caching server to achieve this.</p> + + <p>To solve this problem the <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> + directive can be set to <strong>off</strong>, and the server will + process all phases normally handled by a non-cached request, including the + <strong>authentication and authorization</strong> phases.</p> + + <p>In addition, the administrator may optionally specify the <strong>precise point + within the filter chain</strong> where caching is to take place by adding the + <strong>CACHE</strong> filter to the output filter chain.</p> + + <p>For example, to cache content before applying compression to the response, + place the <strong>CACHE</strong> filter before the <strong>DEFLATE</strong> + filter as in the example below:</p> + + <pre class="prettyprint lang-config"># Cache content before optional compression +CacheQuickHandler off +AddOutputFilterByType CACHE;DEFLATE text/plain</pre> + + + <p>Another option is to have content cached before personalisation is applied + by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> (or another content processing filter). In this + example templates containing tags understood by + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> are cached before being parsed:</p> + + <pre class="prettyprint lang-config"># Cache content before mod_include and mod_deflate +CacheQuickHandler off +AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre> + + + <p>You may place the <strong>CACHE</strong> filter anywhere you wish within the + filter chain. In this example, content is cached after being parsed by + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, but before being processed by + <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>:</p> + + <pre class="prettyprint lang-config"># Cache content between mod_include and mod_deflate +CacheQuickHandler off +AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html</pre> + + + <div class="warning"><h3>Warning:</h3>If the location of the + <strong>CACHE</strong> filter in the filter chain is changed for any reason, + you may need to <strong>flush your cache</strong> to ensure that your data + served remains consistent. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> is not in a position + to enforce this for you.</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="status" id="status">Cache Status and Logging</a></h2> + <p>Once <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> has made a decision as to whether or not + an entity is to be served from cache, the detailed reason for the decision + is written to the subprocess environment within the request under the + <strong>cache-status</strong> key. This reason can be logged by the + <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> directive as + follows:</p> + + <pre class="prettyprint lang-config">LogFormat "%{cache-status}e ..."</pre> + + + <p>Based on the caching decision made, the reason is also written to the + subprocess environment under one the following four keys, as appropriate:</p> + + <dl> + <dt>cache-hit</dt><dd>The response was served from cache.</dd> + <dt>cache-revalidate</dt><dd>The response was stale and was successfully + revalidated, then served from cache.</dd> + <dt>cache-miss</dt><dd>The response was served from the upstream server.</dd> + <dt>cache-invalidate</dt><dd>The cached entity was invalidated by a request + method other than GET or HEAD.</dd> + </dl> + + <p>This makes it possible to support conditional logging of cached requests + as per the following example:</p> + + <pre class="prettyprint lang-config">CustomLog "cached-requests.log" common env=cache-hit +CustomLog "uncached-requests.log" common env=cache-miss +CustomLog "revalidated-requests.log" common env=cache-revalidate +CustomLog "invalidated-requests.log" common env=cache-invalidate</pre> + + + <p>For module authors, a hook called <var>cache_status</var> is available, + allowing modules to respond to the caching outcomes above in customised + ways.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire" id="cachedefaultexpire">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The default duration to cache a document when no expiry date is specified.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheDefaultExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheDefaultExpire 3600 (one hour)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>The <code class="directive">CacheDefaultExpire</code> directive specifies a default time, + in seconds, to cache a document if neither an expiry date nor last-modified date are provided + with the document. The value specified with the <code class="directive"><a href="#cachemaxexpire">CacheMaxExpire</a></code> + directive does <em>not</em> override this setting.</p> + + <pre class="prettyprint lang-config">CacheDefaultExpire 86400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDetailHeader" id="CacheDetailHeader">CacheDetailHeader</a> <a name="cachedetailheader" id="cachedetailheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add an X-Cache-Detail header to the response.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheDetailHeader <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheDetailHeader off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table> + <p>When the <code class="directive">CacheDetailHeader</code> directive + is switched on, an <strong>X-Cache-Detail</strong> header will be added to the response + containing the detailed reason for a particular caching decision.</p> + + <p>It can be useful during development of cached RESTful services to have additional + information about the caching decision written to the response headers, so as to + confirm whether <code>Cache-Control</code> and other headers have been correctly + used by the service and client.</p> + + <p>If the normal handler is used, this directive may appear within a + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> or + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> directive. If the quick handler + is used, this directive must appear within a server or virtual host context, otherwise + the setting will be ignored.</p> + + <pre class="prettyprint lang-config"># Enable the X-Cache-Detail header +CacheDetailHeader on</pre> + + + <div class="example"><p><code> + X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost<br /> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDisable" id="CacheDisable">CacheDisable</a> <a name="cachedisable" id="cachedisable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Disable caching of specified URLs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheDisable <var>url-string</var> | <var>on</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>The <code class="directive">CacheDisable</code> directive instructs + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to <em>not</em> cache urls at or below + <var>url-string</var>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">CacheDisable "/local_files"</pre> +</div> + + <p>If used in a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> directive, + the path needs to be specified below the Location, or if the word "on" + is used, caching for the whole location will be disabled.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/foo"> + CacheDisable on +</Location></pre> +</div> + + <p>The <code>no-cache</code> environment variable can be set to + disable caching on a finer grained set of resources in versions + 2.2.12 and later.</p> + + +<h3>See also</h3> +<ul> +<li><a href="../env.html">Environment Variables in Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheEnable" id="CacheEnable">CacheEnable</a> <a name="cacheenable" id="cacheenable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable caching of specified URLs using a specified storage +manager</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheEnable <var>cache_type</var> [<var>url-string</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>A url-string of '/' applied to forward proxy content in 2.2 and + earlier.</td></tr> +</table> + <p>The <code class="directive">CacheEnable</code> directive instructs + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to cache urls at or below + <var>url-string</var>. The cache storage manager is specified with the + <var>cache_type</var> argument. The <code class="directive">CacheEnable</code> + directive can alternatively be placed inside either + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> or + <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> sections to indicate + the content is cacheable. + <var>cache_type</var> <code>disk</code> instructs + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the disk based storage manager + implemented by <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. <var>cache_type</var> + <code>socache</code> instructs <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the + shared object cache based storage manager implemented by + <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>.</p> + <p>In the event that the URL space overlaps between different + <code class="directive">CacheEnable</code> directives (as in the example below), + each possible storage manager will be run until the first one that + actually processes the request. The order in which the storage managers are + run is determined by the order of the <code class="directive">CacheEnable</code> + directives in the configuration file. <code class="directive">CacheEnable</code> + directives within <code class="directive"><a href="../mod/core.html#location"><Location></a></code> or + <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> sections are processed + before globally defined <code class="directive">CacheEnable</code> directives.</p> + + <p>When acting as a forward proxy server, <var>url-string</var> must + minimally begin with a protocol for which caching should be enabled.</p> + + <pre class="prettyprint lang-config"># Cache content (normal handler only) +CacheQuickHandler off +<Location "/foo"> + CacheEnable disk +</Location> + +# Cache regex (normal handler only) +CacheQuickHandler off +<LocationMatch "foo$"> + CacheEnable disk +</LocationMatch> + +# Cache all but forward proxy url's (normal or quick handler) +CacheEnable disk / + +# Cache FTP-proxied url's (normal or quick handler) +CacheEnable disk ftp:// + +# Cache forward proxy content from www.example.org (normal or quick handler) +CacheEnable disk http://www.example.org/</pre> + + + <p>A hostname starting with a <strong>"*"</strong> matches all hostnames with + that suffix. A hostname starting with <strong>"."</strong> matches all + hostnames containing the domain components that follow.</p> + + <pre class="prettyprint lang-config"># Match www.example.org, and fooexample.org +CacheEnable disk "http://*example.org/" +# Match www.example.org, but not fooexample.org +CacheEnable disk "http://.example.org/"</pre> + + + <p> The <code>no-cache</code> environment variable can be set to + disable caching on a finer grained set of resources in versions + 2.2.12 and later.</p> + + +<h3>See also</h3> +<ul> +<li><a href="../env.html">Environment Variables in Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheHeader" id="CacheHeader">CacheHeader</a> <a name="cacheheader" id="cacheheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add an X-Cache header to the response.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheHeader <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheHeader off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table> + <p>When the <code class="directive">CacheHeader</code> directive + is switched on, an <strong>X-Cache</strong> header will be added to the response + with the cache status of this response. If the normal handler is used, this + directive may appear within a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + or <code class="directive"><a href="../mod/core.html#location"><Location></a></code> directive. If the quick + handler is used, this directive must appear within a server or virtual host + context, otherwise the setting will be ignored.</p> + + <dl> + <dt><strong>HIT</strong></dt><dd>The entity was fresh, and was served from + cache.</dd> + <dt><strong>REVALIDATE</strong></dt><dd>The entity was stale, was successfully + revalidated and was served from cache.</dd> + <dt><strong>MISS</strong></dt><dd>The entity was fetched from the upstream + server and was not served from cache.</dd> + </dl> + + <pre class="prettyprint lang-config"># Enable the X-Cache header +CacheHeader on</pre> + + + <pre class="prettyprint lang-config">X-Cache: HIT from localhost</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol" id="cacheignorecachecontrol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore request to not serve cached content to client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Ordinarily, requests containing a <code>Cache-Control: no-cache</code> or + Pragma: no-cache header value will not be served from the cache. The + <code class="directive">CacheIgnoreCacheControl</code> directive allows this + behavior to be overridden. <code class="directive">CacheIgnoreCacheControl On</code> + tells the server to attempt to serve the resource from the cache even + if the request contains no-cache header values. Resources requiring + authorization will <em>never</em> be cached.</p> + + <pre class="prettyprint lang-config">CacheIgnoreCacheControl On</pre> + + + <div class="warning"><h3>Warning:</h3> + This directive will allow serving from the cache even if the client has + requested that the document not be served from the cache. This might + result in stale content being served. + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li> +<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreHeaders" id="CacheIgnoreHeaders">CacheIgnoreHeaders</a> <a name="cacheignoreheaders" id="cacheignoreheaders">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Do not store the given HTTP header(s) in the cache. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>According to RFC 2616, hop-by-hop HTTP headers are not stored in + the cache. The following HTTP headers are hop-by-hop headers and thus + do not get stored in the cache in <em>any</em> case regardless of the + setting of <code class="directive">CacheIgnoreHeaders</code>:</p> + + <ul> + <li><code>Connection</code></li> + <li><code>Keep-Alive</code></li> + <li><code>Proxy-Authenticate</code></li> + <li><code>Proxy-Authorization</code></li> + <li><code>TE</code></li> + <li><code>Trailers</code></li> + <li><code>Transfer-Encoding</code></li> + <li><code>Upgrade</code></li> + </ul> + + <p><code class="directive">CacheIgnoreHeaders</code> specifies additional HTTP + headers that should not to be stored in the cache. For example, it makes + sense in some cases to prevent cookies from being stored in the cache.</p> + + <p><code class="directive">CacheIgnoreHeaders</code> takes a space separated list + of HTTP headers that should not be stored in the cache. If only hop-by-hop + headers not should be stored in the cache (the RFC 2616 compliant + behaviour), <code class="directive">CacheIgnoreHeaders</code> can be set to + <code>None</code>.</p> + + <div class="example"><h3>Example 1</h3><pre class="prettyprint lang-config">CacheIgnoreHeaders Set-Cookie</pre> +</div> + + <div class="example"><h3>Example 2</h3><pre class="prettyprint lang-config">CacheIgnoreHeaders None</pre> +</div> + + <div class="warning"><h3>Warning:</h3> + If headers like <code>Expires</code> which are needed for proper cache + management are not stored due to a + <code class="directive">CacheIgnoreHeaders</code> setting, the behaviour of + mod_cache is undefined. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a> <a name="cacheignorenolastmod" id="cacheignorenolastmod">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore the fact that a response has no Last Modified +header.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Ordinarily, documents without a last-modified date are not cached. + Under some circumstances the last-modified date is removed (during + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> processing for example) or not provided + at all. The <code class="directive">CacheIgnoreNoLastMod</code> directive + provides a way to specify that documents without last-modified dates + should be considered for caching, even without a last-modified date. + If neither a last-modified date nor an expiry date are provided with + the document then the value specified by the + <code class="directive"><a href="#cachedefaultexpire">CacheDefaultExpire</a></code> directive will be used to + generate an expiration date.</p> + + <pre class="prettyprint lang-config">CacheIgnoreNoLastMod On</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a> <a name="cacheignorequerystring" id="cacheignorequerystring">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore query string when caching</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreQueryString On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Ordinarily, requests with query string parameters are cached separately + for each unique query string. This is according to RFC 2616/13.9 done only + if an expiration time is specified. The + <code class="directive">CacheIgnoreQueryString</code> directive tells the cache to + cache requests even if no expiration time is specified, and to reply with + a cached reply even if the query string differs. From a caching point of + view the request is treated as if having no query string when this + directive is enabled.</p> + + <pre class="prettyprint lang-config">CacheIgnoreQueryString On</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a> <a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Sometimes applications encode the session identifier into the URL like in the following + Examples: + </p> + <ul> + <li><code>/someapplication/image.gif;jsessionid=123456789</code></li> + <li><code>/someapplication/image.gif?PHPSESSIONID=12345678</code></li> + </ul> + <p>This causes cacheable resources to be stored separately for each session, which + is often not desired. <code class="directive">CacheIgnoreURLSessionIdentifiers</code> lets + define a list of identifiers that are removed from the key that is used to identify + an entity in the cache, such that cacheable resources are not stored separately for + each session. + </p> + <p><code>CacheIgnoreURLSessionIdentifiers None</code> clears the list of ignored + identifiers. Otherwise, each identifier is added to the list.</p> + + <div class="example"><h3>Example 1</h3><pre class="prettyprint lang-config">CacheIgnoreURLSessionIdentifiers jsessionid</pre> +</div> + + <div class="example"><h3>Example 2</h3><pre class="prettyprint lang-config">CacheIgnoreURLSessionIdentifiers None</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheKeyBaseURL" id="CacheKeyBaseURL">CacheKeyBaseURL</a> <a name="cachekeybaseurl" id="cachekeybaseurl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Override the base URL of reverse proxied cache keys.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheKeyBaseURL <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table> + <p>When the <code class="directive">CacheKeyBaseURL</code> directive + is specified, the URL provided will be used as the base URL to calculate + the URL of the cache keys in the reverse proxy configuration. When not specified, + the scheme, hostname and port of the current virtual host is used to construct + the cache key. When a cluster of machines is present, and all cached entries + should be cached beneath the same cache key, a new base URL can be specified + with this directive.</p> + + <pre class="prettyprint lang-config"># Override the base URL of the cache key. +CacheKeyBaseURL "http://www.example.com/"</pre> + + + <div class="warning">Take care when setting this directive. If two separate virtual + hosts are accidentally given the same base URL, entries from one virtual host + will be served to the other.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The factor used to compute an expiry date based on the +LastModified date.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheLastModifiedFactor <var>float</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>In the event that a document does not provide an expiry date but does + provide a last-modified date, an expiry date can be calculated based on + the time since the document was last modified. The + <code class="directive">CacheLastModifiedFactor</code> directive specifies a + <var>factor</var> to be used in the generation of this expiry date + according to the following formula: + + <code>expiry-period = time-since-last-modified-date * <var>factor</var> + expiry-date = current-date + expiry-period</code> + + For example, if the document was last modified 10 hours ago, and + <var>factor</var> is 0.1 then the expiry-period will be set to + 10*0.1 = 1 hour. If the current time was 3:00pm then the computed + expiry-date would be 3:00pm + 1hour = 4:00pm. + + If the expiry-period would be longer than that set by + <code class="directive"><a href="#cachemaxexpire">CacheMaxExpire</a></code>, then the latter takes + precedence.</p> + + <pre class="prettyprint lang-config">CacheLastModifiedFactor 0.5</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLock" id="CacheLock">CacheLock</a> <a name="cachelock" id="cachelock">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable the thundering herd lock.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheLock <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheLock off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.2.15 and later</td></tr> +</table> + <p>The <code class="directive">CacheLock</code> directive enables the thundering herd lock + for the given URL space.</p> + + <p>In a minimal configuration the following directive is all that is needed to + enable the thundering herd lock in the default system temp directory.</p> + + <pre class="prettyprint lang-config"># Enable cache lock +CacheLock on</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a> <a name="cachelockmaxage" id="cachelockmaxage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the maximum possible age of a cache lock.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheLockMaxAge <var>integer</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheLockMaxAge 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>The <code class="directive">CacheLockMaxAge</code> directive specifies the maximum + age of any cache lock.</p> + + <p>A lock older than this value in seconds will be ignored, and the next + incoming request will be given the opportunity to re-establish the lock. + This mechanism prevents a slow client taking an excessively long time to refresh + an entity.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a> <a name="cachelockpath" id="cachelockpath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the lock path directory.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheLockPath <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheLockPath /tmp/mod_cache-lock</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>The <code class="directive">CacheLockPath</code> directive allows you to specify the + directory in which the locks are created. By default, the system's temporary + folder is used. Locks consist of empty files that only exist for stale URLs + in flight, so is significantly less resource intensive than the traditional + disk cache.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire" id="cachemaxexpire">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum time in seconds to cache a document</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheMaxExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheMaxExpire 86400 (one day)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>The <code class="directive">CacheMaxExpire</code> directive specifies the maximum number of + seconds for which cacheable HTTP documents will be retained without checking the origin + server. Thus, documents will be out of date at most this number of seconds. This maximum + value is enforced even if an expiry date was supplied with the document.</p> + + <pre class="prettyprint lang-config">CacheMaxExpire 604800</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMinExpire" id="CacheMinExpire">CacheMinExpire</a> <a name="cacheminexpire" id="cacheminexpire">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum time in seconds to cache a document</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheMinExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheMinExpire 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>The <code class="directive">CacheMinExpire</code> directive specifies the minimum number of + seconds for which cacheable HTTP documents will be retained without checking the origin + server. This is only used if no valid expire time was supplied with the document.</p> + + + <pre class="prettyprint lang-config">CacheMinExpire 3600</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheQuickHandler" id="CacheQuickHandler">CacheQuickHandler</a> <a name="cachequickhandler" id="cachequickhandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Run the cache from the quick handler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheQuickHandler <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheQuickHandler on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.3.3 and later</td></tr> +</table> + <p>The <code class="directive">CacheQuickHandler</code> directive + controls the phase in which the cache is handled.</p> + + <p>In the default enabled configuration, the cache operates within the quick + handler phase. This phase short circuits the majority of server processing, + and represents the most performant mode of operation for a typical server. + The cache <strong>bolts onto</strong> the front of the server, and the + majority of server processing is avoided.</p> + + <p>When disabled, the cache operates as a normal handler, and is subject to + the full set of phases when handling a server request. While this mode is + slower than the default, it allows the cache to be used in cases where full + processing is required, such as when content is subject to authorization.</p> + + <pre class="prettyprint lang-config"># Run cache as a normal handler +CacheQuickHandler off</pre> + + + <p>It is also possible, when the quick handler is disabled, for the + administrator to choose the precise location within the filter chain where + caching is to be performed, by adding the <strong>CACHE</strong> filter to + the chain.</p> + + <pre class="prettyprint lang-config"># Cache content before mod_include and mod_deflate +CacheQuickHandler off +AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre> + + + <p>If the CACHE filter is specified more than once, the last instance will + apply.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStaleOnError" id="CacheStaleOnError">CacheStaleOnError</a> <a name="cachestaleonerror" id="cachestaleonerror">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serve stale content in place of 5xx responses.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheStaleOnError <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheStaleOnError on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table> + <p>When the <code class="directive">CacheStaleOnError</code> directive + is switched on, and when stale data is available in the cache, the cache will + respond to 5xx responses from the backend by returning the stale data instead of + the 5xx response. While the Cache-Control headers sent by clients will be respected, + and the raw 5xx responses returned to the client on request, the 5xx response so + returned to the client will not invalidate the content in the cache.</p> + + <pre class="prettyprint lang-config"># Serve stale data on error. +CacheStaleOnError on</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStoreExpired" id="CacheStoreExpired">CacheStoreExpired</a> <a name="cachestoreexpired" id="cachestoreexpired">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Attempt to cache responses that the server reports as expired</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheStoreExpired On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheStoreExpired Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Since httpd 2.2.4, responses which have already expired are not + stored in the cache. The <code class="directive">CacheStoreExpired</code> + directive allows this behavior to be overridden. + <code class="directive">CacheStoreExpired</code> On + tells the server to attempt to cache the resource if it is stale. + Subsequent requests would trigger an If-Modified-Since request of + the origin server, and the response may be fulfilled from cache + if the backend resource has not changed.</p> + + <pre class="prettyprint lang-config">CacheStoreExpired On</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a> <a name="cachestorenostore" id="cachestorenostore">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheStoreNoStore Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Ordinarily, requests or responses with <code>Cache-Control: no-store</code> header + values will not be stored in the cache. The + <code class="directive">CacheStoreNoStore</code> directive allows this + behavior to be overridden. <code class="directive">CacheStoreNoStore</code> On + tells the server to attempt to cache the resource even if it contains + no-store header values. Resources requiring authorization will + <em>never</em> be cached.</p> + + <pre class="prettyprint lang-config">CacheStoreNoStore On</pre> + + + <div class="warning"><h3>Warning:</h3> + As described in RFC 2616, the no-store directive is intended to + "prevent the inadvertent release or retention of sensitive information + (for example, on backup tapes)." Enabling this option could store + sensitive information in the cache. You are hereby warned. + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li> +<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a> <a name="cachestoreprivate" id="cachestoreprivate">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Attempt to cache responses that the server has marked as private</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheStorePrivate Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Ordinarily, responses with <code>Cache-Control: private</code> header values will not + be stored in the cache. The <code class="directive">CacheStorePrivate</code> + directive allows this behavior to be overridden. + <code class="directive">CacheStorePrivate</code> On + tells the server to attempt to cache the resource even if it contains + private header values. Resources requiring authorization will + <em>never</em> be cached.</p> + + <pre class="prettyprint lang-config">CacheStorePrivate On</pre> + + + <div class="warning"><h3>Warning:</h3> + This directive will allow caching even if the upstream server has + requested that the resource not be cached. This directive is only + ideal for a 'private' cache. + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li> +<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cache.html" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html.fr.utf8 b/docs/manual/mod/mod_cache.html.fr.utf8 new file mode 100644 index 0000000..f38d24a --- /dev/null +++ b/docs/manual/mod/mod_cache.html.fr.utf8 @@ -0,0 +1,1187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_cache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre de mise en cache HTTP conforme à la RFC 2616</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache.c</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning">Ce module doit être utilisé avec précautions + car lorsque la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> est définie à sa + valeur par défaut <strong>on</strong>, les directives <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> sont court-circuitées. Vous + ne devez donc pas activer la gestion rapide de la mise en cache pour + un contenu auquel vous souhaitez limiter l'accès en fonction du nom + d'hôte du client, de l'adresse IP ou d'une variable + d'environnement.</div> + + <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> implémente un <strong>filtre de mise + en cache de contenu HTTP</strong> conforme à la <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a>, avec + support de la mise en cache des réponses dont le contenu a été + négocié et comportant l'en-tête Vary.</p> + + <p>La mise en cache conforme à la RFC 2616 fournit un mécanisme + permettant de vérifier si un contenu expiré ou dépassé est encore à + jour, et peut apporter un gain de performances significatif si le + serveur original supporte les <strong>requêtes + conditionnelles</strong> en prenant en compte l'en-tête de requête + HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">If-None-Match</a>. + Le contenu n'est ainsi régénéré que lorsqu'il a été modifié, et non + lorsqu'il a expiré.</p> + + <p>En tant que filtre, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être placé + en face d'un contenu issu de tout gestionnaire, y compris + <strong>des fichiers à accès séquentiel</strong> (servis depuis un + disque lent mis en + cache sur un gros disque), la sortie d'un <strong>script + CGI</strong> ou d'un <strong>générateur de contenu + dynamique</strong>, ou du contenu <strong>mandaté depuis un autre + serveur</strong>.</p> + + <p>Dans la configuration par défaut, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + place le filtre de mise en cache aussi loin que possible dans la + pile de filtres, utilisant le <strong>gestionnaire rapide</strong> + pour court-circuiter tout traitement par requête lors de l'envoi du + contenu au client. Dans ce mode opératoire, + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être considéré comme un serveur + mandataire avec cache fixé en tête du serveur web, alors qu'il + s'exécute dans ce même serveur web.</p> + + <p>Lorsque le gestionnaire rapide est désactivé via la directive + <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code>, il + devient possible d'insérer le filtre <strong>CACHE</strong> à un + point de la pile de filtres choisi par l'administrateur. Ceci permet + de mettre en cache un contenu avant que celui-ci ne soit + personnalisé par le filtre <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, ou + éventuellement compressé par le filtre <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p> + + <p>Dans le mode de fonctionnement normal, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + peut être contrôlé par les en-têtes <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">Cache-Control</a> + et <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">Pragma</a> + envoyés par un client dans une requête, ou par un serveur dans une + réponse. Dans des circonstances exceptionnelles, + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut cependant être configuré pour + outrepasser ces en-têtes et forcer un comportement spécifique au + site, bien qu'un tel comportement sera limité à ce cache seulement, + et n'affectera pas les opérations des autres caches qui peuvent + s'insérer entre le client et le serveur, et ce type de configuration + ne doit donc être utiliser qu'en cas de nécessité absolue.</p> + + <p>La RFC 2616 permet au cache de renvoyer des données périmées + pendant que l'entrée périmée correspondante est mise à jour depuis + le serveur original, et <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> supporte cette + fonctionnalité lorsque la directive <code class="directive"><a href="#cachelock">CacheLock</a></code> est configurée en + conséquence. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a> + contenant un code de réponse 110. La RFC 2616 permet aussi au cache + de renvoyer des données périmées lorsque la tentative de mise à jour + des données périmées renvoie une erreur 500 ou supérieure, et cette + fonctionnalité est supportée par défaut par + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a> + contenant un code de réponse 111.</p> + + <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> requiert les services d'un ou + plusieurs modules de gestion de stockage. La distribution Apache de base + inclut les modules de gestion de stockage suivants :</p> + <dl> + <dt><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></dt> + + <dd>implémente un gestionnaire de stockage sur disque. Les en-têtes + et corps sont stockés séparément sur le disque dans une structure de + répertoires basée sur le condensé md5 de l'URL mise en cache. + Plusieurs réponses à contenu négocié peuvent être stockées en même + temps, mais la mise en cache de contenus partiels n'est pas + supportée par ce module. L'utilitaire + <code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> permet de lister et de supprimer les + URLs mises en cache, et de maintenir le cache en deçà de + certaines limites de taille et de nombre d'inodes.</dd> + <dt><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></dt> + <dd>Implémente un gestionnaire de stockage basé sur un cache d'objets + partagés. Les en-têtes et corps sont stockés ensemble sous une seule + clé basée sur l'URL de la réponse mise en cache. Des réponses à + contenus multiples négociés peuvent être stockées simultanément, mais + ce module ne supporte pas la mise en cache de contenus partiels.</dd> + </dl> + + <p>Pour de plus amples détails, une description, et des exemples, + reportez-vous au <a href="../caching.html">Guide de la mise en + cache</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#related">Modules apparentés et directives</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Eviter une tempête de requête</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Contrôle fin via le filtre CACHE</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#status">Etat du cache et journalisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedetailheader">CacheDetailHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheheader">CacheHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockpath">CacheLockPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminexpire">CacheMinExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachequickhandler">CacheQuickHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestaleonerror">CacheStaleOnError</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreexpired">CacheStoreExpired</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../caching.html">Guide de la mise en +cache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">Modules apparentés et directives</a></h2> + <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sampleconf" id="sampleconf">Exemple de configuration</a></h2> + <div class="example"><h3>Extrait de httpd.conf</h3><pre class="prettyprint lang-config"># +# Exemple de configuration du cache +# +LoadModule cache_module modules/mod_cache.so +<IfModule mod_cache.c> + LoadModule cache_disk_module modules/mod_cache_disk.so + <IfModule mod_cache_disk.c> + CacheRoot "c:/cacheroot" + CacheEnable disk "/" + CacheDirLevels 5 + CacheDirLength 3 + </IfModule> + + # Lorsqu'on sert de mandataire, on ne met pas en cache la liste +# des mises à jour de sécurité + CacheDisable "http://security.update.server/update-list/" +</IfModule></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="thunderingherd" id="thunderingherd">Eviter une tempête de requête</a></h2> + <p>Lorsqu'une entrée du cache est périmée, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + soumet une requête conditionnelle au processus d'arrière-plan, qui est + censé confirmer la validité de l'entrée du cache, ou dans la négative + envoyer une entrée mise à jour.</p> + <p>Un court mais non négligeable laps de temps existe entre le moment + où l'entrée du cache est périmée, et le moment où elle est mise à + jour. Sur un serveur fortement chargé, un certain nombre de requêtes + peut arriver pendant ce laps de temps, et provoquer une + <strong>tempête</strong> de requêtes susceptibles de saturer le + processus d'arrière-plan de manière soudaine et imprédictible.</p> + <p>Pour contenir cette tempête, on peut utiliser la directive <code class="directive"><a href="#cachelock">CacheLock</a></code> afin de définir un répertoire où + seront créés <strong>à la volée</strong> des verrous pour les URLs. Ces + verrous sont utilisés comme autant d'<strong>indications</strong> par les + autres requêtes, soit pour empêcher une tentative de mise en cache (un autre + processus est en train de récupérer l'entité), soit pour indiquer qu'une + entrée périmée est en cours de mise à jour (pendant ce temps, c'est le contenu + périmé qui sera renvoyé). + </p> + <h3>Mise en cache initiale d'une entrée</h3> + + <p>Lorsqu'une entité est mise en cache pour la première fois, un + verrou est créé pour cette entité jusqu'à ce que la réponse ait été + entièrement mise en cache. Pendant la durée de vie du verrou, le + cache va empêcher une seconde tentative de mise en cache de la même + entité. Bien que cela ne suffise pas à contenir la tempête de + requêtes, toute tentative de mettre en cache la même entité + plusieurs fois simultanément est stoppée. + </p> + + <h3>Mise à jour d'une entrée périmée</h3> + + <p>Lorsqu'une entrée atteint la limite de sa durée de vie, et + devient par conséquent périmée, un verrou est créé pour cette entité + jusqu'à ce que la réponse ait été soit confirmée comme encore + valide, soit remplacée par le processus d'arrière-plan. Pendant la + durée de vie du verrou, une seconde requête entrante va provoquer le + renvoi de la donnée périmée, et la tempête de requêtes sera + contenue.</p> + + <h3>Verrous et en-tête Cache-Control: no-cache</h3> + + <p>Les verrous ne sont utilisés <strong>qu'à titre + indicatif</strong> pour enjoindre le cache à être plus coopératif + avec les serveurs d'arrière-plan, et il est possible de passer outre + si nécessaire. Si le client envoie une requête contenant un en-tête + Cache-Control imposant un nouveau téléchargement de l'entité, tout + verrou éventuel sera ignoré, la requête du client sera honorée + immédiatement, et l'entrée du cache mise à jour.</p> + + <p>Comme mécanisme de sécurité supplémentaire, la durée de vie maximale des + verrous est configurable. Lorsque cette limite est atteinte, le verrou est + supprimé et une autre requête peut alors en créer un nouveau. Cette durée de + vie peut être définie via la directive <code class="directive"><a href="#cachemaxexpire">CacheMaxExpire</a></code>, et sa valeur par défaut est + de 5 secondes. + </p> + + <h3>Exemple de configuration</h3> + + <div class="example"><h3>Activation du verrouillage du cache</h3><pre class="prettyprint lang-config"># +# Active le verrouillage du cache +# +<IfModule mod_cache.c> + CacheLock on + CacheLockPath "/tmp/mod_cache-lock" + CacheLockMaxAge 5 +</IfModule></pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="finecontrol" id="finecontrol">Contrôle fin via le filtre CACHE</a></h2> + <p>Dans son mode de fonctionnement par défaut, le cache s'exécute sous + la forme d'un gestionnaire rapide, court-circuitant la majorité des + traitements du serveur et fournissant ainsi une mise en cache + possédant les plus hautes performances disponibles.</p> + + <p>Dans ce mode, le cache <strong>s'incruste</strong> devant le + serveur, comme si un mandataire de mise en cache indépendant RFC 2616 + était placé devant ce dernier.</p> + + <p>Bien que que ce mode offre les meilleures performances, les + administrateurs peuvent souhaiter, dans certaines circonstances, + effectuer des traitements sur la requête après que cette dernière ait + été mise en cache, comme ajouter du contenu personnalisé à la page + mise en cache, ou appliquer des restrictions d'autorisations au + contenu. Pour y parvenir, l'administrateur sera alors souvent forcé de + placer des serveurs mandataires inverses indépendants soit derrière, + soit devant le serveur de mise en cache.</p> + + <p>Pour résoudre ce problème, la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> peut être définie à + <strong>off</strong>, afin que le serveur traite toutes les phases + normalement exécutées par une requête non mise en cache, y compris les + phases <strong>d'authentification et d'autorisation</strong>.</p> + + <p>En outre, l'administrateur peut éventuellement spécifier le + <strong>point précis dans la chaîne de filtrage</strong> où devra + intervenir la mise en cache en ajoutant le filtre + <strong>CACHE</strong> à la chaîne de filtrage en sortie.</p> + + <p>Par exemple, pour mettre en cache le contenu avant d'appliquer une + compression à la réponse, placez le filtre <strong>CACHE</strong> + avant le filtre <strong>DEFLATE</strong> comme dans l'exemple suivant + :</p> + + <pre class="prettyprint lang-config"># Mise en cache du contenu avant la compression optionnelle +CacheQuickHandler off +AddOutputFilterByType CACHE;DEFLATE text/plain</pre> + + + <p>Une autre possibilité consiste à mettre en cache le contenu avant + l'ajout de contenu personnalisé via <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> (ou + tout autre filtre de traitement de contenu). Dans l'exemple suivant, + les modèles contenant des balises comprises par + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont mis en cache avant d'être + interprétés :</p> + + <pre class="prettyprint lang-config"># Mise en cache du contenu avant l'intervention de mod_include et + # mod_deflate +CacheQuickHandler off +AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre> + + + <p>Vous pouvez insérer le filtre <strong>CACHE</strong> en tout point + de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis + en cache après avoir été interprété par <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, + mais avant d'être traité par <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> :</p> + + <pre class="prettyprint lang-config"># Mise en cache du contenu entre les interventions de mod_include et + # mod_deflate +CacheQuickHandler off +AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html</pre> + + + <div class="warning"><h3>Avertissement :</h3>Si pour une raison + ou pour une autre, le point d'insertion du filtre + <strong>CACHE</strong> dans la chaîne de filtrage est modifié, vous + devez <strong>vider votre cache</strong> pour être sûr que les données + servies soient à jour. En effet, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> n'est pas + en mesure d'effectuer cette opération à votre place.</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="status" id="status">Etat du cache et journalisation</a></h2> + <p>Lorsque <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> a décidé s'il devait ou non + servir une entité depuis le cache, les raisons précises de cette + décision sont enregistrées dans l'environnement du sous-processus + interne à la requête sous la clé <strong>cache-status</strong>. + Cette information peut être journalisée via la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> comme suit :</p> + + <pre class="prettyprint lang-config">LogFormat "%{cache-status}e ..."</pre> + + + <p>En fonction de la décision prise, l'information est aussi écrite + dans l'environnement du sous-processus sous une des quatre clés + suivantes :</p> + + <dl> + <dt>cache-hit</dt><dd>Le contenu a été servi depuis le cache.</dd> + <dt>cache-revalidate</dt><dd>Le contenu du cache était périmé, a été + mis à jour avec succès, puis servi depuis le cache.</dd> + <dt>cache-miss</dt><dd>Le contenu n'était pas dans le cache et a été + servi directement depuis le serveur demandé.</dd> + <dt>cache-invalidate</dt><dd>L'entité du cache est devenue invalide + suite à une requête d'un type autre que GET ou HEAD.</dd> + </dl> + + <p>Il est alors possible d'envisager une journalisation conditionnelle + du traitement des requêtes par rapport au cache comme dans l'exemple + suivant :</p> + + <pre class="prettyprint lang-config">CustomLog "cached-requests.log" common env=cache-hit +CustomLog "uncached-requests.log" common env=cache-miss +CustomLog "revalidated-requests.log" common env=cache-revalidate +CustomLog "invalidated-requests.log" common env=cache-invalidate</pre> + + + <p>Pour les concepteurs de modules, une accroche (hook) nommée + <var>cache_status</var> est disponible et permet aux modules de + répondre aux résultats de la vérification du cache ci-dessus de manière + personnalisée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachedefaultexpire" id="cachedefaultexpire">Directive</a> <a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée par défaut de mise en cache d'un document +lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDefaultExpire <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDefaultExpire 3600 (une heure)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>La directive <code class="directive">CacheDefaultExpire</code> permet de + spécifier un temps par défaut, en secondes, pendant lequel sera conservé + dans le cache un document qui ne possède ni date d'expiration, ni date de + dernière modification. La valeur de cette directive n'est <em>pas</em> + écrasée par la valeur de la directive <code class="directive"><a href="#cachemaxexpire">CacheMaxExpire</a></code>, même si cette dernière est + utilisée.</p> + + <pre class="prettyprint lang-config">CacheDefaultExpire 86400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachedetailheader" id="cachedetailheader">Directive</a> <a name="CacheDetailHeader" id="CacheDetailHeader">CacheDetailHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDetailHeader <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDetailHeader off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr> +</table> + <p>Lorsque la directive <code class="directive">CacheDetailHeader</code> est définie à + on, un en-tête <strong>X-Cache-Detail</strong> est ajouté à la réponse et + contient les raisons précises d'une décision d'utilisation du cache vis à vis + de cette dernière.</p> + + <p>Ceci peut s'avérer utile au cours du développement de services + RESTful mis en cache pour obtenir des informations supplémentaires à + propos des décisions vis à vis du cache écrites dans les en-têtes de + la réponse. Il est ainsi possible de vérifier si + <code>Cache-Control</code> et d'autres en-têtes ont été correctement + utilisés par le service et le client.</p> + + <p>Si le gestionnaire normal est utilisé, cette directive peut se situer dans + une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou + <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Si c'est le + gestionnaire rapide qui est utilisé, elle doit se situer dans un contexte de + serveur principal ou de serveur virtuel, sinon elle sera ignorée.</p> + + <pre class="prettyprint lang-config"># Active l'en-tête X-Cache-Detail +CacheDetailHeader on</pre> + + + <div class="example"><p><code> + X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost<br /> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachedisable" id="cachedisable">Directive</a> <a name="CacheDisable" id="CacheDisable">CacheDisable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive la mise en cache des URLs +spécifiées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDisable <var>chaîne-url</var> | <var>on</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>La directive <code class="directive">CacheDisable</code> enjoint + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de <em>ne pas</em> mettre en cache l'URL + spécifiée par <var>chaîne URL</var>, ainsi que les URLs de niveaux + inférieurs.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CacheDisable "/fichiers_locaux"</pre> +</div> + + <p>Si la directive se trouve à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le chemin doit être + spécifié en dessous de la Location, et si le mot "on" est utilisé, la mise + en cache sera désactivée pour l'ensemble de l'arborescence concernée par la + section Location.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/foo"> + CacheDisable on +</Location></pre> +</div> + + <p>Avec les versions 2.2.12 et ultérieures, on peut définir la + variable d'environnement <code>no-cache</code> pour une définition + plus fine des ressources à mettre en cache.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../env.html">Les variables d'environnement dans +Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheenable" id="cacheenable">Directive</a> <a name="CacheEnable" id="CacheEnable">CacheEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mise en cache des URLs spécifiées en utilisant le +gestionnaire de stockage précisé</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheEnable <var>type de cache</var> [<var>chaîne +URL</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Une chaîne URL telle que '/' s'appliquait à tout contenu +en mandat direct dans les versions 2.2 et antérieures.</td></tr> +</table> + <p>La directive <code class="directive">CacheEnable</code> enjoint + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de mettre en cache l'URL précisée par + <var>chaîne URL</var>, ainsi que les URLs de niveaux inférieurs. Le + gestionnaire de stockage du cache est spécifié à l'aide de l'argument + <var>type de cache</var>. La directive <code class="directive">CacheEnable</code> + peut être placée à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> pour indiquer que le contenu + considéré peut être mis en cache. Si <var>type de cache</var> a pour valeur + <code>disk</code>, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> utilisera le gestionnaire de + stockage sur disque implémenté par + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. Pour que <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + utilise le gestionnaire de stockage basé sur le cache d'objets + partagés implémenté par <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>, + spécifiez <code>socache</code> comme valeur du paramètre <var>type + de cache</var>.</p> + <p>Si les différentes directives <code class="directive">CacheEnable</code> + spécifient des URLs qui se recoupent (comme dans l'exemple + ci-dessous), tous les gestionnaires de stockage possibles seront + lancés, jusqu'au premier d'entre eux qui traitera effectivement la + requête. + L'ordre dans lequel les gestionnaires de stockage sont lancés est déterminé + par l'ordre dans lequel apparaissent les directives + <code class="directive">CacheEnable</code> dans le fichier de configuration. Les + directives <code class="directive">CacheEnable</code> situées à l'intérieur de + sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou + <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> sont + traitées avant les directives <code class="directive">CacheEnable</code> définies au + niveau global.</p> + + <p>En fonctionnement du type serveur mandataire direct, <var>chaîne + URL</var> doit au moins débuter par un protocole pour lequel la mise + en cache doit être activée.</p> + + <pre class="prettyprint lang-config"># Mise en cache de contenu (gestionnaire normal seulement) +CacheQuickHandler off +<Location "/foo"> + CacheEnable disk +</Location> + +# Mise en cache via une expression rationnelle (gestionnaire normal seulement) +CacheQuickHandler off +<LocationMatch "foo$"> + CacheEnable disk +</LocationMatch> + +# Mise en cache de tous les contenus, à l'exception des URLs +# mandatées en direct (gestionnaire normal ou rapide) +CacheEnable disk / + +# Mise en cache des URLs FTP mandatées (gestionnaire normal ou rapide) +CacheEnable disk ftp:// + +# Mise en cache des contenus mandatés en direct depuis www.example.org (gestionnaire normal ou rapide) +CacheEnable disk http://www.example.org/</pre> + + + <p>Un nom d'hôte commençant par un caractère <strong>"*"</strong> + correspondra à tout nom d'hôte se terminant par le suffixe + considéré. Un nom d'hôte commençant par un caractère + <strong>"."</strong> correspondra à tout nom d'hôte contenant le + composant de nom de domaine qui suit ce caractère.</p> + + <pre class="prettyprint lang-config"># Correspond à www.example.org et fooexample.org +CacheEnable disk "http://*example.org/" +# Correspond à www.example.org, mais pas à fooexample.org +CacheEnable disk "http://.example.org/"</pre> + + + <p>Depuis la version 2.2.12, on peut définir la variable + d'environnement <code>no-cache</code> pour une définition plus fine + des ressources à mettre en cache.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../env.html">Les variables d'environnement dans +Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheheader" id="cacheheader">Directive</a> <a name="CacheHeader" id="CacheHeader">CacheHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache à la réponse.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheHeader <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheHeader off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr> +</table> + <p>Lorsque la directive <code class="directive">CacheHeader</code> est définie à on, un + en-tête <strong>X-Cache</strong> est ajouté à la réponse et contient + l'état du cache pour cette dernière. Si le gestionnaire normal est + utilisé, cette directive peut se situer dans une section + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou + <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Si c'est + le gestionnaire rapide qui est utilisé, elle doit se situer dans un + contexte de serveur principal ou de serveur virtuel, sinon elle sera + ignorée.</p> + + <dl> + <dt><strong>HIT</strong></dt><dd>Le contenu était à jour et a été + servi depuis le cache.</dd> + <dt><strong>REVALIDATE</strong></dt><dd>Le contenu était périmé, a + été mis à jour, puis a été servi depuis le cache.</dd> + <dt><strong>MISS</strong></dt><dd>Le contenu n'a pas été servi + depuis le cache, mais directement depuis le serveur demandé.</dd> + </dl> + + <pre class="prettyprint lang-config"># Active l'en-tête X-Cache +CacheHeader on</pre> + + + <pre class="prettyprint lang-config">X-Cache: HIT from localhost</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheignorecachecontrol" id="cacheignorecachecontrol">Directive</a> <a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les en-têtes de requête enjoignant de ne pas servir +le contenu au client depuis le cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Normalement, les requêtes contenant des en-têtes tels que + <code>Cache-Control: no-cache</code> ou Pragma: no-cache ne sont pas + servies depuis le cache. La directive + <code class="directive">CacheIgnoreCacheControl</code> permet de modifier ce + comportement. Avec <code class="directive">CacheIgnoreCacheControl + On</code>, le serveur tentera de servir la ressource depuis le + cache, même si la requête contient un des en-têtes cités plus haut. + Les ressources qui requièrent une autorisation ne seront + <em>jamais</em> mises en cache.</p> + + <pre class="prettyprint lang-config">CacheIgnoreCacheControl On</pre> + + + <div class="warning"><h3>Avertissement :</h3> + Cette directive permet de servir des ressources depuis le cache, + même si le client a demandé à ce qu'il n'en soit pas ainsi. Le + contenu servi est ainsi susceptible d'être périmé. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li> +<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheignoreheaders" id="cacheignoreheaders">Directive</a> <a name="CacheIgnoreHeaders" id="CacheIgnoreHeaders">CacheIgnoreHeaders</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreHeaders <var>en-tête</var> [<var>en-tête</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>En accord avec la RFC 2616, les en-têtes HTTP hop-by-hop ne sont + pas stockés dans le cache. Les en-têtes HTTP suivant sont des + en-têtes hop-by-hop, et en tant que tels, ne sont en <em>aucun</em> + cas stockés dans le cache, quelle que soit la définition de la + directive <code class="directive">CacheIgnoreHeaders</code> :</p> + + <ul> + <li><code>Connection</code></li> + <li><code>Keep-Alive</code></li> + <li><code>Proxy-Authenticate</code></li> + <li><code>Proxy-Authorization</code></li> + <li><code>TE</code></li> + <li><code>Trailers</code></li> + <li><code>Transfer-Encoding</code></li> + <li><code>Upgrade</code></li> + </ul> + + <p>La directive <code class="directive">CacheIgnoreHeaders</code> permet de + spécifier quels en-têtes HTTP ne doivent pas être stockés dans le + cache. Par exemple, il peut s'avérer pertinent dans certains cas de + ne pas stocker les cookies dans le cache.</p> + + <p>La directive <code class="directive">CacheIgnoreHeaders</code> accepte + une liste d'en-têtes HTTP séparés par des espaces, qui ne doivent + pas être stockés dans le cache. Si les en-têtes hop-by-hop sont les + seuls à ne pas devoir être stockés dans le cache (le comportement + compatible RFC 2616), la directive + <code class="directive">CacheIgnoreHeaders</code> peut être définie à + <code>None</code>.</p> + + <div class="example"><h3>Exemple 1</h3><pre class="prettyprint lang-config">CacheIgnoreHeaders Set-Cookie</pre> +</div> + + <div class="example"><h3>Exemple 2</h3><pre class="prettyprint lang-config">CacheIgnoreHeaders None</pre> +</div> + + <div class="warning"><h3>Avertissement :</h3> + Si des en-têtes nécessaires à la bonne gestion du cache, comme + <code>Expires</code>, ne sont pas stockés suite à la définition + d'une directive <code class="directive">CacheIgnoreHeaders</code>, le + comportement de mod_cache sera imprévisible. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheignorenolastmod" id="cacheignorenolastmod">Directive</a> <a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore le fait qu'une réponse ne possède pas d'en-tête Last +Modified.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Normalement, les documents qui ne possèdent pas de date de + dernière modification ne sont pas mis en cache. Dans certaines + circonstances, la date de dernière modification est supprimée (au + cours des traitements liés à <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> par + exemple), ou n'existe tout simplement pas. La directive + <code class="directive">CacheIgnoreNoLastMod</code> permet de spécifier si + les documents ne possèdant pas de date de dernière modification doivent être + mis en cache, même sans date de dernière modification. Si le document ne + possède ni date d'expiration, ni date de dernière modification, la valeur + spécifiée par la directive <code class="directive"><a href="#cachedefaultexpire">CacheDefaultExpire</a></code> servira à générer une date + d'expiration. + </p> + + <pre class="prettyprint lang-config">CacheIgnoreNoLastMod On</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheignorequerystring" id="cacheignorequerystring">Directive</a> <a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore la chaîne de paramètres lors de la mise en +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreQueryString On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Normalement, les requêtes comportant une chaîne de paramètres + sont mises en cache séparément si leurs chaînes de paramètres + diffèrent. + En accord avec la RFC 2616/13.9, cette mise en cache n'est effectuée + séparément que si une date d'expiration est spécifiée. La directive + <code class="directive">CacheIgnoreQueryString</code> permet la mise en + cache de requêtes même si aucune date d'expiration est spécifiée, et + de renvoyer une réponse depuis la cache même si les chaînes de + paramètres diffèrent. Du point de vue du cache, la requête est + traitée comme si elle ne possèdait pas de chaîne de paramètres + lorsque cette directive est activée.</p> + + <pre class="prettyprint lang-config">CacheIgnoreQueryString On</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">Directive</a> <a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les identifiants de session définis encodés dans +l'URL lors de la mise en cache +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreURLSessionIdentifiers <var>identifiant</var> +[<var>identifiant</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Certaines applications encodent l'identifiant de session dans + l'URL comme dans l'exemple suivant : + </p> + <ul> + <li><code>/une-application/image.gif;jsessionid=123456789</code></li> + <li><code>/une-application/image.gif?PHPSESSIONID=12345678</code></li> + </ul> + <p>Ceci implique la mise en cache des ressources séparément pour + chaque session, ce qui n'est en général pas souhaité. La directive + <code class="directive">CacheIgnoreURLSessionIdentifiers</code> permet de + définir une liste d'identifiants qui seront supprimés de la clé + utilisée pour identifier une entité dans le cache, de façon à ce que + les ressources ne soient pas stockées séparément pour chaque + session. + </p> + <p><code>CacheIgnoreURLSessionIdentifiers None</code> vide la liste + des identifiants ignorés. Autrement, chaque identifiant spécifié est + ajouté à la liste.</p> + + <div class="example"><h3>Exemple 1</h3><pre class="prettyprint lang-config">CacheIgnoreURLSessionIdentifiers jsessionid</pre> +</div> + + <div class="example"><h3>Exemple 2</h3><pre class="prettyprint lang-config">CacheIgnoreURLSessionIdentifiers None</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachekeybaseurl" id="cachekeybaseurl">Directive</a> <a name="CacheKeyBaseURL" id="CacheKeyBaseURL">CacheKeyBaseURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URL de base des clés du cache mandatées en +inverse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheKeyBaseURL <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr> +</table> + <p>Lorsque la directive <code class="directive">CacheKeyBaseURL</code> est utilisée, + l'URL spécifiée sera utilisée comme URL de base pour calculer l'URL des clés + du cache dans la configuration du mandataire inverse. Par défaut, c'est le + protocole/nom d'hôte/port du serveur virtuel courant qui sera utilisé pour + construire la clé de cache. Dans le cas d'un cluster de machines, si toutes + les entrées du cache doivent posséder la même clé, cette directive permet de + spécifier une nouvelle URL de base.</p> + + <pre class="prettyprint lang-config"># Remplace l'URL de base de la clé de cache. +CacheKeyBaseURL "http://www.example.com/"</pre> + + + <div class="warning">Prenez garde en définissant cette directive. Si + deux serveurs virtuels distincts possèdent accidentellement la même + URL de base, les entrées en provenance d'un serveur virtuel seront + servies par l'autre.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Directive</a> <a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le facteur utilisé pour générer une date d'expiration en +fonction de la date de dernière modification.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLastModifiedFactor <var>flottant</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Si un document ne possède pas de date d'expiration, elle peut + être calculée en fonction de la date de dernière modification, si + elle existe. La directive + <code class="directive">CacheLastModifiedFactor</code> permet de spécifier + un <var>facteur</var> à utiliser pour la génération de cette date + d'expiration au sein de la formule suivante : + + <code>délai-expiration = durée-depuis-date-dernière-modification * + <var>facteur</var> + date-expiration = date-courante + délai-expiration</code> + + Par exemple, si la dernière modification du document date de 10 + heures, et si <var>facteur</var> a pour valeur 0.1, le délai + d'expiration sera de 10*0.1 = 1 heure. Si l'heure courante est + 3:00pm, la date d'expiration calculée sera 3:00pm + 1 heure = + 4:00pm. + + Si le délai d'expiration est supérieur à celui spécifié par la directive + <code class="directive"><a href="#cachemaxexpire">CacheMaxExpire</a></code>, c'est ce dernier + qui l'emporte.</p> + + <pre class="prettyprint lang-config">CacheLastModifiedFactor 0.5</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachelock" id="cachelock">Directive</a> <a name="CacheLock" id="CacheLock">CacheLock</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la protection contre les tempêtes de requêtes.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLock <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLock off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.15 d'Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheLock</code> active la protection + contre les tempêtes de requêtes pour l'espace d'adressage donné.</p> + + <p>La configuration minimale pour activer le verrouillage contre les + tempêtes de requêtes dans le répertoire temp par défaut du système est + la suivante :</p> + + <pre class="prettyprint lang-config"># Active le verrouillage du cache +CacheLock on</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachelockmaxage" id="cachelockmaxage">Directive</a> <a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la durée de vie maximale d'un verrou de cache.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLockMaxAge <var>entier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockMaxAge 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>La directive <code class="directive">CacheLockMaxAge</code> permet de + spécifier la durée de vie maximale d'un verrou de cache.</p> + + <p>Un verrou plus ancien que cette valeur exprimée en secondes sera + ignoré, et la prochaine requête entrante sera alors en mesure de + recréer le verrou. Ce mécanisme permet d'éviter les mises à jour trop + longues initiées par des clients lents.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachelockpath" id="cachelockpath">Directive</a> <a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le répertoire des verrous.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLockPath <var>répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockPath /tmp/mod_cache-lock</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>La directive <code class="directive">CacheLockPath</code> permet de + spécifier le répertoire dans lequel les verrous sont créés. Par + défaut, c'est le répertoire temporaire du système qui est utilisé. Les + verrous sont des fichiers vides qui n'existent que pour les URLs + périmées en cours de mise à jour, et consomment donc bien moins de + ressources que le traditionnel cache sur disque.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachemaxexpire" id="cachemaxexpire">Directive</a> <a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée maximale en secondes de mise en cache d'un +document</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMaxExpire <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMaxExpire 86400 (une journée)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>La directive <code class="directive">CacheMaxExpire</code> permet de + spécifier le nombre maximum de secondes pendant lequel les documents + HTTP suceptibles d'être mis en cache seront conservés sans vérifier + leur contenu sur le serveur d'origine. Ce nombre de secondes + correspond donc à la durée maximale pendant laquelle un document ne + sera pas à jour. L'utilisation de cette valeur maximale est forcée, + même si le document possède une date d'expiration.</p> + + <pre class="prettyprint lang-config">CacheMaxExpire 604800</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheminexpire" id="cacheminexpire">Directive</a> <a name="CacheMinExpire" id="CacheMinExpire">CacheMinExpire</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale en secondes de mise en cache d'un +document</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMinExpire <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMinExpire 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>La directive <code class="directive">CacheMinExpire</code> permet de + spécifier le nombre minimum de secondes pendant lequel les documents + HTTP susceptibles d'être mis en cache seront conservés sans vérifier + leur contenu sur le serveur d'origine. Elle n'est prise en compte + que dans le cas où le document ne possède aucune date d'expiration + valide.</p> + + <pre class="prettyprint lang-config">CacheMinExpire 3600</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachequickhandler" id="cachequickhandler">Directive</a> <a name="CacheQuickHandler" id="CacheQuickHandler">CacheQuickHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exécute le cache à partir d'un gestionnaire rapide.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheQuickHandler <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheQuickHandler on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.3 du serveur HTTP + Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheQuickHandler</code> permet de contrôler + la phase au cours de laquelle la mise en cache est effectuée.</p> + + <p>Avec la configuration par défaut, le cache agit au cours de la + phase du gestionnaire rapide. Cette phase court-circuite la majorité + des traitements du serveur, et constitue le mode d'opération le plus + performant pour un serveur typique. Le cache + <strong>s'incruste</strong> devant le serveur, et la majorité des + traitements du serveur est court-circuitée.</p> + + <p>Lorsque cette directive est définie à off, le cache agit comme un + gestionnaire normal, et est concerné par toutes les phases de + traitement d'une requête. Bien que ce mode soit moins performant que + le mode par défaut, il permet d'utiliser le cache dans les cas où un + traitement complet de la requête est nécessaire, comme par exemple + lorsque le contenu est soumis à autorisation.</p> + + <pre class="prettyprint lang-config"># Exécute le cache comme un gestionnaire normal +CacheQuickHandler off</pre> + + + <p>Lorsque le gestionnaire rapide est désactivé, l'administrateur a + aussi la possibilité de choisir avec précision le point de la chaîne + de filtrage où la mise en cache sera effectuée, en utilisant le + filtre <strong>CACHE</strong>.</p> + + <pre class="prettyprint lang-config"># Mise en cache du contenu avant l'intervention de mod_include et + # mod_deflate +CacheQuickHandler off +AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre> + + + <p>Si le filtre CACHE est spécifié plusieurs fois, c'est la dernière + instance qui sera prise en compte.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachestaleonerror" id="cachestaleonerror">Directive</a> <a name="CacheStaleOnError" id="CacheStaleOnError">CacheStaleOnError</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sert du contenu non à jour à la place de réponses 5xx.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStaleOnError <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStaleOnError on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr> +</table> + <p>Lorsque la directive <code class="directive">CacheStaleOnError</code> est définie à + on, et si des données non mises à jour sont disponibles dans le cache, ce + dernier renverra ces données, plutôt qu'une éventuelle réponse 5xx en + provenance du serveur d'arrière-plan. Alors que l'en-tête Cache-Control envoyé + par les clients sera respecté, et que les clients recevront donc dans ce cas + la réponse 5xx brute à leur requête, cette réponse 5xx renvoyée au client + n'invalidera pas le contenu dans le cache.</p> + + <pre class="prettyprint lang-config"># Sert des données non mises à jour en cas d'erreur. +CacheStaleOnError on</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachestoreexpired" id="cachestoreexpired">Directive</a> <a name="CacheStoreExpired" id="CacheStoreExpired">CacheStoreExpired</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les réponses que le serveur +considère comme arrivées à expiration</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreExpired On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreExpired Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Depuis la version 2.2.4, les réponses qui sont arrivées à + expiration ne sont pas stockées dans le cache. La directive + <code class="directive">CacheStoreExpired</code> permet de modifier ce + comportement. Avec <code class="directive">CacheStoreExpired</code> On, le + serveur tente de mettre en cache la ressource si elle est périmée. + Les requêtes suivantes vont déclencher une requête si-modifié-depuis + de la part du serveur d'origine, et la réponse sera renvoyée à + partir du cache si la ressource d'arrière-plan n'a pas été modifiée.</p> + + <pre class="prettyprint lang-config">CacheStoreExpired On</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachestorenostore" id="cachestorenostore">Directive</a> <a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les requêtes ou réponses dont +l'entête Cache-Control: a pour valeur no-store.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreNoStore Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Normalement, les requêtes ou réponses dont l'en-tête + <code>Cache-Control: no-store</code> ne sont pas stockées dans le + cache. La directive <code class="directive">CacheStoreNoStore</code> permet + de modifier ce comportement. Si + <code class="directive">CacheStoreNoStore</code> est définie à On, le + serveur tente de mettre la ressource en cache même si elle contient + des en-têtes ayant pour valeur no-store. Les ressources + nécessitant une autorisation ne sont <em>jamais</em> mises en + cache.</p> + + + <pre class="prettyprint lang-config">CacheStoreNoStore On</pre> + + + + <div class="warning"><h3>Avertissement :</h3> + Selon la RFC 2616, la valeur d'en-tête no-store est censée + "prévenir la suppression ou la rétention par inadvertance + d'informations sensibles (par exemple, sur des bandes de + sauvegarde)". Autrement dit, l'activation de la directive + <code class="directive">CacheStoreNoCache</code> pourrait provoquer le + stockage d'informations sensibles dans le cache. Vous avez donc + été prévenus. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li> +<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachestoreprivate" id="cachestoreprivate">Directive</a> <a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache des réponses que le serveur a +marquées comme privées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStorePrivate Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr> +</table> + <p>Normalement, les réponse comportant un en-tête <code>Cache-Control: + private</code> ne seront pas stockées dans le cache. La directive + <code class="directive">CacheStorePrivate</code> permet de modifier ce comportement. + Si <code class="directive">CacheStorePrivate</code> est définie à On, le serveur + tentera de mettre la ressource en cache, même si elle + contient des en-têtes ayant pour valeur private. Les ressources + nécessitant une autorisation ne sont <em>jamais</em> mises en + cache.</p> + + + <pre class="prettyprint lang-config">CacheStorePrivate On</pre> + + + + <div class="warning"><h3>Avertissement :</h3> + Cette directive autorise la mise en cache même si le serveur + indique que la ressource ne doit pas être mise en cache. Elle + n'est de ce fait appropriée que dans le cas d'un cache + 'privé'. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li> +<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html.ja.utf8 b/docs/manual/mod/mod_cache.html.ja.utf8 new file mode 100644 index 0000000..c2d8488 --- /dev/null +++ b/docs/manual/mod/mod_cache.html.ja.utf8 @@ -0,0 +1,680 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_cache</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>URI をキーにしたコンテンツのキャッシュ</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>cache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_cache.c</td></tr></table> +<h3>概要</h3> + + <div class="warning">このモジュールは <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> や <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> ディレクティブを無視しますので、 + 注意して使って下さい。クライアントのホスト名、アドレスや環境変数を使って + アクセスを制限したいコンテンツに対してはキャッシュ機能を有効にするべきではありません。 + </div> + + <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> はローカルのコンテンツやプロキシされた + コンテンツをキャッシュするために使われる <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> 準拠の + HTTP コンテンツキャッシュを実装しています。<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + の動作にはストレージを管理するモジュールが必要です。標準 + Apache 配布には二つストレージ管理モジュールが含まれています:</p> + + <dl> + <dt><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></dt> + <dd>ディスクを使用したストレージ管理機構を実装しています。</dd> + + <dt><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></dt> + <dd>メモリを使用したストレージ管理機構を実装しています。 + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> は次の二つのモードのどちらかで動作する + ように設定できます: オープンされているファイル記述子をキャッシュするモードか、 + ヒープ上でのオブジェクトの自体をキャッシュをするモードです。 + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> はローカルで生成されるコンテンツや、 + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> が + <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> を使って設定されている + ときの (つまり<dfn>リバースプロキシ</dfn> での) バックエンドサーバの + コンテンツをキャッシュするのに使えます。</dd> + </dl> + + <p>コンテンツのキャッシュへの保存と取得は URI に基づいたキーが使われます。 + アクセス保護のかけられているコンテンツはキャッシュされません。</p> + <p>より詳細な解説や例については<a href="../caching.html">キャッシュ機能</a> + を参照してください。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#related">関連モジュールとディレクティブ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">サンプル設定</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedetailheader">CacheDetailHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheheader">CacheHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockpath">CacheLockPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminexpire">CacheMinExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachequickhandler">CacheQuickHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestaleonerror">CacheStaleOnError</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreexpired">CacheStoreExpired</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../caching.html">キャッシュ機能</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">関連モジュールとディレクティブ</a></h2> + <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></li><li><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_dist.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachesize">MCacheSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sampleconf" id="sampleconf">サンプル設定</a></h2> + <div class="example"><h3>Sample httpd.conf</h3><p><code> + #<br /> + # Sample Cache Configuration<br /> + #<br /> + LoadModule cache_module modules/mod_cache.so<br /> + <br /> + <IfModule mod_cache.c><br /> + <span class="indent"> + #LoadModule cache_disk_module modules/mod_cache_disk.so<br /> + # If you want to use mod_cache_disk instead of mod_mem_cache,<br /> + # uncomment the line above and comment out the LoadModule line below.<br /> + <IfModule mod_cache_disk.c><br /> + <span class="indent"> + CacheRoot c:/cacheroot<br /> + CacheEnable disk /<br /> + CacheDirLevels 5<br /> + CacheDirLength 3<br /> + </span> + </IfModule> <br /> + <br /> + LoadModule mem_cache_module modules/mod_mem_cache.so<br /> + <IfModule mod_mem_cache.c><br /> + <span class="indent"> + CacheEnable mem /<br /> + MCacheSize 4096<br /> + MCacheMaxObjectCount 100<br /> + MCacheMinObjectSize 1<br /> + MCacheMaxObjectSize 2048<br /> + </span> + </IfModule><br /> + <br /> + # When acting as a proxy, don't cache the list of security updates<br /> + CacheDisable http://security.update.server/update-list/<br /> + </span> + </IfModule> + </code></p></div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire" id="cachedefaultexpire">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>期日が指定されていないときにドキュメントをキャッシュするデフォルトの期間</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheDefaultExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheDefaultExpire 3600 (1時間)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheDefaultExpire</code> ディレクティブは、ドキュメントに + 有効期限 (expiry) や最終修正時刻 (last-modified) が指定されていない場合の + デフォルトの時間を指定します。<code class="directive">CacheMaxExpire</code> + ディレクティブで指定された値はこの設定を上書き<em>しません</em>。</p> + + <div class="example"><p><code> + CacheDefaultExpire 86400 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDetailHeader" id="CacheDetailHeader">CacheDetailHeader</a> <a name="cachedetailheader" id="cachedetailheader">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Add an X-Cache-Detail header to the response.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheDetailHeader <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheDetailHeader off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDisable" id="CacheDisable">CacheDisable</a> <a name="cachedisable" id="cachedisable">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定の URL をキャッシュしない</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheDisable <var> url-string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheDisable</code> ディレクティブで + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> モジュールが <var>url-string</var> 以下の + URL をキャッシュ<em>しない</em>ようにします。</p> + + <div class="example"><h3>例</h3><p><code> + CacheDisable /local_files + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheEnable" id="CacheEnable">CacheEnable</a> <a name="cacheenable" id="cacheenable">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>指定したストレージ管理方式を使ってのキャッシュを有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheEnable <var>cache_type</var> <var>url-string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheEnable</code> ディレクティブで <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + モジュールが <var>url-string</var> 以下の URL をキャッシュするようにします。 + キャッシュストレージ管理方式は <var>cache_type</var> 引数で指定します。 + <var>cache_type</var> <code> mem</code> で、 + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> で実装されているメモリを使ったストレージ + 管理方式を使うように <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> に指示します。 + <var>cache_type</var> <code>disk</code> で、 + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> で実装されているディスクを使ったストレージ + 管理を使うように <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> に指示します。 + <var>cache_type</var> <code>fd</code> は <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> に + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> により実装されているファイル記述子の + キャッシュを使うように指示します。</p> + + <p>(下の例のように) <code class="directive">CacheEnable</code> ディレクティブの + URL 空間が重複しているときは、該当するストレージ方式を順に試して、 + 実際にリクエストの処理ができると、その方式で処理します。 + ストレージ管理方式が実行される順番は設定ファイル中の + <code class="directive">CacheEnable</code> の順番により決定されます。</p> + + <div class="example"><p><code> + CacheEnable mem /manual<br /> + CacheEnable fd /images<br /> + CacheEnable disk /<br /> + </code></p></div> + + <p>フォワードプロクシサーバとして動作する場合、 + <var>url-string</var> を使って、キャッシュを有効にするリモートサイトや + プロクシプロトコルを指定することもできます。</p> + + <div class="example"><p><code> + # Cache proxied url's<br /> + CacheEnable disk /<br /><br /> + # Cache FTP-proxied url's<br /> + CacheEnable disk ftp://<br /><br /> + # Cache content from www.apache.org<br /> + CacheEnable disk http://www.apache.org/<br /> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheHeader" id="CacheHeader">CacheHeader</a> <a name="cacheheader" id="cacheheader">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Add an X-Cache header to the response.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheHeader <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheHeader off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol" id="cacheignorecachecontrol">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>キャッシュされているコンテンツを返さないようにクライアントから +リクエストされても無視する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>Cache-Control: no-cache ヘッダや Pragma: no-store ヘッダのあるリクエストに + 対しては、通常キャッシュを使いません。<code class="directive">CacheIgnoreCacheControl</code> + ディレクティブを使うと、この動作を上書きできます。 + <code class="directive">CacheIgnoreCacheControl</code> On とすると、 + リクエストに no-cache という値があっても、キャッシュを使ってドキュメントを + 返すようになります。認証を必要とするドキュメントは<em>決して</em> + キャッシュされません。</p> + + <div class="example"><p><code> + CacheIgnoreCacheControl On + </code></p></div> + + <div class="warning"><h3>警告</h3> + このディレクティブを使うと、ドキュメント取得時にキャッシュを使わないように + クライアントがリクエストしているにもかかわらず、キャッシュを + 使うようになります。その結果、 + 古いコンテンツが送られ続けることになってしまうかもしれません。 + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li> +<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreHeaders" id="CacheIgnoreHeaders">CacheIgnoreHeaders</a> <a name="cacheignoreheaders" id="cacheignoreheaders">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>指定された HTTP ヘッダをキャッシュに保存しない。 +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>RFC 2616 によると、hop-by-hop HTTP ヘッダはキャッシュには保管されません。 + 以下のヘッダは hop-by-hop ヘッダに該当しますので、 + <code class="directive">CacheIgnoreHeaders</code> + の設定に<em>関係なく</em>キャッシュには保管されません:</p> + <ul> + <li><code>Connection</code></li> + <li><code>Keep-Alive</code></li> + <li><code>Proxy-Authenticate</code></li> + <li><code>Proxy-Authorization</code></li> + <li><code>TE</code></li> + <li><code>Trailers</code></li> + <li><code>Transfer-Encoding</code></li> + <li><code>Upgrade</code></li> + </ul> + + <p><code class="directive">CacheIgnoreHeaders</code> で + キャッシュに保管しない追加の HTTP ヘッダを指定します。 + 例えば、クッキーをキャッシュに保管しないようにした方がよい場合も + あるでしょう。</p> + + <p><code class="directive">CacheIgnoreHeaders</code> の引数は、 + キャッシュに保管しない HTTP ヘッダを空白区切りにしたリスト形式です。 + キャッシュに保管しないヘッダが hop-by-hop ヘッダだけの場合 + (RFC 2616 準拠の動作のとき) は、 + <code class="directive">CacheIgnoreHeaders</code> を <code>None</code> + に設定できます。</p> + + <div class="example"><h3>例 1</h3><p><code> + CacheIgnoreHeaders Set-Cookie + </code></p></div> + + <div class="example"><h3>例 2</h3><p><code> + CacheIgnoreHeaders None + </code></p></div> + + <div class="warning"><h3>警告:</h3> + <code>Expires</code> のような適切のキャッシュ管理のために必要な + ヘッダが <code class="directive">CacheIgnoreHeaders</code> の設定により + 保管されていないときは、mod_cache の動作は定義されていません。 + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a> <a name="cacheignorenolastmod" id="cacheignorenolastmod">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>応答に Last Modified が無くても気にしないようにする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>通常、Last-Modified による最終修正時刻の無いドキュメントはキャッシュ + されません。(例えば <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> による処理のときなどに) + Last-Modified 時刻が消去されたり、そもそも最初から提供されていない + 状況があります。<code class="directive">CacheIgnoreNoLastMod</code> + ディレクティブを使うと、Last-Modified 日時が指定されていない + ドキュメントでもキャッシュするように指定できます。ドキュメントに + 最終修正時刻 (Last-Modified) 有効期限 (expiry) がない場合は、有効期限の + 生成に <code class="directive">CacheDefaultExpire</code> が使われます。</p> + + <div class="example"><p><code> + CacheIgnoreNoLastMod On + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a> <a name="cacheignorequerystring" id="cacheignorequerystring">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>キャッシュ時にクエリーストリングを無視する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheIgnoreQueryString On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>クエリーストリング付のリクエストについては通常、クエリーストリングごとに + 個別にキャッシュされます。 + キャッシュされるのは有効期限が指定されている場合のみで、これは + RFC 2616/13.9 に従ったものです。 + <code class="directive">CacheIgnoreQueryString</code> ディレクティブを使うと + 有効期限が指定されていなくてもキャッシュしますし、 + クエリーストリングが異なっていてもキャッシュを返します。 + このディレクティブが有効になっている場合、キャッシュ機能の側面からみると、 + あたかもリクエストにクエリーストリングがついていなかったかのように扱います。</p> + + <div class="example"><p><code> + CacheIgnoreQueryString On + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a> <a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheKeyBaseURL" id="CacheKeyBaseURL">CacheKeyBaseURL</a> <a name="cachekeybaseurl" id="cachekeybaseurl">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Override the base URL of reverse proxied cache keys.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheKeyBaseURL <var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>LastModified の日付に基づいて有効期限 (expiry) +を計算するための重みを指定する +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheLastModifiedFactor <var>float</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>ドキュメントに Last-Modified の日付が無いけれども有効期限 (expiry) + の日付があるというときに、有効期限を最終修正時刻からの経過時間として + 計算するようにできます。有効期限を次の計算式に従って生成するのですが、 + そのときに使われる <var>factor</var> を + <code class="directive">CacheLastModifiedFactor</code> ディレクティブで指定します。 + </p> + + <p><code>expiry-period = time-since-last-modified-date * <var>factor</var> + expiry-date = current-date + expiry-period</code></p> + + <p>例えば、ドキュメントが 10 時間前に最後に修正されていて、 + <var>factor</var> が 0.1 であれば、期日は 10*0.1 = 1 時間に + 設定されます。現在時刻が 3:00pm であれば、計算された期日は + 3:00pm + 1hour = 4:00pm になります。</p> + + <p>期日が <code class="directive">CacheMaxExpire</code> で設定されている値 + より大きくなってしまっている場合は、<code class="directive">CacheMaxExpire</code> + の設定値が優先されます。</p> + + <div class="example"><p><code> + CacheLastModifiedFactor 0.5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLock" id="CacheLock">CacheLock</a> <a name="cachelock" id="cachelock">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable the thundering herd lock.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheLock <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheLock off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache 2.2.15 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a> <a name="cachelockmaxage" id="cachelockmaxage">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set the maximum possible age of a cache lock.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheLockMaxAge <var>integer</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheLockMaxAge 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a> <a name="cachelockpath" id="cachelockpath">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set the lock path directory.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheLockPath <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheLockPath /tmp/mod_cache-lock</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire" id="cachemaxexpire">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ドキュメントをキャッシュする最大時間を秒数で表したもの</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheMaxExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheMaxExpire 86400 (一日)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheMaxExpire</code> ディレクティブは、 + キャッシュする HTTP ドキュメントを、元のサーバに問い合わせないまま最大何秒 + 保持してもよいかを指定します。つまり、ドキュメントは最大でこの秒数間ぶん古く + なることになります。この最大値は、<span class="transnote">(<em>訳注:</em> レスポンス中で)</span>ドキュメントと共に + ドキュメントの期日が提供されている場合でも適用されます。</p> + + <div class="example"><p><code> + CacheMaxExpire 604800 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMinExpire" id="CacheMinExpire">CacheMinExpire</a> <a name="cacheminexpire" id="cacheminexpire">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ドキュメントをキャッシュする最小秒数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheMinExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheMinExpire 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>キャッシュ可能な HTTP ドキュメントがあったときに、オリジンサーバに問い合わせることなく + 保持する秒数の最小値は <code class="directive">CacheMinExpire</code> ディレクティブを使って設定します。 + この値は、ドキュメントに妥当な有効期限が指定されていなかった場合にのみ使われます。</p> + + + <div class="example"><p><code> + CacheMinExpire 3600 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheQuickHandler" id="CacheQuickHandler">CacheQuickHandler</a> <a name="cachequickhandler" id="cachequickhandler">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Run the cache from the quick handler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheQuickHandler <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheQuickHandler on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache HTTP Server 2.3.3 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStaleOnError" id="CacheStaleOnError">CacheStaleOnError</a> <a name="cachestaleonerror" id="cachestaleonerror">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Serve stale content in place of 5xx responses.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheStaleOnError <var>on|off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheStaleOnError on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache 2.3.9 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStoreExpired" id="CacheStoreExpired">CacheStoreExpired</a> <a name="cachestoreexpired" id="cachestoreexpired">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Attempt to cache responses that the server reports as expired</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheStoreExpired On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheStoreExpired Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a> <a name="cachestorenostore" id="cachestorenostore">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>no-store と指定されているレスポンスのキャッシュを試みる。</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheStoreNoStore Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>通常 Cache-Control: no-store ヘッダのついているレスポンスは + キャッシュされません。<code class="directive">CacheStoreNoCache</code> + ディレクティブでこの挙動を上書きできます。 + <code class="directive">CacheStoreNoCache</code> On で no-store ヘッダのついている + リソースに対してもキャッシュを試みるようになります。 + ただし認証の求められるリソースは <em>決して</em> キャッシュされません。</p> + + <div class="example"><p><code> + CacheStoreNoStore On + </code></p></div> + + <div class="warning"><h3>警告:</h3> + RFC 2616 に記載されているように no-store ディレクティブは、 + "不注意による機密情報の漏洩や残留 (バックアップテープ等) を防ぐ" + 目的で使われますが、このオプションを有効にすると、 + 機密情報を保持することになってしまいます。 + ですので、ここで警告しておきます。 + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li> +<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a> <a name="cachestoreprivate" id="cachestoreprivate">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>private と指定されているレスポンスのキャッシュを試みる。</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheStorePrivate Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache</td></tr> +</table> + <p>通常 Cache-Control: private ヘッダのついているレスポンスは + キャッシュされません。<code class="directive">CacheStorePrivate</code> + ディレクティブでこの挙動を上書きできます。 + <code class="directive">CacheStorePrivate</code> On で private ヘッダのついている + リソースに対してもキャッシュを試みるようになります。 + ただし認証の求められるリソースは <em>決して</em> キャッシュされません。</p> + + <div class="example"><p><code> + CacheStorePrivate On + </code></p></div> + + <div class="warning"><h3>警告:</h3> + 上流サーバがキャッシュしないように指定してきても、 + それを無視してキャッシュするようになります。 + 望ましい挙動になるのは、本当に 'private' なキャッシュについてのみでしょう。 + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li> +<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache.html.ko.euc-kr b/docs/manual/mod/mod_cache.html.ko.euc-kr new file mode 100644 index 0000000..d945082 --- /dev/null +++ b/docs/manual/mod/mod_cache.html.ko.euc-kr @@ -0,0 +1,532 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_cache</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>URI Ű Ͽ ijѴ.</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>cache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_cache.c</td></tr></table> +<h3></h3> + + <div class="warning"> + ̴. ۾̴... + </div> + + <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> ǻͿ ִ ̳ + Ͻõ ij ִ <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> + ȣȯ HTTP ij Ѵ. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + Ϸ (storage management module) ʿϴ. + ⺻ ġ ΰ ִ:</p> + <dl> + <dt><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></dt> + <dd> ũ ڸ Ѵ.</dd> + + <dt><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></dt> + <dd> ڸ Ѵ. + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> ϱڸ ijϰų + (heap) ü ijϴ ΰ Ѱ + ϵ ִ. <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> + ڽ ijϰų, (<dfn>Ͻ(reverse proxy)</dfn> + ˷) <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> + Ͽ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> + ij ִ.</dd> + </dl> + + <p> URI Ű ij ϰ ´. + ٺȣ ijʴ´.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#related">õ þ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf"></a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedetailheader">CacheDetailHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheheader">CacheHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachekeybaseurl">CacheKeyBaseURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachelockpath">CacheLockPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminexpire">CacheMinExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachequickhandler">CacheQuickHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestaleonerror">CacheStaleOnError</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreexpired">CacheStoreExpired</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="related" id="related">õ þ</a></h2> + <table class="related"><tr><th>õ </th><th>õ þ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></li><li><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachesize">CacheSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachegcinterval">CacheGcInterval</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheexpirycheck">CacheExpiryCheck</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachetimemargin">CacheTimeMargin</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachegcdaily">CacheGcDaily</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachegcunused">CacheGcUnused</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachegcclean">CacheGcClean</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachegcmemusage">CacheGcMemUsage</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachesize">MCacheSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer</a></code></li></ul></td></tr></table> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sampleconf" id="sampleconf"></a></h2> + <div class="example"><h3>Sample httpd.conf</h3><p><code> + #<br /> + # ij <br /> + #<br /> + LoadModule cache_module modules/mod_cache.so<br /> + <br /> + <IfModule mod_cache.c><br /> + <span class="indent"> + #LoadModule cache_disk_module modules/mod_cache_disk.so<br /> + <IfModule mod_cache_disk.c><br /> + <span class="indent"> + CacheRoot c:/cacheroot<br /> + CacheSize 256<br /> + CacheEnable disk /<br /> + CacheDirLevels 5<br /> + CacheDirLength 3<br /> + </span> + </IfModule> <br /> + <br /> + LoadModule mem_cache_module modules/mod_mem_cache.so<br /> + <IfModule mod_mem_cache.c><br /> + <span class="indent"> + CacheEnable mem /<br /> + MCacheSize 4096<br /> + MCacheMaxObjectCount 100<br /> + MCacheMinObjectSize 1<br /> + MCacheMaxObjectSize 2048<br /> + </span> + </IfModule><br /> + </span> + </IfModule> + </code></p></div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire" id="cachedefaultexpire">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ð ij ⺻ Ⱓ.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheDefaultExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheDefaultExpire 3600 (one hour)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheDefaultExpire</code> þ + ð ֱټð ij ʴ + ⺻ ð Ѵ. <code class="directive">CacheMaxExpire</code> + <em>ʴ´</em>.</p> + + <div class="example"><p><code> + CacheDefaultExpire 86400 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDetailHeader" id="CacheDetailHeader">CacheDetailHeader</a> <a name="cachedetailheader" id="cachedetailheader">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Add an X-Cache-Detail header to the response.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDisable" id="CacheDisable">CacheDisable</a> <a name="cachedisable" id="cachedisable">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ư URL ij ʴ´</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheDisable <var> url-string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheDisable</code> þ ϸ + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> <var>url-string</var> + url ij <em>ʴ´</em>.</p> + + <div class="example"><h3></h3><p><code> + CacheDisable /local_files + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheEnable" id="CacheEnable">CacheEnable</a> <a name="cacheenable" id="cacheenable">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ڸ Ͽ URL ijѴ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheEnable <var>cache_type</var> <var>url-string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheEnable</code> þ ϸ + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> <var>url-string</var> + url ijѴ. ij ڴ <var>cache_type</var> + ƱԸƮ Ѵ. <var>cache_type</var> <code>mem</code> + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> ϴ + ڸ Ѵ. <var>cache_type</var> <code>disk</code> + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> ϴ ũ + ڸ Ѵ. <var>cache_type</var> <code>fd</code> + <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> ϴ ϱ ij + Ѵ.</p> + <p>(Ʒ ) URL ٸ + <code class="directive">CacheEnable</code> þ ġ + ڰ û óҶ ڸ + Ѵ. Ͽ <code class="directive">CacheEnable</code> + þ ڰ ȴ.</p> + + <div class="example"><p><code> + CacheEnable mem /manual<br /> + CacheEnable fd /images<br /> + CacheEnable disk /<br /> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheHeader" id="CacheHeader">CacheHeader</a> <a name="cacheheader" id="cacheheader">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Add an X-Cache header to the response.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol" id="cacheignorecachecontrol">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ŭ̾Ʈ ijʴ û Ѵ.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p> no-cache no-store ij + ʴ´. <code class="directive">CacheIgnoreCacheControl</code> + þ ̷ ൿ Ѵ. + <code class="directive">CacheIgnoreCacheControl</code> On ϸ + no-cache no-store ־ + ijѴ. ʿ <em></em> ij + ʴ´.</p> + + <div class="example"><p><code> + CacheIgnoreCacheControl On + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreHeaders" id="CacheIgnoreHeaders">CacheIgnoreHeaders</a> <a name="cacheignoreheaders" id="cacheignoreheaders">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ij HTTP () ʴ´ +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p>RFC 2616 ȩ(hop-by-hop) HTTP ij + ʴ´. ȩ HTTP , + <code class="directive">CacheIgnoreHeaders</code> + <em></em> 쿡 ij ʴ´.</p> + + <ul> + <li><code>Connection</code></li> + <li><code>Keep-Alive</code></li> + <li><code>Proxy-Authenticate</code></li> + <li><code>Proxy-Authorization</code></li> + <li><code>TE</code></li> + <li><code>Trailers</code></li> + <li><code>Transfer-Encoding</code></li> + <li><code>Upgrade</code></li> + </ul> + + <p><code class="directive">CacheIgnoreHeaders</code> ij ϸ + ȵǴ HTTP ߰ Ѵ. , Ű(cookie) + ij ϸ ȵǴ 찡 ִ.</p> + + <p><code class="directive">CacheIgnoreHeaders</code> ij + HTTP ´. (RFC 2616 + ) ij ȩ , + <code class="directive">CacheIgnoreHeaders</code> + <code>None</code> Ѵ.</p> + + <div class="example"><h3> 1</h3><p><code> + CacheIgnoreHeaders Set-Cookie + </code></p></div> + + <div class="example"><h3> 2</h3><p><code> + CacheIgnoreHeaders None + </code></p></div> + + <div class="warning"><h3>:</h3> + <code class="directive">CacheIgnoreHeaders</code> Ͽ + <code>Expires</code> ij ʿ + , mod_cache Ѵ. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a> <a name="cacheignorenolastmod" id="cacheignorenolastmod">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>信 Last Modified ٴ Ѵ.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p> ֱټ ij ʴ´. + ֱټ ( <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ó߿) + ų ó ִ. + <code class="directive">CacheIgnoreNoLastMod</code> þ ֱټ + ݵ ijϵ . ֱټϰ + ð <code class="directive">CacheDefaultExpire</code> + þ ð Ѵ.</p> + + <div class="example"><p><code> + CacheIgnoreNoLastMod On + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a> <a name="cacheignorequerystring" id="cacheignorequerystring">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ignore query string when caching</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a> <a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheKeyBaseURL" id="CacheKeyBaseURL">CacheKeyBaseURL</a> <a name="cachekeybaseurl" id="cachekeybaseurl">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Override the base URL of reverse proxied cache keys.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>LastModified ð ð ϴµ ϴ +.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheLastModifiedFactor <var>float</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p> ð ֱټ ִ ֱټ + ð ð Ѵ. + <code class="directive">CacheLastModifiedFactor</code> þ + ð ϴ Ŀ <var>factor</var> + Ѵ: + + <code>expiry-period = time-since-last-modified-date * <var>factor</var> + expiry-date = current-date + expiry-period</code> + + , 10 ð Ǿ <var>factor</var> + 0.1̶ Ⱓ 10*01 = 1 ð ȴ. ð + 3:00pm̶ ð 3:00pm + 1ð = 4:00pm̴. + + Ⱓ <code class="directive">CacheMaxExpire</code> ٸ + <code class="directive">CacheMaxExpire</code> Ѵ.</p> + + <div class="example"><p><code> + CacheLastModifiedFactor 0.5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLock" id="CacheLock">CacheLock</a> <a name="cachelock" id="cachelock">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Enable the thundering herd lock.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a> <a name="cachelockmaxage" id="cachelockmaxage">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Set the maximum possible age of a cache lock.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a> <a name="cachelockpath" id="cachelockpath">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Set the lock path directory.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire" id="cachemaxexpire">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ijϴ ʴ ִð</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheMaxExpire <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheMaxExpire 86400 (Ϸ)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table> + <p><code class="directive">CacheMaxExpire</code> þ + ˻ʰ ij HTTP ִ ʴ + ִð Ѵ. , ִ ŭ Ǿ. + ð Ͽ ִ밪 Ų.</p> + + <div class="example"><p><code> + CacheMaxExpire 604800 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMinExpire" id="CacheMinExpire">CacheMinExpire</a> <a name="cacheminexpire" id="cacheminexpire">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>The minimum time in seconds to cache a document</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheQuickHandler" id="CacheQuickHandler">CacheQuickHandler</a> <a name="cachequickhandler" id="cachequickhandler">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Run the cache from the quick handler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStaleOnError" id="CacheStaleOnError">CacheStaleOnError</a> <a name="cachestaleonerror" id="cachestaleonerror">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Serve stale content in place of 5xx responses.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStoreExpired" id="CacheStoreExpired">CacheStoreExpired</a> <a name="cachestoreexpired" id="cachestoreexpired">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Attempt to cache responses that the server reports as expired</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a> <a name="cachestorenostore" id="cachestorenostore">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a> <a name="cachestoreprivate" id="cachestoreprivate">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Attempt to cache responses that the server has marked as private</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html b/docs/manual/mod/mod_cache_disk.html new file mode 100644 index 0000000..887b6c0 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cache_disk.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_disk.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_disk.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_disk.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cache_disk.html.en b/docs/manual/mod/mod_cache_disk.html.en new file mode 100644 index 0000000..0bdbfa3 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.en @@ -0,0 +1,292 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache_disk - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_cache_disk</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cache_disk.html" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Disk based storage module for the HTTP caching filter.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>cache_disk_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_cache_disk.c</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> implements a disk based storage + manager for <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p> + + <p>The headers and bodies of cached responses are stored separately on + disk, in a directory structure derived from the md5 hash of the cached + URL.</p> + + <p>Multiple content negotiated responses can be stored concurrently, + however the caching of partial content is not yet supported by this + module.</p> + + <p>Atomic cache updates to both header and body files are achieved + without the need for locking by storing the device and inode numbers of + the body file within the header file. This has the side effect that + cache entries manually moved into the cache will be ignored.</p> + + <p>The <code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> tool is provided to list cached + URLs, remove cached URLs, or to maintain the size of the disk cache + within size and/or inode limits. The tool can be run on demand, or + can be daemonized to offer continuous monitoring of directory sizes.</p> + + <div class="note"><h3>Note:</h3> + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> requires the services of + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, which must be + loaded before mod_cache_disk.</p> + </div> + <div class="note"><h3>Note:</h3> + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> uses the sendfile feature to + serve files from the cache when supported by the platform, and + when enabled with <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code>. + However, per-directory and .htaccess configuration of + <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> are ignored by + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> as the corresponding settings are not + available to the module when a request is being served from the + cache.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlength">CacheDirLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlevels">CacheDirLevels</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminfilesize">CacheMinFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadsize">CacheReadSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadtime">CacheReadTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheroot">CacheRoot</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_disk">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_disk">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> +<li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li> +<li><a href="../caching.html">Caching Guide</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDirLength" id="CacheDirLength">CacheDirLength</a> <a name="cachedirlength" id="cachedirlength">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The number of characters in subdirectory names</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheDirLength <var>length</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheDirLength 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>The <code class="directive">CacheDirLength</code> directive sets the number + of characters for each subdirectory name in the cache hierarchy. It can + be used in conjunction with <code class="directive">CacheDirLevels</code> to + determine the approximate structure of your cache hierarchy.</p> + <p>A high value for <code class="directive">CacheDirLength</code> combined + with a low value for <code class="directive">CacheDirLevels</code> will result in + a relatively flat hierarchy, with a large number of subdirectories at each + level.</p> + + <div class="note"> + <p>The result of <code class="directive"><a href="#cachedirlevels">CacheDirLevels</a></code>* <code class="directive">CacheDirLength</code> + must not be higher than 20.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDirLevels" id="CacheDirLevels">CacheDirLevels</a> <a name="cachedirlevels" id="cachedirlevels">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The number of levels of subdirectories in the +cache.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheDirLevels <var>levels</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheDirLevels 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>The <code class="directive">CacheDirLevels</code> directive sets the number + of subdirectory levels in the cache. Cached data will be saved this + many directory levels below the <code class="directive"><a href="#cacheroot">CacheRoot</a></code> directory.</p> + <p>A high value for <code class="directive">CacheDirLevels</code> combined + with a low value for <code class="directive">CacheDirLength</code> will result in + a relatively deep hierarchy, with a small number of subdirectories at each + level.</p> + + <div class="note"> + <p>The result of <code class="directive">CacheDirLevels</code>* + <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> must + not be higher than 20.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMaxFileSize" id="CacheMaxFileSize">CacheMaxFileSize</a> <a name="cachemaxfilesize" id="cachemaxfilesize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheMaxFileSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheMaxFileSize 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>The <code class="directive">CacheMaxFileSize</code> directive sets the + maximum size, in bytes, for a document to be considered for storage in + the cache.</p> + + <pre class="prettyprint lang-config">CacheMaxFileSize 64000</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMinFileSize" id="CacheMinFileSize">CacheMinFileSize</a> <a name="cacheminfilesize" id="cacheminfilesize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheMinFileSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheMinFileSize 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>The <code class="directive">CacheMinFileSize</code> directive sets the + minimum size, in bytes, for a document to be considered for storage + in the cache.</p> + + <pre class="prettyprint lang-config">CacheMinFileSize 64</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheReadSize" id="CacheReadSize">CacheReadSize</a> <a name="cachereadsize" id="cachereadsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheReadSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheReadSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>The <code class="directive">CacheReadSize</code> directive sets the + minimum amount of data, in bytes, to be read from the backend before the + data is sent to the client. The default of zero causes all data read of + any size to be passed downstream to the client immediately as it arrives. + Setting this to a higher value causes the disk cache to buffer at least + this amount before sending the result to the client. This can improve + performance when caching content from a reverse proxy.</p> + + <p>This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache.</p> + + <pre class="prettyprint lang-config">CacheReadSize 102400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheReadTime" id="CacheReadTime">CacheReadTime</a> <a name="cachereadtime" id="cachereadtime">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheReadTime <var>milliseconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheReadTime 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>The <code class="directive">CacheReadTime</code> directive sets the minimum amount + of elapsed time that should pass before making an attempt to send data + downstream to the client. During the time period, data will be buffered + before sending the result to the client. This can improve performance when + caching content from a reverse proxy.</p> + + <p>The default of zero disables this option.</p> + + <p>This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache. It is recommended + that this option be used alongside the + <code class="directive"><a href="#cachereadsize">CacheReadSize</a></code> directive to + ensure that the server does not buffer excessively should data arrive faster + than expected.</p> + + <pre class="prettyprint lang-config">CacheReadTime 1000</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheRoot" id="CacheRoot">CacheRoot</a> <a name="cacheroot" id="cacheroot">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The directory root under which cache files are +stored</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheRoot <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>The <code class="directive">CacheRoot</code> directive defines the name of + the directory on the disk to contain cache files. If the <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> module has been loaded or compiled in to the + Apache server, this directive <em>must</em> be defined. Failing to + provide a value for <code class="directive">CacheRoot</code> will result in + a configuration file processing error. The <code class="directive"><a href="#cachedirlevels">CacheDirLevels</a></code> and <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> directives define + the structure of the directories under the specified root directory.</p> + + <pre class="prettyprint lang-config">CacheRoot c:/cacheroot</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cache_disk.html" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache_disk.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html.fr.utf8 b/docs/manual/mod/mod_cache_disk.html.fr.utf8 new file mode 100644 index 0000000..57acbb6 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.fr.utf8 @@ -0,0 +1,310 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache_disk - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_cache_disk</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de stockage sur disque pour le filtre de mise en +cache HTTP.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_disk_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache_disk.c</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> implémente un gestionnaire de + stockage sur disque pour le module <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p> + + <p>Les en-têtes et corps des réponses mises en cache sont stockés + séparément sur le disque, dans une structure de répertoires basée + sur le condensé md5 de l'URL mise en cache.</p> + + <p>Plusieurs réponses au contenu négocié peuvent être stockées en + même temps, mais la mise en cache de contenus partiels n'est pas + supportée actuellement par ce module.</p> + + <p>Les mises à jour atomiques du cache pour les fichiers d'en-tête + et de corps peuvent être effectuées sans verrouillage en + enregistrant les numéros d'inode et de périphérique du fichier de + corps dans le fichier d'en-tête. Ceci implique que les entrées du + cache déplacées manuellement dans le cache seront ignorées.</p> + + <p>L'utilitaire <code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> permet de lister et + de supprimer les URLs du cache, ou de maintenir le cache en deçà de + certaines limites de taille et/ou de nombre d'inodes. L'utilitaire + peut être exécuté à la demande, ou automatiquement pour assurer un + contrôle continu des tailles des répertoires.</p> + + <div class="note"><h3>Note :</h3> + <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> doit être chargé avant + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> pour que ce dernier puisse + fonctionner.</p> + </div> + <div class="note"><h3>Note :</h3> + <p>Lorsque la plate-forme la supporte, et si elle est activée via la + directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code>, + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> utilise la fonctionnalité sendfile + pour servir les fichiers à partir du cache. Cependant, + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> ignore la configuration de la + directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> dans + un contexte de répertoire ou de fichier .htaccess, car le module ne + dispose pas des définitions correspondantes lorsque la requête est + servie depuis le cache.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlength">CacheDirLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlevels">CacheDirLevels</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminfilesize">CacheMinFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadsize">CacheReadSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadtime">CacheReadTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheroot">CacheRoot</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_disk">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_disk">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> +<li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li> +<li><a href="../caching.html">Guide de la mise en cache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachedirlength" id="cachedirlength">Directive</a> <a name="CacheDirLength" id="CacheDirLength">CacheDirLength</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de caractères des noms des +sous-répertoires</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDirLength <var>longueur</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDirLength 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>la directive <code class="directive">CacheDirLength</code> permet de + définir le nombre de caractères que comportera chaque nom de + sous-répertoire de la hiérarchie du cache. On peut l'utiliser en + conjonction avec <code class="directive">CacheDirLevels</code> pour + déterminer une structure approximative de la hiérarchie de + cache.</p> + <p>Une valeur haute pour <code class="directive">CacheDirLength</code> + combinée avec une valeur basse pour + <code class="directive">CacheDirLevels</code> générera une hiérarchie + relativement peu profonde, avec un grand nombre de sous-répertoires + à chaque niveau.</p> + + <div class="note"> + <p>La valeur du produit <code class="directive">CacheDirLevels</code> * + <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> ne + doit pas dépasser 20.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachedirlevels" id="cachedirlevels">Directive</a> <a name="CacheDirLevels" id="CacheDirLevels">CacheDirLevels</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de niveaux de sous-répertoires que comportera le +cache.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDirLevels <var>niveaux</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDirLevels 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>La directive <code class="directive">CacheDirLevels</code> permet de + définir le nombre de niveaux de sous-répertoires que comportera le + cache. Les données du cache seront stokées au niveau correspondant + par rapport au répertoire <code class="directive"><a href="#cacheroot">CacheRoot</a></code>.</p> + <p>Une valeur haute pour <code class="directive">CacheDirLevels</code> + combinée avec une valeur basse pour + <code class="directive">CacheDirLength</code> générera une arborescence + très développée, avec un petit nombre de sous-répertoires à chaque + niveau.</p> + + <div class="note"> + <p>La valeur du produit <code class="directive">CacheDirLevels</code> * + <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> ne + doit pas dépasser 20.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachemaxfilesize" id="cachemaxfilesize">Directive</a> <a name="CacheMaxFileSize" id="CacheMaxFileSize">CacheMaxFileSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>>La taille maximale (en octets) d'un document pour pouvoir +être stocké dans le cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMaxFileSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMaxFileSize 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>La directive <code class="directive">CacheMaxFileSize</code> permet de + définir la taille maximale d'un document, en octets, pour que + celui-ci puisse faire l'objet d'un stockage dans le cache.</p> + + <pre class="prettyprint lang-config">CacheMaxFileSize 64000</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheminfilesize" id="cacheminfilesize">Directive</a> <a name="CacheMinFileSize" id="CacheMinFileSize">CacheMinFileSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille minimale (en octets) d'un document pour pouvoir +être stocké dans le cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMinFileSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMinFileSize 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>La directive <code class="directive">CacheMinFileSize</code> permet de + définir la taille minimale d'un document, en octets, pour que + celui-ci puisse faire l'objet d'un stockage dans le cache.</p> + + <pre class="prettyprint lang-config">CacheMinFileSize 64</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachereadsize" id="cachereadsize">Directive</a> <a name="CacheReadSize" id="CacheReadSize">CacheReadSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité minimale (en octets) de données à lire et à +mettre en cache avant de les envoyer au client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheReadSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheReadSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>La directive <code class="directive">CacheReadSize</code> permet de + définir la quantité minimale de données, en octets, à lire depuis le + serveur d'arrière-plan avant de les envoyer au client. Avec la + valeur par défaut zéro, toute donnée de toutes tailles est envoyée + au client dès qu'elle est disponible. Avec une valeur non nulle, le + cache disque met en tampon au moins la quantité de données + correspondante avant d'envoyer la réponse au client. Les + performances peuvent s'en trouver améliorées lorsqu'on met en cache + du contenu en provenance d'un mandataire inverse.</p> + + <p>Cette directive ne prend effet que lorsque les données sont + enregistrées dans le cache, et non lorsque les données sont servies à + partir du cache.</p> + + <pre class="prettyprint lang-config">CacheReadSize 102400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachereadtime" id="cachereadtime">Directive</a> <a name="CacheReadTime" id="CacheReadTime">CacheReadTime</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le temps minimum (en millisecondes) qui doit s'écouler +avant d'envoyer les données au client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheReadTime <var>millisecondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheReadTime 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>La directive <code class="directive">CacheReadTime</code> permet de + définir le temps minimum qui doit s'écouler avant d'essayer + d'envoyer des données au client. Pendant ce temps, les données sont + mises en tampon avant de pouvoir être envoyées au client. Les + performances peuvent s'en trouver améliorées lorsqu'on met en cache + du contenu en provenance d'un mandataire inverse.</p> + + <p>La valeur par défaut zéro désactive cette option.</p> + + <p>Cette directive ne prend effet que lorsque les données sont + enregistrées dans le cache, et non lorsque les données sont servies à + partir du cache. Il est recommandé d'harmoniser l'utilisation de cette + directive avec celle de la directive <code class="directive"><a href="#cachereadsize">CacheReadSize</a></code>, afin de s'assurer + que le serveur n'effectue pas une mise en tampon excessive au cas + où les données arriveraient plus vite que prévu.</p> + + <pre class="prettyprint lang-config">CacheReadTime 1000</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cacheroot" id="cacheroot">Directive</a> <a name="CacheRoot" id="CacheRoot">CacheRoot</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La racine du répertoire dans lequel les fichiers du cache +seront stockés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheRoot <var>répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr> +</table> + <p>La directive <code class="directive">CacheRoot</code> permet de définir + le nom du répertoire sur disque qui contiendra les fichiers du + cache. Si le module <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> a été chargé ou + compilé dans le serveur Apache, cette directive <em>doit</em> être + définie. L'absence de définition de la directive + <code class="directive">CacheRoot</code> provoquera une erreur de traitement + du fichier de configuration. Les directives <code class="directive"><a href="#cachedirlevels">CacheDirLevels</a></code> et <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> permettent de + définir la structure des sous-répertoires du répertoire racine + spécifié.</p> + + <pre class="prettyprint lang-config">CacheRoot c:/cacheroot</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache_disk.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html.ja.utf8 b/docs/manual/mod/mod_cache_disk.html.ja.utf8 new file mode 100644 index 0000000..a91bdac --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.ja.utf8 @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache_disk - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_cache_disk</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>URI をキーにしたコンテンツキャッシュストレージ管理</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>cache_disk_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_cache_disk.c</td></tr></table> +<h3>概要</h3> + + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> はディスクを使用したストレージ + 管理機構を実装しています。主に + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> と組み合わせて使われます。</p> + + <p>コンテンツのキャッシュへの保存と取得は URI に基づいたキーが使われます。 + アクセス保護のかけられているコンテンツはキャッシュされません。</p> + + <p>キャッシュの大きさを最大レベルで維持するために + <code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> を使うことができます。</p> + + <div class="note"><h3>注:</h3> + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> は + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> を必要とします</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlength">CacheDirLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlevels">CacheDirLevels</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminfilesize">CacheMinFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadsize">CacheReadSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadtime">CacheReadTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheroot">CacheRoot</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_disk">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_disk">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDirLength" id="CacheDirLength">CacheDirLength</a> <a name="cachedirlength" id="cachedirlength">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サブディレクトリ名の文字数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheDirLength <var>length</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheDirLength 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheDirLength</code> ディレクティブはキャッシュ + 階層の各サブディレクトリの文字数を設定します。 + <code class="directive">CacheDirLevels</code> と組み合わせて設定することで、 + キャッシュ階層のおおよその構造を決めることができます。</p> + <p><code class="directive">CacheDirLength</code> が大きくて + <code class="directive">CacheDirLevels</code> が小さい場合、 + 比較的浅い階層になりますが、 + 各階層のサブディレクトリの数は多くなります。</p> + + <div class="note"> + <p><code class="directive">CacheDirLevels</code>* + <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> の + 結果は 20 以内でなければなりません。</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDirLevels" id="CacheDirLevels">CacheDirLevels</a> <a name="cachedirlevels" id="cachedirlevels">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>キャッシュのサブディレクトリの深さの数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheDirLevels <var>levels</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheDirLevels 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheDirLevels</code> ディレクティブはキャッシュの + サブディレクトリの深さを設定します。キャッシュデータは <code class="directive"><a href="#cacheroot">CacheRoot</a></code> ディレクトリから + このディレクトリの深さ分下のディレクトリに保存されます。</p> + <p><code class="directive">CacheDirLevels</code> が大きくて + <code class="directive">CacheDirLength</code> が小さい場合、 + 比較的深い階層になりますが、 + 各階層のサブディレクトリの数は少なくなります。</p> + + <div class="note"> + <p><code class="directive">CacheDirLevels</code>* + <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> の + 結果は 20 以内でなければなりません。</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMaxFileSize" id="CacheMaxFileSize">CacheMaxFileSize</a> <a name="cachemaxfilesize" id="cachemaxfilesize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>キャッシュに保管されるドキュメントの最大の (バイトでの) サイズ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheMaxFileSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheMaxFileSize 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheMaxFileSize</code> ディレクティブは、ドキュメントを + キャッシュするかどうかを判定する、最大のサイズをバイト数で設定します。</p> + + <div class="example"><p><code> + CacheMaxFileSize 64000 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMinFileSize" id="CacheMinFileSize">CacheMinFileSize</a> <a name="cacheminfilesize" id="cacheminfilesize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>キャッシュに保管されるドキュメントの最小限の (バイトでの) 大きさ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheMinFileSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheMinFileSize 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheMinFileSize</code> ディレクティブは、ドキュメントを + キャッシュするかどうかを判定する、最小のサイズをバイト数で設定します。</p> + + <div class="example"><p><code> + CacheMinFileSize 64 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheReadSize" id="CacheReadSize">CacheReadSize</a> <a name="cachereadsize" id="cachereadsize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>The minimum size (in bytes) of the document to read and be cached before sending the data downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache_disk</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheReadTime" id="CacheReadTime">CacheReadTime</a> <a name="cachereadtime" id="cachereadtime">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>The minimum time (in milliseconds) that should elapse while reading before data is sent downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache_disk</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheRoot" id="CacheRoot">CacheRoot</a> <a name="cacheroot" id="cacheroot">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>キャッシュファイルが保管されるルートディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheRoot <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheRoot</code> ディレクティブはキャッシュファイルを + 保管するためのディスク上のディレクトリを指定します。<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> モジュールが Apache サーバにロードされて + いるか、組み込まれていれば、このディレクティブは<em>必ず</em> + 定義しなければなりません。 + <code class="directive">CacheRoot</code> の値を指定しなければ、 + 設定ファイルの処理でエラーになります。<code class="directive"><a href="#cachedirlevels">CacheDirLevels</a></code> ディレクティブと <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> ディレクティブが + 指定されたルートディレクトリ下のディレクトリ構成を定義します。</p> + + <div class="example"><p><code> + CacheRoot c:/cacheroot + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache_disk.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache_disk.html.ko.euc-kr b/docs/manual/mod/mod_cache_disk.html.ko.euc-kr new file mode 100644 index 0000000..34fb4f8 --- /dev/null +++ b/docs/manual/mod/mod_cache_disk.html.ko.euc-kr @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache_disk - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_cache_disk</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>Content cache storage manager keyed to URIs</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>cache_disk_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_cache_disk.c</td></tr></table> +<h3></h3> + + <div class="warning"> + ̴. ۾̴... + </div> + + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> ũ ڸ + Ѵ. ⺻ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> + Ѵ.</p> + + <p> URI Ű ij ϰ ´. + ٺȣ ijʴ´.</p> + + <div class="note"><h3>:</h3> + <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> ʿϴ.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlength">CacheDirLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlevels">CacheDirLevels</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxfilesize">CacheMaxFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheminfilesize">CacheMinFileSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadsize">CacheReadSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachereadtime">CacheReadTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cacheroot">CacheRoot</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_disk">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_disk">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDirLength" id="CacheDirLength">CacheDirLength</a> <a name="cachedirlength" id="cachedirlength">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>丮 ڰ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheDirLength <var>length</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheDirLength 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheDirLength</code> þ ij + 丮 ڼ Ѵ.</p> + + <div class="note"> + <p><code class="directive"><a href="#cachedirlevels">CacheDirLevels</a></code> + <code class="directive">CacheDirLength</code> Ͽ 20 + ũ ȵȴ.</p> + </div> + + <div class="example"><p><code> + CacheDirLength 4 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheDirLevels" id="CacheDirLevels">CacheDirLevels</a> <a name="cachedirlevels" id="cachedirlevels">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ij 丮 .</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheDirLevels <var>levels</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheDirLevels 3</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheDirLevels</code> þ ij + 丮 ̸ Ѵ. ij ڷḦ <code class="directive"><a href="#cacheroot">CacheRoot</a></code> 丮 + Ʒ ̱ Ѵ.</p> + + <div class="note"> + <p><code class="directive">CacheDirLevels</code> <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> + Ͽ 20 ũ ȵȴ.</p> + </div> + + <div class="example"><p><code> + CacheDirLevels 5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMaxFileSize" id="CacheMaxFileSize">CacheMaxFileSize</a> <a name="cachemaxfilesize" id="cachemaxfilesize">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ij ִũ (Ʈ )</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheMaxFileSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheMaxFileSize 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheMaxFileSize</code> þ ij + ִũ⸦ Ʈ Ѵ.</p> + + <div class="example"><p><code> + CacheMaxFileSize 64000 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheMinFileSize" id="CacheMinFileSize">CacheMinFileSize</a> <a name="cacheminfilesize" id="cacheminfilesize">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ij ּũ (Ʈ )</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheMinFileSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CacheMinFileSize 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheMinFileSize</code> þ ij + ּũ⸦ Ʈ Ѵ.</p> + + <div class="example"><p><code> + CacheMinFileSize 64 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheReadSize" id="CacheReadSize">CacheReadSize</a> <a name="cachereadsize" id="cachereadsize">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>The minimum size (in bytes) of the document to read and be cached before sending the data downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache_disk</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheReadTime" id="CacheReadTime">CacheReadTime</a> <a name="cachereadtime" id="cachereadtime">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache_disk</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheRoot" id="CacheRoot">CacheRoot</a> <a name="cacheroot" id="cacheroot">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ij 丮 root</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheRoot <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cache_disk</td></tr> +</table> + <p><code class="directive">CacheRoot</code> þ ũ + ij 丮 Ѵ. <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> ġ Ͽų + о <em>ݵ</em> þ ؾ Ѵ. + <code class="directive">CacheRoot</code> + ó ʴ´. <code class="directive"><a href="#cachedirlevels">CacheDirLevels</a></code> <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> þ + þ root 丮 丮 Ѵ.</p> + + <div class="example"><p><code> + CacheRoot c:/cacheroot + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_disk.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cache_disk.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache_disk.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache_socache.html b/docs/manual/mod/mod_cache_socache.html new file mode 100644 index 0000000..b481bb4 --- /dev/null +++ b/docs/manual/mod/mod_cache_socache.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cache_socache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cache_socache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_cache_socache.html.en b/docs/manual/mod/mod_cache_socache.html.en new file mode 100644 index 0000000..4f3d06e --- /dev/null +++ b/docs/manual/mod/mod_cache_socache.html.en @@ -0,0 +1,266 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache_socache - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_cache_socache</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cache_socache.html" title="English"> en </a> | +<a href="../fr/mod/mod_cache_socache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Shared object cache (socache) based storage module for the +HTTP caching filter.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>cache_socache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_cache_socache.c</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> implements a shared object cache + (socache) based storage manager for <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p> + + <p>The headers and bodies of cached responses are combined, and stored + underneath a single key in the shared object cache. A + <a href="../socache.html">number of implementations</a> of shared object + caches are available to choose from.</p> + + <p>Multiple content negotiated responses can be stored concurrently, + however the caching of partial content is not yet supported by this + module.</p> + + <pre class="prettyprint lang-config"># Turn on caching +CacheSocache shmcb +CacheSocacheMaxSize 102400 +<Location "/foo"> + CacheEnable socache +</Location> + +# Fall back to the disk cache +CacheSocache shmcb +CacheSocacheMaxSize 102400 +<Location "/foo"> + CacheEnable socache + CacheEnable disk +</Location></pre> + + + <div class="note"><h3>Note:</h3> + <p><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> requires the services of + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, which must be loaded before + <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocache">CacheSocache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachereadtime">CacheSocacheReadTime</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_socache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_socache">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> +<li><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></li> +<li><a href="../caching.html">Caching Guide</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheSocache" id="CacheSocache">CacheSocache</a> <a name="cachesocache" id="cachesocache">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The shared object cache implementation to use</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocache <var>type[:args]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> +</table> + <p>The <code class="directive">CacheSocache</code> directive defines the name of + the shared object cache implementation to use, followed by optional + arguments for that implementation. A <a href="../socache.html">number of + implementations</a> of shared object caches are available to choose + from.</p> + + <pre class="prettyprint lang-config">CacheSocache shmcb</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheSocacheMaxSize" id="CacheSocacheMaxSize">CacheSocacheMaxSize</a> <a name="cachesocachemaxsize" id="cachesocachemaxsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheMaxSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheMaxSize 102400</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> +</table> + <p>The <code class="directive">CacheSocacheMaxSize</code> directive sets the + maximum size, in bytes, for the combined headers and body of a document + to be considered for storage in the cache. The larger the headers that + are stored alongside the body, the smaller the body may be.</p> + + <p>The <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> module will only attempt to + cache responses that have an explicit content length, or that are small + enough to be written in one pass. This is done to allow the + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> module to have an opportunity to cache + responses larger than those cacheable within + <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>.</p> + + <pre class="prettyprint lang-config">CacheSocacheMaxSize 102400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheSocacheMaxTime" id="CacheSocacheMaxTime">CacheSocacheMaxTime</a> <a name="cachesocachemaxtime" id="cachesocachemaxtime">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheMaxTime <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheMaxTime 86400</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> +</table> + <p>The <code class="directive">CacheSocacheMaxTime</code> directive sets the + maximum freshness lifetime, in seconds, for a document to be stored in + the cache. This value overrides the freshness lifetime defined for the + document by the HTTP protocol.</p> + + <pre class="prettyprint lang-config">CacheSocacheMaxTime 86400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheSocacheMinTime" id="CacheSocacheMinTime">CacheSocacheMinTime</a> <a name="cachesocachemintime" id="cachesocachemintime">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheMinTime <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheMinTime 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> +</table> + <p>The <code class="directive">CacheSocacheMinTime</code> directive sets the + amount of seconds beyond the freshness lifetime of the response that the + response should be cached for in the shared object cache. If a response is + only stored for its freshness lifetime, there will be no opportunity to + revalidate the response to make it fresh again.</p> + + <pre class="prettyprint lang-config">CacheSocacheMinTime 600</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheSocacheReadSize" id="CacheSocacheReadSize">CacheSocacheReadSize</a> <a name="cachesocachereadsize" id="cachesocachereadsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheReadSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheReadSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> +</table> + <p>The <code class="directive">CacheSocacheReadSize</code> directive sets the + minimum amount of data, in bytes, to be read from the backend before the + data is sent to the client. The default of zero causes all data read of + any size to be passed downstream to the client immediately as it arrives. + Setting this to a higher value causes the disk cache to buffer at least + this amount before sending the result to the client. This can improve + performance when caching content from a slow reverse proxy.</p> + + <p>This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache.</p> + + <pre class="prettyprint lang-config">CacheSocacheReadSize 102400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheSocacheReadTime" id="CacheSocacheReadTime">CacheSocacheReadTime</a> <a name="cachesocachereadtime" id="cachesocachereadtime">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheReadTime <var>milliseconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheReadTime 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> +</table> + <p>The <code class="directive">CacheSocacheReadTime</code> directive sets the minimum amount + of elapsed time that should pass before making an attempt to send data + downstream to the client. During the time period, data will be buffered + before sending the result to the client. This can improve performance when + caching content from a reverse proxy.</p> + + <p>The default of zero disables this option.</p> + + <p>This directive only takes effect when the data is being saved to the + cache, as opposed to data being served from the cache. It is recommended + that this option be used alongside the + <code class="directive"><a href="#cachesocachereadsize">CacheSocacheReadSize</a></code> directive + to ensure that the server does not buffer excessively should data arrive faster + than expected.</p> + + <pre class="prettyprint lang-config">CacheSocacheReadTime 1000</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cache_socache.html" title="English"> en </a> | +<a href="../fr/mod/mod_cache_socache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache_socache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cache_socache.html.fr.utf8 b/docs/manual/mod/mod_cache_socache.html.fr.utf8 new file mode 100644 index 0000000..b974b61 --- /dev/null +++ b/docs/manual/mod/mod_cache_socache.html.fr.utf8 @@ -0,0 +1,279 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cache_socache - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_cache_socache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_socache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_socache.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de stockage à base de cache d'objets partagés +(socache) pour le filtre de mise en cache HTTP.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_socache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache_socache.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> implémente un + gestionnaire de stockage à base de cache d'objets partagés (socache) + pour le module <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p> + + <p>Les en-têtes et corps des réponses mises en cache sont rassemblés + et stockés sous une même clé dans le cache d'objets partagés. Il est + possible de choisir entre plusieurs <a href="../socache.html">implémentations</a> de caches d'objets + partagés.</p> + + <p>Des réponses avec différents contenus négociés peuvent être + stockées simultanément ; cependant, la mise en cache de contenus + partiels n'est pas encore supportée par ce module.</p> + + <pre class="prettyprint lang-config"># Activation de la mise en cache +CacheSocache shmcb +CacheSocacheMaxSize 102400 +<Location "/foo"> + CacheEnable socache +</Location> + +# Possibilité de se rabattre sur le cache disque +CacheSocache shmcb +CacheSocacheMaxSize 102400 +<Location "/foo"> + CacheEnable socache + CacheEnable disk +</Location></pre> + + + <div class="note"><h3>Note :</h3> + <p>Le module <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> requiert les + services du module <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> qui doit donc avoir + été préalablement chargé.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocache">CacheSocache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachemaxsize">CacheSocacheMaxSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachemaxtime">CacheSocacheMaxTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachemintime">CacheSocacheMinTime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachereadsize">CacheSocacheReadSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachereadtime">CacheSocacheReadTime</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_socache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_socache">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> +<li><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></li> +<li><a href="../caching.html">Guide de la mise en cache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachesocache" id="cachesocache">Directive</a> <a name="CacheSocache" id="CacheSocache">CacheSocache</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Implémentation du cache d'objets partagés à utiliser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocache <var>type[:args]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheSocache</code> + définit l'implémentation du cache d'objets partagés à utiliser, + suivie d'arguments optionnels. Il est + possible de choisir entre plusieurs <a href="../socache.html">implémentations</a> de caches d'objets + partagés.</p> + + <pre class="prettyprint lang-config">CacheSocache shmcb</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachesocachemaxsize" id="cachesocachemaxsize">Directive</a> <a name="CacheSocacheMaxSize" id="CacheSocacheMaxSize">CacheSocacheMaxSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille maximale d'une entrée pouvant être placée dans le +cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheMaxSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheMaxSize 102400</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheSocacheMaxSize</code> + définit la taille maximale, en octets, de la somme des en-têtes et + du corps d'un document pouvant être stocké dans le cache. Bien + entendu, plus la taille des en-têtes sera grande, plus la taille + maximale du corps du document s'en trouvera réduite.</p> + + <p>Le module <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> ne tentera de mettre + en cache que des réponses qui possèdent une taille de contenu + explicite, ou dont la taille est suffisamment petite pour qu'elles + soient écrites en une seule passe. Ceci permet au module + <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> de mettre en cache des réponses dont + la taille est trop importante pour pouvoir être mises en cache par + <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>.</p> + + <pre class="prettyprint lang-config">CacheSocacheMaxSize 102400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachesocachemaxtime" id="cachesocachemaxtime">Directive</a> <a name="CacheSocacheMaxTime" id="CacheSocacheMaxTime">CacheSocacheMaxTime</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée maximale de stockage d'un document dans le cache +avant péremption</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheMaxTime <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheMaxTime 86400</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheSocacheMaxTime</code> + définit la durée de stockage maximale en secondes d'un document dans + le cache avant péremption. Cette définition l'emporte sur la durée + de fraîcheur définie pour le document par le protocole HTTP.</p> + + <pre class="prettyprint lang-config">CacheSocacheMaxTime 86400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachesocachemintime" id="cachesocachemintime">Directive</a> <a name="CacheSocacheMinTime" id="CacheSocacheMinTime">CacheSocacheMinTime</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale de stockage d'un document dans le cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheMinTime <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheMinTime 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheSocacheMinTime</code> + définit le nombre de secondes au delà de la durée de fraîcheur de la + réponse pendant lesquelles cette dernière devra être stockée dans le + cache d'objets partagés. En effet, si une réponse n'est stockée que + pour une durée égale à sa durée de fraîcheur, elle n'a pas besoin + d'être rafraîchie.</p> + + <pre class="prettyprint lang-config">CacheSocacheMinTime 600</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachesocachereadsize" id="cachesocachereadsize">Directive</a> <a name="CacheSocacheReadSize" id="CacheSocacheReadSize">CacheSocacheReadSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité minimale de données du document à lire et +mettre en cache avant envoi au client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheReadSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheReadSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheSocacheReadSize</code> + définit la quantité minimale de données, en octets, à lire depuis + l'arrière-plan avant envoi au client. Avec la valeur par défaut 0, + les données sont transmises au client dès leur arrivée et quelle que + soit leur taille. Si la valeur définie est non nulle, le cache + disque va mettre en tampon au moins la quantité de données + correspondante avant envoi au client. Ceci peut améliorer les + performances en cas de mise en cache de contenu en provenance d'un + mandataire inverse lent.</p> + + <p>Cette directive n'a d'effet qu'au moment où les données sont + stockées dans le cache, et non lorsqu'elles sont servies depuis le + cache.</p> + + <pre class="prettyprint lang-config">CacheSocacheReadSize 102400</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachesocachereadtime" id="cachesocachereadtime">Directive</a> <a name="CacheSocacheReadTime" id="CacheSocacheReadTime">CacheSocacheReadTime</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale de lecture avant l'envoi des données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheReadTime <var>millisecondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheReadTime 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">CacheSocacheReadTime</code> + définit le temps minimal qui doit s'écouler avant de tenter + l'envoi des données au client. Cette durée sera mise à profit pour + lire et mettre en tampon les données avant leur envoi au client. + Ceci peut améliorer les performances en cas de mise en cache de + contenu en provenance d'un mandataire inverse.</p> + + <p>La valeur par défaut 0 désactive cette directive.</p> + + <p>Cette directive n'a d'effet qu'au moment où les données sont + stockées dans le cache, et non lorsqu'elles sont servies depuis le + cache. Il est recommandé d'utiliser cette directive en concomitance + avec la directive <code class="directive"><a href="#cachesocachereadsize">CacheSocacheReadSize</a></code> afin de + s'assurer que le serveur ne mette pas les données en tampon de + manière excessive dans le cas où les données arriveraient plus vite + que prévu.</p> + + <pre class="prettyprint lang-config">CacheSocacheReadTime 1000</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_socache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cache_socache.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cache_socache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cern_meta.html b/docs/manual/mod/mod_cern_meta.html new file mode 100644 index 0000000..2d0ece3 --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cern_meta.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cern_meta.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cern_meta.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cern_meta.html.en b/docs/manual/mod/mod_cern_meta.html.en new file mode 100644 index 0000000..e5bfe6a --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html.en @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cern_meta - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_cern_meta</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cern_meta.html" title="English"> en </a> | +<a href="../fr/mod/mod_cern_meta.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>CERN httpd metafile semantics</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>cern_meta_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_cern_meta.c</td></tr></table> +<h3>Summary</h3> + + <p>Emulate the CERN HTTPD Meta file semantics. Meta files are HTTP + headers that can be output in addition to the normal range of + headers for each file accessed. They appear rather like the + Apache .asis files, and are able to provide a crude way of + influencing the Expires: header, as well as providing other + curiosities. There are many ways to manage meta information, + this one was chosen because there is already a large number of + CERN users who can exploit this module.</p> + + <p>More information on the <a href="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir">CERN metafile semantics</a> is available.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#metadir">MetaDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#metafiles">MetaFiles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#metasuffix">MetaSuffix</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cern_meta">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cern_meta">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li> +<li><code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MetaDir" id="MetaDir">MetaDir</a> <a name="metadir" id="metadir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the directory to find CERN-style meta information +files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MetaDir <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MetaDir .web</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>Specifies the name of the directory in which Apache can find + meta information files. The directory is usually a 'hidden' + subdirectory of the directory that contains the file being + accessed. Set to "<code>.</code>" to look in the same directory + as the file:</p> + + <pre class="prettyprint lang-config">MetaDir .</pre> + + + <p>Or, to set it to a subdirectory of the directory containing the + files:</p> + + <pre class="prettyprint lang-config">MetaDir .meta</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MetaFiles" id="MetaFiles">MetaFiles</a> <a name="metafiles" id="metafiles">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activates CERN meta-file processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MetaFiles on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MetaFiles off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>Turns on/off Meta file processing on a per-directory basis.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MetaSuffix" id="MetaSuffix">MetaSuffix</a> <a name="metasuffix" id="metasuffix">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File name suffix for the file containing CERN-style +meta information</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MetaSuffix <var>suffix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MetaSuffix .meta</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>Specifies the file name suffix for the file containing the + meta information. For example, the default values for the two + directives will cause a request to + <code>DOCUMENT_ROOT/somedir/index.html</code> to look in + <code>DOCUMENT_ROOT/somedir/.web/index.html.meta</code> and + will use its contents to generate additional MIME header + information.</p> + + <div class="example"><h3>Example:</h3><pre class="prettyprint lang-config">MetaSuffix .meta</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cern_meta.html" title="English"> en </a> | +<a href="../fr/mod/mod_cern_meta.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cern_meta.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cern_meta.html.fr.utf8 b/docs/manual/mod/mod_cern_meta.html.fr.utf8 new file mode 100644 index 0000000..a990c13 --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html.fr.utf8 @@ -0,0 +1,162 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cern_meta - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_cern_meta</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cern_meta.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cern_meta.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>La sémantique des métafichiers du serveur httpd du +CERN</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cern_meta_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cern_meta.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Il s'agit d'une émulation de la sémantique des métafichiers du + serveur httpd du CERN. Les métafichiers consistent en en-têtes HTTP + qui peuvent s'ajouter au jeu d'en-têtes habituels pour chaque + fichier accédé. Ils ressemblent beaucoup aux fichiers .asis + d'Apache, et permettent d'influencer de manière rudimentaire + l'en-tête Expires:, ainsi que d'autres curiosités. Il existe de + nombreuses méthodes pour gérer les métainformations, mais le choix + s'est porté sur celle-ci car il existe déjà un grand nombre + d'utilisateurs du CERN qui peuvent exploiter ce module.</p> + + <p>Pour plus d'information, voir le document sur la <a href="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir">sémantique des métafichiers du CERN</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#metadir">MetaDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#metafiles">MetaFiles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#metasuffix">MetaSuffix</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cern_meta">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cern_meta">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li> +<li><code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="metadir" id="metadir">Directive</a> <a name="MetaDir" id="MetaDir">MetaDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du répertoire où trouver les fichiers de +métainformations dans le style du CERN</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MetaDir <var>répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MetaDir .web</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>Spécifie le nom du répertoire dans lequel Apache pourra trouver + les fichiers de métainformations. Ce répertoire est en général un + sous-répertoire 'caché' du répertoire qui contient le fichier à + accéder. Définissez cette directive à "<code>.</code>" pour + rechercher les métafichiers dans le même répertoire que le fichier à + accéder :</p> + + <pre class="prettyprint lang-config">MetaDir .</pre> + + + <p>Ou, pour rechercher dans un sous-répertoire du répertoire + contenant le fichier à accéder :</p> + + <pre class="prettyprint lang-config">MetaDir .meta</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="metafiles" id="metafiles">Directive</a> <a name="MetaFiles" id="MetaFiles">MetaFiles</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le traitement des métafichiers du CERN</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MetaFiles on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MetaFiles off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>Active ou désactive le traitement des métafichiers pour certains + répertoires.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="metasuffix" id="metasuffix">Directive</a> <a name="MetaSuffix" id="MetaSuffix">MetaSuffix</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Suffixe du fichier contenant les métainformations dans le +style du CERN</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MetaSuffix <var>suffixe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MetaSuffix .meta</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>Spécifie le suffixe du fichier contenant les métainformations. + Par exemple, si on conserve les valeurs par défaut des deux + directives précédentes, une requête pour + <code>DOCUMENT_ROOT/un-rep/index.html</code> provoquera la recherche + du métafichier + <code>DOCUMENT_ROOT/un-rep/.web/index.html.meta</code>, et utilisera + son contenu pour générer les informations quant aux en-têtes MIME + additionnels.</p> + + <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config">MetaSuffix .meta</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cern_meta.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cern_meta.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cern_meta.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cern_meta.html.ko.euc-kr b/docs/manual/mod/mod_cern_meta.html.ko.euc-kr new file mode 100644 index 0000000..ffdb481 --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html.ko.euc-kr @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cern_meta - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_cern_meta</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_cern_meta.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cern_meta.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_cern_meta.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>CERN Ÿ </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>cern_meta_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_cern_meta.c</td></tr></table> +<h3></h3> + + <p>CERN Ÿ 䳻. Ÿ ϴ + Ͽ Ϲ ܿ ߰ HTTP + ִ. ġ .asis ϰ ϰ, Expires: + ϰų ٸ ű ϵ ִ. Ÿ ٷ + پ, ̹ ϴ CERN ڵ + ߴ.</p> + + <p> ڼ <a href="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir">CERN metafile semantics</a> ϶.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#metadir">MetaDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#metafiles">MetaFiles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#metasuffix">MetaSuffix</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cern_meta">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cern_meta">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li> +<li><code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MetaDir" id="MetaDir">MetaDir</a> <a name="metadir" id="metadir">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>CERN Ÿ ã 丮 ̸</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>MetaDir <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>MetaDir .web</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>ġ Ÿ ã 丮 Ѵ. + 丮 ִ 丮 '' + 丮. "<code>.</code>" ϸ 丮 + ã´:</p> + + <div class="example"><p><code>MetaDir .</code></p></div> + + <p>ƴϸ ִ 丮 Ѵ:</p> + + <div class="example"><p><code>MetaDir .meta</code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MetaFiles" id="MetaFiles">MetaFiles</a> <a name="metafiles" id="metafiles">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>CERN Ÿ óѴ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>MetaFiles on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>MetaFiles off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>丮 Ÿ óθ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MetaSuffix" id="MetaSuffix">MetaSuffix</a> <a name="metasuffix" id="metasuffix">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>CERN Ÿ ϴ ̻</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>MetaSuffix <var>suffix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>MetaSuffix .meta</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cern_meta</td></tr> +</table> + <p>Ÿ ϴ ̻縦 Ѵ. , + þ ⺻ + <code>DOCUMENT_ROOT/somedir/index.html</code> ûϸ + <code>DOCUMENT_ROOT/somedir/.web/index.html.meta</code> + Ͽ MIME ߰Ѵ.</p> + + <div class="example"><h3>:</h3><p><code> + MetaSuffix .meta + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_cern_meta.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cern_meta.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_cern_meta.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cern_meta.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html b/docs/manual/mod/mod_cgi.html new file mode 100644 index 0000000..4195d2f --- /dev/null +++ b/docs/manual/mod/mod_cgi.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cgi.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cgi.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cgi.html.en b/docs/manual/mod/mod_cgi.html.en new file mode 100644 index 0000000..915f083 --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.en @@ -0,0 +1,294 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_cgi</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Execution of CGI scripts</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>cgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_cgi.c</td></tr></table> +<h3>Summary</h3> + + <p>Any file that has the handler + <code>cgi-script</code> will be treated + as a CGI script, and run by the server, with its output being + returned to the client. Files acquire this handler either by + having a name containing an extension defined by the + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> directive, or by being + in a <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + directory.</p> + + <p>For an introduction to using CGI scripts with Apache, see + our tutorial on <a href="../howto/cgi.html">Dynamic Content + With CGI</a>.</p> + + <p>When using a multi-threaded MPM under unix, the module + <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> should be used in place of + this module. At the user level, the two modules are essentially + identical.</p> + + <p>For backward-compatibility, the cgi-script handler will also be activated + for any file with the mime-type <code>application/x-httpd-cgi</code>. The + use of the magic mime-type is deprecated.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#env">CGI Environment variables</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi-debug">CGI Debugging</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptloglength">ScriptLogLength</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgi">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code> ExecCGI</li> +<li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +<li><a href="../suexec.html">Running CGI programs under different + user IDs</a></li> +<li><a href="http://www.ietf.org/rfc/rfc3875">CGI Specification</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">CGI Environment variables</a></h2> + <p>The server will set the CGI environment variables as described + in the <a href="http://www.ietf.org/rfc/rfc3875">CGI specification</a>, + with the following provisions:</p> + + <dl> + <dt>PATH_INFO</dt> + + <dd>This will not be available if the <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> directive is explicitly set to + <code>off</code>. The default behavior, if <code class="directive">AcceptPathInfo</code> is not given, is that <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> will accept path info (trailing <code> + /more/path/info</code> following the script filename in the URI), + while the core server will return a 404 NOT FOUND error for requests + with additional path info. Omitting the <code class="directive">AcceptPathInfo</code> directive has the same effect as setting + it <code>On</code> for <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> requests.</dd> + + <dt>REMOTE_HOST</dt> + + <dd>This will only be set if <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> is set to <code>on</code> (it + is off by default), and if a reverse DNS lookup of the accessing + host's address indeed finds a host name.</dd> + + <dt>REMOTE_IDENT</dt> + + <dd>This will only be set if <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> is set to + <code>on</code> and the accessing host supports the ident + protocol. Note that the contents of this variable cannot be + relied upon because it can easily be faked, and if there is a + proxy between the client and the server, it is usually + totally useless.</dd> + + <dt>REMOTE_USER</dt> + + <dd>This will only be set if the CGI script is subject to + authentication.</dd> + + </dl> + <p>This module also leverages the core functions + <a href="https://ci.apache.org/projects/httpd/trunk/doxygen/group__APACHE__CORE__SCRIPT.html#ga0e81f9571a8a73f5da0e89e1f46d34b1">ap_add_common_vars</a> and + <a href="https://ci.apache.org/projects/httpd/trunk/doxygen/group__APACHE__CORE__SCRIPT.html#ga6b975cd7ff27a338cb8752381a4cc14f">ap_add_cgi_vars</a> + to add environment variables like:</p> + <dl> + <dt>DOCUMENT_ROOT</dt> + + <dd>Set with the content of the related <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directive.</dd> + + <dt>SERVER_NAME</dt> + + <dd>The fully qualified domain name related to the request.</dd> + + <dt>SERVER_ADDR</dt> + + <dd>The IP address of the Virtual Host serving the request.</dd> + + <dt>SERVER_ADMIN</dt> + + <dd>Set with the content of the related <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code> directive.</dd> + </dl> + <p>For an exhaustive list it is suggested to write a basic CGI script + that dumps all the environment variables passed by Apache in a convenient format. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi-debug" id="cgi-debug">CGI Debugging</a></h2> + <p>Debugging CGI scripts has traditionally been difficult, mainly + because it has not been possible to study the output (standard + output and error) for scripts which are failing to run + properly. These directives provide more detailed logging of errors + when they occur.</p> + + <h3>CGI Logfile Format</h3> + <p>When configured, the CGI error log logs any CGI which does not + execute properly. Each CGI script which fails to operate causes + several lines of information to be logged. The first two lines + are always of the format:</p> + + <div class="example"><p><code> + %% [<var>time</var>] <var>request-line</var><br /> + %% <var>HTTP-status</var> <var>CGI-script-filename</var> + </code></p></div> + + <p>If the error is that CGI script cannot be run, the log file + will contain an extra two lines:</p> + + <div class="example"><p><code> + %%error<br /> + <var>error-message</var> + </code></p></div> + + <p>Alternatively, if the error is the result of the script + returning incorrect header information (often due to a bug in + the script), the following information is logged:</p> + + <div class="example"><p><code> + %request<br /> + <var>All HTTP request headers received</var><br /> + <var>POST or PUT entity (if any)</var><br /> + %response<br /> + <var>All headers output by the CGI script</var><br /> + %stdout<br /> + <var>CGI standard output</var><br /> + %stderr<br /> + <var>CGI standard error</var><br /> + </code></p></div> + + <p>(The %stdout and %stderr parts may be missing if the script did + not output anything on standard output or standard error).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLog" id="ScriptLog">ScriptLog</a> <a name="scriptlog" id="scriptlog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location of the CGI script error logfile</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptLog <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p>The <code class="directive">ScriptLog</code> directive sets the CGI + script error logfile. If no <code class="directive">ScriptLog</code> is given, + no error log is created. If given, any CGI errors are logged into the + filename given as argument. If this is a relative file or path it is + taken relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. + </p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ScriptLog logs/cgi_log</pre> +</div> + + <p>This log will be opened as the user the child processes run + as, <em>i.e.</em> the user specified in the main <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> directive. This means that + either the directory the script log is in needs to be writable + by that user or the file needs to be manually created and set + to be writable by that user. If you place the script log in + your main logs directory, do <strong>NOT</strong> change the + directory permissions to make it writable by the user the child + processes run as.</p> + + <p>Note that script logging is meant to be a debugging feature + when writing CGI scripts, and is not meant to be activated + continuously on running servers. It is not optimized for speed + or efficiency, and may have security problems if used in a + manner other than that for which it was designed.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLogBuffer" id="ScriptLogBuffer">ScriptLogBuffer</a> <a name="scriptlogbuffer" id="scriptlogbuffer">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum amount of PUT or POST requests that will be recorded +in the scriptlog</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptLogBuffer <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScriptLogBuffer 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p>The size of any PUT or POST entity body that is logged to + the file is limited, to prevent the log file growing too big + too quickly if large bodies are being received. By default, up + to 1024 bytes are logged, but this can be changed with this + directive.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLogLength" id="ScriptLogLength">ScriptLogLength</a> <a name="scriptloglength" id="scriptloglength">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Size limit of the CGI script logfile</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptLogLength <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScriptLogLength 10385760</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p><code class="directive">ScriptLogLength</code> can be used to limit the + size of the CGI script logfile. Since the logfile logs a lot of + information per CGI error (all request headers, all script output) + it can grow to be a big file. To prevent problems due to unbounded + growth, this directive can be used to set an maximum file-size for + the CGI logfile. If the file exceeds this size, no more + information will be written to it.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html.fr.utf8 b/docs/manual/mod/mod_cgi.html.fr.utf8 new file mode 100644 index 0000000..2b831fd --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.fr.utf8 @@ -0,0 +1,313 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgi - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_cgi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cgi.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Tout fichier pris en compte par le gestionnaire + <code>cgi-script</code> sera traité en tant que script CGI et + exécuté par le serveur, sa sortie étant renvoyée au client. Les + fichiers sont associés à ce gestionnaire soit parce qu'ils possèdent + un nom contenant une extension définie par la directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>, soit parce qu'ils se + situent dans un répertoire défini par une directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</p> + + <p>Comme introduction à l'utilisation des scripts CGI avec Apache, + voir notre tutoriel <a href="../howto/cgi.html">Les contenus + dynamiques avec CGI</a>.</p> + + <p>Il est recommandé d'utiliser le module <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> + à la place de <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> lorsqu'on utilise un module MPM + multi-threadé sous Unix. Vus de l'utilisateur, les deux modules + sont pratiquement identiques.</p> + + <p>À des fins de compatibilité ascendante, le gestionnaire + cgi-script sera aussi activé pour tout fichier possédant le type + MIME <code>application/x-httpd-cgi</code>. L'utilisation du type + MIME magic est obsolète.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Les variables d'environnement CGI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi-debug">Débogage des scripts CGI</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptloglength">ScriptLogLength</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code> ExecCGI</li> +<li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +<li><a href="../suexec.html">Exécuter des programmes CGI sous des +utilisateurs différents</a></li> +<li><a href="http://www.ietf.org/rfc/rfc3875">La spécification +CGI</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Les variables d'environnement CGI</a></h2> + <p>Le serveur va définir les variables d'environnement CGI comme + décrit dans la <a href="http://www.ietf.org/rfc/rfc3875">Spécification CGI</a>, de la + manière suivante :</p> + + <dl> + <dt>PATH_INFO</dt> + + <dd>Cette variable ne sera pas disponible si la directive + <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> est + explicitement définie à <code>off</code>. Par défaut, si la + directive <code class="directive">AcceptPathInfo</code> n'est pas définie, + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> acceptera des informations de chemin (en + ajoutant /infos/chemin après le nom du script dans l'URI), alors + que le serveur de base retournera une erreur 404 NOT FOUND pour + les requêtes contenant des informations de chemin supplémentaires. + Ne pas définir la directive <code class="directive">AcceptPathInfo</code> + a le même effet sur les requêtes avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> que + de la définir à <code>On</code>.</dd> + + <dt>REMOTE_HOST</dt> + + <dd>Cette variable ne sera définie que si la directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie à + <code>on</code> (elle est à <code>off</code> par défaut), et si + une recherche DNS inverse sur l'adresse IP de l'hôte client + aboutit effectivement à un nom d'hôte.</dd> + + <dt>REMOTE_IDENT</dt> + + <dd>Cette variable ne sera définie que si la directive <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> + est définie à <code>on</code>, et si l'hôte client supporte le + protocole ident. Notez que l'on ne peut accorder une confiance + aveugle au contenu de cette variable car il peut être aisément + falsifié, et si un mandataire s'intercale entre le client et le + serveur, il est totalement inutilisable.</dd> + + <dt>REMOTE_USER</dt> + + <dd>Cette variable ne sera définie que si le script CGI fait + l'objet d'une authentification.</dd> + + </dl> + <p>Ce module utilise aussi les fonctions de base <a href="https://ci.apache.org/projects/httpd/trunk/doxygen/group__APACHE__CORE__SCRIPT.html#ga0e81f9571a8a73f5da0e89e1f46d34b1">ap_add_common_vars</a> + et <a href="https://ci.apache.org/projects/httpd/trunk/doxygen/group__APACHE__CORE__SCRIPT.html#ga6b975cd7ff27a338cb8752381a4cc14f">ap_add_cgi_vars</a> + pour ajouter des variables d'environnement comme :</p> + <dl> + <dt>DOCUMENT_ROOT</dt> + + <dd>Prend la valeur définie par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.</dd> + + <dt>SERVER_NAME</dt> + + <dd>Le nom de domaine pleinement qualifié pour la requête considérée</dd> + + <dt>SERVER_ADDR</dt> + + <dd>L'adresse IP du serveur virtuel qui traite la requête</dd> + + <dt>SERVER_ADMIN</dt> + + <dd>Prend la valeur définie par la directive <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>.</dd> + </dl> + <p>Pour une liste exhaustive de ces variables, vous pouvez écrire un script + CGI basique qui extrait toutes les variables d'environnement passées par + Apache selon un format adapté. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi-debug" id="cgi-debug">Débogage des scripts CGI</a></h2> + <p>Le débogage des scripts CGI était difficile par le passé, + principalement parce qu'il n'était pas possible d'étudier la sortie + (sortie standard et erreurs) des scripts dont l'exécution échouait. + Les directives qui suivent permettent une journalisation plus détaillée des + erreurs.</p> + + <h3>Format du fichier journal CGI</h3> + <p>Lorsqu'il est configuré, le journal des erreurs CGI enregistre + la sortie de tout programme CGI dont l'exécution ne s'effectue pas + correctement. Un script CGI dont l'exécution échoue provoque la + journalisation d'une grande quantité d'informations. Les deux + premières lignes possèdent toujours le format suivant :</p> + + <div class="example"><p><code> + %% [<var>date</var>] <var>requête</var><br /> + %% <var>état HTTP</var> <var>nom du script CGI</var> + </code></p></div> + + <p>Si le script CGI n'a pas pu démarrer, le fichier journal + contiendra les deux lignes supplémentaires suivantes :</p> + + <div class="example"><p><code> + %%erreur<br /> + <var>message d'erreur</var> + </code></p></div> + + <p>Par contre, si l'erreur provient du renvoi par le script + d'informations incorrectes dans les en-têtes (dû souvent à une + bogue du script), les informations suivantes sont journalisées + :</p> + + <div class="example"><p><code> + %requête<br /> + <var>Tous les en-têtes de requête HTTP reçus</var><br /> + <var>Les entités POST ou PUT (s'il en existe)</var><br /> + %réponse<br /> + <var>Tous les en-têtes générés par le script CGI</var><br /> + %stdout<br /> + <var>la sortie standard CGI</var><br /> + %stderr<br /> + <var>la sortie d'erreurs standard CGI</var><br /> + </code></p></div> + + <p>(Les parties %stdout et %stderr seront absentes si le script + n'a rien envoyé sur la sortie standard ou la sortie + d'erreurs).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptlog" id="scriptlog">Directive</a> <a name="ScriptLog" id="ScriptLog">ScriptLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier journal des erreurs du script +CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptLog <var>chemin fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p>La directive <code class="directive">ScriptLog</code> permet de définir + le chemin du fichier journal des erreurs du script CGI. Si cette + directive n'est pas définie, aucune journalisation des erreurs n'est + effectuée. Si elle est définie, toute erreur CGI sera enregistrée + dans le fichier dont le nom est fourni en argument. S'il s'agit d'un + chemin de fichier relatif, il est considéré par rapport au + répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. + </p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScriptLog logs/cgi_log</pre> +</div> + + <p>Ce journal sera ouvert par l'utilisateur sous lequel les + processus enfants s'exécutent, c'est à dire l'utilisateur spécifié + par la directive du serveur <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>. Ceci implique que le + répertoire dans lequel se trouve le journal doit être accessible en + écriture pour cet utilisateur, ou bien que le fichier est créé + manuellement et accessible en écriture pour cet utilisateur. Si vous + placez le journal du script dans votre répertoire principal des + journaux, ne modifiez <strong>JAMAIS</strong> les permissions de ce + dernier afin de le le rendre accessible en écriture par + l'utilisateur sous lequel les processus enfants s'exécutent.</p> + + <p>Notez que l'on ne doit activer la journalisation des scripts + qu'à des fins de débogage lors de l'écriture de scripts CGI, et non + de manière permanente sur un serveur en production. Elle n'est pas + optimisée en terme de performances et d'efficacité, et peut + présenter des problèmes de sécurité si on l'utilise dans un cadre + autre que celui pour lequel elle a été conçue.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptlogbuffer" id="scriptlogbuffer">Directive</a> <a name="ScriptLogBuffer" id="ScriptLogBuffer">ScriptLogBuffer</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des requêtes PUT ou POST qui seront +enregistrées dans le journal du script</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptLogBuffer <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptLogBuffer 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p>Cette directive permet de limiter la taille du corps de toute + entité PUT ou POST qui sera enregistrée dans le journal, afin + de prévenir une croissance trop importante et trop rapide du fichier + journal due à la réception de corps de requête de grandes tailles. + Cette directive permet de modifier cette taille maximale, dont la + valeur par défaut est de 1024 octets.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptloglength" id="scriptloglength">Directive</a> <a name="ScriptLogLength" id="ScriptLogLength">ScriptLogLength</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale du fichier journal des scripts +CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptLogLength <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptLogLength 10385760</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p>La directive <code class="directive">ScriptLogLength</code> permet de + définir la taille maximale du fichier journal des scripts CGI. Comme + le fichier journal accumule une grande quantité d'informations par + erreur CGI (tous les en-têtes de la requête, toutes les sorties du + script), il peut vite atteindre une grande taille. En limitant la + taille du fichier, cette directive permet d'éviter les problèmes que + causerait sa croissance sans limites. Lorsque le fichier a atteint + cette taille maximale, plus aucune information n'y est + enregistrée.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html.ja.utf8 b/docs/manual/mod/mod_cgi.html.ja.utf8 new file mode 100644 index 0000000..dd9aee0 --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.ja.utf8 @@ -0,0 +1,279 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgi - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_cgi</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>CGI スクリプトの実行</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>cgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_cgi.c</td></tr></table> +<h3>概要</h3> + + <p>ハンドラ <code>cgi-script</code> + が指定されているファイルは CGI スクリプトとして扱われ、 + サーバにより実行され、その出力がクライアントに返されます。 + ファイルは、<code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> + ディレクティブに指定された 拡張子を名前に含むか、 + <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + ディレクトリに存在することによりこのハンドラになります。</p> + + <p>Apache で CGI スクリプトを使用するためのイントロダクションは、 + <a href="../howto/cgi.html">CGI による動的コンテンツ</a> + を参照してください。</p> + + <p>Unix でマルチスレッドの MPM を使っている場合は、このモジュールの + 代わりに <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> を使う必要があります。 + ユーザレベルではこの二つのモジュールは本質的には同一です。</p> + + <p>後方互換性のため、 MIME タイプが <code>application/x-httpd-cgi</code> + であるファイルでも cgi-script ハンドラが有効になります。この特殊な MIME タイプを + 使う方法は非推奨です。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#env">CGI 環境変数</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi-debug">CGI のデバッグ</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptloglength">ScriptLogLength</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgi">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code> ExecCGI</li> +<li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +<li><a href="../suexec.html">CGI プログラムを別のユーザ ID で実行する</a></li> +<li><a href="http://www.ietf.org/rfc/rfc3875">CGI 規格書</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">CGI 環境変数</a></h2> + <p>サーバは <a href="http://www.ietf.org/rfc/rfc3875">CGI + 規格</a> で決められている CGI + 環境変数を設定します。以下のものは、条件付きで設定されます。</p> + + <dl> + <dt>PATH_INFO</dt> + + <dd>これは <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> ディレクティブが明示的に <code>off</code> + に設定されている場合は設定されません。デフォルトの、 + <code class="directive">AcceptPathInfo</code> が + 指定されていないときの振る舞いでは、<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> はパス情報 + (URI のスクリプトのファイル名の後に続く <code>/more/path/info</code>) を + 受け付けますが、コアはサーバはパス情報のあるリクエストに + 対して 404 NOT FOUND エラーを返します。<code class="directive">AcceptPathInfo</code> + ディレクティブを + 省略すると、<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> へのリクエストに対して + <code>On</code> を + 設定したのと同じ効果になります。</dd> + + <dt>REMOTE_HOST</dt> + + <dd><code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> + が <code>on</code> (デフォルトでは off です) + で、アクセスしているホストのアドレスの DNS + の逆引きが実際にホスト名を見つけたときにのみ設定されます。</dd> + + <dt>REMOTE_IDENT</dt> + + <dd><code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> + が <code>on</code> に設定されていて、アクセスしているホストが + ident プロトコルをサポートしているときにのみ設定されます。 + これは簡単に偽ることができ、クライアントとサーバの間に + プロキシがあればまったく役に立たないので、 + この変数の値は信用できないということに注意してください。 + </dd> + + <dt>REMOTE_USER</dt> + + <dd>CGI + スクリプトに認証が必要なときにのみ設定されます。</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi-debug" id="cgi-debug">CGI のデバッグ</a></h2> + <p>CGI スクリプトのデバッグは、正しく動作していないスクリプトの出力 + (標準出力とエラー) + を調べることができないために、難しい状態が続いていました。 + これらのディレクティブはより詳細なエラーのログ収集を提供します。</p> + + <h3>CGI ログファイルの書式</h3> + <p>設定されているときには、CGI エラーログは適切に動作しないすべての + CGI をログ収集します。それぞれの正しく動作しない CGI + スクリプトは 複数の行にわたる情報がログ収集されます。最初の + 2 行は常に以下の書式です:</p> + + <div class="example"><p><code> + %% [<var>time</var>] <var>request-line</var><br /> + %% <var>HTTP-status</var> <var>CGI-script-filename</var> + </code></p></div> + + <p>エラーが、CGI スクリプトが実行できないというものである場合は、 + ログファイルはさらにもう 2 行書かれます:</p> + + <div class="example"><p><code> + %%error<br /> + <var>error-message</var> + </code></p></div> + + <p>そうではなく、エラーが正しくないヘッダ情報を返す結果である場合 + (スクリプトのバグであることがよくあります)、 + 以下の情報がログ収集されます:</p> + + <div class="example"><p><code> + %request<br /> + <var>受け取ったすべての HTTP リクエストヘッダ</var><br /> + <var>(もしあれば) POST や PUT の中身</var><br /> + %response<br /> + <var>CGI スクリプトにより出力されたすべてのヘッダ</var><br /> + %stdout<br /> + <var>CGI 標準出力</var><br /> + %stderr<br /> + <var>CGI 標準エラー</var><br /> + </code></p></div> + + <p>(スクリプトが標準出力や標準エラーに何も出力しなかった場合は、 + %stdout や %stderr はありません)。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLog" id="ScriptLog">ScriptLog</a> <a name="scriptlog" id="scriptlog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI スクリプトのエラーログファイルの場所</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptLog <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p><code class="directive">ScriptLog</code> ディレクティブは CGI スクリプトの + エラーログファイルを設定します。<code class="directive">ScriptLog</code> が + 設定されていないときは、 + エラーログは作成されません。設定されているときは、CGI + のエラーはすべて引数として与えられているファイル名にログされます。 + 相対パスで指定されているときは、 + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>からの相対パスとして + 扱われます。</p> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config">ScriptLog logs/cgi_log</pre> +</div> + + <p>このログは子プロセスが実行されているユーザとしてオープンされます。 + <em>すなわち</em>、<code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> ディレクティブで指定された + ユーザです。これは、スクリプトログが書かれるディレクトリがそのユーザで + 書き込み可能か、スクリプトファイルが手動で作成され、そのユーザで + 書き込み可能になっている必要があるということです。スクリプトログを + アクセスログなどのためのログディレクトリに書かれるようにしたときは、 + そのディレクトリを子プロセスを実行しているユーザの権限で + 書き込み可能には<strong>しない</strong>ようにしてください。</p> + + <p>スクリプトのログ収集は CGI スクリプトを書くときの + デバッグ用の機能として意図されていて、通常のサーバで + 常に使用されるようには意図されていないということに注意してください。 + 速度や効率は最適化されておらず、設計された以外の方法で使用されると + セキュリティの問題があるかもしれません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLogBuffer" id="ScriptLogBuffer">ScriptLogBuffer</a> <a name="scriptlogbuffer" id="scriptlogbuffer">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>スクリプトログに記録される PUT や POST リクエストの内容の上限</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptLogBuffer <em>bytes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ScriptLogBuffer 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p>大きな本体を受け取ったときにログファイルがすぐに大きくなりすぎる + 問題を避けるために、ファイルにログ収集される PUT と POST + の本体の大きさは制限されています。デフォルトでは、1024 + バイトまでがログ収集されますが、 + このディレクティブはそれを変更することができます。 + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLogLength" id="ScriptLogLength">ScriptLogLength</a> <a name="scriptloglength" id="scriptloglength">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI スクリプトのログファイルの大きさの上限</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptLogLength <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ScriptLogLength 10385760</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p><code class="directive">ScriptLogLength</code> は CGI スクリプトのログファイル + の大きさを制限するために使用することができます。ログファイルは + CGI のエラー毎に大量の情報 (リクエストのすべてのヘッダ、 + すべての出力)をログしますので、すぐに大きなファイルになります。 + この大きさの制限がないことによる問題を防ぐために、 + このディレクティブを使って CGI のログファイルの + 最大のファイルサイズを設定することができます。 + ファイルがこの大きさを超えた場合は、それ以上は書き込まれません。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgi.html.ko.euc-kr b/docs/manual/mod/mod_cgi.html.ko.euc-kr new file mode 100644 index 0000000..9091253 --- /dev/null +++ b/docs/manual/mod/mod_cgi.html.ko.euc-kr @@ -0,0 +1,262 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_cgi</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>CGI ũƮ </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>cgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_cgi.c</td></tr></table> +<h3></h3> + + + + <p> mime type <code>application/x-httpd-cgi</code>̰ų + (ġ 1.1 ) ڵ鷯 <code>cgi-script</code> + CGI ũƮ νϿ, ϰ, Ŭ̾Ʈ + . <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> + þ Ȯڸ ų, <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> 丮 ȿ + CGI óȴ.</p> + + <p> CGI ũƮ θ <code>DOCUMENT_ROOT</code> + ȯ溯 ߰Ѵ. <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> .</p> + + <p>ġ CGI ũƮ ϴ Ұ + <a href="../howto/cgi.html">CGI </a> 丮 + ϶.</p> + + <p>н ߾ MPM Ѵٸ + <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> ؾ Ѵ. + 忡 ⺻ ϴ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#env">CGI ȯ溯</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgi-debug">CGI </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptloglength">ScriptLogLength</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgi">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +<li><a href="../suexec.html">ٸ ID CGI α +ϱ</a></li> +<li><a href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI ǥ</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">CGI ȯ溯</a></h2> + <p> <a href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI ǥ</a> ϴ + CGI ȯ溯 Ѵ:</p> + + <dl> + <dt>PATH_INFO</dt> + + <dd> <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> þ <code>off</code> + 쿡 Ѵ. <code class="directive">AcceptPathInfo</code> ⺻ + ִ û 404 NOT FOUND , + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> (URI ũƮ + ϸ ڿ <code>/more/path/info</code>) ´. + <code class="directive">AcceptPathInfo</code> þ ϸ + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> û ؼ <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> <code>On</code> + Ͱ .</dd> + + <dt>REMOTE_HOST</dt> + + <dd> <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> <code>on</code>̰ (⺻ + off), ȣƮ ּҸ DNS ˻Ͽ ȣƮ + ã 쿡 Ѵ.</dd> + + <dt>REMOTE_IDENT</dt> + + <dd> <code class="directive"><a href="../mod/core.html#identitycheck">IdentityCheck</a></code> <code>on</code>̰, + ȣƮ ident ϴ 쿡 Ѵ. + ֱ + ȵǰ, Ŭ̾Ʈ ̿ Ͻð ִٸ + ǹ ϶.</dd> + + <dt>REMOTE_USER</dt> + + <dd>CGI ũƮ ľϴ 쿡 Ѵ.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cgi-debug" id="cgi-debug">CGI </a></h2> + <p> ߸ Ǵ ũƮ (ǥ° + ǥؿ) CGI ũƮ ϱ + . ġ 1.2 Ŀ ߰ þ ϸ + ڼ α ִ.</p> + + <h3>CGI α </h3> + <p>CGI α״ CGI Ѵ. + CGI ũƮ α . + ù° Ʒ ̴:</p> + + <div class="example"><p><code> + %% [<var>ð</var>] <var>û</var><br /> + %% <var>HTTP-</var> <var>CGI-ũƮ-ϸ</var> + </code></p></div> + + <p>CGI ũƮ αϿ + ߰ Ѵ:</p> + + <div class="example"><p><code> + %%error<br /> + <var></var> + </code></p></div> + + <p>ũƮ ( ũƮ ) ߸ + ȯϴ , α Ѵ:</p> + + <div class="example"><p><code> + %request<br /> + <var> HTTP </var><br /> + <var>(ִٸ) POST PUT </var><br /> + %response<br /> + <var>CGI ũƮ </var><br /> + %stdout<br /> + <var>CGI ǥ</var><br /> + %stderr<br /> + <var>CGI ǥؿ</var><br /> + </code></p></div> + + <p>(ũƮ ǥ̳ ǥؿ ƹ 뵵 + ʾҴٸ %stdout %stderr κ ִ).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLog" id="ScriptLog">ScriptLog</a> <a name="scriptlog" id="scriptlog">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>CGI ũƮ α ġ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ScriptLog <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p><code class="directive">ScriptLog</code> þ CGI ũƮ + α Ѵ. <code class="directive">ScriptLog</code> + α ʴ´. ϸ ƱԸƮ + Ͽ CGI Ѵ. θ ϸ + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> η + Ƶδ. + </p> + + <div class="example"><h3></h3><p><code> + ScriptLog logs/cgi_log + </code></p></div> + + <p>ڽ μ ϴ , <em></em> <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> þ + α . ڰ ũƮ αװ + ִ 丮 ִ, ̸ + ڿ Ѵ. ũƮ α α + 丮 дٸ ڽ μ ϴ ڿ + ֱ 丮 <strong></strong>.</p> + + <p>ũƮ α״ CGI ũƮ ۼҶ + 뵵 ϴ ϱ ƴ + ϶. ӵ ȿ鿡 ȭ ȵְ, + ̿ ϸ Ȼ ִ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLogBuffer" id="ScriptLogBuffer">ScriptLogBuffer</a> <a name="scriptlogbuffer" id="scriptlogbuffer">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ũƮ α PUT Ȥ POST û ִ뷮</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ScriptLogBuffer <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ScriptLogBuffer 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p>ū Ƽ α ʹ Ŀ + Ͽ PUT Ȥ POST ũ⸦ Ѵ. ⺻ + 1024 Ʈ α , þ Ͽ + ִ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptLogLength" id="ScriptLogLength">ScriptLogLength</a> <a name="scriptloglength" id="scriptloglength">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>CGI ũƮ α ũ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ScriptLogLength <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ScriptLogLength 10385760</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr> +</table> + <p><code class="directive">ScriptLogLength</code> CGI ũƮ + α ũ⸦ Ѵ. CGI Ҷ ( + û , ũƮ ) α + ϵDZ ſ Ŀ ִ. Ŀ + þ Ͽ CGI α ִ + ũ⸦ Ѵ. ũⰡ + ̻ ʴ´.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgi.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html b/docs/manual/mod/mod_cgid.html new file mode 100644 index 0000000..e15a7e1 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_cgid.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_cgid.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_cgid.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_cgid.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_cgid.html.en b/docs/manual/mod/mod_cgid.html.en new file mode 100644 index 0000000..3148653 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.en @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgid - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_cgid</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cgid.html" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Execution of CGI scripts using an + external CGI daemon</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>cgid_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_cgid.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Unix threaded MPMs only</td></tr></table> +<h3>Summary</h3> + + <p>Except for the optimizations and the additional <code class="directive"><a href="#scriptsock">ScriptSock</a></code> directive noted below, + <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> behaves similarly to <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. + <strong>See the <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> summary for additional details + about Apache and CGI.</strong></p> + + <p>On certain unix operating systems, forking a process from a + multi-threaded server is a very expensive operation because the + new process will replicate all the threads of the parent + process. In order to avoid incurring this expense on each CGI + invocation, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> creates an external daemon that is + responsible for forking child processes to run CGI scripts. The + main server communicates with this daemon using a unix domain + socket.</p> + + <p>This module is used by default instead of + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> whenever a multi-threaded MPM + is selected during the compilation process. At the user level, + this module is identical in configuration and operation to + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. The only exception is the + additional directive <code>ScriptSock</code> which gives the + name of the socket to use for communication with the cgi + daemon.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptsock">ScriptSock</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgid">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgid">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../suexec.html">Running CGI programs under different + user IDs</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIDScriptTimeout" id="CGIDScriptTimeout">CGIDScriptTimeout</a> <a name="cgidscripttimeout" id="cgidscripttimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The length of time to wait for more output from the +CGI program</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIDScriptTimeout <var>time</var>[s|ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>value of <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code> directive when +unset or set to 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cgid</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.10 and later; in prior releases no timeout was applied</td></tr> +</table> + <p>This directive limits the length of time to wait for more output from + the CGI program. If the time is exceeded, the request and CGI are + terminated.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">CGIDScriptTimeout 20</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptSock" id="ScriptSock">ScriptSock</a> <a name="scriptsock" id="scriptsock">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The filename prefix of the socket to use for communication with +the cgi daemon</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptSock <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScriptSock cgisock</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cgid</td></tr> +</table> + <p>This directive sets the filename prefix of the socket to use for + communication with the CGI daemon, an extension corresponding to + the process ID of the server will be appended. The socket will be opened + using the permissions of the user who starts Apache (usually + root). To maintain the security of communications with CGI + scripts, it is important that no other user has permission to + write in the directory where the socket is located.</p> + + <p>If <var>file-path</var> is not an absolute path, the location specified + will be relative to the value of + <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ScriptSock /var/run/cgid.sock</pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_cgid.html" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgid.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html.fr.utf8 b/docs/manual/mod/mod_cgid.html.fr.utf8 new file mode 100644 index 0000000..af6d6f1 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.fr.utf8 @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgid - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_cgid</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI par l'intermédiaire d'un démon +CGI externe</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cgid_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cgid.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Uniquement compatible avec les MPMs Unix +threadés</td></tr></table> +<h3>Sommaire</h3> + + <p>Exceptées les optimisations et la directive additionnelle + <code class="directive"><a href="#scriptsock">ScriptSock</a></code> décrite + ci-dessous, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> a un comportement similaire à + celui de <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. <strong>Voir le résumé de + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> pour plus de détails à propos d'Apache et + CGI.</strong></p> + + <p>Sur certains systèmes d'exploitation de type unix, le lancement + (forking) d'un processus depuis un serveur multi-threadé est une + opération très lourde car le nouveau processus va répliquer tous les + threads du processus parent. Pour éviter cette dépense de ressouces + pour chaque invocation d'un programme CGI, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> + crée un démon externe qui est responsable du branchement de + processus enfants destinés au lancement de scripts CGI. Le serveur + principal communique avec ce démon par l'intermédiaire d'une socket + de domaine unix.</p> + + <p>Si un MPM multi-threadé a été sélectionné lors du processus de + compilation, c'est ce module qui est utilisé par défaut à la place + de <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. Du point de vue de l'utilisateur, ce + module est identique à <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> quant à sa + configuration et son utilisation. La seule différence est la + directive additionnelle <code>ScriptSock</code> qui permet de + définir le nom du socket à utiliser pour la communication avec le + démon CGI.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptsock">ScriptSock</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgid">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgid">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../suexec.html">Exécution de programmes CGI sous des +utilisateurs différents</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cgidscripttimeout" id="cgidscripttimeout">Directive</a> <a name="CGIDScriptTimeout" id="CGIDScriptTimeout">CGIDScriptTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée maximale d'attente de la prochaine sortie du +programme CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIDScriptTimeout <var>time</var>[s|ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Si non définie ou définie à 0, valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cgid</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP Apache ; +dans les versions précédentes, aucune durée d'attente n'était définie</td></tr> +</table> + <p>Cette directive permet de limiter la durée d'attente avant les prochaines données + reçues en sortie du programme CGI. Si ce temps est dépassé, la requête et le + programme CGI se terminent.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CGIDScriptTimeout 20</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scriptsock" id="scriptsock">Directive</a> <a name="ScriptSock" id="ScriptSock">ScriptSock</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le préfixe du nom de fichier du socket à utiliser pour +communiquer avec le démon CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptSock <var>chemin fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptSock cgisock</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cgid</td></tr> +</table> + <p>Cette directive permet de définir le préfixe du nom de fichier de la + socket à utiliser pour communiquer avec le démon CGI, préfixe auquel + sera ajouté une extension correspondant à l'identifiant processus du + serveur. La socket sera ouverte avec les permissions de l'utilisateur + qui a démarré Apache (en général root). Afin de préserver la + sécurité des communications avec les scripts CGI, il est impératif + de n'accorder à aucun autre utilisateur la permission d'écrire dans + le répertoire où se trouve la socket.</p> + + <p>Si <var>chemin fichier</var> n'est pas un chemin absolu, il est + relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScriptSock /var/run/cgid.sock</pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgid.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html.ja.utf8 b/docs/manual/mod/mod_cgid.html.ja.utf8 new file mode 100644 index 0000000..836ee99 --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.ja.utf8 @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgid - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_cgid</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>外部 CGI デーモンを使った CGI スクリプトの実行</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>cgid_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_cgid.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Unix のスレッド MPM のみ</td></tr></table> +<h3>概要</h3> + + <p>最適化が施されていることと、以下で説明されている追加の <code class="directive"><a href="#scriptsock">ScriptSock</a></code> ディレクティブを除いては、 + <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> は <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> と同様の + 動作をします。<strong>Apache と CGI に関する詳細は + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> の概要を読んでください。</strong></p> + + <p>Unix オペレーティングシステムの中には、マルチスレッドのサーバから + プロセスを fork するのが非常にコストの高い動作になっているものがあります。 + 理由は、新しいプロセスが親プロセスのスレッドすべてを複製するからです。 + 各 CGI 起動時にこのコストがかかるのを防ぐために、<code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> + は子プロセスを fork して CGI スクリプトを実行するための + 外部デーモンを実行します。 + 主サーバは unix ドメインソケットを使ってこのデーモンと通信します。</p> + + <p>コンパイル時にマルチスレッド MPM が選ばれたときは + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> の代わりに必ずこのモジュールが使用されます。 + ユーザのレベルではこのモジュールの設定と動作は <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + とまったく同じです。唯一の例外は <code>ScriptSock</code> ディレクティブの + 追加で、このディレクティブは CGI デーモンとの通信用のソケットの名前を + 指定します。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptsock">ScriptSock</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgid">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgid">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../suexec.html">CGI プログラムを違うユーザ ID で実行する</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIDScriptTimeout" id="CGIDScriptTimeout">CGIDScriptTimeout</a> <a name="cgidscripttimeout" id="cgidscripttimeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>The length of time to wait for more output from the +CGI program</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CGIDScriptTimeout <var>time</var>[s|ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>value of <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code> directive when +unset or set to 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cgid</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in httpd 2.4.10 and later; in prior releases no timeout was applied</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptSock" id="ScriptSock">ScriptSock</a> <a name="scriptsock" id="scriptsock">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI デーモンとの通信に使われるソケットのファイル名の接頭辞</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptSock <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ScriptSock logs/cgisock</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_cgid</td></tr> +</table> + <p>このディレクティブは CGI デーモンとの通信に使われるソケットの + ファイル名の接頭辞を設定します。また、ファイル名にはサーバのプロセスIDが + 追加されます。ソケットは Apache が起動されたユーザ (通常 root) の + パーミッションを用いてオープンされます。CGI スクリプトとの通信の + セキュリティを保つために、ソケットの存在するディレクトリに + 他のユーザが書き込み権限を持っていないようにすることが重要です。</p> + + <div class="example"><h3>例</h3><p><code> + ScriptSock /var/run/cgid.sock + </code></p></div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgid.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_cgid.html.ko.euc-kr b/docs/manual/mod/mod_cgid.html.ko.euc-kr new file mode 100644 index 0000000..a8247df --- /dev/null +++ b/docs/manual/mod/mod_cgid.html.ko.euc-kr @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_cgid - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_cgid</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>ܺ CGI Ͽ CGI ũƮ </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>cgid_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_cgid.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>н 带 ϴ MPMs </td></tr></table> +<h3></h3> + + <p>Ʒ ϴ ߰ <code class="directive"><a href="#scriptsock">ScriptSock</a></code> þ ϰ + <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + ϰ Ѵ. <strong>ġ CGI ڼ + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> ϶.</strong></p> + + <p> н ü ߾ μ + ũ(fork)ϸ ο μ θ μ 带 + ؾ ϹǷ δ ȴ. CGI ึ ̷ δ + ʱ <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> CGI ũƮ ϴ + ڽ μ ũϴ ܺ . ּ + н(unix domain socket) Ͽ Ѵ.</p> + + <p>Ҷ ߾ MPM ϸ ⺻ + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> Ѵ. + 忡 <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + ϴ. cgi + ̸ ϴ <code>ScriptSock</code> þ + ߰ ̴.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cgidscripttimeout">CGIDScriptTimeout</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlog">ScriptLog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptsock">ScriptSock</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgid">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgid">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li> +<li><a href="../suexec.html">ٸ ID CGI α +ϱ</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIDScriptTimeout" id="CGIDScriptTimeout">CGIDScriptTimeout</a> <a name="cgidscripttimeout" id="cgidscripttimeout">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>The length of time to wait for more output from the +CGI program</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CGIDScriptTimeout <var>time</var>[s|ms]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>value of <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code> directive when +unset or set to 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cgid</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Available in httpd 2.4.10 and later; in prior releases no timeout was applied</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptSock" id="ScriptSock">ScriptSock</a> <a name="scriptsock" id="scriptsock">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>cgi ̸</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ScriptSock <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ScriptSock logs/cgisock</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_cgid</td></tr> +</table> + <p> þ CGI ̸ + Ѵ. ġ ( root) + . CGI ũƮ ٸ ڰ + ִ 丮 ʴ ߿ϴ.</p> + + <div class="example"><h3></h3><p><code> + ScriptSock /var/run/cgid.sock + </code></p></div> + + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_cgid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_cgid.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgid.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_charset_lite.html b/docs/manual/mod/mod_charset_lite.html new file mode 100644 index 0000000..9803eab --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_charset_lite.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_charset_lite.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_charset_lite.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_charset_lite.html.en b/docs/manual/mod/mod_charset_lite.html.en new file mode 100644 index 0000000..6eea337 --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html.en @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_charset_lite - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_charset_lite</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_charset_lite.html" title="English"> en </a> | +<a href="../fr/mod/mod_charset_lite.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_charset_lite.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Specify character set translation or recoding</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>charset_lite_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_charset_lite.c</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> allows the server to change + the character set of responses before sending them to the client. + In an EBCDIC environment, Apache always translates HTTP protocol + content (e.g. response headers) from the code page of the Apache + process locale to ISO-8859-1, but not the body of responses. In + any environment, <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> can be used to + specify that response bodies should be translated. For example, + if files are stored in EBCDIC, then + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> can translate them to + ISO-8859-1 before sending them to the client.</p> + + <p>This module provides a small subset of configuration + mechanisms implemented by Russian Apache and its associated + <code>mod_charset</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#problems">Common Problems</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetdefault">CharsetDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetoptions">CharsetOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetsourceenc">CharsetSourceEnc</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_charset_lite">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_charset_lite">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="problems" id="problems">Common Problems</a></h2> + + <h3>Invalid character set names</h3> + + <p>The character set name parameters of <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> and + <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code> + must be acceptable to the translation mechanism used by + <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a> on the system where + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> is deployed. These character + set names are not standardized and are usually not the same as + the corresponding values used in http headers. Currently, APR + can only use iconv(3), so you can easily test your character set + names using the iconv(1) program, as follows:</p> + + <div class="example"><p><code> + iconv -f charsetsourceenc-value -t charsetdefault-value + </code></p></div> + + + <h3>Mismatch between character set of content and translation + rules</h3> + + <p>If the translation rules don't make sense for the content, + translation can fail in various ways, including:</p> + + <ul> + <li>The translation mechanism may return a bad return code, + and the connection will be aborted.</li> + + <li>The translation mechanism may silently place special + characters (e.g., question marks) in the output buffer when + it cannot translate the input buffer.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CharsetDefault" id="CharsetDefault">CharsetDefault</a> <a name="charsetdefault" id="charsetdefault">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Charset to translate into</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CharsetDefault <var>charset</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_charset_lite</td></tr> +</table> + <p>The <code class="directive">CharsetDefault</code> directive specifies the + charset that content in the associated container should be + translated to.</p> + + <p>The value of the <var>charset</var> argument must be accepted + as a valid character set name by the character set support in + <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>. Generally, this means that it must be + supported by iconv.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Directory "/export/home/trawick/apacheinst/htdocs/convert"> + CharsetSourceEnc UTF-16BE + CharsetDefault ISO-8859-1 +</Directory></pre> +</div> + + <div class="note"> + Specifying the same charset for both <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> + and <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code> disables translation. The charset + need not match the charset of the response, but it must be a valid charset on the system. + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CharsetOptions" id="CharsetOptions">CharsetOptions</a> <a name="charsetoptions" id="charsetoptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures charset translation behavior</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CharsetOptions <var>option</var> [<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CharsetOptions ImplicitAdd</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_charset_lite</td></tr> +</table> + <p>The <code class="directive">CharsetOptions</code> directive configures certain + behaviors of <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code>. <var>Option</var> can + be one of</p> + + <dl> + <dt><code>ImplicitAdd | NoImplicitAdd</code></dt> + + <dd>The <code>ImplicitAdd</code> keyword specifies that + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> should implicitly insert its + filter when the configuration specifies that the character + set of content should be translated. If the filter chain is + explicitly configured using the <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> directive, <code>NoImplicitAdd</code> + should be specified so that <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> + doesn't add its filter.</dd> + + <dt><code>TranslateAllMimeTypes | NoTranslateAllMimeTypes</code></dt> + <dd>Normally, <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> will only perform + translation on a small subset of possible mimetypes. When the + <code>TranslateAllMimeTypes</code> keyword is specified for a given + configuration section, translation is performed without regard for + mimetype.</dd> + + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CharsetSourceEnc" id="CharsetSourceEnc">CharsetSourceEnc</a> <a name="charsetsourceenc" id="charsetsourceenc">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Source charset of files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CharsetSourceEnc <var>charset</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_charset_lite</td></tr> +</table> + <p>The <code class="directive">CharsetSourceEnc</code> directive specifies the + source charset of files in the associated container.</p> + + <p>The value of the <var>charset</var> argument must be accepted + as a valid character set name by the character set support in + <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>. Generally, this means that it must be + supported by iconv.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Directory "/export/home/trawick/apacheinst/htdocs/convert"> + CharsetSourceEnc UTF-16BE + CharsetDefault ISO-8859-1 +</Directory></pre> +</div> + + <p>The character set names in this example work with the iconv + translation support in Solaris 8.</p> + + <div class="note"> + Specifying the same charset for both <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> + and <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code> disables translation. The charset + need not match the charset of the response, but it must be a valid charset on the system. + </div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_charset_lite.html" title="English"> en </a> | +<a href="../fr/mod/mod_charset_lite.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_charset_lite.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_charset_lite.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_charset_lite.html.fr.utf8 b/docs/manual/mod/mod_charset_lite.html.fr.utf8 new file mode 100644 index 0000000..58c6bb6 --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html.fr.utf8 @@ -0,0 +1,252 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_charset_lite - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_charset_lite</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_charset_lite.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_charset_lite.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_charset_lite.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Spécifie dans quel jeu de caractère doivent s'effectuer les +traductions ou les réencodages</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>charset_lite_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_charset_lite.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> permet au serveur de + modifier le jeu de caractères des réponses avant de les envoyer aux + clients. Dans un environnement EBCDIC, Apache traduit toujours les + contenus au protocole HTTP (par exemples les en-têtes de réponses) + de la page de code de la locale du processus Apache vers ISO-8859-1, + mais pas le corps des réponses. Dans tous les environnements, on + peut utiliser <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> pour spécifier que + les corps des réponses doivent être traduits. Par exemple, si les + fichiers sont stockés sous forme EBCDIC, + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> pourra les traduire en ISO-8859-1 + avant de les envoyer au client.</p> + + <p>Ce module fournit quelques procédés de configuration implémentés + par Apache version russe, ainsi que son module + <code>mod_charset</code> associé.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#problems">Problèmes courants</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetdefault">CharsetDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetoptions">CharsetOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetsourceenc">CharsetSourceEnc</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_charset_lite">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_charset_lite">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="problems" id="problems">Problèmes courants</a></h2> + + <h3>Noms de jeux de caractères non valides</h3> + + <p>Les noms des jeux de caractères passés en paramètres aux + directives <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> et + <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code> + doivent être reconnus par le mécanisme de traduction utilisé par + <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> sur le système où + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> est utilisé. Ces noms de jeux de + caractères ne sont pas standardisés, et sont en général différents + des valeurs qui leur correspondent dans les en-têtes HTTP. + Actuellement, APR ne peut utiliser que iconv(3) ; vous pouvez donc + tester facilement vos noms de jeux de caractères en utilisant le + programme iconv(1), de la manière suivante :</p> + + <div class="example"><p><code> + iconv -f valeur-charsetsourceenc -t valeur-charsetdefault + </code></p></div> + + + <h3>Incompatibilité entre le jeu de caractères du + contenu et les règles de traduction</h3> + + <p>Si les règles de traduction ne peuvent s'appliquer au contenu, + la traduction peut échouer avec des conséquences diverses, comme + :</p> + + <ul> + <li>Le mécanisme de traduction peut renvoyer un mauvais code de + retour, et la connexion sera interrompue.</li> + + <li>Le mécanisme de traduction peut insérer silencieusement des + caractères spéciaux (par exemple des points d'interrogation) dans + le tampon de sortie lorsqu'il n'est pas en mesure de traduire le + tampon d'entrée.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="charsetdefault" id="charsetdefault">Directive</a> <a name="CharsetDefault" id="CharsetDefault">CharsetDefault</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Jeu de caractère vers lequel la traduction doit +s'effectuer</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CharsetDefault <var>jeu de caractères</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_charset_lite</td></tr> +</table> + <p>La directive <code class="directive">CharsetDefault</code> permet de + spécifier le jeu de caractères vers lequel le contenu situé dans le + conteneur associé devra être traduit.</p> + + <p>La valeur de l'argument <var>jeu de caractères</var> doit être + un nom de jeu de caractères valide du point de vue du support des + jeux de caractères dans <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. En général, cela + implique qu'elle doit être reconnue par iconv.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Directory "/export/home/trawick/apacheinst/htdocs/convert"> + CharsetSourceEnc UTF-16BE + CharsetDefault ISO-8859-1 +</Directory></pre> +</div> + + <div class="note"> + Spécifier le même jeu de caractères pour les deux directives + <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> + et <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code> + désactive la traduction. Le jeu de caractères ne doit pas forcément + correspondre au jeu de caractères de la réponse, mais il doit être + valide du point de vue du système. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="charsetoptions" id="charsetoptions">Directive</a> <a name="CharsetOptions" id="CharsetOptions">CharsetOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Précise les détails de la traduction du jeu de +caractères</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CharsetOptions <var>option</var> [<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CharsetOptions ImplicitAdd</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_charset_lite</td></tr> +</table> + <p>La directive <code class="directive">CharsetOptions</code> permet de + préciser certains détails du comportement du module + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code>. <var>Option</var> accepte les + valeurs suivantes :</p> + + <dl> + <dt><code>ImplicitAdd | NoImplicitAdd</code></dt> + + <dd>Le mot-clé <code>ImplicitAdd</code> indique que + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> doit insérer son filtre de + manière implicite lorsque la configuration indique que le jeu de + caractère du contenu doit être traduit. Si la chaîne de filtrage + est configurée de manière explicite via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, l'option + <code>NoImplicitAdd</code> doit être utilisée afin que + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> n'ajoute pas son propre + filtre.</dd> + + <dt><code>TranslateAllMimeTypes | NoTranslateAllMimeTypes</code></dt> + <dd>Normalement, <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> n'effectuera + une traduction qu'en présence d'un petit nombre de types MIME + parmi tous les types possibles. Lorsque l'option + <code>TranslateAllMimeTypes</code> est utilisée pour une section + de configuration donnée, la traduction est effectuée sans se + préoccuper du type MIME.</dd> + + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="charsetsourceenc" id="charsetsourceenc">Directive</a> <a name="CharsetSourceEnc" id="CharsetSourceEnc">CharsetSourceEnc</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Jeu de caractères source des fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CharsetSourceEnc <var>jeu de caractères</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_charset_lite</td></tr> +</table> + <p>La directive <code class="directive">CharsetSourceEnc</code> permet de + spécifier un jeu de caractères source pour les fichiers situés dans + le conteneur associé.</p> + + <p>La valeur de l'argument <var>jeu de caractères</var> doit être + un nom de jeu de caractères valide du point de vue du support des + jeux de caractères dans <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. En général, cela + implique qu'elle doit être reconnue par iconv.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Directory "/export/home/trawick/apacheinst/htdocs/convert"> + CharsetSourceEnc UTF-16BE + CharsetDefault ISO-8859-1 +</Directory></pre> +</div> + + <p>Les noms de jeux de caractères de cet exemple sont reconnus par + le mécanisme de traduction d'iconv sous Solaris 8.</p> + + <div class="note"> + Spécifier le même jeu de caractères pour les deux directives + <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> + et <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code> + désactive la traduction. Le jeu de caractères ne doit pas forcément + correspondre au jeu de caractères de la réponse, mais il doit être + valide du point de vue du système. + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_charset_lite.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_charset_lite.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_charset_lite.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_charset_lite.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_charset_lite.html.ko.euc-kr b/docs/manual/mod/mod_charset_lite.html.ko.euc-kr new file mode 100644 index 0000000..bc4255e --- /dev/null +++ b/docs/manual/mod/mod_charset_lite.html.ko.euc-kr @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_charset_lite - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_charset_lite</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_charset_lite.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_charset_lite.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_charset_lite.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ȯ </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>charset_lite_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_charset_lite.c</td></tr></table> +<h3></h3> + + <p> <strong></strong> ̰, ְ + ؾ Ѵ. ϴ ϴ + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> غ.</p> + + <p><code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> Ͽ + հ Ŭ̾Ʈ ȯ + ִ. <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> + ڷḦ ȯʰ ġ ȯ϶ ûѴ. + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> EBCDIC ASCII ȯ濡 + ִ. EBCDIC ȯ濡 ġ ġ μ + ڵ ISO-8859-1 ȯѴ. + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> Ͽ ٸ ȯ + ִ. ASCII ȯ濡 ġ ⺻ ȯ + ʱ, ȯ ؼ + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> ʿϴ.</p> + + <p> þ ġ <code>mod_charset</code> + ϴ Ϻθ Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#problems">Ϲ </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetdefault">CharsetDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetoptions">CharsetOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charsetsourceenc">CharsetSourceEnc</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_charset_lite">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_charset_lite">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="problems" id="problems">Ϲ </a></h2> + + <h3>߸ ̸</h3> + + <p><code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> ϴ ý + ARP <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> + <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code> + Ķ ̸ ó ־ Ѵ. + ̸ ǥȭ ʾҰ, http ϴ + ʴ. APR iconv(3) ϱ, + iconv(1) α Ͽ Ư + ̸ ִ ִ:</p> + + <div class="example"><p><code> + iconv -f charsetsourceenc-value -t charsetdefault-value + </code></p></div> + + + <h3> ȯĢ ٸ</h3> + + <p>ȯĢ Ȳ + ȯ ִ:</p> + + <ul> + <li>ȯ ȯڵ带 ȯϰ + ִ.</li> + + <li>Է¹۸ ȯ Ҷ ¹ۿ Ư + ڸ (, ǥ) ִ.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CharsetDefault" id="CharsetDefault">CharsetDefault</a> <a name="charsetdefault" id="charsetdefault">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȯ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CharsetDefault <var>charset</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_charset_lite</td></tr> +</table> + <p><code class="directive">CharsetDefault</code> þ þ + ġ ִ ȯ Ѵ.</p> + + <p><var>charset</var> ƱԸƮ APR ϴ + ̸ ؾ Ѵ. Ϲ iconv ϴ + ǹѴ.</p> + + <div class="example"><h3></h3><p><code> + <Directory /export/home/trawick/apacheinst/htdocs/convert><br /> + <span class="indent"> + CharsetSourceEnc UTF-16BE<br /> + CharsetDefault ISO-8859-1<br /> + </span> + </Directory> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CharsetOptions" id="CharsetOptions">CharsetOptions</a> <a name="charsetoptions" id="charsetoptions">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ȯ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CharsetOptions <var>option</var> [<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CharsetOptions DebugLevel=0 NoImplicitAdd</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_charset_lite</td></tr> +</table> + <p><code class="directive">CharsetOptions</code> þ + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> Ѵ. + <var>Option</var> Ʒ ִ</p> + + <dl> + <dt><code>DebugLevel=<var>n</var></code></dt> + + <dd><code>DebugLevel</code> Ű + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> ϴ + Ѵ. ⺻ ͵ ʴ´. + ̴ <code>DebugLevel=0</code> . ڸ Ҽ + ϰԵǾ . + ڰ ǹ̴ <code>mod_charset_lite.c</code> պκ + DBGLVL_ Ǹ ϶.</dd> + + <dt><code>ImplicitAdd | NoImplicitAdd</code></dt> + + <dd><code>ImplicitAdd</code> Ű ȯ + ϸ ڵ <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> + Ϳ ߰Ѵ. <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> þ ͼ + Ѵٸ, <code>NoImplicitAdd</code> Ͽ + <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> ڵ Ϳ + ߰ʵ ؾ Ѵ.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CharsetSourceEnc" id="CharsetSourceEnc">CharsetSourceEnc</a> <a name="charsetsourceenc" id="charsetsourceenc">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CharsetSourceEnc <var>charset</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_charset_lite</td></tr> +</table> + <p><code class="directive">CharsetSourceEnc</code> þ þ + ġ ִ ϵ Ѵ.</p> + + <p><var>charset</var> ƱԸƮ APR ϴ + ̸ ؾ Ѵ. Ϲ iconv ϴ + ǹѴ.</p> + + <div class="example"><h3></h3><p><code> + <Directory /export/home/trawick/apacheinst/htdocs/convert><br /> + <span class="indent"> + CharsetSourceEnc UTF-16BE<br /> + CharsetDefault ISO-8859-1<br /> + </span> + </Directory> + </code></p></div> + + <p>Solaris 8 iconv Ѵ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_charset_lite.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_charset_lite.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_charset_lite.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_charset_lite.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_data.html b/docs/manual/mod/mod_data.html new file mode 100644 index 0000000..96e32f1 --- /dev/null +++ b/docs/manual/mod/mod_data.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_data.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_data.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_data.html.en b/docs/manual/mod/mod_data.html.en new file mode 100644 index 0000000..247ad0a --- /dev/null +++ b/docs/manual/mod/mod_data.html.en @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_data - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_data</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_data.html" title="English"> en </a> | +<a href="../fr/mod/mod_data.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Convert response body into an RFC2397 data URL</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>data_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_data.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides the ability to convert a response into + an <a href="http://tools.ietf.org/html/rfc2397">RFC2397 data URL</a>. + </p> + + <p>Data URLs can be embedded inline within web pages using something + like the <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> module, to remove the need for + clients to make separate connections to fetch what may potentially be + many small images. Data URLs may also be included into pages generated + by scripting languages such as PHP.</p> + + <div class="example"><h3>An example of a data URL</h3><p><code> + data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw<br /> + AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz<br /> + ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp<br /> + a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl<br /> + ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis<br /> + F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH<br /> + hhx4dbgYKAAA7<br /> + </code></p></div> + + <p>The filter takes no parameters, and can be added to the filter stack + using the <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> directive, + or any of the directives supported by the <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> + module.</p> + + <div class="example"><h3>Configuring the filter</h3><pre class="prettyprint lang-config"><Location "/data/images"> + SetOutputFilter DATA +</Location></pre> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_data">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_data">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filters</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_data.html" title="English"> en </a> | +<a href="../fr/mod/mod_data.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_data.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_data.html.fr.utf8 b/docs/manual/mod/mod_data.html.fr.utf8 new file mode 100644 index 0000000..fd74c92 --- /dev/null +++ b/docs/manual/mod/mod_data.html.fr.utf8 @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_data - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_data</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_data.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_data.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Convertit un corps de réponse en URL de type données RFC2397</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>data_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_data.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de convertir une réponse en <a href="http://tools.ietf.org/html/rfc2397">URL de type données + RFC2397</a>. + </p> + + <p>Les URLs de type données peuvent être incluses en ligne dans les + pages web via le module <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> par exemple, + afin d'éviter aux clients d'avoir à effectuer des connexions + séparées pour éventuellement extraire un grand nombre de petites + images. Les URLs de type données peuvent aussi être incluses dans + des pages générées par langages de scripting tels que PHP.</p> + + <div class="example"><h3>Un exemple d'URL de type données</h3><p><code> + data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw<br /> + AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz<br /> + ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp<br /> + a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl<br /> + ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis<br /> + F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH<br /> + hhx4dbgYKAAA7<br /> + </code></p></div> + + <p>Le filtre n'accepte aucun paramètre, et peut être ajouté à la + pile des filtres via la directive <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, ou toute autre directive + supportée par le module <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>.</p> + + <div class="example"><h3>Configuration du filtre</h3><pre class="prettyprint lang-config"><Location "/data/images"> + SetOutputFilter DATA +</Location></pre> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_data">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_data">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../filter.html">Les filtres</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_data.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_data.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_data.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html b/docs/manual/mod/mod_dav.html new file mode 100644 index 0000000..17e6a4e --- /dev/null +++ b/docs/manual/mod/mod_dav.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dav.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dav.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dav.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_dav.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_dav.html.en b/docs/manual/mod/mod_dav.html.en new file mode 100644 index 0000000..7fd8a91 --- /dev/null +++ b/docs/manual/mod/mod_dav.html.en @@ -0,0 +1,281 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_dav</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dav.html" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) functionality</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>dav_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_dav.c</td></tr></table> +<h3>Summary</h3> + + <p>This module provides class 1 and class 2 <a href="http://www.webdav.org">WebDAV</a> ('Web-based Distributed + Authoring and Versioning') functionality for Apache. This + extension to the HTTP protocol allows creating, moving, + copying, and deleting resources and collections on a remote web + server.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Enabling WebDAV</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Issues</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#complex">Complex Configurations</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li> +<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li> +<li><a href="http://www.webdav.org">WebDAV Resources</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Enabling WebDAV</a></h2> + <p>To enable <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, add the following to a + container in your <code>httpd.conf</code> file:</p> + + <pre class="prettyprint lang-config">Dav On</pre> + + + <p>This enables the DAV file system provider, which is implemented + by the <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> module. Therefore, that module + must be compiled into the server or loaded at runtime using the + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive.</p> + + <p>In addition, a location for the DAV lock database must be + specified in the global section of your <code>httpd.conf</code> + file using the <code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> + directive:</p> + + <pre class="prettyprint lang-config">DavLockDB /usr/local/apache2/var/DavLock</pre> + + + <p>The directory containing the lock database file must be + writable by the <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> + and <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> under which + Apache is running.</p> + + <p>You may wish to add a <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> clause inside the <code class="directive"><a href="../mod/core.html#location"><Location></a></code> directive to limit access to + DAV-enabled locations. If you want to set the maximum amount of + bytes that a DAV client can send at one request, you have to use + the <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> + directive. The "normal" <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> directive has no effect on DAV + requests.</p> + + <div class="example"><h3>Full Example</h3><pre class="prettyprint lang-config">DavLockDB "/usr/local/apache2/var/DavLock" + +<Directory "/usr/local/apache2/htdocs/foo"> + Require all granted + Dav On + + AuthType Basic + AuthName DAV + AuthUserFile "user.passwd" + + <LimitExcept GET POST OPTIONS> + Require user admin + </LimitExcept> +</Directory></pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Security Issues</a></h2> + + <p>Since DAV access methods allow remote clients to manipulate + files on the server, you must take particular care to assure that + your server is secure before enabling <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>.</p> + + <p>Any location on the server where DAV is enabled should be + protected by authentication. The use of HTTP Basic Authentication + is not recommended. You should use at least HTTP Digest + Authentication, which is provided by the + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> module. Nearly all WebDAV clients + support this authentication method. An alternative is Basic + Authentication over an <a href="../ssl/">SSL</a> enabled + connection.</p> + + <p>In order for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> to manage files, it must + be able to write to the directories and files under its control + using the <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> and + <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> under which + Apache is running. New files created will also be owned by this + <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> and <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>. For this reason, it is + important to control access to this account. The DAV repository + is considered private to Apache; modifying files outside of Apache + (for example using FTP or filesystem-level tools) should not be + allowed.</p> + + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> may be subject to various kinds of + denial-of-service attacks. The <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> directive can be + used to limit the amount of memory consumed in parsing large DAV + requests. The <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> directive can be + used to prevent <code>PROPFIND</code> requests on a very large + repository from consuming large amounts of memory. Another + possible denial-of-service attack involves a client simply filling + up all available disk space with many large files. There is no + direct way to prevent this in Apache, so you should avoid giving + DAV access to untrusted users.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="complex" id="complex">Complex Configurations</a></h2> + + <p>One common request is to use <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> to + manipulate dynamic files (PHP scripts, CGI scripts, etc). This is + difficult because a <code>GET</code> request will always run the + script, rather than downloading its contents. One way to avoid + this is to map two different URLs to the content, one of which + will run the script, and one of which will allow it to be + downloaded and manipulated with DAV.</p> + +<pre class="prettyprint lang-config">Alias "/phparea" "/home/gstein/php_files" +Alias "/php-source" "/home/gstein/php_files" +<Location "/php-source"> + Dav On + ForceType text/plain +</Location></pre> + + + <p>With this setup, <code>http://example.com/phparea</code> can be + used to access the output of the PHP scripts, and + <code>http://example.com/php-source</code> can be used with a DAV + client to manipulate them.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Dav" id="Dav">Dav</a> <a name="dav" id="dav">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable WebDAV HTTP methods</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Dav On|Off|<var>provider-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Dav Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr> +</table> + <p>Use the <code class="directive">Dav</code> directive to enable the + WebDAV HTTP methods for the given container:</p> + + <pre class="prettyprint lang-config"><Location "/foo"> + Dav On +</Location></pre> + + + <p>The value <code>On</code> is actually an alias for the default + provider <code>filesystem</code> which is served by the <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> module. Note, that once you have DAV enabled + for some location, it <em>cannot</em> be disabled for sublocations. + For a complete configuration example have a look at the <a href="#example">section above</a>.</p> + + <div class="warning"> + Do not enable WebDAV until you have secured your server. Otherwise + everyone will be able to distribute files on your system. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a> <a name="davdepthinfinity" id="davdepthinfinity">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allow PROPFIND, Depth: Infinity requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DavDepthInfinity on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DavDepthInfinity off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr> +</table> + <p>Use the <code class="directive">DavDepthInfinity</code> directive to + allow the processing of <code>PROPFIND</code> requests containing the + header 'Depth: Infinity'. Because this type of request could constitute + a denial-of-service attack, by default it is not allowed.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a> <a name="davmintimeout" id="davmintimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Minimum amount of time the server holds a lock on +a DAV resource</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DavMinTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DavMinTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr> +</table> + <p>When a client requests a DAV resource lock, it can also + specify a time when the lock will be automatically removed by + the server. This value is only a request, and the server can + ignore it or inform the client of an arbitrary value.</p> + + <p>Use the <code class="directive">DavMinTimeout</code> directive to specify, in + seconds, the minimum lock timeout to return to a client. + Microsoft Web Folders defaults to a timeout of 120 seconds; the + <code class="directive">DavMinTimeout</code> can override this to a higher value + (like 600 seconds) to reduce the chance of the client losing + the lock due to network latency.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/MSWord"> + DavMinTimeout 600 +</Location></pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dav.html" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html.fr.utf8 b/docs/manual/mod/mod_dav.html.fr.utf8 new file mode 100644 index 0000000..e3e66f7 --- /dev/null +++ b/docs/manual/mod/mod_dav.html.fr.utf8 @@ -0,0 +1,302 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_dav</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalité de création et gestion de versions de +documents via le web (<a href="http://www.webdav.org/">WebDAV</a>)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module ajoute à Apache une fonctionnalité <a href="http://www.webdav.org">WebDAV</a> de classes 1 et 2 + ('Web-based Distributed Authoring and Versioning' ou Création et + gestion de versions de documents via le web). Il s'agit d'une + extension du protocole HTTP qui permet de créer, déplacer, copier et + supprimer des ressources ou collections de ressources sur un serveur + web distant.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Activation de WebDAV</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes concernant la sécurité</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#complex">Configurations complexes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li> +<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li> +<li><a href="http://www.webdav.org">Ressources WebDAV</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Activation de WebDAV</a></h2> + <p>Pour activer le module <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, ajoutez la ligne + suivante à un conteneur de votre fichier <code>httpd.conf</code> + :</p> + + <pre class="prettyprint lang-config">Dav On</pre> + + + <p>Ceci active le fournisseur de système de fichier DAV implémenté par + le module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Ce dernier doit donc être + compilé dans le serveur ou chargé au démarrage à l'aide de la + directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>.</p> + + <p>En outre, vous devez indiquer où se trouve la base de données des + verrous DAV via une directive <code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> dans la section globale de + votre fichier <code>httpd.conf</code> :</p> + + <pre class="prettyprint lang-config">DavLockDB /usr/local/apache2/var/DavLock</pre> + + + <p>Le répertoire contenant le fichier de la base de données des + verrous doit avoir des droits en écriture pour l'utilisateur et le + groupe sous lesquels Apache s'exécute et définis respectivement par + les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et + <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>.</p> + + <p>Si vous souhaitez limiter l'accès aux répertoires où DAV est + activé, vous pouvez ajouter une clause <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> dans la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> considérée. Pour + définir la quantité maximale de données en octets qu'un client + DAV peut envoyer par requête, vous devez utiliser la directive + <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code>, car La + directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> + "habituelle" n'a aucune incidence sur les requêtes DAV.</p> + + <div class="example"><h3>Exemple complet</h3><pre class="prettyprint lang-config">DavLockDB "/usr/local/apache2/var/DavLock" + +<Directory "/usr/local/apache2/htdocs/foo"> + Require all granted + Dav On + + AuthType Basic + AuthName DAV + AuthUserFile "user.passwd" + + <LimitExcept GET POST OPTIONS> + Require user admin + </LimitExcept> +</Directory></pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Problèmes concernant la sécurité</a></h2> + + <p>Etant donné que les méthodes d'accès DAV permettent à des clients + distants de manipuler des fichiers sur le serveur, vous devez vous + assurer que votre serveur est bien sécurisé avant d'activer + <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>.</p> + + <p>Tout répertoire du serveur où DAV est activé doit être protégé + par une procédure d'authentification. L'utilisation de + l'authentification HTTP de base n'est pas recommandée. Vous devez + utiliser au moins l'authentification HTTP à base de condensés + qu'implémente le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. + Pratiquement tous les clients WebDAV supportent cette méthode + d'authentification. Vous pouvez aussi utiliser l'authentification de + base sur une connexion où <a href="../ssl/">SSL</a> est activé.</p> + + <p>Pour que <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> puisse manipuler des fichiers, + il doit avoir des permissions en écriture sur les répertoires et les + fichiers qui sont sous son contrôle ; en d'autre termes, c'est + l'utilisateur et le groupe sous lesquels Apache s'exécute et définis + par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et + <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> qui doivent avoir + les droits en écriture sur ces fichiers et répertoires. Les fichiers + nouvellement créés appartiendront aussi à ces utilisateur et groupe. + Par conséquent, il est important de contrôler l'accès à ce compte. + Les répertoires DAV sont considérés comme privés du point de vue + d'Apache, et la modification des fichiers qu'ils contiennent + autrement que par l'intermédiaire d'Apache (par exemple par FTP ou + par des outils du niveau du système de fichiers) ne doit pas être + permise.</p> + + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> peut faire l'objet de plusieurs sortes + d'attaques par déni de service. La directive <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> permet de limiter la + quantité de mémoire consommée pour interpréter des requêtes DAV de + grande taille. En outre, la directive <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> permet d'empêcher les + requêtes <code>PROPFIND</code> concernant un répertoire de très + grande taille de consommer de grandes quantités de mémoire. Un autre + type d'attaque par déni de service peut aussi être mené par un + client qui remplit simplement tout l'espace disque disponible avec + des fichiers de très grande taille. Etant donné qu'il n'existe aucun + moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez + accorder des accès DAV qu'à des utilisateurs de confiance.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="complex" id="complex">Configurations complexes</a></h2> + + <p>Les requêtes ayant pour but de manipuler des fichiers dynamiques + (scripts PHP, scripts CGI, etc...) en utilisant + <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont courantes. Ce traitement n'est pas + évident car une requête + <code>GET</code> va toujours tenter d'exécuter le script, plutôt que + de télécharger son contenu. Pour éviter cet inconvénient, une + méthode possible consiste à faire correspondre deux URLs + différentes au même contenu, l'une d'entre elles servant à lancer le + script, alors que l'autre peut être utilisée pour le télécharger et + le manipuler avec DAV.</p> + +<pre class="prettyprint lang-config">Alias "/phparea" "/home/gstein/php_files" +Alias "/php-source" "/home/gstein/php_files" +<Location "/php-source"> +Dav On +ForceType text/plain +</Location></pre> + + + <p>Avec cette configuration, on peut utiliser + <code>http://example.com/phparea</code> pour afficher le résultat de + l'exécution des scripts PHP, et + <code>http://example.com/php-source</code> pour les manipuler avec + DAV.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dav" id="dav">Directive</a> <a name="Dav" id="Dav">Dav</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les méthodes HTTP WebDAV</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Dav On|Off|<var>nom fournisseur</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dav Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr> +</table> + <p>La directive <code class="directive">Dav</code> permet d'activer les + méthodes HTTP WebDAV pour le conteneur condidéré :</p> + + <pre class="prettyprint lang-config"><Location "/foo"> + Dav On +</Location></pre> + + + <p>La valeur <code>On</code> est en fait un alias vers le + fournisseur par défaut <code>filesystem</code> implémenté par le + module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Notez que lorsque DAV est activé + pour un conteneur, on <em>ne peut pas</em> le désactiver pour ses + sous-conteneurs. Pour un exemple de configuration complet, + reportez-vous à la <a href="#example">section précédente</a>.</p> + + <div class="warning"> + N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si + vous passez outre cette recommandation, tout le monde pourra + enregistrer des fichiers sur votre système. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="davdepthinfinity" id="davdepthinfinity">Directive</a> <a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autorise les requêtes PROPFIND avec en-tête Depth: +Infinity</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavDepthInfinity on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavDepthInfinity off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr> +</table> + <p>La directive <code class="directive">DavDepthInfinity</code> permet + d'autoriser le traitement des requêtes <code>PROPFIND</code> + contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête + n'est pas autorisé, car il peut favoriser les attaques de type Déni + de service.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="davmintimeout" id="davmintimeout">Directive</a> <a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée minimale pendant laquelle le serveur maintient un +verrou sur une ressource DAV</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavMinTimeout <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavMinTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr> +</table> + <p>Lorsqu'un client demande le verrouillage d'une ressource DAV, il + peut aussi spécifier une durée au bout de laquelle le verrou sera + automatiquement supprimé par le serveur. Cette valeur ne constitue + qu'une demande, et le serveur peut l'ignorer ou informer le client + qu'il va utiliser une valeur arbitraire.</p> + + <p>La directive <code class="directive">DavMinTimeout</code> permet de + spécifier, en secondes, la durée minimale de verrouillage à renvoyer + au client. Les Répertoires Web de Microsoft présentent une durée par + défaut de 120 secondes ; la directive + <code class="directive">DavMinTimeout</code> permet de définir une valeur + supérieure (par exemple 600 secondes), afin de réduire les risques + de perte du verrou par le client suite à une surcharge du + réseau.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/MSWord"> + DavMinTimeout 600 +</Location></pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html.ja.utf8 b/docs/manual/mod/mod_dav.html.ja.utf8 new file mode 100644 index 0000000..c8c8e8c --- /dev/null +++ b/docs/manual/mod/mod_dav.html.ja.utf8 @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_dav</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>分散オーサリングとバージョン管理 +(<a href="http://www.webdav.org/">WebDAV</a>) 機能</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>dav_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_dav.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールはクラス 1 とクラス 2 の + <a href="http://www.webdav.org">WebDAV</a> + ('ウェブベースの分散オーサリングとバージョン管理') + 機能を Apache に提供します。 + この HTTP プロトコルの拡張により、リモートのウェブサーバ上にある + リソースやコレクションを + 作成、移動、複製、削除できるようになります。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Enabling WebDAV</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">セキュリティの問題</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#complex">複雑な設定</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li> +<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li> +<li><a href="http://www.webdav.org">WebDAV Resources</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Enabling WebDAV</a></h2> + <p>mod_dav を有効にするには、<code>httpd.conf</code> + ファイル中のコンテナに次を加えます:</p> + + <pre class="prettyprint lang-config">Dav On</pre> + + + <p>これは DAV ファイルシステムプロバイダを有効にします。DAV + ファイルシステムプロバイダは <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> + モジュールで実装されています。ですから、このモジュールはコンパイル時に + サーバに組み込まれているか、あるいは + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> + を使用して実行時にロードされている必要があります。</p> + + <p>さらに、DAV ロックデータベースの場所が + <code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> ディレクティブを使って + <code>httd.conf</code> ファイルのグローバルセクションに指定されている + 必要があります。</p> + + <pre class="prettyprint lang-config">DavLockDB /usr/local/apache2/var/DavLock</pre> + + + <p>ロックデータベースファイルのあるディレクトリは Apache が実行されている + <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> と <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> に書き込み権限がある必要があります。</p> + + <p><code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> + 節を <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + ディレクティブ内部に追加して、DAV が有効な場所への + アクセスを制限することもできます。DAV クライアントが + 一度のリクエストで送信できる最大バイト数を指定したいときは、 + <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> + ディレクティブを使用する必要があります。「通常の」 + <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> + ディレクティブは DAV リクエストに対しては効力を持ちません。</p> + + <div class="example"><h3>完全な例</h3><pre class="prettyprint lang-config">DavLockDB /usr/local/apache2/var/DavLock + +<Directory /usr/local/apache2/htdocs/foo> + Require all granted + Dav On + + AuthType Basic + AuthName DAV + AuthUserFile user.passwd + + <LimitExcept GET POST OPTIONS> + Require user admin + </LimitExcept> +</Directory></pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">セキュリティの問題</a></h2> + + <p>DAV のアクセスメソッドは遠隔クライアントがサーバのファイルを + 操作することを可能にしますので、 <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> を使用する + 前に、サーバが安全であることを特に注意して確認しなければなりません。</p> + + <p>サーバ上の DAV が使用可能になっている場所はすべて認証で保護してください。 + HTTP 基本認証の使用は推奨できません。少なくとも + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> モジュールで提供される HTTP + ダイジェスト認証を用いるべきです。WebDAV クライアントのほとんどは + この認証方法に対応しています。代わりに、<a href="../ssl/">SSL</a> が + 有効なコネクションを通した基本認証を使うこともできます。</p> + + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> がファイルを操作できるようにするためには、 + 管理下のディレクトリとファイルとに Apache が実行されている <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> と <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> で書き込み可能である必要があります。 + 新しく作成されるファイルもこの <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> + と <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> に所有される + ことになります。この理由から、そのアカウントへのアクセスを制御することは + 重要です。DAV リポジトリは Apache 専用のものだとみなされています。 + Apache 以外の方法でファイルを修正すること (例えば FTP やファイルシステム + 用のツールなどを使って) は許可されていません。</p> + + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> はいろいろな種類のサービス拒否攻撃にさらされる + かもしれません。<code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> ディレクティブを使うと + 大きな DAV リクエストを解析するときに消費されるメモリの量を制限することが + できます。<code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> ディレクティブは + <code>PROPFIND</code> リクエストが巨大リポジトリで大量のメモリを消費するのを + 防ぐことができます。他のサービス拒否攻撃には単純に使用可能なディスク領域を + 多くの大きなファイルで埋めてしまうんものがあります。これを直接防ぐ方法は + Apache にはありませんので、信用できないユーザに DAV アクセスを提供するのは + 避けた方が良いでしょう。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="complex" id="complex">複雑な設定</a></h2> + + <p>よくある要求に、<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> を使って動的なファイル + (PHP スクリプト、CGI スクリプトなど) を操作したいというものがあります。 + これの実現は、<code>GET</code> リクエストはスクリプトの内容をダウンロードさせる + 代わりに、スクリプトを常に実行させてしまうので難しくなっています。 + これを回避する方法には、二つの違う URL を同じコンテンツにマップし、 + 一つはスクリプトを実行させ、もう一つはダウンロードさせたり、DAV から + 操作されたりするように設定するというものがあります。</p> + +<pre class="prettyprint lang-config">Alias /phparea /home/gstein/php_files +Alias /php-source /home/gstein/php_files +<Location /php-source> + Dav On + ForceType text/plain +</Location></pre> + + + <p>この設定により、<code>http://example.com/phparea</code> を PHP スクリプトの + 出力をアクセスするために使うことができ、 + <code>http://example.com/php-source</code> を DAV クライアントによる + が操作のために使うことができます。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Dav" id="Dav">Dav</a> <a name="dav" id="dav">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>WebDAV HTTP メソッドを有効にします</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Dav On|Off|<var>provider-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Dav Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav</td></tr> +</table> + <p>与えられたコンテナで WebDAV HTTP メソッドが使えるようにするには + 次のようにします。</p> + + <pre class="prettyprint lang-config"><Location /foo> + Dav On +</Location></pre> + + + <p><code>On</code> という指定は実際には <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> + で提供されているデフォルトのプロバイダ、<code>filesystem</code> + へのエイリアスになっています。一度あるロケーションで DAV + を有効にした後は、そのサブロケーションで<em>無効化することはできない</em> + ということに注意してください。完全な設定例は<a href="#example">上記のセクション</a> をご覧下さい。</p> + + <div class="warning"> + サーバのセキュリティが確保できるまで WebDAV を有効にしないでください。 + そうしなければ誰でもそのサーバでファイルを配布することができるように + なってしまいます。 + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a> <a name="davdepthinfinity" id="davdepthinfinity">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>PROPFIND, Depth: Infinity リクエストを許可します</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DavDepthInfinity on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DavDepthInfinity off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav</td></tr> +</table> + <p>'Depth: Infinity' を含んでいる + <code>PROPFIND</code> リクエストを処理できるようにするには、 + <code class="directive">DavDepthInfinity</code> + ディレクティブを使います。このタイプのリクエストは + denial-of-service アタックとなりうるので、 + デフォルトでは許可されていません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a> <a name="davmintimeout" id="davmintimeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが DAV リソースのロックを維持する最小時間です。 +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DavMinTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DavMinTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav</td></tr> +</table> + <p>クライアントが DAV リソースロックを要求した場合、 + ロックがサーバによって自動的に解除されるまでの時間を + 同時に指定することができます。この値は単なるリクエストであって、 + サーバはこれを無視することもできますし、 + 任意の値をクライアントに通知することもできます。</p> + + <p>クライアントに戻すロックタイムアウトの最小時間を、 + 秒で、指定するために <code class="directive">DavMinTimeout</code> + ディレクティブを使います。 + マイクロソフトのウェブフォルダのデフォルトでは 120 秒ですが; + ネットワークの遅延のせいでクライアントがロックを失うのを減らすために、 + <code class="directive">DavMinTimeout</code> を使って + これをもっと大きな値 (例えば 600 秒) に上書きできます。</p> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config"><Location /MSWord> + DavMinTimeout 600 +</Location></pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav.html.ko.euc-kr b/docs/manual/mod/mod_dav.html.ko.euc-kr new file mode 100644 index 0000000..756e01c --- /dev/null +++ b/docs/manual/mod/mod_dav.html.ko.euc-kr @@ -0,0 +1,293 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_dav</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>Distributed Authoring and Versioning +(<a href="http://www.webdav.org/">WebDAV</a>) </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>dav_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_dav.c</td></tr></table> +<h3></h3> + + <p> ġ <a href="http://www.webdav.org">WebDAV</a> + ('Web-based Distributed Authoring and Versioning') class 1 + class 2 ߰Ѵ. WebDAV ڿ + ݷ(collection) <span class="transnote">(<em>;</em> ݷ Ͻý 丮 + ̴)</span> , ű, ϰ, + ֵ HTTP Ȯ ̴.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">WebDAV ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security"> </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#complex"> </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li> +<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li> +<li><a href="http://www.webdav.org">WebDAV </a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">WebDAV ϱ</a></h2> + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> Ϸ <code>httpd.conf</code> + Ͽ Ʒ ߰Ѵ:</p> + + <div class="example"><p><code>Dav On</code></p></div> + + <p> <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> ϴ DAV + Ͻý (provider) Ѵ. Ƿ + ϵְų <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> þ ߿ + о鿩 Ѵ.</p> + + <p>, DAV (lock) ͺ̽ ġ <code>httpd.conf</code> + κп <code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> þ Ͽ + ؾ Ѵ:</p> + + <div class="example"><p><code> + DavLockDB /usr/local/apache2/var/DavLock + </code></p></div> + + <p>ġ ϴ <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> ͺ̽ + ִ 丮 Ѵ.</p> + + <p>DAV ϴ ġ ϱ <code class="directive"><a href="../mod/core.html#location"><Location></a></code> þ + ȿ <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> + þ ִ. DAV Ŭ̾Ʈ ѹ û + ִ ִ Ʈ Ϸ <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> þ Ѵ. + "Ϲ" <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> + þ DAV û .</p> + + <div class="example"><h3>ü </h3><p><code> + DavLockDB /usr/local/apache2/var/DavLock<br /> + <br /> + <Location /foo><br /> + <span class="indent"> + Dav On<br /> + <br /> + AuthType Basic<br /> + AuthName DAV<br /> + AuthUserFile user.passwd<br /> + <br /> + <LimitExcept GET OPTIONS><br /> + <span class="indent"> + require user admin<br /> + </span> + </LimitExcept><br /> + </span> + </Location><br /> + </code></p></div> + + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> Greg Stein <a href="http://www.webdav.org/mod_dav/">Apache 1.3 mod_dav</a> + . ڼ Ʈ + ϶.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security"> </a></h2> + + <p>DAV ϸ Ŭ̾Ʈ + ֱ, <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> ϱ + Ư Ѵ.</p> + + <p> DAV ġ ȣؾ Ѵ. + HTTP Basic Authentication õ ʴ´. ּ + <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> ϴ HTTP Digest + Authentication ؾ Ѵ. WebDAV Ŭ̾Ʈ + Ѵ. ƴϸ <a href="../ssl/">SSL</a> + ῡ Basic Authentication ִ.</p> + + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> Ϸ, ġ + ϴ <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> + <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> ش + 丮 Ͽ Ѵ. , + <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> + <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> ϰ + ȴ. ƹ ϶. DAV + Ҵ ġ ִٰ Ѵ. ġ ʰ + ( FTP Ͻý Ͽ) + ϸ ȵȴ.</p> + + <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> ź + ִ. <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> þ + Ͽ ū DAV û ִ. + <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> + þ Ͽ Ҹϱ ſ ū + <code>PROPFIND</code> û ִ. ܼ Ŭ̾Ʈ + ū ϵ ũ ä ź ݵ ϴ. + ġ ̸ . Ƿ ŷʴ + ڿ DAV ʵ϶.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="complex" id="complex"> </a></h2> + + <p>Ϲ ϳ (PHP ũƮ, CGI ũƮ ) + ۾ <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> ϴ + ̴. ̴ <code>GET</code> û ٿε + ʰ ũƮ ϹǷ ƴ. ذ ϳ + 뿡 ΰ URL ϴ ̴. URL ũƮ + ϰ, ٸ URLδ ٿεϿ DAV ۾ + ִ.</p> + +<div class="example"><p><code> +Alias /phparea /home/gstein/php_files<br /> +Alias /php-source /home/gstein/php_files<br /> +<Location /php-source> +<span class="indent"> + DAV On<br /> + ForceType text/plain<br /> +</span> +</Location> +</code></p></div> + + <p> <code>http://example.com/phparea</code> + PHP ũƮ ְ, + <code>http://example.com/php-source</code>δ DAV Ŭ̾Ʈ + ũƮ ִ.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Dav" id="Dav">Dav</a> <a name="dav" id="dav">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>WebDAV HTTP 带 Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Dav On|Off|<var>provider-name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>Dav Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dav</td></tr> +</table> + <p> ġ WebDAV HTTP 带 Ϸ + <code class="directive">Dav</code> þ Ѵ:</p> + + <div class="example"><p><code> + <Location /foo><br /> + <span class="indent"> + Dav On<br /> + </span> + </Location> + </code></p></div> + + <p><code>On</code> <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> + ϴ ⺻ <code>filesystem</code> + Ī̴. ġ DAV ϸ DAV + ϵ <em></em> ϶. + <a href="#example"> </a> ϶.</p> + + <div class="warning"> + ϰ Ҷ WebDAV . + й ְ ȴ. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a> <a name="davdepthinfinity" id="davdepthinfinity">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>PROPFIND Depth: Infinity û 㰡Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DavDepthInfinity on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DavDepthInfinity off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dav</td></tr> +</table> + <p><code class="directive">DavDepthInfinity</code> þ ϸ + 'Depth: Infinity' <code>PROPFIND</code> û + 㰡Ѵ. ̷ û Ͽ ź ϱ + ⺻ ʴ´.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a> <a name="davmintimeout" id="davmintimeout">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> DAV ڿ ּҽð</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DavMinTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DavMinTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dav</td></tr> +</table> + <p>Ŭ̾Ʈ DAV ڿ (lock) ûҶ + ˾Ƽ ִ ð ˷ ִ. + ûϻ̸, Ŭ̾Ʈ û ϰ + Ŭ̾Ʈ ð ˷ ִ.</p> + + <p><code class="directive">DavMinTimeout</code> þ Ŭ̾Ʈ + ּ ð (ʴ) Ѵ. Microsoft Web Folders + ⺻ 120 ʸ Ѵ. <code class="directive">DavMinTimeout</code> + (600 ʿ ) ϸ Ŭ̾Ʈ Ʈ + ҰԵǴ 츦 ִ.</p> + + <div class="example"><h3></h3><p><code> + <Location /MSWord><br /> + <span class="indent"> + DavMinTimeout 600<br /> + </span> + </Location> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html b/docs/manual/mod/mod_dav_fs.html new file mode 100644 index 0000000..dcba25f --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dav_fs.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_fs.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_fs.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_fs.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_dav_fs.html.en b/docs/manual/mod/mod_dav_fs.html.en new file mode 100644 index 0000000..bc81e8e --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.en @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav_fs - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_dav_fs</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dav_fs.html" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filesystem provider for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>dav_fs_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_dav_fs.c</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. It acts as a support module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> and provides access to resources located in the + server's file system. The formal name of this provider is + <code>filesystem</code>. <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> backend providers + will be invoked by using the <code class="directive"><a href="../mod/mod_dav.html#dav">Dav</a></code> + directive:</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">Dav filesystem</pre> +</div> + + <p>Since <code>filesystem</code> is the default provider for + <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, you may simply use the value + <code>On</code> instead.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdb">DavLockDB</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdiscovery">DavLockDiscovery</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_fs">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_fs">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavLockDB" id="DavLockDB">DavLockDB</a> <a name="davlockdb" id="davlockdb">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location of the DAV lock database</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DavLockDB <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav_fs</td></tr> +</table> + <p>Use the <code class="directive">DavLockDB</code> directive to specify + the full path to the lock database, excluding an extension. If + the path is not absolute, it will be taken relative to <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. The implementation of + <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> uses a SDBM database to track user + locks.</p> + + + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DavLockDB "var/DavLock"</pre> +</div> + + <p>The directory containing the lock database file must be + writable by the <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> + and <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> under which + Apache is running. For security reasons, you should create a + directory for this purpose rather than changing the permissions on + an existing directory. In the above example, Apache will create + files in the <code>var/</code> directory under the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> with the base filename + <code>DavLock</code> and extension name chosen by the server.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavLockDiscovery" id="DavLockDiscovery">DavLockDiscovery</a> <a name="davlockdiscovery" id="davlockdiscovery">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable lock discovery</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DavLockDiscovery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DavLockDiscovery on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav_fs</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available from Apache 2.4.55 and later.</td></tr> +</table> + <p><code class="directive">DavLockDiscovery</code> controls if the lock + discovery feature is enabled for <code>PROPFIND</code> method. + When disabled, <code>PROPFIND</code> always returns an empty + <code>lockdiscovery</code> section. This improves performance + if clients use <code>PROPFIND</code> a lot.</p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DavLockDiscovery off</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dav_fs.html" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_fs.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html.fr.utf8 b/docs/manual/mod/mod_dav_fs.html.fr.utf8 new file mode 100644 index 0000000..a15cf60 --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.fr.utf8 @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav_fs - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_dav_fs</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémente le fournisseur filesystem pour +<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_fs_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav_fs.c</td></tr></table> +<h3>Sommaire</h3> + + <p>L'activation de ce module <em>nécessite</em> l'utilisation de + <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. C'est un module de support pour <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> et à ce titre, il permet l'accès à des ressources + situées dans le système de fichiers du serveur. Le nom formel de ce + fournisseur est <code>filesystem</code>. Les fournisseurs supports + de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont invoqués via la directive + <code class="directive"><a href="../mod/mod_dav.html#dav">Dav</a></code> :</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Dav filesystem</pre> +</div> + + <p>Comme <code>filesystem</code> est le fournisseur par défaut de + <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, vous pouvez vous contenter d'utiliser la + valeur <code>On</code> comme argument de Dav.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdb">DavLockDB</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdiscovery">DavLockDiscovery</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_fs">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_fs">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="davlockdb" id="davlockdb">Directive</a> <a name="DavLockDB" id="DavLockDB">DavLockDB</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de la base de données des verrous DAV</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavLockDB <var>chemin fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav_fs</td></tr> +</table> + <p>La directive <code class="directive">DavLockDB</code> permet de spécifier + le chemin complet de la base de données des verrous, sans extension. + Si le chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. L'implémentation de + <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise une base de données SDBM pour + surveiller les verrous utilisateurs.</p> + + + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DavLockDB "var/DavLock"</pre> +</div> + + <p>Les utilisateur et groupe sous lesquels Apache s'exécute et qui + sont respectivement définis par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> doivent pouvoir écrire dans le + répertoire qui contient le fichier de la base de données des + verrous. Pour des raisons de sécurité, il est recommandé de créer un + répertoire dédié à la base de données des verrous, plutôt que de + modifier les permissions d'un répertoire existant. Dans l'exemple + ci-dessus, Apache va créer des fichiers dans le répertoire + <code>var/</code>, lui-même sous-répertoire du répertoire défini par + la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, avec le nom de base + <code>DavLock</code> suivi d'une extension choisie par le + serveur.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="davlockdiscovery" id="davlockdiscovery">Directive</a> <a name="DavLockDiscovery" id="DavLockDiscovery">DavLockDiscovery</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la découverte des verrous</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavLockDiscovery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavLockDiscovery on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav_fs</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.55 du serveur HTTP Apache.</td></tr> +</table> + <p><code class="directive">DavLockDiscovery</code> contrôle la + découverte des verrous par la méthode <code>PROPFIND</code>. + Lorsqu'elle est désactivée, <code>PROPFIND</code> renvoie + toujours une section <code>lockdiscovery</code> vide. Ce + réglage améliore les performances dans le cas où des + clients utilisent beaucoup <code>PROPFIND</code>.</p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DavLockDiscovery off</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_fs.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html.ja.utf8 b/docs/manual/mod/mod_dav_fs.html.ja.utf8 new file mode 100644 index 0000000..6f1a271 --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.ja.utf8 @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav_fs - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_dav_fs</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> のためのファイルシステムプロバイダ</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>dav_fs_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_dav_fs.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールは <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> + のサービスを<em>必要とします</em>。<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> + のサポートモジュールとして動作し、サーバファイルシステム上に + 位置するリソースへのアクセスを提供します。このプロバイダの正式な名前は + <code>filesystem</code> です。<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> + バックエンドプロバイダは <code class="directive"><a href="../mod/mod_dav.html#dav">Dav</a></code> + ディレクティブを使用して起動されます。</p> + + <div class="example"><h3>例</h3><p><code> + Dav filesystem + </code></p></div> + + <p><code>filesystem</code> は <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> + のデフォルトプロバイダになっていますから、代わりに単に + <code>On</code> と指定することもできます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdb">DavLockDB</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdiscovery">DavLockDiscovery</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_fs">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_fs">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavLockDB" id="DavLockDB">DavLockDB</a> <a name="davlockdb" id="davlockdb">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>DAV ロックデータベースの位置</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DavLockDB <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav_fs</td></tr> +</table> + <p>ロックデータベースへのフルパスを、拡張子を除いた形で + 指定するには、<code class="directive">DavLockDB</code> + を使います。パスが絶対パスでなければ、<code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> からの相対パスと解釈されます。 + <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> 実装では、ユーザロックを + 追跡するために SDBM データベースを使います。</p> + + + + <div class="example"><h3>例</h3><p><code> + DavLockDB logs/DavLock + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavLockDiscovery" id="DavLockDiscovery">DavLockDiscovery</a> <a name="davlockdiscovery" id="davlockdiscovery">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable lock discovery</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DavLockDiscovery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DavLockDiscovery on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav_fs</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available from Apache 2.4.55 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_fs.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav_fs.html.ko.euc-kr b/docs/manual/mod/mod_dav_fs.html.ko.euc-kr new file mode 100644 index 0000000..0f0391e --- /dev/null +++ b/docs/manual/mod/mod_dav_fs.html.ko.euc-kr @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav_fs - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_dav_fs</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> Ͻý </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>dav_fs_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_dav_fs.c</td></tr></table> +<h3></h3> + + <p> <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> <em>ʿϴ</em>. + <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> ϴ Ͻýۿ + ִ ڿ ֵ Ѵ. (provider) + ĸĪ <code>filesystem</code>̴. <code class="directive"><a href="../mod/mod_dav.html#dav">Dav</a></code> þ Ͽ + <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> ڸ Ѵ:</p> + + <div class="example"><h3></h3><p><code> + Dav filesystem + </code></p></div> + + <p><code>filesystem</code> <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> + ⺻ ̹Ƿ <code>On</code> ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdb">DavLockDB</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#davlockdiscovery">DavLockDiscovery</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_fs">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_fs">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavLockDB" id="DavLockDB">DavLockDB</a> <a name="davlockdb" id="davlockdb">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>DAV ͺ̽ ġ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DavLockDB <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dav_fs</td></tr> +</table> + <p><code class="directive">DavLockDB</code> þ ͺ̽ + ü θ Ȯڸ ϰ Ѵ. ΰ ƴϸ + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> η + óѴ. <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> SDBM ͺ̽ + Ѵ.</p> + + + + <div class="example"><h3></h3><p><code> + DavLockDB var/DavLock + </code></p></div> + + <p>ġ ϴ <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> + <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> + ͺ̽ ִ 丮 Ѵ. + Ȼ 丮 ٲٱ⺸ٴ + ͺ̽ 丮 Ѵ. ġ + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> Ʒ + <code>var/</code> 丮 Ȯ + <code>DavLock</code> .</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavLockDiscovery" id="DavLockDiscovery">DavLockDiscovery</a> <a name="davlockdiscovery" id="davlockdiscovery">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Enable lock discovery</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DavLockDiscovery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DavLockDiscovery on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dav_fs</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Available from Apache 2.4.55 and later.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_fs.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dav_fs.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_fs.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html b/docs/manual/mod/mod_dav_lock.html new file mode 100644 index 0000000..1b13592 --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dav_lock.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_lock.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dav_lock.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dav_lock.html.en b/docs/manual/mod/mod_dav_lock.html.en new file mode 100644 index 0000000..efc521b --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html.en @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav_lock - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_dav_lock</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dav_lock.html" title="English"> en </a> | +<a href="../fr/mod/mod_dav_lock.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_lock.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Generic locking module for <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>dav_lock_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_dav_lock.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module implements a generic locking API which can be used by any + backend provider of <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. It <em>requires</em> at least + the service of <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. But without a backend provider + which makes use of it, it's useless and should not be loaded into the + server. A sample backend module which actually utilizes + <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> is <a href="http://subversion.apache.org/">mod_dav_svn</a>, the subversion provider module.</p> + + <p>Note that <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> does <em>not</em> need this + generic locking module, because it uses its own more specialized + version.</p> + + <p>In order to make <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> functional, you just have + to specify the location of the lock database using the <code class="directive"><a href="#davgenericlockdb">DavGenericLockDB</a></code> directive described + below.</p> + + <div class="note"><h3>Developer's Note</h3> + <p>In order to retrieve the pointer to the locking provider function, you + have to use the <code>ap_lookup_provider</code> API with the arguments + <code>dav-lock</code>, <code>generic</code>, and <code>0</code>.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#davgenericlockdb">DavGenericLockDB</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_lock">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_lock">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavGenericLockDB" id="DavGenericLockDB">DavGenericLockDB</a> <a name="davgenericlockdb" id="davgenericlockdb">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location of the DAV lock database</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DavGenericLockDB <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav_lock</td></tr> +</table> + <p>Use the <code class="directive">DavGenericLockDB</code> directive to specify + the full path to the lock database, excluding an extension. If + the path is not absolute, it will be interpreted relative to <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. The implementation of + <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> uses a SDBM database to track user + locks.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DavGenericLockDB var/DavLock</pre> +</div> + + <p>The directory containing the lock database file must be + writable by the <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> + and <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> under which + Apache is running. For security reasons, you should create a + directory for this purpose rather than changing the permissions on + an existing directory. In the above example, Apache will create + files in the <code>var/</code> directory under the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> with the base filename + <code>DavLock</code> and an extension added by the server.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dav_lock.html" title="English"> en </a> | +<a href="../fr/mod/mod_dav_lock.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_lock.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_lock.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html.fr.utf8 b/docs/manual/mod/mod_dav_lock.html.fr.utf8 new file mode 100644 index 0000000..106ce8f --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html.fr.utf8 @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav_lock - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_dav_lock</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_lock.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_lock.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_lock.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de verrouillage générique pour +<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_lock_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav_lock.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>ce module implémente une API de verrouillage générique que tout + fournisseur support de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> peut utiliser. Son + activation nécessite l'utilisation de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. Mais + sans fournisseur support pour l'utiliser, il n'est d'aucun service + et ne doit pas être chargé dans le serveur. <a href="http://subversion.apache.org/">mod_dav_svn</a>, le module qui + implémente le fournisseur subversion, est un exemple + de module de support qui utilise effectivement + <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code>.</p> + + <p>Notez que <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> n'a <em>pas</em> besoin de + ce module de verrouillage générique, car il utilise sa propre + version plus spécifique.</p> + + <p>Pour que <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> puisse fonctionner, il + vous suffit de spécifier le chemin de la base de données des verrous + à l'aide de la directive <code class="directive"><a href="#davgenericlockdb">DavGenericLockDB</a></code> décrite + ci-dessous.</p> + + <div class="note"><h3>Note du développeur</h3> + <p>Pour déterminer le pointeur de la fonction du fournisseur de + verrouillage, vous devez utiliser l'API + <code>ap_lookup_provider</code> avec les arguments + <code>dav-lock</code>, <code>generic</code> et <code>0</code>.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#davgenericlockdb">DavGenericLockDB</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_lock">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_lock">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="davgenericlockdb" id="davgenericlockdb">Directive</a> <a name="DavGenericLockDB" id="DavGenericLockDB">DavGenericLockDB</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de la base de données des verrous DAV</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavGenericLockDB <var>chemin fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav_lock</td></tr> +</table> + <p>La directive <code class="directive">DavLockDB</code> permet de spécifier + le chemin complet de la base de données des verrous, sans extension. + Si le chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. L'implémentation de + <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> utilise une base de données SDBM pour + surveiller les verrous utilisateurs.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DavGenericLockDB var/DavLock</pre> +</div> + + <p>Les utilisateur et groupe sous lesquels Apache s'exécute et qui + sont respectivement définis par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> doivent pouvoir écrire dans le + répertoire qui contient le fichier de la base de données des + verrous. Pour des raisons de sécurité, il est recommandé de créer un + répertoire dédié à la base de données des verrous, plutôt que de + modifier les permissions d'un répertoire existant. Dans l'exemple + ci-dessus, Apache va créer des fichiers dans le répertoire + <code>var/</code>, lui-même sous-répertoire du répertoire défini par + la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, avec le nom de base + <code>DavLock</code> suivi d'une extension choisie par le + serveur.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_lock.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_lock.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_lock.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_lock.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dav_lock.html.ja.utf8 b/docs/manual/mod/mod_dav_lock.html.ja.utf8 new file mode 100644 index 0000000..cd210f4 --- /dev/null +++ b/docs/manual/mod/mod_dav_lock.html.ja.utf8 @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dav_lock - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_dav_lock</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav_lock.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_lock.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_lock.html" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> 用の汎用ロックモジュール</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>dav_lock_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_dav_lock.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.1 以降</td></tr></table> +<h3>概要</h3> + + <p>このモジュールは <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> のどのバックエンド + からでも使える汎用ロック API を提供します。 + 使用には最低限 <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> + を必要としますが、これを利用するバックエンドが存在しないと役に立たないので、 + そのような場合はサーバに読み込むべきではありません。 + <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> + を実際に利用するバックエンドモジュールの例としては subversion + プロバイダモジュールの <a href="http://subversion.apache.org/">mod_dav_svn</a> があります。</p> + + <p><code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> は特化された専用のバージョンを + 使うため、この汎用モジュールは<em>必要ない</em>ことに注意して + ください。</p> + + <p><code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> を機能させるには、 + 以下で説明されている <code class="directive"><a href="#davgenericlockdb">DavGenericLockDB</a></code> を使って + ロックデータベースの場所を指定するだけです。</p> + + <div class="note"><h3>開発者向けのメモ</h3> + <p>ロックを提供している関数へのポインタを取得するためには、 + <code>ap_lookup_provider</code> API を、引数 <code>dav-lock</code>, + <code>generic</code>, <code>0</code> を指定して使う必要が + あります。</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#davgenericlockdb">DavGenericLockDB</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_lock">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_lock">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DavGenericLockDB" id="DavGenericLockDB">DavGenericLockDB</a> <a name="davgenericlockdb" id="davgenericlockdb">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>DAV ロックデータベースの場所</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DavGenericLockDB <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav_lock</td></tr> +</table> + <p><code class="directive">DavGenericLockDB</code> ディレクティブを + 使って、拡張子を除いたロックデータベースへのフルパスを + 指定します。絶対パスでないときは <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> からの相対パスとして + 扱われます。<code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> の実装ではユーザの + ロックを追跡するのに SDBM データベースを使います。</p> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config">DavGenericLockDB var/DavLock</pre> +</div> + + <p>ロックデータベースファイルのあるディレクトリは + Apache が実行されている <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> + と <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> によって + 書き込み可能でなければなりません。セキュリティ上の理由から、 + 既存のディレクトリのパーミッションを変更するのではなく、 + 専用のディレクトリを作るのが良いでしょう。上の例では、 + Apache は <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> の下の <code>var/</code> + ディレクトリに、ファイル名の本体が <code>DavLock</code> で + サーバが追加する拡張子を持つファイルを作成します。</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav_lock.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dav_lock.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dav_lock.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_lock.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dbd.html b/docs/manual/mod/mod_dbd.html new file mode 100644 index 0000000..62b714c --- /dev/null +++ b/docs/manual/mod/mod_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dbd.html.en b/docs/manual/mod/mod_dbd.html.en new file mode 100644 index 0000000..b2aea5b --- /dev/null +++ b/docs/manual/mod/mod_dbd.html.en @@ -0,0 +1,394 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dbd - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_dbd</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Manages SQL database connections</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> manages SQL database connections using + <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>. It provides database connections on request + to modules requiring SQL database functions, and takes care of + managing databases with optimal efficiency and scalability + for both threaded and non-threaded MPMs. For details, see the + <a href="http://apr.apache.org/">APR</a> website and this overview of the + <a href="http://people.apache.org/~niq/dbd.html">Apache DBD Framework</a> + by its original developer. +</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#pooling">Connection Pooling</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#connecting">Connecting</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#API">Apache DBD API</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#prepared">SQL Prepared Statements</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">SECURITY WARNING</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdexptime">DBDExptime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdinitsql">DBDInitSQL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdkeep">DBDKeep</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdmax">DBDMax</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdmin">DBDMin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdparams">DBDParams</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdpersist">DBDPersist</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdpreparesql">DBDPrepareSQL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdriver">DBDriver</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dbd">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dbd">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../misc/password_encryptions.html">Password Formats</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="pooling" id="pooling">Connection Pooling</a></h2> + <p>This module manages database connections, in a manner + optimised for the platform. On non-threaded platforms, + it provides a persistent connection in the manner of + classic LAMP (Linux, Apache, Mysql, Perl/PHP/Python). + On threaded platform, it provides an altogether more + scalable and efficient <em>connection pool</em>, as + described in <a href="http://www.apachetutor.org/dev/reslist">this + article at ApacheTutor</a>. Note that <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> + supersedes the modules presented in that article.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="connecting" id="connecting">Connecting</a></h2> + + <p>To connect to your database, you'll need to specify + a driver, and connection parameters. These vary from + one database engine to another. For example, to connect + to mysql, do the following:</p> + +<pre class="prettyprint lang-config">DBDriver mysql +DBDParams host=localhost,dbname=pony,user=shetland,pass=appaloosa</pre> + + + <p>You can then use this connection in a variety of other + modules, including <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, + <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>, and <code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code>. + Further usage examples appear in each of those modules' + documentation.</p> + + <p>See <code class="directive">DBDParams</code> for connection string + information for each of the supported database drivers.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="API" id="API">Apache DBD API</a></h2> + <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> exports five functions for other modules + to use. The API is as follows:</p> + +<pre class="prettyprint lang-c">typedef struct { + apr_dbd_t *handle; + apr_dbd_driver_t *driver; + apr_hash_t *prepared; +} ap_dbd_t; + +/* Export functions to access the database */ + +/* acquire a connection that MUST be explicitly closed. + * Returns NULL on error + */ +AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*); + +/* release a connection acquired with ap_dbd_open */ +AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*); + +/* acquire a connection that will have the lifetime of a request + * and MUST NOT be explicitly closed. Return NULL on error. + * This is the preferred function for most applications. + */ +AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*); + +/* acquire a connection that will have the lifetime of a connection + * and MUST NOT be explicitly closed. Return NULL on error. + */ +AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*); + +/* Prepare a statement for use by a client module */ +AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*); + +/* Also export them as optional functions for modules that prefer it */ +APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*)); +APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*)); +APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*)); +APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_cacquire, (conn_rec*)); +APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const char*));</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="prepared" id="prepared">SQL Prepared Statements</a></h2> + <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> supports SQL prepared statements on behalf + of modules that may wish to use them. Each prepared statement + must be assigned a name (label), and they are stored in a hash: + the <code>prepared</code> field of an <code>ap_dbd_t</code>. + Hash entries are of type <code>apr_dbd_prepared_t</code> + and can be used in any of the apr_dbd prepared statement + SQL query or select commands.</p> + + <p>It is up to dbd user modules to use the prepared statements + and document what statements can be specified in httpd.conf, + or to provide their own directives and use <code>ap_dbd_prepare</code>.</p> + + <div class="warning"><h3>Caveat</h3> + When using prepared statements with a MySQL database, it is preferred to set + <code>reconnect</code> to 0 in the connection string as to avoid errors that + arise from the MySQL client reconnecting without properly resetting the + prepared statements. If set to 1, any broken connections will be attempted + fixed, but as mod_dbd is not informed, the prepared statements will be invalidated. + </div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">SECURITY WARNING</a></h2> + + <p>Any web/database application needs to secure itself against SQL + injection attacks. In most cases, Apache DBD is safe, because + applications use prepared statements, and untrusted inputs are + only ever used as data. Of course, if you use it via third-party + modules, you should ascertain what precautions they may require.</p> + <p>However, the <var>FreeTDS</var> driver is inherently + <strong>unsafe</strong>. The underlying library doesn't support + prepared statements, so the driver emulates them, and the + untrusted input is merged into the SQL statement.</p> + <p>It can be made safe by <em>untainting</em> all inputs: + a process inspired by Perl's taint checking. Each input + is matched against a regexp, and only the match is used, + according to the Perl idiom:</p> + <div class="example"><pre><code> $untrusted =~ /([a-z]+)/; + $trusted = $1;</code></pre></div> + <p>To use this, the untainting regexps must be included in the + prepared statements configured. The regexp follows immediately + after the % in the prepared statement, and is enclosed in + curly brackets {}. For example, if your application expects + alphanumeric input, you can use:</p> + <div class="example"><p><code> + <code>"SELECT foo FROM bar WHERE input = %s"</code> + </code></p></div> + <p>with other drivers, and suffer nothing worse than a failed query. + But with FreeTDS you'd need:</p> + <div class="example"><p><code> + <code>"SELECT foo FROM bar WHERE input = %{([A-Za-z0-9]+)}s"</code> + </code></p></div> + <p>Now anything that doesn't match the regexp's $1 match is + discarded, so the statement is safe.</p> + <p>An alternative to this may be the third-party ODBC driver, + which offers the security of genuine prepared statements.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDExptime" id="DBDExptime">DBDExptime</a> <a name="dbdexptime" id="dbdexptime">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Keepalive time for idle connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDExptime <var>time-in-seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DBDExptime 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Set the time to keep idle connections alive when the number + of connections specified in DBDKeep has been exceeded (threaded + platforms only).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDInitSQL" id="DBDInitSQL">DBDInitSQL</a> <a name="dbdinitsql" id="dbdinitsql">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Execute an SQL statement after connecting to a database</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDInitSQL <var>"SQL statement"</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Modules, that wish it, can have one or more SQL statements + executed when a connection to a database is created. Example + usage could be initializing certain values or adding a log + entry when a new connection is made to the database.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDKeep" id="DBDKeep">DBDKeep</a> <a name="dbdkeep" id="dbdkeep">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum sustained number of connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDKeep <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DBDKeep 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Set the maximum number of connections per process to be + sustained, other than for handling peak demand (threaded + platforms only).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDMax" id="DBDMax">DBDMax</a> <a name="dbdmax" id="dbdmax">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDMax <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DBDMax 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Set the hard maximum number of connections per process + (threaded platforms only).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDMin" id="DBDMin">DBDMin</a> <a name="dbdmin" id="dbdmin">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Minimum number of connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDMin <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DBDMin 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Set the minimum number of connections per process (threaded + platforms only).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDParams" id="DBDParams">DBDParams</a> <a name="dbdparams" id="dbdparams">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Parameters for database connection</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>As required by the underlying driver. Typically this will be + used to pass whatever cannot be defaulted amongst username, + password, database name, hostname and port number for connection.</p> + <p>Connection string parameters for current drivers include:</p> + <dl> + <dt>FreeTDS (for MSSQL and SyBase)</dt> + <dd>username, password, appname, dbname, host, charset, lang, server</dd> + <dt>MySQL</dt> + <dd>host, port, user, pass, dbname, sock, flags, fldsz, group, reconnect</dd> + <dt>Oracle</dt> + <dd>user, pass, dbname, server</dd> + <dt>PostgreSQL</dt> + <dd>The connection string is passed straight through to <code>PQconnectdb</code></dd> + <dt>SQLite2</dt> + <dd>The connection string is split on a colon, and <code>part1:part2</code> is used as <code>sqlite_open(part1, atoi(part2), NULL)</code></dd> + <dt>SQLite3</dt> + <dd>The connection string is passed straight through to <code>sqlite3_open</code></dd> + <dt>ODBC</dt> + <dd>datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDPersist" id="DBDPersist">DBDPersist</a> <a name="dbdpersist" id="dbdpersist">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Whether to use persistent connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDPersist On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>If set to Off, persistent and pooled connections are disabled. + A new database connection is opened when requested by a client, + and closed immediately on release. This option is for debugging + and low-usage servers.</p> + + <p>The default is to enable a pool of persistent connections + (or a single LAMP-style persistent connection in the case of a + non-threaded server), and should almost always be used in operation.</p> + + <p>Prior to version 2.2.2, this directive accepted only the values + <code>0</code> and <code>1</code> instead of <code>Off</code> and + <code>On</code>, respectively.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDPrepareSQL" id="DBDPrepareSQL">DBDPrepareSQL</a> <a name="dbdpreparesql" id="dbdpreparesql">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define an SQL prepared statement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>For modules such as authentication that repeatedly use a + single SQL statement, optimum performance is achieved by preparing + the statement at startup rather than every time it is used. + This directive prepares an SQL statement and assigns it a label.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DBDriver" id="DBDriver">DBDriver</a> <a name="dbdriver" id="dbdriver">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify an SQL driver</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DBDriver <var>name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Selects an apr_dbd driver by name. The driver must be installed + on your system (on most systems, it will be a shared object or dll). + For example, <code>DBDriver mysql</code> will select the MySQL + driver in apr_dbd_mysql.so.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dbd.html.fr.utf8 b/docs/manual/mod/mod_dbd.html.fr.utf8 new file mode 100644 index 0000000..56448e9 --- /dev/null +++ b/docs/manual/mod/mod_dbd.html.fr.utf8 @@ -0,0 +1,421 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dbd - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_dbd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dbd.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des connexions à une base de données SQL</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.1 and supérieures</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> gère les connexions + à une base de données SQL via <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. Il permet + aux modules qui requièrent des fonctions liées aux bases de données + SQL de se connecter à une base de données à la demande, et s'efforce + de conférer aux bases de données une efficacité et une + évolutivité optimales pour les MPMs threadés ou non threadés. Pour + plus de détails, voir le site web <a href="http://apr.apache.org/">APR</a>, + ainsi que cette vue d'ensemble de l'<a href="http://people.apache.org/~niq/dbd.html">environnement de + développement d'Apache DBD</a> par son développeur initial. +</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#pooling">Regroupement des connexions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#connecting">Connexion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#API">API DBD d'Apache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#prepared">Requêtes SQL préparées</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">AVERTISSEMENT DE SECURITE</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdexptime">DBDExptime</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdinitsql">DBDInitSQL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdkeep">DBDKeep</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdmax">DBDMax</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdmin">DBDMin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdparams">DBDParams</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdpersist">DBDPersist</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdpreparesql">DBDPrepareSQL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdriver">DBDriver</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../misc/password_encryptions.html">Formats des mots de +passe</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="pooling" id="pooling">Regroupement des connexions</a></h2> + <p>Ce module gère de manière optimisée en fonction de la plate-forme + les connexions aux bases de données. Sur les plates-formes non + threadées, il maintient une connexion persistente à la manière d'un + LAMP classique (Linux, Apache, Mysql, Perl/PHP/Python). Sur les + plates-formes threadées, il maintient un <em>groupe de + connexions</em> à la fois plus évolutif et plus efficace, comme + décrit dans <a href="http://www.apachetutor.org/dev/reslist">cet + article d'ApacheTutor</a>. Notez que <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> + remplace les modules présentés dans cet article.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="connecting" id="connecting">Connexion</a></h2> + + <p>Pour vous connecter à votre base de données, vous devez spécifier un + pilote et des paramètres de connexion qui diffèrent selon le moteur de base + de données. Par exemple, pour vous connecter à mysql, spécifiez ce qui suit + :</p> + +<pre class="prettyprint lang-config">DBDriver mysql +DBDParams host=localhost,dbname=pony,user=shetland,pass=appaloosa</pre> + + + <p>Vous pourrez alors utiliser cette connexion dans de nombreux autres + modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> + et <code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code>. Vous trouverez des exemples d'utilisation dans + la documentation de ces modules.</p> + + <p>Voir la syntaxe de la directive <code class="directive">DBDParams</code> pour les + informations à fournir dans la chaîne de connexion en fonction des + différents pilotes de base de données supportés.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="API" id="API">API DBD d'Apache</a></h2> + <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> exporte cinq fonctions que d'autres + modules pourront utiliser. L'API se présente comme suit :</p> + + <pre class="prettyprint lang-c">typedef struct { + apr_dbd_t *handle; + apr_dbd_driver_t *driver; + apr_hash_t *prepared; +} ap_dbd_t; + +/* Fonctions exportées pour accéder à la base de données */ + +/* ouvre une connexion qui DOIT avoir été explicitement fermée. + * Renvoie NULL en cas d'erreur + */ +AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*); + +/* ferme une connexion ouverte avec ap_dbd_open */ +AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*); + +/* acquiert une connexion qui aura la durée de vie de la requête et qui + * NE DOIT PAS avoir été explicitement fermée. Renvoie NULL en cas + * d'erreur. C'est la fonction recommandée pour la plupart des + * applications. + */ +AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*); + +/* acquiert une connexion qui aura la durée de vie d'une connexion et + * qui NE DOIT PAS avoir été explicitement fermée. Renvoie NULL en cas + * d'erreur. + */ +AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*); + +/* Prépare une requête qu'un module client pourra utiliser */ +AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*); + +/* Exporte aussi ces fonctions à titre optionnel mour les modules qui + * péfèreraient les utiliser */ +APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*)); +APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*)); +APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*)); +APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_cacquire, (conn_rec*)); +APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const char*));</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="prepared" id="prepared">Requêtes SQL préparées</a></h2> + <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> supporte les requêtes SQL préparées à + destination des modules qui pourraient les utiliser. Chaque requête + préparée doit posséder un nom (étiquette), et est stockée dans un + condensé (hash) : les condensés sont du type + <code>apr_dbd_prepared_t</code> et s'utilisent dans toute requête + SQL ou commande select préparée par apr_dbd.</p> + + <p>Il est du ressort des modules utilisateurs de dbd d'utiliser les + requêtes préparées et de préciser quelles requêtes doivent être + spécifiées dans httpd.conf, ou de fournir leurs propres directives + et d'utiliser <code>ap_dbd_prepare</code>.</p> + + <div class="warning"><h3>Avertissement</h3> + Lorsqu'on utilise des requêtes préparées avec des bases de + données MySQL, il est préférable de définir + <code>reconnect</code> à 0 dans la chaîne de connexion, afin + d'éviter des erreurs provoquées par un client MySQL qui se + reconnecterait sans réinitialiser correctement les requêtes + préparées. Si <code>reconnect</code> est défini à 1, toute + connexion défectueuse sera sensée être réparée, mais comme + mod_dbd n'en est pas informé, les requêtes préparées seront + invalidées. + </div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">AVERTISSEMENT DE SECURITE</a></h2> + + <p>Toute application web impliquant une base de données doit se + protéger elle-même contre les attaques de type injection SQL. Dans + la plupart des cas Apache DBD est sûr, car les applications + utilisent des requêtes préparées, et les entrées non sures ne seront + utilisées qu'à titre de données. Bien entendu, si vous l'utilisez + via un module tiers, vous devez être au fait des précautions à + prendre.</p> + <p>Cependant, le pilote <var>FreeTDS</var> est <strong>non + sûr</strong> de par sa nature-même. Comme la bibliothèque + sous-jacente ne supporte pas les requêtes préparées, le pilote en + effectue une émulation, et les entrées non sûres sont fusionnées + avec la requête SQL.</p> + <p>Il peut être sécurisé en <em>décontaminant</em> toutes les + entrées : un processus inspiré de la recherche de contaminations + (<strong>taint mode</strong>) de + Perl. Chaque entrée est comparée à une expression rationnelle, et + seules les entrées qui correspondent sont utilisées, en accord avec + le langage Perl :</p> + <div class="example"><pre><code> $untrusted =~ /([a-z]+)/; + $trusted = $1;</code></pre></div> + <p>Pour utiliser ceci, les expressions rationnelles de + décontamination doivent être incluses dans les requêtes préparées. + L'expression rationnelle doit se situer immédiatement après le + caractère % dans la requête préparée, et doit être entourée + d'accolades {}. Par exemple, si votre application attend une entrée + alphanumérique, vous pouvez utiliser :</p> + <div class="example"><p><code> + <code>"SELECT foo FROM bar WHERE input = %s"</code> + </code></p></div> + <p>avec d'autres pilotes, et ne risquer au pire qu'une requête + échouée. Mais avec FreeTDS, vous devez utiliser :</p> + <div class="example"><p><code> + <code>"SELECT foo FROM bar WHERE input = %{([A-Za-z0-9]+)}s"</code> + </code></p></div> + <p>tout ce qui ne correspond pas à l'expression rationnelle est + alors rejeté, et la requête est maintenant sûre.</p> + <p>Alternativement, vous pouvez utiliser le pilote ODBC tiers, qui + offre la sécurité des requêtes préparées authentiques.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdexptime" id="dbdexptime">Directive</a> <a name="DBDExptime" id="DBDExptime">DBDExptime</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des connexions inactives</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDExptime <var>durée en secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDExptime 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Cette directive permet de définir la durée de vie des connexions + inactives lorsque le nombre de connexions spécifié par la directive + DBDKeep a été dépassé (plates-formes threadées uniquement).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdinitsql" id="dbdinitsql">Directive</a> <a name="DBDInitSQL" id="DBDInitSQL">DBDInitSQL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exécute une instruction SQL après connexion à une base de +données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDInitSQL <var>"instruction SQL"</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Les modules qui le souhaitent peuvent exécuter une ou plusieurs + instructions SQL après connexion à une base de données. Par exemple + initialiser certaines valeurs, ou ajouter une entrée dans le journal + lors d'une nouvelle connexion à la base de données.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdkeep" id="dbdkeep">Directive</a> <a name="DBDKeep" id="DBDKeep">DBDKeep</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions maintenues</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDKeep <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDKeep 2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Cette directive permet de définir le nombre maximum de connexions + à maintenir par processus, en dehors de celles servant à gérer les + pics de demandes (plates-formes threadées uniquement).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdmax" id="dbdmax">Directive</a> <a name="DBDMax" id="DBDMax">DBDMax</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDMax <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDMax 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Cette directive permet de définir le nombre maximum effectif de + connexions par processus (plates-formes threadées uniquement).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdmin" id="dbdmin">Directive</a> <a name="DBDMin" id="DBDMin">DBDMin</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de connexions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDMin <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDMin 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Cette directive permet de définir le nombre minimum de connexions + par processus (plates-formes threadées uniquement).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdparams" id="dbdparams">Directive</a> <a name="DBDParams" id="DBDParams">DBDParams</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètres de la connexion à la base de +données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDParams +<var>param1</var>=<var>valeur1</var>[,<var>param2</var>=<var>valeur2</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Cette directive permet de spécifier des paramètres selon les + besoins du pilote concerné. En général, les paramètres à passer + concernent tout ce qui n'a pas de valeur par défaut comme le nom + d'utilisateur, le mot de passe, le nom de la base de données, le nom + d'hôte et le numéro de port de la connexion.</p> + <p>Les paramètres de la chaîne de connexion en fonction des + différents pilotes comprennent :</p> + <dl> + <dt>FreeTDS (pour MSSQL et SyBase)</dt> + <dd>username, password, appname, dbname, host, charset, lang, server</dd> + <dt>MySQL</dt> + <dd>host, port, user, pass, dbname, sock, flags, fldsz, group, reconnect</dd> + <dt>Oracle</dt> + <dd>user, pass, dbname, server</dd> + <dt>PostgreSQL</dt> + <dd>La chaîne de connexion est passée directement à <code>PQconnectdb</code></dd> + <dt>SQLite2</dt> + <dd>La chaîne de connexion est scindée avec comme séparateur le + caractère ':', et <code>partie1:partie2</code> est utilisé dans + <code>sqlite_open(partie1, atoi(partie2), NULL)</code></dd> + <dt>SQLite3</dt> + <dd>La chaîne de connexion est passée directement à <code>sqlite3_open</code></dd> + <dt>ODBC</dt> + <dd>datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdpersist" id="dbdpersist">Directive</a> <a name="DBDPersist" id="DBDPersist">DBDPersist</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utiliser ou non des connexions persistentes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDPersist On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Si cette directive est définie à Off, les connexions persistentes + et les connexions groupées sont désactivées. À la demande d'un + client, une nouvelle connexion à la base de données est ouverte, et + fermée immédiatement à l'issue du traitement. Cette configuration ne + doit être utilisée qu'à des fins de débogage, ou sur des serveurs à + charge faible.</p> + + <p>Par défaut, les groupes de connexions persistentes sont activés + (ou une seule connexion persistente du style LAMP pour les serveurs + non threadés), et c'est la configuration qui devrait être utilisée + dans la plupart des cas sur un serveur en production.</p> + + <p>Avant la version 2.2.2, cette directive n'acceptait que les + valeurs <code>0</code> et <code>1</code> au lieu de <code>Off</code> + et <code>On</code>, respectivement.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdpreparesql" id="dbdpreparesql">Directive</a> <a name="DBDPrepareSQL" id="DBDPrepareSQL">DBDPrepareSQL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une requête SQL préparée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDPrepareSQL <var>"requête SQL"</var> <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Pour les modules tels que les modules d'authentification, qui + utilisent de manière répétée la même requête SQL, on peut optimiser + les performances en préparant la requête une fois pour toutes au + démarrage, plutôt qu'à chaque utilisation. Cette directive permet de + préparer une requête SQL et de lui assigner une étiquette.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dbdriver" id="dbdriver">Directive</a> <a name="DBDriver" id="DBDriver">DBDriver</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un pilote SQL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDriver <var>nom</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> +</table> + <p>Cette directive permet de spécifier un pilote apr_dbd par son + nom. Le pilote doit être installé sur votre système (sur la plupart + des systèmes, il s'agit d'un objet partagé ou d'une dll). Par + exemple, <code>DBDriver mysql</code> va sélectionner le pilote MySQL + dans la bibliothèque apr_dbd_mysql.so.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dbd.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html b/docs/manual/mod/mod_deflate.html new file mode 100644 index 0000000..8c5cc39 --- /dev/null +++ b/docs/manual/mod/mod_deflate.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_deflate.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_deflate.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_deflate.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_deflate.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_deflate.html.en b/docs/manual/mod/mod_deflate.html.en new file mode 100644 index 0000000..57b988d --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.en @@ -0,0 +1,442 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_deflate - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_deflate</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Compress content before it is delivered to the +client</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>deflate_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_deflate.c</td></tr></table> +<h3>Summary</h3> + + <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module provides + the <code>DEFLATE</code> output filter that allows output from + your server to be compressed before being sent to the client over + the network.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#supportedencodings">Supported Encodings</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#recommended">Sample Configurations</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Compression</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Dealing with proxy servers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Serving pre-compressed +content</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_deflate">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_deflate">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filters</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="supportedencodings" id="supportedencodings">Supported Encodings</a></h2> + <p>The <code>gzip</code> encoding is the only one supported to ensure complete compatibility + with old browser implementations. The <code>deflate</code> encoding is not supported, + please check the <a href="https://zlib.net/zlib_faq.html#faq39">zlib's documentation</a> + for a complete explanation. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="recommended" id="recommended">Sample Configurations</a></h2> + <div class="warning"><h3>Compression and TLS</h3> + <p>Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries deflate compressed data. For more + information, review the details of the "BREACH" family of attacks.</p> + </div> + <p>This is a simple configuration that compresses common text-based content types.</p> + + <div class="example"><h3>Compress only a few types</h3><pre class="prettyprint lang-config">AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript</pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Enabling Compression</a></h2> + <div class="warning"><h3>Compression and TLS</h3> + <p>Some web applications are vulnerable to an information disclosure + attack when a TLS connection carries deflate compressed data. For more + information, review the details of the "BREACH" family of attacks.</p> + </div> + + <h3><a name="output" id="output">Output Compression</a></h3> + <p>Compression is implemented by the <code>DEFLATE</code> + <a href="../filter.html">filter</a>. The following directive + will enable compression for documents in the container where it + is placed:</p> + + <pre class="prettyprint lang-config">SetOutputFilter DEFLATE +SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip</pre> + + + <p>If you want to restrict the compression to particular MIME types + in general, you may use the <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> directive. Here is an example of + enabling compression only for the html files of the Apache + documentation:</p> + + <pre class="prettyprint lang-config"><Directory "/your-server-root/manual"> + AddOutputFilterByType DEFLATE text/html +</Directory></pre> + + + <div class="note"><h3>Note</h3> + The <code>DEFLATE</code> filter is always inserted after RESOURCE + filters like PHP or SSI. It never touches internal subrequests. + </div> + <div class="note"><h3>Note</h3> + There is an environment variable <code>force-gzip</code>, + set via <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, which + will ignore the accept-encoding setting of your browser and will + send compressed output. + </div> + + + <h3><a name="inflate" id="inflate">Output Decompression</a></h3> + <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module also provides a filter for + inflating/uncompressing a gzip compressed response body. In order to activate + this feature you have to insert the <code>INFLATE</code> filter into + the output filter chain using <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> or <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, for example:</p> + + <pre class="prettyprint lang-config"><Location "/dav-area"> + ProxyPass "http://example.com/" + SetOutputFilter INFLATE +</Location></pre> + + + <p>This Example will uncompress gzip'ed output from example.com, so other + filters can do further processing with it. + </p> + + + <h3><a name="input" id="input">Input Decompression</a></h3> + <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module also provides a filter for + decompressing a gzip compressed request body . In order to activate + this feature you have to insert the <code>DEFLATE</code> filter into + the input filter chain using <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> or <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>, for example:</p> + + <pre class="prettyprint lang-config"><Location "/dav-area"> + SetInputFilter DEFLATE +</Location></pre> + + + <p>Now if a request contains a <code>Content-Encoding: + gzip</code> header, the body will be automatically decompressed. + Few browsers have the ability to gzip request bodies. However, + some special applications actually do support request + compression, for instance some <a href="http://www.webdav.org">WebDAV</a> clients.</p> + + <div class="warning"><h3>Note on Content-Length</h3> + <p>If you evaluate the request body yourself, <em>don't trust + the <code>Content-Length</code> header!</em> + The Content-Length header reflects the length of the + incoming data from the client and <em>not</em> the byte count of + the decompressed data stream.</p> + </div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="proxies" id="proxies">Dealing with proxy servers</a></h2> + + <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module sends a <code>Vary: + Accept-Encoding</code> HTTP response header to alert proxies that + a cached response should be sent only to clients that send the + appropriate <code>Accept-Encoding</code> request header. This + prevents compressed content from being sent to a client that will + not understand it.</p> + + <p>If you use some special exclusions dependent + on, for example, the <code>User-Agent</code> header, you must + manually configure an addition to the <code>Vary</code> header + to alert proxies of the additional restrictions. For example, + in a typical configuration where the addition of the <code>DEFLATE</code> + filter depends on the <code>User-Agent</code>, you should add:</p> + + <pre class="prettyprint lang-config">Header append Vary User-Agent</pre> + + + <p>If your decision about compression depends on other information + than request headers (<em>e.g.</em> HTTP version), you have to set the + <code>Vary</code> header to the value <code>*</code>. This prevents + compliant proxies from caching entirely.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">Header set Vary *</pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="precompressed" id="precompressed">Serving pre-compressed +content</a></h2> + + <p>Since <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> re-compresses content each + time a request is made, some performance benefit can be derived by + pre-compressing the content and telling <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> to serve them + without re-compressing them. This may be accomplished using a + configuration like the following:</p> + + <pre class="prettyprint lang-config"><IfModule mod_headers.c> + # Serve gzip compressed CSS and JS files if they exist + # and the client accepts gzip. + RewriteCond "%{HTTP:Accept-encoding}" "gzip" + RewriteCond "%{REQUEST_FILENAME}\.gz" -s + RewriteRule "^(.*)\.(css|js)" "$1\.$2\.gz" [QSA] + + # Serve correct content types, and prevent mod_deflate double gzip. + RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1] + RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1] + + + <FilesMatch "(\.js\.gz|\.css\.gz)$"> + # Serve correct encoding type. + Header append Content-Encoding gzip + + # Force proxies to cache gzipped & + # non-gzipped css/js files separately. + Header append Vary Accept-Encoding + </FilesMatch> +</IfModule></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fragment size to be compressed at one time by zlib</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateBufferSize <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateBufferSize 8096</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>The <code class="directive">DeflateBufferSize</code> directive specifies + the size in bytes of the fragments that zlib should compress at one + time. If the compressed response size is bigger than the one specified + by this directive then httpd will switch to chunked encoding + (HTTP header <code>Transfer-Encoding</code> set to <code>Chunked</code>), with the + side effect of not setting any <code>Content-Length</code> HTTP header. This is particularly + important when httpd works behind reverse caching proxies or when httpd is configured with + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> and <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> because + HTTP responses without any <code>Content-Length</code> header might not be cached. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a> <a name="deflatecompressionlevel" id="deflatecompressionlevel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How much compression do we apply to the output</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateCompressionLevel <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Zlib's default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>The <code class="directive">DeflateCompressionLevel</code> directive specifies + what level of compression should be used, the higher the value, + the better the compression, but the more CPU time is required to + achieve this.</p> + <p>The value must between 1 (less compression) and 9 (more compression).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote" id="deflatefilternote">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Places the compression ratio in a note for logging</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>notename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>The <code class="directive">DeflateFilterNote</code> directive + specifies that a note about compression ratios should be attached + to the request. The name of the note is the value specified for + the directive. You can use that note for statistical purposes by + adding the value to your <a href="../logs.html#accesslog">access log</a>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DeflateFilterNote ratio + +LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate +CustomLog "logs/deflate_log" deflate</pre> +</div> + + <p>If you want to extract more accurate values from your logs, you + can use the <var>type</var> argument to specify the type of data + left as a note for logging. <var>type</var> can be one of:</p> + + <dl> + <dt><code>Input</code></dt> + <dd>Store the byte count of the filter's input stream in the note.</dd> + + <dt><code>Output</code></dt> + <dd>Store the byte count of the filter's output stream in the note.</dd> + + <dt><code>Ratio</code></dt> + <dd>Store the compression ratio (<code>output/input * 100</code>) + in the note. This is the default, if the <var>type</var> argument + is omitted.</dd> + </dl> + + <p>Thus you may log it this way:</p> + + <div class="example"><h3>Accurate Logging</h3><pre class="prettyprint lang-config">DeflateFilterNote Input instream +DeflateFilterNote Output outstream +DeflateFilterNote Ratio ratio + +LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate +CustomLog "logs/deflate_log" deflate</pre> +</div> + +<h3>See also</h3> +<ul> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateLimitRequestBody" id="DeflateInflateLimitRequestBody">DeflateInflateLimitRequestBody</a> <a name="deflateinflatelimitrequestbody" id="deflateinflatelimitrequestbody">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum size of inflated request bodies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateLimitRequestBody <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>None, but LimitRequestBody applies after deflation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr> +</table> + <p>The <code class="directive">DeflateInflateLimitRequestBody</code> directive + specifies the maximum size of an inflated request body. If it is unset, + <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> is applied to the + inflated body.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateInflateRatioBurst 3</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr> +</table> + <p>The <code class="directive">DeflateInflateRatioBurst</code> directive + specifies the maximum number of times the + <code class="directive"><a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></code> can + be crossed before terminating the request.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateRatioLimit" id="DeflateInflateRatioLimit">DeflateInflateRatioLimit</a> <a name="deflateinflateratiolimit" id="deflateinflateratiolimit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum inflation ratio for request bodies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateRatioLimit <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateInflateRatioLimit 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr> +</table> + <p>The <code class="directive">DeflateInflateRatioLimit</code> directive + specifies the maximum ratio of deflated to inflated size of an + inflated request body. This ratio is checked as the body is + streamed in, and if crossed more than + <code class="directive"><a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></code> + times, the request will be terminated.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel" id="deflatememlevel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How much memory should be used by zlib for compression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateMemLevel <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateMemLevel 9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>The <code class="directive">DeflateMemLevel</code> directive specifies + how much memory should be used by zlib for compression + (a value between 1 and 9).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize" id="deflatewindowsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Zlib compression window size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateWindowSize <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateWindowSize 15</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>The <code class="directive">DeflateWindowSize</code> directive specifies the + zlib compression window size (a value between 1 and 15). Generally, the + higher the window size, the higher can the compression ratio be expected.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_deflate.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html.fr.utf8 b/docs/manual/mod/mod_deflate.html.fr.utf8 new file mode 100644 index 0000000..a291b28 --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.fr.utf8 @@ -0,0 +1,473 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_deflate - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_deflate</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Comprime le contenu avant de le servir au +client</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>deflate_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_deflate.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> implémente le filtre de + sortie <code>DEFLATE</code> qui permet de comprimer la sortie de + votre serveur avant de l'envoyer au client sur le réseau.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#supportedencodings">Codages supportés</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#recommended">Exemples de configurations</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la compression</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Prise en compte des serveurs mandataires</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Servir du contenu précompressé</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_deflate">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_deflate">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../filter.html">Les filtres</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="supportedencodings" id="supportedencodings">Codages supportés</a></h2> + <p>Le seul codage supporté est <code>gzip</code> afin d'assurer une complète + compatibilité avec les anciens navigateurs. Le codage <code>deflate</code> + n'est donc pas supporté ; voir à ce sujet la <a href="https://zlib.net/zlib_faq.html#faq39">documentation de zlib</a> pour une + explication détaillée. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="recommended" id="recommended">Exemples de configurations</a></h2> + <div class="warning"><h3>Compression et TLS</h3> + <p>Certaines applications web sont vulnérables aux attaques + visant le vol d'information lorsqu'une connexion TLS transmet + des données compressées par deflate. Pour plus de détails, + étudiez les attaques de la famille "BREACH".</p> + </div> + <p>Voici une configuration simple qui comprime les contenus à base + de texte courants.</p> + + <div class="example"><h3>Ne comprime que certains types de documents</h3><pre class="prettyprint lang-config">AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript</pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Activation de la compression</a></h2> + + <div class="warning"><h3>Compression et TLS</h3> + <p>Certaines applications web sont vulnérables aux attaques pour + vol d'information lorsque la connexion TLS transmet des données + compressées par deflate. Pour plus d'informations, voir en + détails la famille d'attaques de type "BREACH".</p> + </div> + + <h3><a name="output" id="output">Compression de la sortie</a></h3> + <p>La compression est implémentée par le <a href="../filter.html">filtre</a> <code>DEFLATE</code>. La + directive suivante active la compression des documents dans le + conteneur où elle est placée :</p> + + <pre class="prettyprint lang-config">SetOutputFilter DEFLATE +SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip</pre> + + + <p>Si vous voulez limiter la compression à certains types MIME + particuliers, vous pouvez utiliser la directive <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. Voici un exemple + où la compression n'est activée que pour les fichiers html de la + documentation d'Apache :</p> + + <pre class="prettyprint lang-config"><Directory "/your-server-root/manual"> + AddOutputFilterByType DEFLATE text/html +</Directory></pre> + + + <div class="note"><h3>Note</h3> + Le filtre <code>DEFLATE</code> est toujours inséré après les + filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les + sous-requêtes internes. + </div> + <div class="note"><h3>Note</h3> + La variable d'environnement <code>force-gzip</code>, définie à + l'aide de la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, permet d'ignorer la + configuration de votre navigateur quant aux codages acceptés, et + d'envoyer sans condition une sortie comprimée. + </div> + + + <h3><a name="inflate" id="inflate">Décompression de la sortie</a></h3> + <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> fournit aussi un filtre + permettant de décomprimer un corps de réponse comprimé par gzip. + Pour activer cette fonctionnalité, vous devez insérer le filtre + <code>INFLATE</code> dans la chaîne de filtrage en sortie via la + directive <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> ou + <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, comme + dans l'exemple suivant :</p> + + <pre class="prettyprint lang-config"><Location "/dav-area"> + ProxyPass "http://example.com/" + SetOutputFilter INFLATE +</Location></pre> + + + <p>Dans cet exemple, les sorties comprimées par gzip en + provenance de example.com seront décomprimées afin de pouvoir + être éventuellement traitées par d'autres filtres. + </p> + + + <h3><a name="input" id="input">Décompression de l'entrée</a></h3> + <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> fournit également un filtre + permettant de décomprimer un corps de requête comprimé par gzip. + Pour activer cette fonctionnalité, vous devez insérer le filtre + <code>DEFLATE</code> dans la chaîne de filtrage en entrée via la + directive <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> ou + <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>, comme + dans l'exemple suivant :</p> + + <pre class="prettyprint lang-config"><Location "/dav-area"> + SetInputFilter DEFLATE +</Location></pre> + + + <p>Désormais, si une requête contient un en-tête + <code>Content-Encoding: gzip</code>, son corps sera + automatiquement décomprimé. Peu de navigateurs sont actuellement + en mesure de comprimer les corps de requêtes. Cependant, + certaines applications spécialisées supportent les requêtes + comprimées, comme par exemple certains clients <a href="http://www.webdav.org">WebDAV</a>.</p> + + <div class="warning"><h3>Note à propos de l'en-tête + <code>Content-Length</code></h3> + <p>Si vous évaluez vous-même la taille du corps de requête, + <em>ne faites pas confiance à l'en-tête + <code>Content-Length</code>!</em> L'en-tête + Content-Length indique la longueur des données en provenance du + client, et <em>non</em> la quantité d'octets que représente le + flux de données décompressé.</p> + </div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="proxies" id="proxies">Prise en compte des serveurs mandataires</a></h2> + + <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> envoie un en-tête de + réponse HTTP <code>Vary: Accept-Encoding</code> pour avertir les + mandataires qu'une réponse enregistrée dans le cache ne doit être + envoyée qu'aux clients qui ont envoyé l'en-tête de requête + <code>Accept-Encoding</code> approprié. Ceci permet d'éviter l'envoi + d'un contenu comprimé à un client qui ne sera pas en mesure + de l'interpréter.</p> + + <p>Si vous avez défini des exclusions spécifiques dépendant, par + exemple, de l'en-tête <code>User-Agent</code>, vous devez + ajouter manuellement des données à l'en-tête <code>Vary</code> afin + d'informer les mandataires des restrictions supplémentaires. Par + exemple, dans la configuration classique où l'addition du filtre + <code>DEFLATE</code> dépend du contenu de l'en-tête + <code>User-Agent</code>, vous devez spécifier :</p> + + <pre class="prettyprint lang-config">Header append Vary User-Agent</pre> + + + <p>Si votre décision de comprimer le contenu dépend d'autres + informations que celles contenues dans les en-têtes de la requête + (par exemple la version HTTP), vous devez attribuer à l'en-tête + <code>Vary</code> la valeur <code>*</code>, ce qui permet d'empêcher + les mandataires compatibles de tout mettre en cache.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Header set Vary *</pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="precompressed" id="precompressed">Servir du contenu précompressé</a></h2> + + <p>Comme <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> recompresse le contenu demandé à + chaque requête, il est possible de gagner en performances en précompressant + ce contenu, et en forçant <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> à servir ce contenu + précompressé sans avoir à le recompresser à chaque requête. Pour ce faire, + utilisez une configuration du style :</p> + + <pre class="prettyprint lang-config"><IfModule mod_headers.c> + # Servir des fichiers CSS et JS compressés avec gzip, s'ils existent, et + # si le client accepte gzip. + RewriteCond "%{HTTP:Accept-encoding}" "gzip" + RewriteCond "%{REQUEST_FILENAME}\.gz" -s + RewriteRule "^(.*)\.(css|js)" "$1\.$2\.gz" [QSA] + + # Servir des types de contenus corrects, et empêcher mod_deflate + # d'effectuer un double gzip. + RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1] + RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1] + + + <FilesMatch "(\.js\.gz|\.css\.gz)$"> + # Servir le type de codage correct. + Header append Content-Encoding gzip + + # Force les mandataires à mettre en cache séparément les fichiers + # css/js gzippés & non gzippés. + Header append Vary Accept-Encoding + </FilesMatch> +</IfModule></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflatebuffersize" id="deflatebuffersize">Directive</a> <a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du fragment que zlib devra comprimer en une seule +fois</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateBufferSize <var>valeur</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateBufferSize 8096</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>La directive <code class="directive">DeflateBufferSize</code> permet de + spécifier la taille en octets du fragment que zlib devra comprimer + en une seule fois. Si la taille de la réponse compressée est supérieure à + celle spécifiée par cette directive, httpd passera à un mode d'encodage + fragmenté (l'en-tête HTTP <code>Transfer-Encoding</code> prend la valeur + <code>Chunked</code>), ceci ayant comme effet de bord de ne définir aucun + en-tête HTTP <code>Content-Length</code>. Il est important de connaître ce + comportement, particulièrement lorsque httpd travaille derrière des + mandataires inverses avec mise en cache, ou lorsque httpd est configuré pour + utiliser <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> car + les réponses HTTP sans en-tête <code>Content-Length</code> peuvent ne pas + être mises en cache.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflatecompressionlevel" id="deflatecompressionlevel">Directive</a> <a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le niveau de compression que nous appliquons à la +sortie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateCompressionLevel <var>valeur</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>La valeur par défaut de zlib</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>La directive <code class="directive">DeflateCompressionLevel</code> + permet de spécifier le niveau de compression à utiliser ; plus + grande est la valeur, meilleure sera la compression, mais plus grand + sera aussi le temps CPU nécessaire pour effectuer le + traitement.</p> + <p>La valeur doit être comprise entre 1 (compression minimale) et 9 + (compression maximale).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflatefilternote" id="deflatefilternote">Directive</a> <a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre le taux de compression sous la forme d'une note +à des fins de journalisation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>nom de la note</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>La directive <code class="directive">DeflateFilterNote</code> permet de + spécifier qu'une note à propos du taux de compression doit être + attachée à la requête. Le nom de la note est passé sous la forme + d'un argument de la directive. Vous pouvez utiliser cette note à des + fins statistiques en enregistrant sa valeur dans votre <a href="../logs.html#accesslog">journal des accès</a>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> DeflateFilterNote ratio + + LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate + CustomLog "logs/deflate_log" deflate</pre> +</div> + + <p>Pour extraire des informations plus précises de vos journaux, + vous pouvez utiliser l'argument <var>type</var> pour spécifier le + type de données de la note enregistrée dans le journal. + <var>type</var> peut prendre une des valeurs suivantes :</p> + + <dl> + <dt><code>Input</code></dt> + <dd>Enregistre dans la note la taille en octets du flux en entrée + du filtre.</dd> + + <dt><code>Output</code></dt> + <dd>Enregistre dans la note la taille en octets du flux en sortie + du filtre.</dd> + + <dt><code>Ratio</code></dt> + <dd>Enregistre le taux de compression (<code>sortie/entrée * + 100</code>) dans la note. Il s'agit de la valeur par défaut si + l'argument <var>type</var> est omis.</dd> + </dl> + + <p>Vous pouvez donc configurer votre journalisation de la manière + suivante :</p> + + <div class="example"><h3>Journalisation détaillée</h3><pre class="prettyprint lang-config">DeflateFilterNote Input instream +DeflateFilterNote Output outstream +DeflateFilterNote Ratio ratio + +LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate +CustomLog "logs/deflate_log" deflate</pre> +</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflateinflatelimitrequestbody" id="deflateinflatelimitrequestbody">Directive</a> <a name="DeflateInflateLimitRequestBody" id="DeflateInflateLimitRequestBody">DeflateInflateLimitRequestBody</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des corps de requête décompressés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateInflateLimitRequestBody <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucune limite, mais LimitRequestBody s'applique après la +compression</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive + <code class="directive">DeflateInflateLimitRequestBody</code> permet de + spécifier la taille maximale d'un corps de requête décompressé. Si + elle n'est pas définie, c'est la valeur de la directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> qui s'applique au corps + de requête décompressé.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflateinflateratioburst" id="deflateinflateratioburst">Directive</a> <a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de fois que le ratio de décompression d'un +corps de requête peut être dépassé</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateInflateRatioBurst 3</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">DeflateInflateRatioBurst</code> permet de + spécifier le nombre maximal de fois que la valeur de la directive <code class="directive"><a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></code> peut être dépassé + avant l'arrêt du traitement de la requête.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflateinflateratiolimit" id="deflateinflateratiolimit">Directive</a> <a name="DeflateInflateRatioLimit" id="DeflateInflateRatioLimit">DeflateInflateRatioLimit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ratio de décompression maximum pour les corps de requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateInflateRatioLimit <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateInflateRatioLimit 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP +Apache</td></tr> +</table> + <p>La directive <code class="directive">DeflateInflateRatioLimit</code> permet de + définir le ratio maximum entre la taille d'un corps de requête compressé et + sa taille décompressée. Ce ratio est vérifié au fur et à mesure de l'arrivée + du corps de requête, et s'il est dépassé plus de <code class="directive"><a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></code> fois, le + traitement de la requête est interrompu.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflatememlevel" id="deflatememlevel">Directive</a> <a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire utilisable par zlib pour la +compression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateMemLevel <var>valeur</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateMemLevel 9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>La directive <code class="directive">DeflateMemLevel</code> permet de + spécifier la quantité de mémoire utilisable par zlib pour la + compression (une valeur comprise entre 1 et 9).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="deflatewindowsize" id="deflatewindowsize">Directive</a> <a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille de la fenêtre de compression zlib</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateWindowSize <var>valeur</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateWindowSize 15</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr> +</table> + <p>La directive <code class="directive">DeflateWindowSize</code> permet de + spécifier la fenêtre de compression zlib (une valeur comprise entre + 1 et 15). En général, plus grande sera la taille de la fenêtre, plus + grand sera le taux de compression auquel on pourra s'attendre.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_deflate.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html.ja.utf8 b/docs/manual/mod/mod_deflate.html.ja.utf8 new file mode 100644 index 0000000..7a5e4c1 --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.ja.utf8 @@ -0,0 +1,453 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_deflate - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_deflate</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>クライアントへ送られる前にコンテンツを圧縮する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>deflate_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_deflate.c</td></tr></table> +<h3>概要</h3> + + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは <code>DEFLATE</code> + 出力フィルタを提供します。これはサーバからの出力を、ネットワークを + 通してクライアントに送る前に圧縮することを可能にします。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#recommended">サンプル設定</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">圧縮を有効にする</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Proxy サーバでの扱い</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_deflate">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_deflate">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filters</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="recommended" id="recommended">サンプル設定</a></h2> + <p>下にせっかちな人向けの簡単な設定例を示します。</p> + + <div class="example"><h3>数タイプのみ圧縮する</h3><p><code> + AddOutputFilterByType DEFLATE text/html text/plain text/xml + </code></p></div> + + <p>以下の設定はコンテンツをより圧縮しますが、ずっと複雑な設定になります。 + 設定の隅々までよく理解しないで使わないでください。</p> + + <div class="example"><h3>画像以外全て圧縮する</h3><p><code> + <Location /><br /> + <span class="indent"> + # Insert filter<br /> + SetOutputFilter DEFLATE<br /> + <br /> + # Netscape 4.x has some problems...<br /> + BrowserMatch ^Mozilla/4 gzip-only-text/html<br /> + <br /> + # Netscape 4.06-4.08 have some more problems<br /> + BrowserMatch ^Mozilla/4\.0[678] no-gzip<br /> + <br /> + # MSIE masquerades as Netscape, but it is fine<br /> + # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html<br /> + <br /> + # Don't compress images<br /> + SetEnvIfNoCase Request_URI \<br /> + <span class="indent"> + \.(?:gif|jpe?g|png)$ no-gzip dont-vary<br /> + </span> + <br /> + # Make sure proxies don't deliver the wrong content<br /> + Header append Vary User-Agent env=!dont-vary<br /> + </span> + </Location> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">圧縮を有効にする</a></h2> + + <h3><a name="output" id="output">Output Compression</a></h3> + <p>圧縮機能は <code>DEFLATE</code> <a href="../filter.html">フィルタ</a> + により実装されています。以下のディレクティブはそのディレクティブのある + コンテナ中のドキュメントを圧縮するようにします:</p> + + <div class="example"><p><code> + SetOutputFilter DEFLATE + </code></p></div> + + <p>よく使われているブラウザでは、すべてのコンテンツに対する + 圧縮を扱えるわけではありません。ですから、<code>gzip-only-text/html</code> + ノートを <code>1</code> にして、html ファイルに対してのみ + 圧縮が働くようにした方がよいかもしれません (以下参照) + この値を <em><code>1</code> 以外の値</em>に設定した場合は無視されます。</p> + + <p>通常、特定のMIMEタイプについてのみ圧縮したいのであれば、 + <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code> + ディレクティブを使用します。次に Apache のドキュメントの html + ファイルのみの圧縮を有効にする例を示します。</p> + + <div class="example"><p><code> + <Directory "/your-server-root/manual"><br /> + <span class="indent"> + AddOutputFilterByType DEFLATE text/html<br /> + </span> + </Directory> + </code></p></div> + + <p>全てのファイルタイプでの圧縮に問題を抱えているブラウザに対しては、 + <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> + ディレクティブを使用して、特定のブラウザに <code>no-gzip</code> + ノートをセットし、圧縮が行なわれないようにします。 + <code>no-gzip</code> と <code>gzip-only-text/html</code> + を組み合わせることで上手く対処できます。 + この場合、前者が後者をオーバーライドします。 + 上記の<a href="#recommended">設定例</a>の抜粋を + 次に示しますのでご覧下さい。</p> + + <div class="example"><p><code> + BrowserMatch ^Mozilla/4 gzip-only-text/html<br /> + BrowserMatch ^Mozilla/4\.0[678] no-gzip<br /> + BrowserMatch \bMSIE !no-gzip !gzip-only-text/html + </code></p></div> + + <p>まず始めに <code>User-Agent</code> 文字列から Netscape Navigator + 4.x であるかどうかを調べます。これらのバージョンでは、 + <code>text/html</code> 以外のタイプの圧縮を扱うことができません。 + 4.06, 4.07, 4.08 は html ファイルの伸張にも問題を抱えています。 + ですからこれらに対しては、完全に deflate フィルタをオフにします。</p> + + <p>3 番目の <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> + ディレクティブで、推測したユーザーエージェントを修正します。 + なぜなら Microsoft Internet Explorer も "Mozilla/4" と特定されますが、 + これらは実際には圧縮を扱うことができるからです。 + <code>User-Agent</code> ヘッダを "MSIE" + (<code>\b</code> は「単語の境界」を意味します) の追加文字で検査して、 + これ以前に設定した制限を再び解除します。</p> + + <div class="note"><h3>注</h3> + <code>DEFLATE</code> フィルタは必ず、PHP や SSI といった RESOURCE + フィルタの後になります。 + DEFLATE フィルタは内部的なサブリクエストを関知しません。 + </div> + <div class="note"><h3>注</h3> + <code class="directive"><a href="../mod/core.html#setenv">SetEnv</a></code> で設定される + <code>force-gzip</code> 環境変数がありますが、これは + ブラウザの accept-encoding 設定を無視し、圧縮した出力をします。 + </div> + + + <h3><a name="inflate" id="inflate">出力の伸長</a></h3> + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは、gzip 圧縮されたレスポンス + 本文を inflate/uncompress するフィルタも提供しています。 + この機能を有効にするには、<code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> + や <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> を使って、 + <code>INFLATE</code> フィルタを出力フィルタチェインに挿入します。 + 例えば次のようにします。</p> + + <div class="example"><p><code> + <Location /dav-area><br /> + <span class="indent"> + ProxyPass http://example.com/<br /> + SetOutputFilter INFLATE<br /> + </span> + </Location> + </code></p></div> + + <p>この例では、example.com からの gzip 圧縮された出力を伸長し、 + その他のフィルタがさらにその出力を処理できるようにします。 + </p> + + + <h3><a name="input" id="input">入力の伸張</a></h3> + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは、gzip + で圧縮されたリクエスト本体を伸張するフィルタも提供しています。 + この機能を有効にするには、<code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> + か <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> を使用して、 + <code>DEFLATE</code> フィルタを入力フィルタチェインに組み込みます。 + 例えば次のようになります。</p> + + <div class="example"><p><code> + <Location /dav-area><br /> + <span class="indent"> + SetInputFilter DEFLATE<br /> + </span> + </Location> + </code></p></div> + + <p>この設定であれば、<code>Content-Encoding: gzip</code> + ヘッダを含むリクエストが来ると、本体は自動的に伸張されます。 + gzip リクエスト本体を送信するブラウザはあまりありません。 + しかし、例えば <a href="http://www.webdav.org">WebDAV</a> + クライアントの幾つかなど、特別なアプリケーションでリクエストの + 圧縮を実際にサポートしているものもあります。</p> + + <div class="warning"><h3>Content-Length に関する注意</h3> + <p>リクエスト本体それ自体を評価する場合は、<em><code>Content-Length</code> + ヘッダを信用しないでください</em>。Content-Length ヘッダは、 + クライアントから送信されるデータの長さを反映しているのであって、 + 伸張されたデータストリームの<em>バイトカウントではありません</em>。</p> + </div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="proxies" id="proxies">Proxy サーバでの扱い</a></h2> + + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは <code>Vary: Accept-Encoding</code> + HTTP 応答ヘッダを送信して、適切な <code>Accept-Encoding</code> + リクエストヘッダを送信するクライアントに対してのみ、 + プロクシサーバがキャッシュした応答を送信するように注意を喚起します。 + このようにして、圧縮を扱うことのできないクライアントに + 圧縮された内容が送られることのないようにします。</p> + + <p>もし特別に何かに依存して除外したい場合、例えば <code>User-Agent</code> + ヘッダなどに依存している場合、手動で <code>Vary</code> ヘッダを設定して、 + 追加の制限についてプロクシサーバに注意を行なう必要があります。 + 例えば <code>User-Agent</code> に依存して <code>DEFLATE</code> + を追加する典型的な設定では、次のように追加することになります。</p> + + <div class="example"><p><code> + Header append Vary User-Agent + </code></p></div> + + <p>リクエストヘッダ以外の情報 (<em>例えば</em> HTTP バージョン) + に依存して圧縮するかどうか決める場合、 + <code>Vary</code> ヘッダを <code>*</code> に設定する必要があります。 + このようにすると、仕様に準拠したプロクシはキャッシュを全く行なわなくなります。</p> + + <div class="example"><h3>例</h3><p><code> + Header set Vary * + </code></p></div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>zlib が一度に圧縮する塊の大きさ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateBufferSize <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateBufferSize 8096</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +</table> + <p><code class="directive">DeflateBufferSize</code> ディレクティブは + zlib が一度に圧縮する塊の大きさをバイト単位で指定します。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a> <a name="deflatecompressionlevel" id="deflatecompressionlevel">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>出力に対して行なう圧縮の程度</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateCompressionLevel <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Zlib のデフォルト</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>This directive is available since Apache 2.0.45</td></tr> +</table> + <p><code class="directive">DeflateCompressionLevel</code> ディレクティブは + 圧縮の程度を設定します。大きな値では、より圧縮が行なわれますが、 + CPU 資源を消費します。</p> + <p>値は 1 (低圧縮) から 9 (高圧縮) です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote" id="deflatefilternote">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ロギング用に圧縮比をメモに追加</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>notename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td><var>type</var> is available since Apache 2.0.45</td></tr> +</table> + <p><code class="directive">DeflateFilterNote</code> ディレクティブは + 圧縮比に関するメモがリクエストに付加されることを指定します。 + メモ (note) の名前はディレクティブに指定された値です。 + メモは<a href="../logs.html#accesslog">アクセスログ</a>に + 値を記録し、統計を取る目的にも使えます。</p> + + <div class="example"><h3>例</h3><p><code> + DeflateFilterNote ratio<br /> + <br /> + LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate<br /> + CustomLog logs/deflate_log deflate + </code></p></div> + + <p>ログからもっと精密な値を抽出したい場合は、<var>type</var> + 引数を使用して、データタイプをログのメモとして残すように指定できます。 + <var>type</var> は次のうちの一つです。</p> + + <dl> + <dt><code>Input</code></dt> + <dd>フィルタの入力ストリームのバイトカウントをメモに保存する。</dd> + + <dt><code>Output</code></dt> + <dd>フィルタの出力ストリームのバイトカウントをメモに保存する。</dd> + + <dt><code>Ratio</code></dt> + <dd>圧縮率 (<code>出力 / 入力 * 100</code>) をメモに保存する。 + <var>type</var> 引数を省略した場合は、これがデフォルトとなります。</dd> + </dl> + + <p>まとめると、次のようにログを取ることになるでしょう。</p> + + <div class="example"><h3>精密なログ採取</h3><p><code> + DeflateFilterNote Input instream<br /> + DeflateFilterNote Output outstream<br /> + DeflateFilterNote Ratio ratio<br /> + <br /> + LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate<br /> + CustomLog logs/deflate_log deflate + </code></p></div> + +<h3>参照</h3> +<ul> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateLimitRequestBody" id="DeflateInflateLimitRequestBody">DeflateInflateLimitRequestBody</a> <a name="deflateinflatelimitrequestbody" id="deflateinflatelimitrequestbody">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum size of inflated request bodies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateInflateLimitRequestBody <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>None, but LimitRequestBody applies after deflation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.4.10 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateInflateRatioBurst 3</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.4.10 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateRatioLimit" id="DeflateInflateRatioLimit">DeflateInflateRatioLimit</a> <a name="deflateinflateratiolimit" id="deflateinflateratiolimit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum inflation ratio for request bodies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateInflateRatioLimit <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateInflateRatioLimit 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.4.10 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel" id="deflatememlevel">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>zlib が圧縮に使うメモリのレベルを指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateMemLevel <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateMemLevel 9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +</table> + <p><code class="directive">DeflateMemLevel</code> ディレクティブは + zlib が圧縮に使うメモリのレベルを設定します (1 から 9 の間の値)。 + (訳注: 2 を底とする対数の値になります。 + 8 程度が良いでしょう。)</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize" id="deflatewindowsize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Zlib の圧縮用ウィンドウの大きさ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateWindowSize <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateWindowSize 15</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr> +</table> + <p><code class="directive">DeflateWindowSize</code> ディレクティブは + zlib の圧縮用ウィンドウ (訳注: zlib で使用される履歴バッファ) + の大きさを指定します (1 から 15 の間の値)。 + 一般的に大きなウィンドウサイズを使用すると圧縮率が向上します。 + (訳注: 2 を底とする対数の値になります。 + 8 から 15 にするのが良いでしょう。)</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_deflate.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html.ko.euc-kr b/docs/manual/mod/mod_deflate.html.ko.euc-kr new file mode 100644 index 0000000..5e6733c --- /dev/null +++ b/docs/manual/mod/mod_deflate.html.ko.euc-kr @@ -0,0 +1,439 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_deflate - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_deflate</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> Ŭ̾Ʈ Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>deflate_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_deflate.c</td></tr></table> +<h3></h3> + + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> Ʈ + Ŭ̾Ʈ ϴ <code>DEFLATE</code> + Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#recommended">ߺ </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Ͻ ٷ</a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_deflate">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_deflate">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../filter.html"></a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="recommended" id="recommended">ߺ </a></h2> + <p> ߺ ̴.</p> + + <div class="example"><h3>Ϻ type </h3><p><code> + AddOutputFilterByType DEFLATE text/html text/plain text/xml + </code></p></div> + + <p>Ʒ Ͽ ϴ. + ϶.</p> + + <div class="example"><h3>̹ </h3><p><code> + <Location /><br /> + <span class="indent"> + # ߰Ѵ<br /> + SetOutputFilter DEFLATE<br /> + <br /> + # Netscape 4.x ִ...<br /> + BrowserMatch ^Mozilla/4 gzip-only-text/html<br /> + <br /> + # Netscape 4.06-4.08 ִ<br /> + BrowserMatch ^Mozilla/4\.0[678] no-gzip<br /> + <br /> + # MSIE Netscape ڽ ˸, <br /> + # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html<br /> + <br /> + # : ġ 2.0.48 mod_setenvif <br /> + # ǥ ʴ´. ϴ ȿ<br /> + # Ͽ Ѵ:<br /> + BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html<br /> + <br /> + # ̹ ʴ´<br /> + SetEnvIfNoCase Request_URI \<br /> + <span class="indent"> + \.(?:gif|jpe?g|png)$ no-gzip dont-vary<br /> + </span> + <br /> + # Ͻð ߸ ʵ Ѵ<br /> + Header append Vary User-Agent env=!dont-vary<br /> + </span> + </Location> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">ϱ</a></h2> + + <h3><a name="output" id="output"> </a></h3> + <p><code>DEFLATE</code> <a href="../filter.html"></a> + Ѵ. þ þ ִ ġ + Ѵ:</p> + + <div class="example"><p><code> + SetOutputFilter DEFLATE + </code></p></div> + + <p> ϸ ó ϴ ֱ + html ϸ ϱ (Ʒ ) + <code>gzip-only-text/html</code> <code>1</code> + . ̸ <em><code>1</code> ƴ </em> ϸ + Ѵ.</p> + + <p> Ư MIME type Ϸ <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code> þ Ѵ. + html ϸ Ѵ:</p> + + <div class="example"><p><code> + <Directory "/your-server-root/manual"><br /> + <span class="indent"> + AddOutputFilterByType DEFLATE text/html<br /> + </span> + </Directory> + </code></p></div> + + <p> ó ϴ Դ ʰ + <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> þ <code>no-gzip</code> + Ѵ. <code>no-gzip</code> + <code>gzip-only-text/html</code> ִ. + ڰ ڸ Ѵ. <a href="#recommended"> </a> Ϻθ 캸:</p> + + <div class="example"><p><code> + BrowserMatch ^Mozilla/4 gzip-only-text/html<br /> + BrowserMatch ^Mozilla/4\.0[678] no-gzip<br /> + BrowserMatch \bMSIE !no-gzip !gzip-only-text/html + </code></p></div> + + <p> <code>User-Agent</code> ڿ Netscape + Navigator 4.x ˻Ѵ. <code>text/html</code> + ƴ type ó Ѵ. 4.06, 4.07, 4.08 + html óϴ´뵵 ִ. 츮 + deflate ʴ´.</p> + + <p>° <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> + þ Microsoft Internet Explorer ڽ "Mozilla/4" + ˸ û ó ֱ user agent + Ѵ. <code>User-Agent</code> "MSIE" + (<code>\b</code> "ܾ " Ѵ) ڿ ߰ϸ + տ Ǭ.</p> + + <div class="note"><h3></h3> + <code>DEFLATE</code> ʹ PHP SSI RESOURCE + ڿ . , û(subrequest) + ʴ´. + </div> + <div class="note"><h3></h3> + <code class="directive"><a href="../mod/core.html#setenv">SetEnv</a></code> + <code>force-gzip</code> ȯ溯 ϸ + accept-encoding ϰ . + </div> + + + <h3><a name="inflate" id="inflate"> Ǯ</a></h3> + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> gzip + Ǫ ͵ Ѵ. Ϸ + <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> Ͽ + ͼ <code>INFLATE</code> ߰Ѵ.</p> + + <div class="example"><p><code> + <Location /dav-area><br /> + <span class="indent"> + ProxyPass http://example.com/<br /> + SetOutputFilter INFLATE<br /> + </span> + </Location> + </code></p></div> + + <p> example.com gzip + Ǯ, ٸ Ͱ ó ֵ Ѵ. + </p> + + + <h3><a name="input" id="input">Է Ǯ</a></h3> + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> gzip û + Ǫ ͵ Ѵ. Ϸ + <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> + <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> + Ͽ Էͼ <code>DEFLATE</code> + ߰Ѵ.</p> + + <div class="example"><p><code> + <Location /dav-area><br /> + <span class="indent"> + SetInputFilter DEFLATE<br /> + </span> + </Location> + </code></p></div> + + <p>û <code>Content-Encoding: gzip</code> ִٸ + ڵ Ǭ. gzip û ִ + 幰. <a href="http://www.webdav.org">WebDAV</a> Ŭ̾Ʈ + Ư α û Ѵ.</p> + + <div class="warning"><h3>Content-Length </h3> + <p>û 캻ٸ, <em><code>Content-Length</code> + !</em> Content-Length Ŭ̾Ʈ + , Ǭ Ʈ + <em>ƴϴ</em>.</p> + </div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="proxies" id="proxies">Ͻ ٷ</a></h2> + + <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> Ͻð ڽ ij + <code>Accept-Encoding</code> û + Ŭ̾ƮԸ <code>Vary: + Accept-Encoding</code> HTTP ߰Ѵ. + Ŭ̾Ʈ + ʵ Ѵ.</p> + + <p> , <code>User-Agent</code> Ư + Ѵٸ, Ͻÿ ̷ ˷ֱ + <code>Vary</code> ߰ؾ Ѵ. , + <code>User-Agent</code> <code>DEFLATE</code> + ߰Ѵٸ Ѵ:</p> + + <div class="example"><p><code> + Header append Vary User-Agent + </code></p></div> + + <p>û ٸ (<em> </em>, HTTP ) + ΰ ȴٸ, <code>Vary</code> + <code>*</code> ؾ Ѵ. ǥ Ͻô + ij ʰ ȴ.</p> + + <div class="example"><h3></h3><p><code> + Header set Vary * + </code></p></div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>zlib ѹ ũ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateBufferSize <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DeflateBufferSize 8096</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +</table> + <p><code class="directive">DeflateBufferSize</code> þ zlib + ѹ Ʈ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a> <a name="deflatecompressionlevel" id="deflatecompressionlevel">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ϴ°</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateCompressionLevel <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>Zlib's default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>ġ 2.0.45 </td></tr> +</table> + <p><code class="directive">DeflateCompressionLevel</code> þ + Ѵ. Ŭ , + CPU Ѵ.</p> + <p>( ) 1 ( ) 9 Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote" id="deflatefilternote">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> α Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>notename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td><var>type</var> ġ 2.0.4 </td></tr> +</table> + <p><code class="directive">DeflateFilterNote</code> þ û + α ϴ ȣ Ѵ. ȣ ̸ þ + ̴. 踦 <a href="../logs.html#accesslog"> + α</a> ȣ ִ.</p> + + <div class="example"><h3></h3><p><code> + DeflateFilterNote ratio<br /> + <br /> + LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate<br /> + CustomLog logs/deflate_log deflate + </code></p></div> + + <p>α Ȯ Ϸ <var>type</var> ƱԸƮ + ڷḦ Ѵ. <var>type</var> ϳ̴:</p> + + <dl> + <dt><code>Input</code></dt> + <dd> Է½Ʈ Ʈ Ѵ.</dd> + + <dt><code>Output</code></dt> + <dd> ½Ʈ Ʈ Ѵ..</dd> + + <dt><code>Ratio</code></dt> + <dd> (<code>output/input * 100</code>) Ѵ. + <var>type</var> ƱԸƮ ϸ ϴ ⺻̴.</dd> + </dl> + + <p> ̷ α ִ:</p> + + <div class="example"><h3> α</h3><p><code> + DeflateFilterNote Input instream<br /> + DeflateFilterNote Output outstream<br /> + DeflateFilterNote Ratio ratio<br /> + <br /> + LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate<br /> + CustomLog logs/deflate_log deflate + </code></p></div> + +<h3></h3> +<ul> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateLimitRequestBody" id="DeflateInflateLimitRequestBody">DeflateInflateLimitRequestBody</a> <a name="deflateinflatelimitrequestbody" id="deflateinflatelimitrequestbody">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Maximum size of inflated request bodies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateInflateLimitRequestBody <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>None, but LimitRequestBody applies after deflation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>2.4.10 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DeflateInflateRatioBurst 3</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>2.4.10 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateInflateRatioLimit" id="DeflateInflateRatioLimit">DeflateInflateRatioLimit</a> <a name="deflateinflateratiolimit" id="deflateinflateratiolimit">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Maximum inflation ratio for request bodies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateInflateRatioLimit <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DeflateInflateRatioLimit 200</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>2.4.10 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel" id="deflatememlevel">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>zlib Ҷ ϴ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateMemLevel <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DeflateMemLevel 9</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +</table> + <p><code class="directive">DeflateMemLevel</code> þ zlib + Ҷ ŭ Ѵ. (1 9 + )</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize" id="deflatewindowsize">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Zlib window size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DeflateWindowSize <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DeflateWindowSize 15</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_deflate</td></tr> +</table> + <p><code class="directive">DeflateWindowSize</code> þ zlib + window size (1 15 ) Ѵ. Ϲ + window size Ŭ Ѵ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_deflate.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_deflate.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dialup.html b/docs/manual/mod/mod_dialup.html new file mode 100644 index 0000000..f86313a --- /dev/null +++ b/docs/manual/mod/mod_dialup.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dialup.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dialup.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dialup.html.en b/docs/manual/mod/mod_dialup.html.en new file mode 100644 index 0000000..5af2bec --- /dev/null +++ b/docs/manual/mod/mod_dialup.html.en @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dialup - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_dialup</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dialup.html" title="English"> en </a> | +<a href="../fr/mod/mod_dialup.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Send static content at a bandwidth rate limit, defined by the various old modem standards</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>dialup_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_dialup.c</td></tr></table> +<h3>Summary</h3> + +<p>It is a module that sends static content at a bandwidth rate limit, defined +by the various old modem standards. So, you can browse your site with a 56k +V.92 modem, by adding something like this:</p> + +<pre class="prettyprint lang-config"><Location "/mysite"> + ModemStandard "V.92" +</Location></pre> + + +<p>Previously to do bandwidth rate limiting modules would have to block an entire +thread, for each client, and insert sleeps to slow the bandwidth down. +Using the new suspend feature, a handler can get callback N milliseconds in +the future, and it will be invoked by the Event MPM on a different thread, +once the timer hits. From there the handler can continue to send data to the client.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#modemstandard">ModemStandard</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dialup">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dialup">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ModemStandard" id="ModemStandard">ModemStandard</a> <a name="modemstandard" id="modemstandard">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modem standard to simulate</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ModemStandard V.21|V.26bis|V.32|V.34|V.92</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dialup</td></tr> +</table> +<p>Specify what modem standard you wish to simulate.</p> + +<pre class="prettyprint lang-config"><Location "/mysite"> + ModemStandard "V.26bis" +</Location></pre> + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dialup.html" title="English"> en </a> | +<a href="../fr/mod/mod_dialup.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dialup.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dialup.html.fr.utf8 b/docs/manual/mod/mod_dialup.html.fr.utf8 new file mode 100644 index 0000000..70b3a86 --- /dev/null +++ b/docs/manual/mod/mod_dialup.html.fr.utf8 @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dialup - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_dialup</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dialup.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dialup.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie le contenu statique avec une bande passante limitée +définie par les différents standards des anciens modems.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dialup_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dialup.c</td></tr></table> +<h3>Sommaire</h3> + +<p>Il s'agit d'un module qui envoie le contenu statique avec une bande +passante limitée définie par les différents standards des anciens +modems. Ainsi, il est possible de naviguer sur votre site avec un modem +56k V.92 en positionnant une configuration de ce type :</p> + +<pre class="prettyprint lang-config"><Location "/mysite"> + ModemStandard "V.92" +</Location></pre> + + +<p>Auparavant, pour faire des modules de limitation de bande passante, +il fallait monopoliser un thread, pour chaque client, et insérer des +temporisations pour diminuer la bande passante. Grâce à cette nouvelle +fonctionnalité, un gestionnaire peut recevoir les réponses à ses +callbacks après N millisecondes, et il sera invoqué par le module MPM +Event dans un thread différent à la fin du délai indiqué. À partir de ce +moment, le gestionnaire peut continuer à envoyer des données au +client.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#modemstandard">ModemStandard</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dialup">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dialup">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="modemstandard" id="modemstandard">Directive</a> <a name="ModemStandard" id="ModemStandard">ModemStandard</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Standard de modem à simuler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ModemStandard V.21|V.26bis|V.32|V.34|V.92</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dialup</td></tr> +</table> +<p>Cette directive permet de spécifier le standard de modem que vous +souhaitez simuler.</p> + +<pre class="prettyprint lang-config"><Location "/mysite"> + ModemStandard "V.26bis" +</Location></pre> + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dialup.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dialup.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dialup.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html b/docs/manual/mod/mod_dir.html new file mode 100644 index 0000000..72bd235 --- /dev/null +++ b/docs/manual/mod/mod_dir.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dir.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dir.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dir.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_dir.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_dir.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dir.html.en b/docs/manual/mod/mod_dir.html.en new file mode 100644 index 0000000..f3f53f9 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.en @@ -0,0 +1,349 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dir - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_dir</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides for "trailing slash" redirects and + serving directory index files</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>dir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_dir.c</td></tr></table> +<h3>Summary</h3> + + <p>The index of a directory can come from one of two sources:</p> + + <ul> + <li>A file written by the user, typically called + <code>index.html</code>. The <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> directive sets the + name of this file. This is controlled by + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>.</li> + + <li>Otherwise, a listing generated by the server. This is + provided by <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>.</li> + </ul> + <p>The two functions are separated so that you can completely + remove (or replace) automatic index generation should you want + to.</p> + + <p>A "trailing slash" redirect is issued when the server + receives a request for a URL + <code>http://servername/foo/dirname</code> where + <code>dirname</code> is a directory. Directories require a + trailing slash, so <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> issues a redirect to + <code>http://servername/foo/dirname/</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dir">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dir">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryCheckHandler" id="DirectoryCheckHandler">DirectoryCheckHandler</a> <a name="directorycheckhandler" id="directorycheckhandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Toggle how this module responds when another handler is configured</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DirectoryCheckHandler On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DirectoryCheckHandler Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in 2.4.8 and later. Releases prior to 2.4 implicitly +act as if "DirectoryCheckHandler ON" was specified.</td></tr> +</table> + <p>The <code class="directive">DirectoryCheckHandler</code> directive determines + whether <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> should check for directory indexes or + add trailing slashes when some other handler has been configured for + the current URL. Handlers can be set by directives such as + <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> or by other modules, + such as <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> during per-directory substitutions. + </p> + + <p> In releases prior to 2.4, this module did not take any action if any + other handler was configured for a URL. This allows directory indexes to + be served even when a <code class="directive">SetHandler</code> directive is + specified for an entire directory, but it can also result in some conflicts + with modules such as <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex" id="directoryindex">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>List of resources to look for when the client requests +a directory</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DirectoryIndex + disabled | <var>local-url</var> [<var>local-url</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DirectoryIndex index.html</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +</table> + <p>The <code class="directive">DirectoryIndex</code> directive sets the + list of resources to look for, when the client requests an index + of the directory by specifying a / at the end of the directory + name. <var>Local-url</var> is the (%-encoded) URL of a document on + the server relative to the requested directory; it is usually the + name of a file in the directory. Several URLs may be given, in + which case the server will return the first one that it finds. If + none of the resources exist and the <code>Indexes</code> option is + set, the server will generate its own listing of the + directory.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DirectoryIndex index.html</pre> +</div> + + <p>then a request for <code>http://example.com/docs/</code> would + return <code>http://example.com/docs/index.html</code> if it + exists, or would list the directory if it did not.</p> + + <p>Note that the documents do not need to be relative to the + directory;</p> + + <pre class="prettyprint lang-config">DirectoryIndex index.html index.txt /cgi-bin/index.pl</pre> + + + <p>would cause the CGI script <code>/cgi-bin/index.pl</code> to be + executed if neither <code>index.html</code> or <code>index.txt</code> + existed in a directory.</p> + + <p>A single argument of "disabled" prevents <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> from + searching for an index. An argument of "disabled" will be interpreted + literally if it has any arguments before or after it, even if they are "disabled" + as well.</p> + + <p><strong>Note:</strong> Multiple <code class="directive">DirectoryIndex</code> + directives within the <a href="../sections.html"><em>same context</em></a> will add + to the list of resources to look for rather than replace: + </p> + <pre class="prettyprint lang-config"># Example A: Set index.html as an index page, then add index.php to that list as well. +<Directory "/foo"> + DirectoryIndex index.html + DirectoryIndex index.php +</Directory> + +# Example B: This is identical to example A, except it's done with a single directive. +<Directory "/foo"> + DirectoryIndex index.html index.php +</Directory> + +# Example C: To replace the list, you must explicitly reset it first: +# In this example, only index.php will remain as an index resource. +<Directory "/foo"> + DirectoryIndex index.html + DirectoryIndex disabled + DirectoryIndex index.php +</Directory></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndexRedirect" id="DirectoryIndexRedirect">DirectoryIndexRedirect</a> <a name="directoryindexredirect" id="directoryindexredirect">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures an external redirect for directory indexes. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DirectoryIndexRedirect off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.14 and later</td></tr> +</table> + <p>By default, the <code class="directive">DirectoryIndex</code> is selected + and returned transparently to the client. <code class="directive">DirectoryIndexRedirect</code> causes an external redirect + to instead be issued.</p> + + <p>The argument can be:</p> + <ul> + <li><code>on</code>: issues a 302 redirection to the index resource.</li> + <li><code>off</code>: does not issue a redirection. This is the legacy behaviour of mod_dir.</li> + <li><code>permanent</code>: issues a 301 (permanent) redirection to the index resource.</li> + <li><code>temp</code>: this has the same effect as <code>on</code></li> + <li><code>seeother</code>: issues a 303 redirection (also known as "See Other") to the index resource.</li> + <li><var>3xx-code</var>: issues a redirection marked by the chosen 3xx code.</li> + </ul> + + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DirectoryIndexRedirect on</pre> +</div> + + <p>A request for <code>http://example.com/docs/</code> would + return a temporary redirect to <code>http://example.com/docs/index.html</code> + if it exists.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a> <a name="directoryslash" id="directoryslash">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Toggle trailing slash redirects on or off</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DirectorySlash On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DirectorySlash On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +</table> + <p>The <code class="directive">DirectorySlash</code> directive determines whether + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> should fixup URLs pointing to a directory or + not.</p> + + <p>Typically if a user requests a resource without a trailing slash, which + points to a directory, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> redirects him to the same + resource, but <em>with</em> trailing slash for some good reasons:</p> + + <ul> + <li>The user is finally requesting the canonical URL of the resource</li> + <li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> works correctly. Since it doesn't emit + the path in the link, it would point to the wrong path.</li> + <li><code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> will be evaluated + <em>only</em> for directories requested with trailing slash.</li> + <li>Relative URL references inside html pages will work correctly.</li> + </ul> + + <p>If you don't want this effect <em>and</em> the reasons above don't + apply to you, you can turn off the redirect as shown below. However, + be aware that there are possible security implications to doing + this.</p> + + <pre class="prettyprint lang-config"># see security warning below! +<Location "/some/path"> + DirectorySlash Off + SetHandler some-handler +</Location></pre> + + + <div class="warning"><h3>Security Warning</h3> + <p>Turning off the trailing slash redirect may result in an information + disclosure. Consider a situation where <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> is + active (<code>Options +Indexes</code>) and <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> is set to a valid resource (say, + <code>index.html</code>) and there's no other special handler defined for + that URL. In this case a request with a trailing slash would show the + <code>index.html</code> file. <strong>But a request without trailing slash + would list the directory contents</strong>.</p> + </div> + <p>Also note that some browsers may erroneously change POST requests into GET + (thus discarding POST data) when a redirect is issued.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FallbackResource" id="FallbackResource">FallbackResource</a> <a name="fallbackresource" id="fallbackresource">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a default URL for requests that don't map to a file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FallbackResource disabled | <var>local-url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>disabled - httpd will return 404 (Not Found)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The <code>disabled</code> argument is available in version 2.4.4 and +later</td></tr> +</table> + <p>Use this to set a handler for any URL that doesn't map to anything + in your filesystem, and would otherwise return HTTP 404 (Not Found). + For example</p> + <pre class="prettyprint lang-config">FallbackResource /not-404.php</pre> + + <p>will cause requests for non-existent files to be handled by + <code>not-404.php</code>, while requests for files that exist + are unaffected.</p> + <p>It is frequently desirable to have a single file or resource + handle all requests to a particular directory, except those requests + that correspond to an existing file or script. This is often + referred to as a 'front controller.'</p> + <p>In earlier versions of httpd, this effect typically required + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, and the use of the <code>-f</code> and + <code>-d</code> tests for file and directory existence. This now + requires only one line of configuration.</p> + <pre class="prettyprint lang-config">FallbackResource /index.php</pre> + + <p>Existing files, such as images, css files, and so on, will be + served normally.</p> + <p>Use the <code>disabled</code> argument to disable that feature + if inheritance from a parent directory is not desired.</p> + <p>In a sub-URI, such as <em>http://example.com/blog/</em> this + <em>sub-URI</em> has to be supplied as <var>local-url</var>:</p> + <pre class="prettyprint lang-config"><Directory "/web/example.com/htdocs/blog"> + FallbackResource /blog/index.php +</Directory> +<Directory "/web/example.com/htdocs/blog/images"> + FallbackResource disabled +</Directory></pre> + + <p>A fallback handler (in the above case, <code>/blog/index.php</code>) + can access the original requested URL via the server variable + <code>REQUEST_URI</code>. For example, to access this variable in PHP, + use <code>$_SERVER['REQUEST_URI']</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.fr.utf8 b/docs/manual/mod/mod_dir.html.fr.utf8 new file mode 100644 index 0000000..a51ffa2 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.fr.utf8 @@ -0,0 +1,382 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dir - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_dir</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet la redirection des adresses se terminant par un +répertoire sans slash de fin et la mise à disposition des fichiers index +de répertoire</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dir.c</td></tr></table> +<h3>Sommaire</h3> + + <p>L'index d'un répertoire peut provenir de deux sources :</p> + + <ul> + <li>Un fichier écrit par l'utilisateur, dont le nom, en général + appelé <code>index.html</code>, peut être défini à l'aide de la + directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> + fournie par le module <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>.</li> + + <li>Un listing généré par le serveur, par l'intermédiaire du + module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>.</li> + </ul> + <p>Les deux fonctions sont bien distinctes, si bien que vous pouvez + supprimer (ou remplacer) la génération automatique d'index, si vous + le souhaitez.</p> + + <p>Une redirection "slash de fin" est effectuée lorsque le serveur + reçoit une requête pour une URL du style + <code>http://nom-serveur/foo/nom-rep</code> où <code>nom-rep</code> + est le nom d'un répertoire. Comme les répertoires nécessitent un slash de + fin, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> effectue une redirection vers + <code>http://nom-serveur/foo/nom-rep/</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dir">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dir">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directorycheckhandler" id="directorycheckhandler">Directive</a> <a name="DirectoryCheckHandler" id="DirectoryCheckHandler">DirectoryCheckHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la réponse de ce module lorsqu'un autre +gestionnaire est utilisé</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryCheckHandler On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryCheckHandler Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.8 du serveur HTTP +Apache. Les versions antérieures à 2.4 se comportaient implicitement +comme si "DirectoryCheckHandler ON" avait été spécifié.</td></tr> +</table> + <p>La directive <code class="directive">DirectoryCheckHandler</code> permet + de faire en sorte que <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> recherche un index + de répertoire ou ajoute des slashes de fin lorsqu'un autre + gestionnaire à été défini pour l'URL considérée. Les gestionnaires + peuvent être définis à via des directives telles que + <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou par d'autres + modules tels que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> au cours des + substitutions de niveau répertoire.</p> + + <p>Dans les versions antérieures à 2.4, ce module ne modifiait pas son + comportement si un autre gestionnaire avait été défini pour l'URL + considérée. Ceci permettait de servir des index de répertoires même si une + directive <code class="directive">SetHandler</code> avait été définie pour un + répertoire entier, mais pouvait aussi être à l'origine de conflits avec + d'autres modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directoryindex" id="directoryindex">Directive</a> <a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste des fichiers ressources à rechercher lorsque le +client envoie une requête pour un répertoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryIndex + disabled | <var>url locale</var> [<var>url locale</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryIndex index.html</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +</table> + <p>La directive <code class="directive">DirectoryIndex</code> permet de + définir une liste de fichiers ressources à rechercher lorsqu'un + client envoie une requête pour l'index d'un répertoire, en ajoutant + un '/' à la fin du nom de ce dernier. <var>url locale</var> est + l'URL (codée avec caractères '%') d'un document du serveur, relative + au répertoire faisant l'objet de la requête ; il s'agit en général + du nom d'un fichier situé dans le répertoire. Si plusieurs URLs sont + fournies, le serveur renverra la première d'entre elles qui + correspond à une ressource existante. Si aucune ressource ne + correspond à la liste des URLs spécifiées, et si l'option + <code>Indexes</code> est définie, le serveur générera son propre + listing du répertoire.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DirectoryIndex index.html</pre> +</div> + + <p>Avec cette configuration, une requête pour l'URL + <code>http://example.com/docs/</code> renverrait au client la + ressource <code>http://example.com/docs/index.html</code> si elle + existe, ou provoquerait la génération du listing du répertoire si la + ressource n'existe pas.</p> + + <p>Notez qu'il n'est pas nécessaire que les documents soient + relatifs au répertoire ;</p> + + <pre class="prettyprint lang-config">DirectoryIndex index.html index.txt /cgi-bin/index.pl</pre> + + + <p>provoquerait l'exécution du script CGI + <code>/cgi-bin/index.pl</code> si aucun des fichiers + <code>index.html</code> ou <code>index.txt</code> n'existe dans le + répertoire considéré.</p> + + <p>La spécification du seul argument "disabled" empêche + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> de rechercher un index. Un argument + "disabled" sera interprété de manière littérale si d'autres + arguments sont présents avant ou après lui, même s'ils sont + eux-mêmes des arguments "disabled".</p> + + <p><strong>Note:</strong> Positionner plusieurs directives <code class="directive">DirectoryIndex</code> + au coeur du <a href="../sections.html"><em>même context</em></a> complète la liste des ressources et ne l'écrase pas : + </p> + <pre class="prettyprint lang-config"># Exemple A: Positionner index.html en page d'index, puis ajouter index.php. +<Directory "/foo"> + DirectoryIndex index.html + DirectoryIndex index.php +</Directory> + +# Exemple B: La même chose que l'exemple A, mais réalisé au moyen d'une seule directive. +<Directory "/foo"> + DirectoryIndex index.html index.php +</Directory> + +# Exemple C: Pour remplacer la liste des ressources, il faut d'abord la vider : +# Ici, seul index.php restera référencé comme ressource d'index. +<Directory "/foo"> + DirectoryIndex index.html + DirectoryIndex disabled + DirectoryIndex index.php +</Directory></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directoryindexredirect" id="directoryindexredirect">Directive</a> <a name="DirectoryIndexRedirect" id="DirectoryIndexRedirect">DirectoryIndexRedirect</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une redirection externe pour les index de +répertoires. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryIndexRedirect off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14</td></tr> +</table> + <p>Par défaut, c'est la page définie par la directive + <code class="directive">DirectoryIndex</code> qui est sélectionnée et + renvoyée de manière transparente au client. La directive + <code class="directive">DirectoryIndexRedirect</code> permet de rediriger le + client via une redirection de type 3xx.</p> + + <p>Les arguments acceptés sont :</p> + <ul> + <li><code>on</code> : envoie une redirection 302 vers l'index choisi.</li> + <li><code>off</code> : n'envoie aucune redirection. Il s'agit du comportement historique de mod_dir.</li> + <li><code>permanent</code> : envoie une redirection 301 (permanent) vers l'index choisi.</li> + <li><code>temp</code> : ceci est équivalent à <code>on</code></li> + <li><code>seeother</code> : envoie une redirection 303 (également appelée "See Other") vers l'index choisi.</li> + <li><var>3xx-code</var> : envoie une redirection accompagnée du code 3xx choisi.</li> + </ul> + + + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DirectoryIndexRedirect on</pre> +</div> + + <p>Une requête pour <code>http://example.com/docs/</code> se + solderait par une redirection temporaire vers + <code>http://example.com/docs/index.html</code> si cette ressource + existe.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="directoryslash" id="directoryslash">Directive</a> <a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation de la redirection "slash de +fin"</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectorySlash On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectorySlash On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +</table> + <p>La directive <code class="directive">DirectorySlash</code> permet de + déterminer si <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> doit corriger ou non les URLs + pointant vers un répertoire.</p> + + <p>En général, si un utilisateur envoie une requête pour une + ressource sans slash de fin, cette ressource représentant un + répertoire, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> le redirige vers la même + ressource, mais <em>en ajoutant</em> un slash de fin, et ceci pour + plusieurs bonnes raisons :</p> + + <ul> + <li>La requête de l'utilisateur contiendra finalement l'URL + canonique de la ressource</li> + <li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> fonctionnera correctement. Comme + il n'indique pas le chemin dans le lien, le chemin de l'URL serait + incorrect.</li> + <li>La directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> n'est évaluée + <em>que</em> pour les répertoires se terminant par un slash.</li> + <li>Les références à des URLs relatives dans les pages html + fonctionneront alors correctement.</li> + </ul> + + <p>Si vous ne souhaitez pas voir ces effets, <em>et</em> si + les raisons évoquées ci-dessus ne s'appliquent pas à vous, vous + pouvez désactiver la redirection comme indiqué ci-dessous. + Gardez cependant à l'esprit que ceci peut avoir des répercutions en + matière de sécurité.</p> + + <pre class="prettyprint lang-config"># voir l'avertissement de sécurité ci-dessous ! +<Location "/some/path"> + DirectorySlash Off + SetHandler some-handler +</Location></pre> + + + <div class="warning"><h3>Avertissement de sécurité</h3> + <p>La désactivation de la redirection "slash de fin" peut entraîner + la divulgation d'informations. Considérons la situation où + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> est actif (<code>Options + +Indexes</code>), où la directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> a pour valeur une ressource valide (par + exemple <code>index.html</code>), et où aucun gestionnaire + particulier n'a été défini pour cette URL. Dans ce cas, une requête + avec slash de fin afficherait le contenu du fichier + <code>index.html</code> ; <strong>par contre, une requête sans slash + de fin afficherait un listing du contenu du + répertoire</strong>.</p> + </div> + <p>Notez aussi que certains navigateurs peuvent modifier par erreur + des requêtes POST en requêtes GET lors d'une redirection, les + données POST étant alors perdues.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="fallbackresource" id="fallbackresource">Directive</a> <a name="FallbackResource" id="FallbackResource">FallbackResource</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une URL par défaut pour les requêtes qui ne ciblent +aucun fichier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FallbackResource disabled | <var>url-locale</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled - httpd renvoie un code d'erreur 404 (Not Found)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>disabled</code> est disponible à partir +de la version 2.4.4 du serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive permet de définir un traitement pour toute URL + qui ne correspond à aucune ressource de votre système de fichiers, + et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404 + (Not Found). + Par exemple</p> + <pre class="prettyprint lang-config">FallbackResource /not-404.php</pre> + + <p>fait en sorte que les requêtes ne correspondant à aucun fichier + soient traitées par <code>non-404.php</code>, sans affecter les + requêtes pour des fichiers existants.</p> + <p>Il est souvent souhaitable qu'un seul fichier ou ressource traite + toutes les requêtes à destination d'un répertoire + particulier, sauf pour les requêtes qui correspondent à un fichier + ou script existant. On y fait souvent référence sous le terme + 'contrôleur frontal'.</p> + <p>Dans les versions plus anciennes de httpd, cet effet nécessitait + en général <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, et l'utilisation des tests + conditionnels <code>-f</code> et <code>-d</code> pour vérifier + l'existence des fichiers et répertoires. Maintenant, une seule ligne + de configuration est nécessaire.</p> + <pre class="prettyprint lang-config">FallbackResource /index.php</pre> + + <p>Les fichiers existants comme des images, des fichiers css, etc... + seront traités normalement.</p> + <p>L'argument <code>disabled</code> permet de désactiver cette + fonctionnalité dans le cas où l'héritage d'un répertoire parent + n'est pas souhaité.</p> + <p>Pour un URI intermédiaire tel que + <em>http://example.com/blog/</em>, cet URI intermédiaire doit être + spécifié en tant que <var>url-locale</var> :</p> + <pre class="prettyprint lang-config"><Directory "/web/example.com/htdocs/blog"> + FallbackResource /blog/index.php +</Directory> +<Directory "/web/example.com/htdocs/blog/images"> + FallbackResource disabled +</Directory></pre> + + <p>Un gestionnaire de ressource par défaut (dans l'exemple ci-dessus + <code>/blog/index.php</code>) peut accéder à l'URL de la requête originale + via la variable de serveur <code>REQUEST_URI</code>. Pour accéder à cette + variable en PHP, par exemple, utilisez <code>$_SERVER['REQUEST_URI']</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.ja.utf8 b/docs/manual/mod/mod_dir.html.ja.utf8 new file mode 100644 index 0000000..1b3075f --- /dev/null +++ b/docs/manual/mod/mod_dir.html.ja.utf8 @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dir - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_dir</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>「最後のスラッシュ」のリダイレクトと、ディレクトリの +インデックスファイルを扱う機能を提供する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>dir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_dir.c</td></tr></table> +<h3>概要</h3> + + <p>ディレクトリインデックスは、次の二つのうちどちらかが利用されます:</p> + + <ul> + <li>一つ目は、ユーザが作成したファイルを用いるもので、通常 + <code>index.html</code> というファイル名を使います。このファイル名は、 + <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> ディレクティブで + 指定することができます。この機能は <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + モジュールで提供されます。</li> + + <li>もう一つの方法は、 + サーバによって自動的に生成されるディレクトリリストを用いる場合です。 + この機能は、<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + モジュールにより提供されます。</li> + </ul> + + <p>自動的なインデックス生成機能を削除 (もしくは交換) + できるように、この二つの機能は分離されています。</p> + + <p>なお <code>http://servername/foo/dirname</code> という URL + へのリクエストがあった際に、<code>dirname</code> + というディレクトリがあれば、「最後にスラッシュをつけた形」の URL + へのリダイレクトを送出します。 + ディレクトリへのアクセスはスラッシュで終わっている必要があり、 + <code>mod_dir</code> は、<code>http://servername/foo/dirname/</code> + へのリダイレクトを送出することになります。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dir">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dir">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryCheckHandler" id="DirectoryCheckHandler">DirectoryCheckHandler</a> <a name="directorycheckhandler" id="directorycheckhandler">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Toggle how this module responds when another handler is configured</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DirectoryCheckHandler On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DirectoryCheckHandler Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in 2.4.8 and later. Releases prior to 2.4 implicitly +act as if "DirectoryCheckHandler ON" was specified.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex" id="directoryindex">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントがディレクトリをリクエストしたときに調べる +リソースのリスト</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DirectoryIndex + <var>local-url</var> [<var>local-url</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DirectoryIndex index.html</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr> +</table> + <p> + クライアントが、ディレクトリ名の最後に「/」 + を指定してディレクトリインデックスを要求する場合に探すリソースのリストを + <code class="directive">DirectoryIndex</code> ディレクティブで設定します。 + <var>Local-url</var> + は、リクエストされたディレクトリに対応する、サーバ上のドキュメントの + (% エンコードされた) URL で、普通はディレクトリ中のファイルの名前です。 + 複数の URL が設定された場合には、最初に見つかったものを返します。 + それらが見つからず、<code>Indexes</code> + オプションがセットされている場合、ディレクトリのリストを生成します。 + </p> + + <div class="example"><h3>例</h3><p><code> + DirectoryIndex index.html + </code></p></div> + + <p><code>http://myserver/docs/</code> へのアクセスがあり、 + <code>http://myserver/docs/index.html</code> + が存在すれば、この URL が返されます。 + もし存在しなければ、ディレクトリのリストが返されます。</p> + + <p>注: ドキュメントが同じディレクトリ内に存在するは必要ありません。 + </p> + + <div class="example"><p><code> + DirectoryIndex index.html index.txt /cgi-bin/index.pl + </code></p></div> + + <p>とした場合、<code>index.html</code> と <code>index.txt</code> + のどちらもディレクトリ内に存在しない場合、CGI スクリプト + <code>/cgi-bin/index.pl</code> が実行されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndexRedirect" id="DirectoryIndexRedirect">DirectoryIndexRedirect</a> <a name="directoryindexredirect" id="directoryindexredirect">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Configures an external redirect for directory indexes. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DirectoryIndexRedirect off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.3.14 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a> <a name="directoryslash" id="directoryslash">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>パス末尾のスラッシュでリダイレクトするかどうかのオンオフをトグルさせる</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DirectorySlash On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DirectorySlash On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.51 以降</td></tr> +</table> + <p>要求のあった URL がディレクトリを指すかどうかを、 + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> が調整するべきかどうかを + <code class="directive">DirectorySlash</code> + ディレクティブで設定します。</p> + + <p>典型的には、ユーザが末尾のスラッシュ無しでリソースへのリクエストを発行し、 + そして、そのリソースがディレクトリを指していた場合、<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + は、末尾にスラッシュを<em>付加</em>した上で同じリソースにリダイレクトさせます。 + この挙動には幾つか理由があります:</p> + + <ul> + <li>ユーザは、最終的にはリソースの別名 URL をリクエストすることになる。</li> + <li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が期待通りに動く。<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + の生成するリンクはパスを出力しませんので、スラッシュがない場合は間違ったパスを + 指してしまうことになります。</li> + <li><code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> は、 + 末尾にスラッシュがついているリクエストについて<em>のみ</em>評価される。</li> + <li>HTML ページの相対 URL 参照が正しく動作する。</li> + </ul> + + <p>とはいえ、もしこういった効果を望まない、かつ、 + 上記のような理由が当てはまらない場合は、リダイレクトを次のようにしてオフにできます:</p> + + <div class="example"><p><code> + # see security warning below!<br /> + <Location /some/path><br /> + <span class="indent"> + DirectorySlash Off<br /> + SetHandler some-handler<br /> + </span> + </Location> + </code></p></div> + + <div class="warning"><h3>セキュリティ警告</h3> + <p>末尾のスラッシュでのリダイレクトをオフにすると、結果的に情報漏洩を + 招くことになるかもしれません。 + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が有効 (<code>Options +Indexes</code>) で、 + <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> が有効なリソース (例えば + <code>index.html</code>) を指していて、また、要求のあった URL に特別な + ハンドラが設定されていない場合を考えてみてください。 + この場合末尾にスラッシュのついているリクエストに対しては <code>index.html</code> + ファイルが返されます。<strong>しかしスラッシュのないリクエストに対しては、 + ディレクトリの内容一覧を返してしまいます。</strong></p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FallbackResource" id="FallbackResource">FallbackResource</a> <a name="fallbackresource" id="fallbackresource">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Define a default URL for requests that don't map to a file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.ko.euc-kr b/docs/manual/mod/mod_dir.html.ko.euc-kr new file mode 100644 index 0000000..de36ec0 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.ko.euc-kr @@ -0,0 +1,246 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dir - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_dir</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>" " ̷ ϰ 丮 +index Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>dir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_dir.c</td></tr></table> +<h3></h3> + + <p>丮 index Ѱ ȴ:</p> + + <ul> + <li>ڰ ۼ <code>index.html</code>̶ + . <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> + þ ̸ Ѵ. <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + þ Ѵ.</li> + + <li>ƴ϶ . <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + Ѵ.</li> + </ul> + <p> Ѵٸ ڵ index + (Ȥ ü) ִ.</p> + + <p><code>dirname</code> 丮 URL + <code>http://servername/foo/dirname</code> û + " " ̷ . 丮 + ʿϴ. <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + <code>http://servername/foo/dirname/</code> ̷ + .</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dir">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dir">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryCheckHandler" id="DirectoryCheckHandler">DirectoryCheckHandler</a> <a name="directorycheckhandler" id="directorycheckhandler">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Toggle how this module responds when another handler is configured</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DirectoryCheckHandler On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DirectoryCheckHandler Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Available in 2.4.8 and later. Releases prior to 2.4 implicitly +act as if "DirectoryCheckHandler ON" was specified.</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex" id="directoryindex">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Ŭ̾Ʈ 丮 ûҶ ãƺ ڿ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DirectoryIndex + <var>local-url</var> [<var>local-url</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DirectoryIndex index.html</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dir</td></tr> +</table> + <p><code class="directive">DirectoryIndex</code> þ Ŭ̾Ʈ + 丮 / ٿ 丮 index ûҶ ãƺ + ڿ Ѵ. <var>Local-url</var> û 丮 + (% ڵ) URL̴. 丮 + ִ ϸ̴. URL ְ, + ù° ã . ڿ ã + <code>Indexes</code> ɼ Ͽٸ 丮 + .</p> + + <div class="example"><h3></h3><p><code> + DirectoryIndex index.html + </code></p></div> + + <p> <code>http://myserver/docs/</code> ûҶ + <code>http://myserver/docs/index.html</code> ̸ + , ٸ 丮 .</p> + + <p> ݵ 丮 ʿ .</p> + + <div class="example"><p><code> + DirectoryIndex index.html index.txt /cgi-bin/index.pl + </code></p></div> + + <p> 丮 <code>index.html</code>̳ + <code>index.txt</code> CGI ũƮ + <code>/cgi-bin/index.pl</code> Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndexRedirect" id="DirectoryIndexRedirect">DirectoryIndexRedirect</a> <a name="directoryindexredirect" id="directoryindexredirect">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Configures an external redirect for directory indexes. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DirectoryIndexRedirect off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Available in version 2.3.14 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a> <a name="directoryslash" id="directoryslash">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ̷ Ű </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>DirectorySlash On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>DirectorySlash On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>ġ 2.0.51 ĺ</td></tr> +</table> + <p><code class="directive">DirectorySlash</code> þ + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> 丮 Ű URL + θ Ѵ.</p> + + <p>ڰ 丮 شϴ ڿ + ûϸ, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + ڸ <em></em> ڿ + ̷Ѵ.</p> + + <ul> + <li>ڴ ᱹ ڿ URL ûϰ ȴ</li> + <li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> ùٷ Ѵ. + ٸ ũ ߸ θ ȴ.</li> + <li><code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> + ִ 丮 û<em></em> óѴ.</li> + <li>html ִ URL ùٷ Ѵ.</li> + </ul> + + <p> ʰ<em></em> + ſ ˸ ʴٸ ̷ + ִ.</p> + + <div class="example"><p><code> + # Ʒ !<br /> + <Location /some/path><br /> + <span class="indent"> + DirectorySlash Off<br /> + SetHandler some-handler<br /> + </span> + </Location> + </code></p></div> + + <div class="warning"><h3> </h3> + <p> ̷ ִ. + (<code>Options +Indexes</code>) <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + ϰ <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> + (<code>index.html</code> ) ȿ ڿ Ͽ + ش URL ٸ Ư ڵ鷯 Ȳ غ. + ִ û <code>index.html</code> + ش. <strong> û + 丮 ش</strong>.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FallbackResource" id="FallbackResource">FallbackResource</a> <a name="fallbackresource" id="fallbackresource">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Define a default URL for requests that don't map to a file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_dir</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.tr.utf8 b/docs/manual/mod/mod_dir.html.tr.utf8 new file mode 100644 index 0000000..d9d77c6 --- /dev/null +++ b/docs/manual/mod/mod_dir.html.tr.utf8 @@ -0,0 +1,365 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dir - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_dir</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriği dosyalarını sunar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>dir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_dir.c</td></tr></table> +<h3>Özet</h3> + + <p>Bir dizin içerik dosyası şu iki kaynaktan birinden gelebilir:</p> + + <ul> + <li>Kullanıcı tarafından yazılmış ve ismi genellikle + <code>index.html</code> olan bir dosya. Dosya ismi <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> yönergesi ile belirlenir. + Bu, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> modülü tarafından denetlenir.</li> + + <li>Aksi takdirde içerik listesi sunucu tarafından üretilir. Bu, + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> modülü tarafından sağlanır.</li> + </ul> + <p>Bu iki işlev tamamen birbirinden ayrıdır, dolayısıyla eğer isterseniz + kendiliğinden dizin içerik listesi üretimini tamamen iptal + edebilirsiniz.</p> + + <p>Sunucu <code>http://example.com/filanca/birdizin</code> şeklinde bir + istek aldığında <code>birdizin</code> bir dizinin ismiyse ‘bölü + çizgisiyle biten’ bir yönlendirme söz konusudur. Dizinler URL sonuna bir + bölü çizgisi eklenmesini gerektirir, bu bakımdan <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + modülü isteği <code>http://example.com/filanca/birdizin/</code> şeklinde + yönlendirir.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#directorycheckhandler">DirectoryCheckHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryindexredirect">DirectoryIndexRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dir">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dir">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryCheckHandler" id="DirectoryCheckHandler">DirectoryCheckHandler</a> <a name="directorycheckhandler" id="directorycheckhandler">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Başka bir eylemci yapılandırılmışsa bu modülün nasıl yanıt + vereceğini belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DirectoryCheckHandler On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DirectoryCheckHandler Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.4.8 ve sonrasında kullanılabilmektedir. 2.4 öncesi sürümler + örtük olarak "DirectoryCheckHandler ON" belirtilmiş gibi + davranır.</td></tr> +</table> + <p><code class="directive">DirectoryCheckHandler</code> yönergesi, geçerli URL için + başka bir eylemcinin yapılandırılmış olması durumunda, + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> modülünün index dosyaları için dizine mi + bakacağını yoksa URL'nin sonuna bölü çizgisi mi ekleyeceğini belirler. + Eylemciler <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> gibi + yönergelerle atanabileceği gibi dizin işlemleri sırasında + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> gibi modüller tarafından da atanabilir. + </p> + + <p>2.4 öncesi sürümlerde, bir URL için başka bir eylemcinin yapılandılmış + olması durumunda bu modül herhangi bir eylemde bulunmaz ve sonuç olarak, + tüm dizin için bir <code class="directive">SetHandler</code> belirtildiği durumda + index dosyalarının sunulmasının yanında <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + gibi modüller de ayrıca bazı çelişkili sonuçlar oluşturabilir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex" id="directoryindex">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemci bir dizin istediğinde dizin içeriğini listeler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DirectoryIndex + disabled | <var>yerel-url</var> [<var>yerel-url</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DirectoryIndex index.html</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_dir</td></tr> +</table> + <p><code class="directive">DirectoryIndex</code> yönergesi, istemci, dizinin + sonuna bir bölü çizgisi ekleyerek dizin içeriğinin listelenmesini + istediğinde bakılmak üzere özkaynakları listeler. + <code><em>yerel-url</em></code>, sunucu üstünde istenen dizine göreli + bir belgenin URL’sidir; normal olarak dizin içindeki bir dosyanın + ismidir. Çeşitli URL’ler verilebilirse de sunucu daima ilk bulduğuyla + dönecektir. Eğer özkaynakların hiçbiri yoksa ve <code>Indexes</code> + seçeneği atanmışsa sunucu dizin içeriğinden bir liste üretecektir.</p> + + <pre class="prettyprint lang-config">DirectoryIndex index.html</pre> + + + <p>Bu yapılandırmadan sonra yapılan bir + <code>http://sunucum/belgeler/</code> isteğine karşılık, sunucu, + mevcutsa <code>http://sunucum/belgeler/index.html</code> dosyasını + döndürecek, değilse ürettiği dizin içerik listesini gönderecektir.</p> + + <p>Belgelerin dizine göreli olmasının gerekmediğine dikkat ediniz.</p> + + <pre class="prettyprint lang-config">DirectoryIndex index.html index.txt /cgi-bin/index.pl</pre> + + + <p>Bu örnekte ise dizin içinde ne <code>index.html</code> ne de + <code>index.txt</code> mevcut olduğunda <code>/cgi-bin/index.pl</code> + CGI betiği çalıştırılacaktır.</p> + + <p><code>disabled</code> değeri tek başına <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>’in bir + dizin listesi aramasını engeller. <code>disabled</code> değiştirgesi + öncesinde ve sonrasında başka bir değiştirge hatta bir + <code>disabled</code> daha olsa bile sadece bir <code>disabled</code> + verilmiş gibi yorumlanır.</p> + <p><strong>Bilginize:</strong> <a href="../sections.html"><em>Aynı + bağlamdaki</em></a> çok sayıda <code class="directive">DirectoryIndex</code> + yönergesi bir öncekini değiştirmek yerine onun bulunduğu listeye + eklenir:</p> + <pre class="prettyprint lang-config"># 1. örnek: İçerik dosyası olarak index.html atayıp sonraki satırda buna +# index.php'yi ekleyebilirsiniz. +<Directory "/foo"> + DirectoryIndex index.html + DirectoryIndex index.php +</Directory> + +# 2. Örnek: Atamaların tet bir satırda yapıldığı bu örnek 1. örneğe denktir. +<Directory "/foo"> + DirectoryIndex index.html index.php +</Directory> + +# 3. Örnek: Listeyi tamamen değiştirmek için, listeyi önce sıfırlamalısınız: +# Bu örnekte içerik dosyası olarak listede sadece index.php kalır. +<Directory "/foo"> + DirectoryIndex index.html + DirectoryIndex disabled + DirectoryIndex index.php +</Directory></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryIndexRedirect" id="DirectoryIndexRedirect">DirectoryIndexRedirect</a> <a name="directoryindexredirect" id="directoryindexredirect">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Dizin içerik listeleri için harici bir yönlendirme yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-kodu</var> +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DirectoryIndexRedirect off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.14 ve sonraki sürümlerinde + kullanılabilmektedir.</td></tr> +</table> + <p>Öntanımlı olarak, <code class="directive">DirectoryIndex</code> listeyi + istemciye şeffaf olarak seçip gönderir. + <code class="directive">DirectoryIndexRedirect</code> ise harici bir + yönlendirmeye sebep olur.</p> + + <p>Bunlardan biri kullanılabilir:</p> + <ul> + <li><code>on</code>: Dizin listesi kaynağına bir 302 yönlendirmesi + yapılır.</li> + <li><code>off</code>: Bir yönlendirme yapılmaz. mod_dir için eski davranış + böyleydi.</li> + <li><code>permanent</code>: Dizin listesi kaynağına bir 301 (kalıcı) + yönlendirmesi yapılır.</li> + <li><code>temp</code>: Bu <code>on</code> ile aynı etkiye sahiptir.</li> + <li><code>seeother</code>: Dizin listesi kaynağına bir 303 yönlendirmesi + ("diğerine bak" olarak da bilinir)yapılır.</li> + <li><var>3xx-code</var>: 3xx kodu ile seçilen yönlendirme yapılır.</li> + </ul> + + <div class="example"><h3>Örnek</h3><pre class="prettyprint lang-config">DirectoryIndexRedirect on</pre> +</div> + + <p><code>http://example.com/docs/</code> için yapılan bir istek, <code>http://example.com/docs/index.html</code> (mevcutsa) adresine geçici bir + yönlendirme döndürür.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a> <a name="directoryslash" id="directoryslash">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bölü çizgisi ile biten yönlendirmeleri açar/kapar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>DirectorySlash On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>DirectorySlash On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_dir</td></tr> +</table> + <p><code class="directive">DirectorySlash</code> yönergesi, bir dizin isteğinde + bulunan URL’lerin sonuna <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> modülü tarafından bir + bölü çizgisi eklenip eklenmeyeceğini belirler.</p> + + <p>Normalde, bir kullanıcı sona bir bölü çizgisi eklemeden bir dizin için + istekte bulunursa <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> zaten onu aynı özkaynağa + yönlendirir, fakat isteğin sonuna bir bölü çizgisi eklenmesinin bazı iyi + sebepleri vardır:</p> + + <ul> + <li>Kullanıcı bunun sonucunda meşru bir URL ile istekte bulunmuş olur.</li> + <li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> gerektiği gibi çalışır. Yoksa + bağlantıdaki yolu sunamayacağından yanlış yolu gösterirdi.</li> + <li><code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> yönergesi + sadece bölü çizgisi ile biten dizin istekleri için değerlendirilir.</li> + <li>HTML sayfa içindeki göreli URL başvuruları gerektiği gibi + çalışacaktır.</li> + </ul> + + <p>Siz yine de bu etkiyi istemezseniz ve yukarıdaki sebepler de size uygun + değilse yönlendirmeyi aşağıdaki gibi kapatabilirsiniz. Ancak bunu + yaparken dikkatli olun, bununla ilgili bazı güvenlik sorunları olasılığı + vardır.</p> + + <pre class="prettyprint lang-config"># Aşağıdaki güvenlik uyarısına bakınız!<br /> +<Location "/bir/yol"><br /> + DirectorySlash Off<br /> + SetHandler bir-eylemci<br /> +</Location></pre> + + + <div class="warning"><h3>Güvenlik Uyarı</h3> + <p>Bölü çizgisi ile biten yönlendirmelerin kapatılması bir bilginin + istemeyek açığa çıkmasına sebep olabilir. <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> + modülünün etkin olduğunu (<code>Options +Indexes</code>) ve <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> ile geçerli bir özkaynağın + (<code>index.html</code> olsun) atandığını ama bu URL için başka hiçbir + özel eylemci tanımlanmadığını varsayalım. Bu durumda bölü çizgisi ile + biten bir istek olduğunda <code>index.html</code> dosyası sunulurdu. + <strong>Fakat bölü çizgisi ile bitmeyen bir istek dizin içeriğinin + listelenmesi ile sonuçlanırdı.</strong></p> + </div> + <p>Bir yönlendirme sözkonusu olduğunda bazı tarayıcıların yanlışlıkla POST + isteklerini GET istekleri haline getirme (böylece POST verisi iptal olur) + olasılığı olduğuna da dikkat edin.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FallbackResource" id="FallbackResource">FallbackResource</a> <a name="fallbackresource" id="fallbackresource">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir dosya ile eşleşmeyen istekler için öntanımlı URL tanımlar +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>FallbackResource disabled | <var>yerel-url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>disabled - httpd 404 döndürecektir (Yok)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_dir</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td><code>disabled</code> değiştirgesi 2.4.4 sürümü ve sonrasında kullanılabilmektedir.</td></tr> +</table> + <p>Dosya sisteminde bulunmayan bir dosya için istek yapıldığında HTTP'nin + 404 (Yok) hatasını döndürmemesi için sunulacak dosyanın yolunu tanımlar. + Örnek:</p> + + <pre class="prettyprint lang-config">FallbackResource /not-404.php</pre> + + + <p>Bu satırla, (mevcut dosyaları etkilemeden) mevcut olmayan dosyaların + yerine <code>not-404.php</code> dosyası sunulacaktır.</p> + + <p>Belli bir dizindeki mevcut bir dosya veya betik için yapılanlar dışındaki + tüm isteklerin tek bir dosya veya özkaynakla yerine getirilmesi sıkça istenen + bir durum olup bu mekanizmaya 'ön denetleyici' adı verilir.</p> + + <p>httpd'nin önceki sürümlerinde bir dosya veya dizinin varlığının sınanması + için genellikle <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülü ve <code>-f</code> ve + <code>-d</code> kullanımı gerekirdi. Bunun için şimdi tek satırlık bir + yapılandırma yeterli olmaktadır.</p> + + <pre class="prettyprint lang-config">FallbackResource /index.php</pre> + + + <p>Resim, CSS dosyaları gibi mevcut dosyalar normal olarak sunulur.</p> + + <p>Üst dizinden hiçbir şeyin miras alınmaması isteniyorsa bu özelliği + kapatmak için <code>disabled</code> değiştirgesini kullanın.</p> + + <p><em>http://example.com/blog/</em> gibi bir alt URI <var>yerel-url</var> + olarak sağlanır:</p> + + <pre class="prettyprint lang-config"><Directory "/web/example.com/htdocs/blog"> + FallbackResource /blog/index.php +</Directory> +<Directory "/web/example.com/htdocs/blog/images"> + FallbackResource disabled +</Directory></pre> + + + <p>Bir acil durum işleyicisi (yukarıdaki durumda, + <code>/blog/index.php</code>) özgün istek URL'sine sunucu değişkeni + <code>REQUEST_URI</code> üzerinden erişebilir. Örneğin PHP'de bu + değişkene erişmek için <code>$_SERVER['REQUEST_URI']</code> + kullanılır.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_dir.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dumpio.html b/docs/manual/mod/mod_dumpio.html new file mode 100644 index 0000000..e4947e0 --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_dumpio.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_dumpio.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_dumpio.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dumpio.html.en b/docs/manual/mod/mod_dumpio.html.en new file mode 100644 index 0000000..798cf30 --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html.en @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dumpio - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_dumpio</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dumpio.html" title="English"> en </a> | +<a href="../fr/mod/mod_dumpio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dumpio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Dumps all I/O to error log as desired.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>dumpio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_dumpio.c</td></tr></table> +<h3>Summary</h3> + + <p><code>mod_dumpio</code> allows for the logging of + all input received by Apache and/or all output sent by + Apache to be logged (dumped) to the error.log file. + </p> + + <p>The data logging is done right after SSL decoding (for + input) and right before SSL encoding (for output). As can + be expected, this can produce extreme volumes of data, + and should only be used when debugging problems.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling dumpio Support</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dumpioinput">DumpIOInput</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dumpiooutput">DumpIOOutput</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dumpio">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dumpio">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Enabling dumpio Support</a></h2> + + + <p>To enable the module, it should be compiled and loaded + in to your running Apache configuration. Logging can then + be enabled or disabled separately for input and output via + the below directives. Additionally, <code class="module"><a href="../mod/mod_dumpio.html">mod_dumpio</a></code> + needs to be configured to <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>trace7</code>: + </p> + <pre class="prettyprint lang-config">LogLevel dumpio:trace7</pre> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DumpIOInput" id="DumpIOInput">DumpIOInput</a> <a name="dumpioinput" id="dumpioinput">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dump all input data to the error log</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DumpIOInput On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DumpIOInput Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dumpio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>DumpIOInput is only available in Apache 2.1.3 and +later.</td></tr> +</table> + <p>Enable dumping of all input.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DumpIOInput On</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DumpIOOutput" id="DumpIOOutput">DumpIOOutput</a> <a name="dumpiooutput" id="dumpiooutput">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dump all output data to the error log</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DumpIOOutput On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DumpIOOutput Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dumpio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>DumpIOOutput is only available in Apache 2.1.3 and +later.</td></tr> +</table> + <p>Enable dumping of all output.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DumpIOOutput On</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_dumpio.html" title="English"> en </a> | +<a href="../fr/mod/mod_dumpio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dumpio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dumpio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dumpio.html.fr.utf8 b/docs/manual/mod/mod_dumpio.html.fr.utf8 new file mode 100644 index 0000000..6fdad93 --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html.fr.utf8 @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dumpio - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_dumpio</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dumpio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dumpio.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dumpio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Enregistre toutes les entrées/sorties dans le journal des +erreurs de la manière souhaitée.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dumpio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dumpio.c</td></tr></table> +<h3>Sommaire</h3> + + <p><code>mod_dumpio</code> permet d'enregistrer toutes les entrées + reçues par Apache et/ou toutes les sorties envoyées par ce dernier + dans le fichier error.log. + </p> + + <p>L'enregistrement des données s'effectue juste après le décodage + SSL (pour les entrées), et juste avant le codage SSL (pour les + sorties). Comme on peut s'y attendre, tout ceci peut représenter un + volume important de données, et ne doit être utilisé qu'à des fins + de débogage.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation du support dumpio</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dumpioinput">DumpIOInput</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dumpiooutput">DumpIOOutput</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dumpio">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dumpio">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Activation du support dumpio</a></h2> + + + <p>Pour activer le module, ce dernier doit être compilé et chargé + par l'intermédiaire de la configuration de votre instance d'Apache. + La journalisation peut ensuite être activée ou désactivée séparément + pour les entrées et sorties à l'aide des directives ci-dessous. En + outre, <code class="module"><a href="../mod/mod_dumpio.html">mod_dumpio</a></code> doit être configuré à <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>trace7</code> :</p> + <pre class="prettyprint lang-config">LogLevel dumpio:trace7</pre> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dumpioinput" id="dumpioinput">Directive</a> <a name="DumpIOInput" id="DumpIOInput">DumpIOInput</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre toutes les entrées dans le journal des +erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DumpIOInput On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DumpIOInput Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dumpio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>DumpIOInput est disponible depuis la version 2.1.3 +d'Apache.</td></tr> +</table> + <p>Active la journalisation de toutes les entrées.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DumpIOInput On</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dumpiooutput" id="dumpiooutput">Directive</a> <a name="DumpIOOutput" id="DumpIOOutput">DumpIOOutput</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre toutes les sorties dans le journal des +erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DumpIOOutput On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DumpIOOutput Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dumpio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>DumpIOOutput est disponible depuis la version 2.1.3 +d'Apache.</td></tr> +</table> + <p>Active la journalisation de toutes les sorties.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DumpIOOutput On</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dumpio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dumpio.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_dumpio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dumpio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_dumpio.html.ja.utf8 b/docs/manual/mod/mod_dumpio.html.ja.utf8 new file mode 100644 index 0000000..c99e69a --- /dev/null +++ b/docs/manual/mod/mod_dumpio.html.ja.utf8 @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_dumpio - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_dumpio</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dumpio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dumpio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dumpio.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>望むようにすべての I/O をエラーログにダンプする</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>dumpio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_dumpio.c</td></tr></table> +<h3>概要</h3> + + <p><code>mod_dumpio</code> を使うと、Apache が受け取ったすべての入力と + Apache により送られたすべての出力との、両方もしくはどちらか一方を、 + エラーログファイルにログ収集 <span class="transnote">(<em>訳注:</em> ダンプ dump)</span> + できます。</p> + + <p>データのロギングは、SSL 復号化の直後 (入力) と SSL + 暗号化の直前 (出力) に行なわれます。ご想像の通り、 + このモジュールはとてつもないデータ量を出力しますので、 + 問題をデバッグしているときにのみ使用するようにしてください。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">dumpio サポートを有効にする</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dumpioinput">DumpIOInput</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#dumpiooutput">DumpIOOutput</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dumpio">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dumpio">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">dumpio サポートを有効にする</a></h2> + + + <p>このモジュールを有効にするには、モジュールがコンパイルされていて、 + 実行する Apache の設定でサーバに組み込まれている必要があります。 + ロギング機能は、以下のディレクティブを使って有効にしたり + 無効にしたりできます。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DumpIOInput" id="DumpIOInput">DumpIOInput</a> <a name="dumpioinput" id="dumpioinput">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>エラーログにすべての入力データをダンプ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DumpIOInput On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DumpIOInput Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dumpio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>DumpIOInput は Apache 2.1.3 以降のみで使用可能</td></tr> +</table> + <p>すべての入力のダンプを有効にします。</p> + + <div class="example"><h3>例</h3><p><code> + DumpIOInput On + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DumpIOOutput" id="DumpIOOutput">DumpIOOutput</a> <a name="dumpiooutput" id="dumpiooutput">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>エラーログにすべての出力データをダンプ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DumpIOOutput On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DumpIOOutput Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dumpio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>DumpIOOutput は Apache 2.1.3 以降でのみ使用可能</td></tr> +</table> + <p>すべての出力のダンプを有効にします。</p> + + <div class="example"><h3>例</h3><p><code> + DumpIOOutput On + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dumpio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_dumpio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_dumpio.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dumpio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html b/docs/manual/mod/mod_echo.html new file mode 100644 index 0000000..70400d3 --- /dev/null +++ b/docs/manual/mod/mod_echo.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_echo.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_echo.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_echo.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_echo.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_echo.html.en b/docs/manual/mod/mod_echo.html.en new file mode 100644 index 0000000..03d4d67 --- /dev/null +++ b/docs/manual/mod/mod_echo.html.en @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_echo - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_echo</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_echo.html" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>A simple echo server to illustrate protocol +modules</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>echo_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_echo.c</td></tr></table> +<h3>Summary</h3> + + <p>This module provides an example protocol module to illustrate the + concept. It provides a simple echo server. Telnet to it and type + stuff, and it will echo it.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolecho">ProtocolEcho</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_echo">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_echo">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProtocolEcho" id="ProtocolEcho">ProtocolEcho</a> <a name="protocolecho" id="protocolecho">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Turn the echo server on or off</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProtocolEcho On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProtocolEcho Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_echo</td></tr> +</table> + <p>The <code class="directive">ProtocolEcho</code> directive enables or + disables the echo server.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProtocolEcho On</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_echo.html" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_echo.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html.fr.utf8 b/docs/manual/mod/mod_echo.html.fr.utf8 new file mode 100644 index 0000000..46032ca --- /dev/null +++ b/docs/manual/mod/mod_echo.html.fr.utf8 @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_echo - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_echo</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Un simple serveur d'écho pour illustrer les modules de +protocole</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>echo_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_echo.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module est un module de protocole exemple permettant d'en + illustrer le concept. Il fournit un simple serveur d'écho. Envoyez + lui une phrase par telnet, et il vous la renverra.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolecho">ProtocolEcho</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_echo">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_echo">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="protocolecho" id="protocolecho">Directive</a> <a name="ProtocolEcho" id="ProtocolEcho">ProtocolEcho</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive le serveur d'écho</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProtocolEcho On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProtocolEcho Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_echo</td></tr> +</table> + <p>La directive <code class="directive">ProtocolEcho</code> permet d'activer + ou de désactiver le serveur d'écho.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProtocolEcho On</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_echo.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html.ja.utf8 b/docs/manual/mod/mod_echo.html.ja.utf8 new file mode 100644 index 0000000..00fdc60 --- /dev/null +++ b/docs/manual/mod/mod_echo.html.ja.utf8 @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_echo - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_echo</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>プロトコルモジュールの概要を示すための単純なエコーサーバ +</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>echo_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_echo.c</td></tr></table> +<h3>概要</h3> + + <p>本モジュールはコンセプトを伝えるためのプロトコルモジュールの + 実装例となっています。単純なエコーサーバを提供します。 + Telnet で接続し、文字列を送信すると、エコーを返します。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolecho">ProtocolEcho</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_echo">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_echo">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProtocolEcho" id="ProtocolEcho">ProtocolEcho</a> <a name="protocolecho" id="protocolecho">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>エコーサーバの有効無効を設定します。</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProtocolEcho On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProtocolEcho Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_echo</td></tr> +</table> + <p><code class="directive">ProtocolEcho</code> ディレクティブで + エコーサーバの有効無効を設定します。</p> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config">ProtocolEcho On</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_echo.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_echo.html.ko.euc-kr b/docs/manual/mod/mod_echo.html.ko.euc-kr new file mode 100644 index 0000000..c7f31c1 --- /dev/null +++ b/docs/manual/mod/mod_echo.html.ko.euc-kr @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_echo - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_echo</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ϱ echo </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>echo_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_echo.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>Apache 2.0 ĺ</td></tr></table> +<h3></h3> + + <p> ϱ ̴. + echo Ѵ. telnetϿ + 𰡸 Էϸ, Է ״ ȯѴ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#protocolecho">ProtocolEcho</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_echo">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_echo">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProtocolEcho" id="ProtocolEcho">ProtocolEcho</a> <a name="protocolecho" id="protocolecho">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>echo Ű </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ProtocolEcho On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_echo</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>ProtocolEcho 2.0 Ŀ ִ.</td></tr> +</table> + <p><code class="directive">ProtocolEcho</code> þ echo + Ű .</p> + + <div class="example"><h3></h3><p><code> + ProtocolEcho On + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_echo.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_echo.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_echo.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_env.html b/docs/manual/mod/mod_env.html new file mode 100644 index 0000000..7e38ab3 --- /dev/null +++ b/docs/manual/mod/mod_env.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_env.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_env.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_env.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_env.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_env.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_env.html.en b/docs/manual/mod/mod_env.html.en new file mode 100644 index 0000000..17fe1ed --- /dev/null +++ b/docs/manual/mod/mod_env.html.en @@ -0,0 +1,165 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_env - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_env</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_env.html" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Modifies the environment which is passed to CGI scripts and +SSI pages</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>env_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_env.c</td></tr></table> +<h3>Summary</h3> + + <p>This module allows for control of internal environment variables that + are used by various Apache HTTP Server modules. These variables are also + provided to CGI scripts as native system environment variables, and available + for use in SSI pages. Environment variables may be passed from the shell + which invoked the <code class="program"><a href="../programs/httpd.html">httpd</a></code> process. Alternatively, + environment variables may be set or unset within the configuration process.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#passenv">PassEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenv">SetEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#unsetenv">UnsetEnv</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_env">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_env">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../env.html">Environment Variables</a></li> +<li><code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PassEnv" id="PassEnv">PassEnv</a> <a name="passenv" id="passenv">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Passes environment variables from the shell</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr> +</table> + <p>Specifies one or more native system environment variables to make available + as internal environment variables, which are available to Apache HTTP Server modules + as well as propagated to CGI scripts and SSI pages. Values come from the + native OS environment of the shell which invoked the + <code class="program"><a href="../programs/httpd.html">httpd</a></code> process.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">PassEnv LD_LIBRARY_PATH</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnv" id="SetEnv">SetEnv</a> <a name="setenv" id="setenv">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets environment variables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetEnv <var>env-variable</var> [<var>value</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr> +</table> + <p>Sets an internal environment variable, which is then available to Apache + HTTP Server modules, and passed on to CGI scripts and SSI pages.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SetEnv SPECIAL_PATH /foo/bin</pre> +</div> + + <p> If you omit the <var>value</var> argument, the variable is set to + an empty string.</p> + + <div class="note"><p>The internal environment variables set by this directive are set + <em>after</em> most early request processing directives are run, such as access + control and URI-to-filename mapping. If the environment variable you're + setting is meant as input into this early phase of processing such as the + <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive, you should + instead set the environment variable with + <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><a href="../env.html">Environment Variables</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnsetEnv" id="UnsetEnv">UnsetEnv</a> <a name="unsetenv" id="unsetenv">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes variables from the environment</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr> +</table> + <p>Removes one or more internal environment variables from those passed + on to CGI scripts and SSI pages.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">UnsetEnv LD_LIBRARY_PATH</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_env.html" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_env.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.fr.utf8 b/docs/manual/mod/mod_env.html.fr.utf8 new file mode 100644 index 0000000..cc91812 --- /dev/null +++ b/docs/manual/mod/mod_env.html.fr.utf8 @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_env - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_env</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Modifie l'environnement transmis aux scripts CGI et aux +pages SSI</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>env_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_env.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de contrôler les variables d'environnement + internes utilisées par divers modules du serveur HTTP Apache. Ces + variables sont aussi accessibles aux scripts CGI en tant que + variables d'environnement système natives, et disponibles dans les + pages SSI. Les variables d'environnement peuvent + être transmises depuis le shell qui a lancé le processus + <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Elles peuvent également être définies ou + supprimées au cours du processus de configuration.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#passenv">PassEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenv">SetEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#unsetenv">UnsetEnv</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_env">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_env">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../env.html">Variables d'environnement</a></li> +<li><code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="passenv" id="passenv">Directive</a> <a name="PassEnv" id="PassEnv">PassEnv</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmet des variables d'environnement depuis le +shell</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PassEnv <var>var-env</var> [<var>var-env</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr> +</table> + <p>Cette directive permet de spécifier quelles variables + d'environnement système natives doivent être disponibles en tant que + variables d'environnement internes pour les modules du serveur HTTP + Apache, et propagées vers les scripts CGI et les pages SSI. Leurs + valeurs sont issues de l'environnement natif de l'OS associé au + shell qui a invoqué le processus <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PassEnv LD_LIBRARY_PATH</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setenv" id="setenv">Directive</a> <a name="SetEnv" id="SetEnv">SetEnv</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnv <var>var-env</var> [<var>valeur</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr> +</table> + <p>Définit une variable d'environnement interne, cette dernière étant + ensuite disponible pour les modules du serveur HTTP Apache et + transmise aux scripts CGI et aux pages SSI.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SetEnv SPECIAL_PATH /foo/bin</pre> +</div> + + <p>Si l'argument <var>valeur</var> est absent, la variable est + définie à la valeur d'une chaîne vide.</p> + + <div class="note"><p>Les variables d'environnement internes définies par cette + directive le sont <em>après</em> l'exécution de la plupart des + directives du traitement initial des requêtes, comme les contrôles + d'accès et la mise en correspondance des URIs avec les noms de + fichiers. Si la variable d'environnement est sensée intervenir au + cours de cette phase initiale du traitement, par exemple pour la + directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, + vous devez plutôt utiliser la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> pour définir cette + variable.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../env.html">Variables d'environnement</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="unsetenv" id="unsetenv">Directive</a> <a name="UnsetEnv" id="UnsetEnv">UnsetEnv</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime des variables de l'environnement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UnsetEnv <var>var-env</var> [<var>var-env</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_env</td></tr> +</table> + <p>Supprime une ou plusieurs variables d'environnement internes parmi celles + qui sont transmises aux scripts CGI et aux pages SSI.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">UnsetEnv LD_LIBRARY_PATH</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_env.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.ja.utf8 b/docs/manual/mod/mod_env.html.ja.utf8 new file mode 100644 index 0000000..a18bfa2 --- /dev/null +++ b/docs/manual/mod/mod_env.html.ja.utf8 @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_env - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_env</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>CGI スクリプト及び SSI +ページに渡される環境変数を変更する機能を提供する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>env_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_env.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールにより CGI スクリプトと SSI + ページに適用される環境変数を制御することができるようになります。 + 環境変数は <code class="program"><a href="../programs/httpd.html">httpd</a></code> プロセスを起動したシェルから渡されます。また、 + 設定ファイルで環境変数を設定したり、削除したりすることができます。 + </p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#passenv">PassEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenv">SetEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#unsetenv">UnsetEnv</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_env">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_env">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../env.html">環境変数</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PassEnv" id="PassEnv">PassEnv</a> <a name="passenv" id="passenv">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>シェルからの環境変数を渡す</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_env</td></tr> +</table> + + <p><code class="program"><a href="../programs/httpd.html">httpd</a></code> プロセスを起動したシェルの環境から CGI スクリプトと + SSI ページに渡す環境変数を一つ以上指定します。</p> + + <div class="example"><h3>例</h3><p><code> + PassEnv LD_LIBRARY_PATH + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnv" id="SetEnv">SetEnv</a> <a name="setenv" id="setenv">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>環境変数を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetEnv <var>env-variable</var> <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_env</td></tr> +</table> + <p>環境変数を設定し、それを CGI スクリプトと SSI + ページに渡すようにします。</p> + + <div class="example"><h3>例</h3><p><code> + SetEnv SPECIAL_PATH /foo/bin + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnsetEnv" id="UnsetEnv">UnsetEnv</a> <a name="unsetenv" id="unsetenv">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>環境から変数を取り除く</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_env</td></tr> +</table> + <p>CGI スクリプトと SSI + ページに渡される環境変数から指定された環境変数を取り除きます。</p> + + <div class="example"><h3>例</h3><p><code> + UnsetEnv LD_LIBRARY_PATH + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_env.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.ko.euc-kr b/docs/manual/mod/mod_env.html.ko.euc-kr new file mode 100644 index 0000000..7ec39a0 --- /dev/null +++ b/docs/manual/mod/mod_env.html.ko.euc-kr @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_env - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_env</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>CGI ũƮ SSI ȯ溯 +Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>env_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_env.c</td></tr></table> +<h3></h3> + + <p> CGI ũƮ SSI ȯ溯 + Ѵ. ȯ溯 ִ. + ƴϸ ߿ ȯ溯 ϰ ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#passenv">PassEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenv">SetEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#unsetenv">UnsetEnv</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_env">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_env">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../env.html">ȯ溯</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PassEnv" id="PassEnv">PassEnv</a> <a name="passenv" id="passenv">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ȯ溯 ´</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_env</td></tr> +</table> + <p> Ư ȯ溯 CGI ũƮ + SSI Ѵ.</p> + + <div class="example"><h3></h3><p><code> + PassEnv LD_LIBRARY_PATH + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnv" id="SetEnv">SetEnv</a> <a name="setenv" id="setenv">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȯ溯 Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>SetEnv <var>env-variable</var> <var>value</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_env</td></tr> +</table> + <p>CGI ũƮ SSI ȯ溯 Ѵ.</p> + + <div class="example"><h3></h3><p><code> + SetEnv SPECIAL_PATH /foo/bin + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnsetEnv" id="UnsetEnv">UnsetEnv</a> <a name="unsetenv" id="unsetenv">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ȯ溯 Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_env</td></tr> +</table> + <p>CGI ũƮ SSI ȯ溯 ʴ´.</p> + + <div class="example"><h3></h3><p><code> + UnsetEnv LD_LIBRARY_PATH + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_env.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_env.html.tr.utf8 b/docs/manual/mod/mod_env.html.tr.utf8 new file mode 100644 index 0000000..61d8f30 --- /dev/null +++ b/docs/manual/mod/mod_env.html.tr.utf8 @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_env - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_env</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>CGI betiklerine ve SSI sayfalarına aktarılan değişkenlere müdahale +etmek için kullanılır.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>env_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_env.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül Apache HTTP Sunucusunun çeşitli modülleri tarafınan kullanılan + dahili ortam değişkenlerime müdahale etmeyi mümkün kılar. bu değişkenler + ayrıca, CGI betiklerine yerel ortam değişkenleri olarak sunulur ve SSI + sayfalarında da kullanılabilir. Ortam değişkenleri + <code class="program"><a href="../programs/httpd.html">httpd</a></code> süreci başlatılırken kabuktan aktarılabilir. + Bundan başka, yapılandırma + sürecinde tanımlı veya tanımsız yapılabilirler.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#passenv">PassEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenv">SetEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#unsetenv">UnsetEnv</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_env">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_env">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../env.html">Ortam Değişkenleri</a></li> +<li><code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PassEnv" id="PassEnv">PassEnv</a> <a name="passenv" id="passenv">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam değişkenlerini kabuktan aktarır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>PassEnv <var>ortam-değişkeni</var> [<var>ortam-değişkeni</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_env</td></tr> +</table> + <p>Dahili ortam değişkenleri olarak kullanılmak üzere sistem ortam + değişkenlerini içeri aktarmak için kullanılır. Bunlar daha sonra Apache + HTTP Sunucusunun modüllerinden kullanılabilir, CGI betiklerine ve SSI + sayfalarında aktarılabilir. Değerler <code class="program"><a href="../programs/httpd.html">httpd</a></code> süreci + başlatılırken kabuğun işletim sistemi ortamından gelir.</p> + + <div class="example"><h3>Örnek</h3><p><code> + PassEnv LD_LIBRARY_PATH + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnv" id="SetEnv">SetEnv</a> <a name="setenv" id="setenv">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam değişkenlerini tanımlar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetEnv <var>ortam-değişkeni</var> [<var>değer</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_env</td></tr> +</table> + <p>CGI betiklerine ve SSI sayfalarına aktarılmak ve Apache HTTP Sunucusu + modüllerinde kullanılmak üzere bir dahili ortam değişkeni tanımlanmasını + sağlar.</p> + + <pre class="prettyprint lang-config">SetEnv SPECIAL_PATH /foo/bin</pre> + + + <p>Bir <var>değer</var> belirtilmezse değişkene boş dizgi atanır.</p> + + <div class="note"><p>Bu yönerge tarafından atanan dahili ortam değişkenleri, en başta + işleme sokulan, ereşem denetimi, URI-dosya ismi eşleştirmesi gibi istek + işleme yönergelerinden sonra işleme sokulur. Eğer atadığınız ortam değişkeni, + bir <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesindeki + gibi erken işlem aşamalarına girdi sağlıyorsa, bu durumda ortam değişkenini + <code class="directive"><a href="../mod/mod_setenvif.html#setenvif"> SetEnvIf</a></code> ile atamalısınız.</p> + </div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../env.html">Environment Variables</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UnsetEnv" id="UnsetEnv">UnsetEnv</a> <a name="unsetenv" id="unsetenv">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortamdaki değişkenleri tanımsız hale getirir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>UnsetEnv <var>ortam-değişkeni</var> [<var>ortam-değişkeni</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_env</td></tr> +</table> + <p>CGI betiklerine ve SSI sayfalarına bir daha aktarılmamak üzere bir + dahili ortam değişkenini siler.</p> + + <pre class="prettyprint lang-config">UnsetEnv LD_LIBRARY_PATH</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_env.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_env.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_example_hooks.html b/docs/manual/mod/mod_example_hooks.html new file mode 100644 index 0000000..ecdeca8 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_example_hooks.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_example_hooks.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_example_hooks.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_example_hooks.html.en b/docs/manual/mod/mod_example_hooks.html.en new file mode 100644 index 0000000..8b4bdf4 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html.en @@ -0,0 +1,184 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_example_hooks - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_example_hooks</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_example_hooks.html" title="English"> en </a> | +<a href="../fr/mod/mod_example_hooks.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_example_hooks.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Illustrates the Apache module API</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>example_hooks_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_example_hooks.c</td></tr></table> +<h3>Summary</h3> + + <p>The files in the <code>modules/examples</code> directory + under the Apache distribution directory tree are provided as an + example to those that wish to write modules that use the Apache + API.</p> + + <p>The main file is <code>mod_example_hooks.c</code>, which + illustrates all the different callback mechanisms and call + syntaxes. By no means does an add-on module need to include + routines for all of the callbacks - quite the contrary!</p> + + <p>The example module is an actual working module. If you link + it into your server, enable the "example-hooks-handler" handler for a + location, and then browse to that location, you will see a + display of some of the tracing the example module did as the + various callbacks were made.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#compiling">Compiling the example_hooks module</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#using">Using the <code>mod_example_hooks</code> Module</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Example</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_example_hooks">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_example_hooks">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="compiling" id="compiling">Compiling the example_hooks module</a></h2> + + <p>To include the example_hooks module in your server, follow the + steps below:</p> + + <ol> + <li> + Run <code class="program"><a href="../programs/configure.html">configure</a></code> with <code>--enable-example-hooks</code> + option.</li> + + <li>Make the server (run "<code>make</code>").</li> + </ol> + + <p>To add another module of your own:</p> + + <ol class="up-A"> + <li><code>cp modules/examples/mod_example_hooks.c + modules/new_module/<em>mod_myexample.c</em></code></li> + + <li>Modify the file.</li> + + <li>Create <code>modules/new_module/config.m4</code>. + <ol> + <li>Add <code>APACHE_MODPATH_INIT(new_module)</code>.</li> + <li>Copy APACHE_MODULE line with "example_hooks" from + <code>modules/examples/config.m4</code>.</li> + <li>Replace the first argument "example_hooks" with <em>myexample</em>.</li> + <li>Replace the second argument with brief description of your module. + It will be used in <code>configure --help</code>.</li> + <li>If your module needs additional C compiler flags, linker flags or + libraries, add them to CFLAGS, LDFLAGS and LIBS accordingly. + See other <code>config.m4</code> files in modules directory for + examples.</li> + <li>Add <code>APACHE_MODPATH_FINISH</code>.</li> + </ol> + </li> + + <li>Create <code>module/new_module/Makefile.in</code>. + If your module doesn't need special build instructions, + all you need to have in that file is + <code>include $(top_srcdir)/build/special.mk</code>.</li> + + <li>Run ./buildconf from the top-level directory.</li> + + <li>Build the server with --enable-myexample</li> + + </ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">Using the <code>mod_example_hooks</code> Module</a></h2> + + <p>To activate the example_hooks module, include a block similar to + the following in your <code>httpd.conf</code> file:</p> +<pre class="prettyprint lang-config"><Location "/example-hooks-info"> + SetHandler example-hooks-handler +</Location></pre> + + + <p>As an alternative, you can put the following into a <a href="core.html#accessfilename"><code>.htaccess</code></a> file + and then request the file "test.example" from that location:</p> +<pre class="prettyprint lang-config">AddHandler example-hooks-handler ".example"</pre> + + + <p>After reloading/restarting your server, you should be able + to browse to this location and see the brief display mentioned + earlier.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Example" id="Example">Example</a> <a name="example" id="example">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Demonstration directive to illustrate the Apache module +API</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Example</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_example_hooks</td></tr> +</table> + <p>The <code class="directive">Example</code> directive just sets a demonstration + flag which the example module's content handler displays. It + takes no arguments. If you browse to an URL to which the + example-hooks content-handler applies, you will get a display of the + routines within the module and how and in what order they were + called to service the document request. The effect of this + directive one can observe under the point "<code>Example + directive declared here: YES/NO</code>".</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_example_hooks.html" title="English"> en </a> | +<a href="../fr/mod/mod_example_hooks.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_example_hooks.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_example_hooks.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_example_hooks.html.fr.utf8 b/docs/manual/mod/mod_example_hooks.html.fr.utf8 new file mode 100644 index 0000000..5fb9f50 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html.fr.utf8 @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_example_hooks - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_example_hooks</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_example_hooks.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_example_hooks.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_example_hooks.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Illustration de l'API des modules Apache</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>example_hooks_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_example_hooks.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Certains fichiers situés dans le répertoire + <code>modules/examples</code> de l'arborescence de la + distribution d'Apache sont fournis à titre d'exemples pour ceux qui + souhaitent écrire des modules qui utilisent l'API d'Apache.</p> + + <p>Le fichier principal est <code>mod_example_hooks.c</code>, qui + constitue une illustration exhaustive des différents mécanismes et + syntaxes d'appels. En aucun cas un module additionnel n'aura à + inclure des routines pour tous les appels - il n'en nécessitera au + contraire qu'un petit nombre !</p> + + <p>Le module example_hooks fonctionne réellement. Si vous le chargez dans + votre serveur, activez le gestionnaire "example-hooks-handler" dans une + section location, et essayez d'accéder à la zone du site web + correspondante, vous verrez s'afficher certaines sorties que le + module example_hooks produit au cours des différents appels.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#compiling">Compilation du module example_hooks</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation du module +<code>mod_example_hooks</code></a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Example</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_example_hooks">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_example_hooks">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="compiling" id="compiling">Compilation du module example_hooks</a></h2> + + <p>Pour inclure le module example_hooks dans votre serveur, effectuez les + étapes suivantes :</p> + + <ol> + <li>Exécutez <code class="program"><a href="../programs/configure.html">configure</a></code> avec l'option + <code>--enable-example-hooks</code>.</li> + + <li>Compilez le serveur (exécutez la commande + "<code>make</code>").</li> + </ol> + + <p>Pour ajouter votre propre module :</p> + + <ol class="up-A"> + <li><code>cp modules/examples/mod_example_hooks.c + modules/nouveau_module/<em>mod_monexemple.c</em></code></li> + + <li>Modifiez le fichier.</li> + + <li>Créez <code>modules/nouveau_module/config.m4</code>. + <ol> + <li>Ajoutez <code>APACHE_MODPATH_INIT(nouveau_module)</code>.</li> + <li>Copiez la ligne APACHE_MODULE contenant "example_hooks" depuis + <code>modules/examples/config.m4</code>.</li> + <li>Remplacez le premier argument "example-hooks" par + <em>monexemple</em>.</li> + <li>Remplacez le second argument par une brève description de + votre module. Cette description sera utilisée par la commande + <code>configure --help</code>.</li> + <li>Si la compilation de votre module nécessite des drapeaux + de compilation C, des drapeaux d'édition de liens, ou de + bibliothèques supplémentaires, ajoutez les respectivement à + CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers + <code>config.m4</code> des répertoires des autres modules pour + plus d'exemples.</li> + <li>Ajoutez <code>APACHE_MODPATH_FINISH</code>.</li> + </ol> + </li> + + <li>Créez le fichier + <code>module/nouveau_module/Makefile.in</code>. + Si la compilation de votre module ne nécessite pas d'instructions + particulières, ce fichier ne doit contenir que la ligne + <code>include $(top_srcdir)/build/special.mk</code>.</li> + + <li>Exécutez ./buildconf à la racine du répertoire.</li> + + <li>Compilez le serveur après avoir exécuté la commande configure + avec l'option --enable-monexemple.</li> + + </ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">Utilisation du module +<code>mod_example_hooks</code></a></h2> + + <p>Pour activer le module example_hooks, ajoutez à votre fichier + <code>httpd.conf</code> un bloc du style :</p> +<pre class="prettyprint lang-config"><Location "/example-hooks-info"> + SetHandler example-hooks-handler +</Location></pre> + + + <p>Vous pouvez aussi ajouter ce qui suit dans un fichier <a href="core.html#accessfilename"><code>.htaccess</code></a>, puis + accéder au fichier "test.example" à partir du répertoire + correspondant :</p> + +<pre class="prettyprint lang-config">AddHandler example-hooks-handler ".example"</pre> + + + <p>Après avoir rechargé la configuration ou redémarré votre serveur, + vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui + a été décrit plus haut.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="example" id="example">Directive</a> <a name="Example" id="Example">Example</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directive de démonstration pour illustrer l'API des modules +Apache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Example</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_example_hooks</td></tr> +</table> + <p>La directive <code class="directive">Example</code> n'a pour fonction que + de définir un drapeau de démonstration que le gestionnaire de + contenu du module example_hooks va afficher. Elle ne possède aucun + argument. Si vous naviguez vers une URL à laquelle le gestionnaire + de contenu example_hooks s'applique, vous verrez s'afficher les routines + du module, ainsi que l'ordre dans lequel elles ont été appelées pour + servir le document demandé. On peut observer l'effet de cette + directive dans la phrase "<code>Example + directive declared here: YES/NO</code>".</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_example_hooks.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_example_hooks.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_example_hooks.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_example_hooks.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_example_hooks.html.ko.euc-kr b/docs/manual/mod/mod_example_hooks.html.ko.euc-kr new file mode 100644 index 0000000..9ba6984 --- /dev/null +++ b/docs/manual/mod/mod_example_hooks.html.ko.euc-kr @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_example_hooks - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_example_hooks</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_example_hooks.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_example_hooks.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_example_hooks.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>ġ API Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>example_hooks_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_example_hooks.c</td></tr></table> +<h3></h3> + + <p>ġ <code>modules/examples</code> 丮 + ִ ϵ ġ API Ͽ ۼϷ + .</p> + + <p><code>mod_example_hooks.c</code> ݹ(callback) + ȣ ϴ ̴. ݹ + ʿ䰡 . ݴ!</p> + + <p>example ϴ ̴. + ϰ Ư ġ "example-hooks-handler" ڵ鷯 ҴϿ + װ ¡ϸ example ݹ Ȯ + ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#compiling">example ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#using"><code>mod_example_hooks</code> ϱ</a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Example</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_example_hooks">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_example_hooks">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="compiling" id="compiling">example ϱ</a></h2> + + <p> example Ϸ ģ:</p> + + <ol> + <li> + <code>--enable-example-hooks</code> ɼǰ Բ + <code>configure</code> Ѵ.</li> + + <li> Ѵ ("<code>make</code>" Ѵ).</li> + </ol> + + <p>ڽ ߰Ϸ:</p> + + <ol class="up-A"> + <li><code>cp modules/examples/mod_example_hooks.c + modules/new_module/<em>mod_myexample.c</em></code></li> + + <li> Ѵ.</li> + + <li><code>modules/new_module/config.m4</code> . + <ol> + <li><code>APACHE_MODPATH_INIT(new_module)</code> + ߰Ѵ.</li> + <li><code>modules/examples/config.m4</code> Ͽ + "example_hooks" ִ APACHE_MODULE ؿ´.</li> + <li>ù° ƱԸƮ "example_hooks" <em>myexample</em> + Ѵ.</li> + <li>ι° ƱԸƮ ڸ ڽ + ´. <code>configure --help</code> + ϸ ش.</li> + <li> Ҷ Ư C Ϸ ɼ, Ŀ + ɼ, ̺귯 ʿϸ CFLAGS, LDFLAGS, + LIBS ߰Ѵ. modules 丮 ִ ٸ + <code>config.m4</code> ϵ ϶.</li> + <li><code>APACHE_MODPATH_FINISH</code> ߰Ѵ.</li> + </ol> + </li> + + <li><code>module/new_module/Makefile.in</code> + . ϴµ Ư ɾ ʿٸ, + Ͽ <code>include $(top_srcdir)/build/special.mk</code> + ־ ȴ.</li> + + <li>ֻ 丮 ./buildconf Ѵ.</li> + + <li>--enable-myexample ɼ Ͽ Ѵ</li> + + </ol> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using"><code>mod_example_hooks</code> ϱ</a></h2> + + <p>example Ϸ <code>httpd.conf</code> Ͽ + ߰϶:</p> +<div class="example"><p><code> + <Location /example-hooks-info><br /> + SetHandler example-hooks-handler<br /> + </Location> +</code></p></div> + + <p>ƴϸ <a href="core.html#accessfilename"><code>.htaccess</code></a> + Ͽ ߰ϰ, ġ "test.example" + û϶:</p> +<div class="example"><p><code> + AddHandler example-hooks-handler .example +</code></p></div> + + <p> ġ ¡ϸ տ + Ե ̴.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Example" id="Example">Example</a> <a name="example" id="example">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ġ API ϱ þ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Example</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_example_hooks</td></tr> +</table> + <p><code class="directive">Example</code> þ example + ڵ鷯 θ Ѵ. þ + ƱԸƮ ʴ´. example ڵ鷯 URL + ϸ û ϱ ȿ Լ + Ҹ ִ. þ ȿ + "<code>Example directive declared here: YES/NO</code>" + Ȯ ִ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_example_hooks.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_example_hooks.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_example_hooks.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_example_hooks.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html b/docs/manual/mod/mod_expires.html new file mode 100644 index 0000000..98bfc5c --- /dev/null +++ b/docs/manual/mod/mod_expires.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_expires.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_expires.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_expires.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_expires.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_expires.html.en b/docs/manual/mod/mod_expires.html.en new file mode 100644 index 0000000..30a7f7a --- /dev/null +++ b/docs/manual/mod/mod_expires.html.en @@ -0,0 +1,274 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_expires - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_expires</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_expires.html" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Generation of <code>Expires</code> and +<code>Cache-Control</code> HTTP headers according to user-specified +criteria</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>expires_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_expires.c</td></tr></table> +<h3>Summary</h3> + + <p>This module controls the setting of the <code>Expires</code> + HTTP header and the <code>max-age</code> directive of the + <code>Cache-Control</code> HTTP header in server responses. The + expiration date can set to be relative to either the time the + source file was last modified, or to the time of the client + access.</p> + + <p>These HTTP headers are an instruction to the client about the + document's validity and persistence. If cached, the document may + be fetched from the cache rather than from the source until this + time has passed. After that, the cache copy is considered + "expired" and invalid, and a new copy must be obtained from the + source.</p> + + <p>To modify <code>Cache-Control</code> directives other than + <code>max-age</code> (see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC + 2616 section 14.9</a>), you can use the <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code> directive.</p> + + <p> When the <code>Expires</code> header is already part of the response + generated by the server, for example when generated by a CGI script or + proxied from an origin server, this module does not change or add + an <code>Expires</code> or <code>Cache-Control</code> header.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">Alternate Interval Syntax</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresactive">ExpiresActive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresbytype">ExpiresByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresdefault">ExpiresDefault</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_expires">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_expires">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="AltSyn" id="AltSyn">Alternate Interval Syntax</a></h2> + <p>The <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> and + <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> directives + can also be defined in a more readable syntax of the form:</p> + + <pre class="prettyprint lang-config">ExpiresDefault "<var>base</var> [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..." +ExpiresByType type/encoding "<var>base</var> [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..."</pre> + + + <p>where <var>base</var> is one of:</p> + + <ul> + <li><code>access</code></li> + + <li><code>now</code> (equivalent to + '<code>access</code>')</li> + + <li><code>modification</code></li> + </ul> + + <p>The <code>plus</code> keyword is optional. <var>num</var> + should be an integer value [acceptable to <code>atoi()</code>], + and <var>type</var> is one of:</p> + + <ul> + <li><code>years</code></li> + <li><code>months</code></li> + <li><code>weeks</code></li> + <li><code>days</code></li> + <li><code>hours</code></li> + <li><code>minutes</code></li> + <li><code>seconds</code></li> + </ul> + + <p>For example, any of the following directives can be used to + make documents expire 1 month after being accessed, by + default:</p> + + <pre class="prettyprint lang-config">ExpiresDefault "access plus 1 month" +ExpiresDefault "access plus 4 weeks" +ExpiresDefault "access plus 30 days"</pre> + + + <p>The expiry time can be fine-tuned by adding several + '<var>num</var> <var>type</var>' clauses:</p> + + <pre class="prettyprint lang-config">ExpiresByType text/html "access plus 1 month 15 days 2 hours" +ExpiresByType image/gif "modification plus 5 hours 3 minutes"</pre> + + + <p>Note that if you use a modification date based setting, the + Expires header will <strong>not</strong> be added to content + that does not come from a file on disk. This is due to the fact + that there is no modification time for such content.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresActive" id="ExpiresActive">ExpiresActive</a> <a name="expiresactive" id="expiresactive">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables generation of <code>Expires</code> +headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExpiresActive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ExpiresActive Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr> +</table> + <p>This directive enables or disables the generation of the + <code>Expires</code> and <code>Cache-Control</code> headers for + the document realm in question. (That is, if found in an + <code>.htaccess</code> file, for instance, it applies only to + documents generated from that directory.) If set to + <code>Off</code>, the headers will not be generated for any + document in the realm (unless overridden at a lower level, such as + an <code>.htaccess</code> file overriding a server config + file). If set to <code>On</code>, the headers will be added to + served documents according to the criteria defined by the + <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> and + <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> + directives (<em>q.v.</em>).</p> + + <p>Note that this directive does not guarantee that an + <code>Expires</code> or <code>Cache-Control</code> header will be + generated. If the criteria aren't met, no header will be sent, and + the effect will be as though this directive wasn't even + specified.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresByType" id="ExpiresByType">ExpiresByType</a> <a name="expiresbytype" id="expiresbytype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Value of the <code>Expires</code> header configured +by MIME type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr> +</table> + <p>This directive defines the value of the <code>Expires</code> + header and the <code>max-age</code> directive of the + <code>Cache-Control</code> header generated for documents of the + specified type (<em>e.g.</em>, <code>text/html</code>). The second + argument sets the number of seconds that will be added to a base + time to construct the expiration date. The <code>Cache-Control: + max-age</code> is calculated by subtracting the request time from + the expiration date and expressing the result in seconds.</p> + + <p>The base time is either the last modification time of the + file, or the time of the client's access to the document. Which + should be used is specified by the + <code><var><code></var></code> field; <code>M</code> + means that the file's last modification time should be used as + the base time, and <code>A</code> means the client's access + time should be used.</p> + + <p>The difference in effect is subtle. If <code>M</code> is used, + all current copies of the document in all caches will expire at + the same time, which can be good for something like a weekly + notice that's always found at the same URL. If <code>A</code> is + used, the date of expiration is different for each client; this + can be good for image files that don't change very often, + particularly for a set of related documents that all refer to + the same images (<em>i.e.</em>, the images will be accessed + repeatedly within a relatively short timespan).</p> + + <div class="example"><h3>Example:</h3><pre class="prettyprint lang-config"># enable expirations +ExpiresActive On +# expire GIF images after a month in the client's cache +ExpiresByType image/gif A2592000 +# HTML documents are good for a week from the +# time they were changed +ExpiresByType text/html M604800</pre> +</div> + + <p>Note that this directive only has effect if + <code>ExpiresActive On</code> has been specified. It overrides, + for the specified MIME type <em>only</em>, any expiration date + set by the <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> + directive.</p> + + <p>You can also specify the expiration time calculation using + an <a href="#AltSyn">alternate syntax</a>, described earlier in + this document.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresDefault" id="ExpiresDefault">ExpiresDefault</a> <a name="expiresdefault" id="expiresdefault">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default algorithm for calculating expiration time</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExpiresDefault <var><code>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr> +</table> + <p>This directive sets the default algorithm for calculating the + expiration time for all documents in the affected realm. It can be + overridden on a type-by-type basis by the <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> directive. See the + description of that directive for details about the syntax of the + argument, and the <a href="#AltSyn">alternate syntax</a> + description as well.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_expires.html" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_expires.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html.fr.utf8 b/docs/manual/mod/mod_expires.html.fr.utf8 new file mode 100644 index 0000000..49c90f5 --- /dev/null +++ b/docs/manual/mod/mod_expires.html.fr.utf8 @@ -0,0 +1,280 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_expires - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_expires</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génération des en-têtes HTTP <code>Expires</code> et +<code>Cache-Control</code> en fonction de critères spécifiés par +l'utilisateur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>expires_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_expires.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de contrôler la définition de l'en-tête HTTP + <code>Expires</code> et la directive <code>max-age</code> de + l'en-tête HTTP <code>Cache-Control</code> dans les réponses du + serveur. La date d'expiration peut être définie soit par rapport à + la date de dernière modification du fichier source, soit + par rapport à l'heure d'accès du client.</p> + + <p>Ces en-têtes HTTP permettent d'informer le client quant à la + validité et à la persistence du document. S'il est présent dans le + cache, et tant qu'il n'est pas arrivé à expiration, le document sera + servi à partir de ce dernier, plutôt qu'à partir du document source. + Après expiration, la copie du document dans le cache sera considérée + comme "expirée" et donc invalide, et une nouvelle copie devra être + obtenue à partir du document source.</p> + + <p>Pour modifier les directives de contrôle du cache autres + que <code>max-age</code> (voir la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC + 2616 section 14.9</a>), vous pouvez utiliser la directive <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>.</p> + + <p>Lorsque l'en-tête <code>Expires</code> est déjà présent dans la + réponse générée par le serveur, par exemple s'il a été créé par un + script CGI ou un serveur original via un serveur mandataire, ce + module n'ajoute aucun en-tête <code>Expires</code> ou + <code>Cache-Control</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">Autre syntaxe de définition de +l'intervalle</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresactive">ExpiresActive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresbytype">ExpiresByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresdefault">ExpiresDefault</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_expires">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_expires">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="AltSyn" id="AltSyn">Autre syntaxe de définition de +l'intervalle</a></h2> + <p>Pour une syntaxe plus lisible, on peut aussi utiliser les + directives <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> et <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> comme suit :</p> + + <pre class="prettyprint lang-config">ExpiresDefault "<var>base</var> [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..." +ExpiresByType type/encoding "<var>base</var> [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..."</pre> + + + <p>où <var>base</var> peut être :</p> + + <ul> + <li><code>access</code></li> + + <li><code>now</code> (équivalent à + '<code>access</code>')</li> + + <li><code>modification</code></li> + </ul> + + <p>Le mot-clé <code>plus</code> est optionnel. <var>num</var> doit + correspondre à une valeur entière [compatible avec + <code>atoi()</code>], et <var>type</var> peut être choisi parmi :</p> + + <ul> + <li><code>years</code></li> + <li><code>months</code></li> + <li><code>weeks</code></li> + <li><code>days</code></li> + <li><code>hours</code></li> + <li><code>minutes</code></li> + <li><code>seconds</code></li> + </ul> + + <p>Par exemple, pour faire expirer par défaut les documents 1 mois + après leur accès, on peut utiliser une des directives suivantes :</p> + <pre class="prettyprint lang-config">ExpiresDefault "access plus 1 month" +ExpiresDefault "access plus 4 weeks" +ExpiresDefault "access plus 30 days"</pre> + + + + <p>La date d'expiration peut être définie plus précisément en + ajoutant plusieurs clauses '<var>num</var> <var>type</var>' :</p> + + <pre class="prettyprint lang-config">ExpiresByType text/html "access plus 1 month 15 days 2 hours" +ExpiresByType image/gif "modification plus 5 hours 3 minutes"</pre> + + + <p>Notez que si vous utilisez une configuration basée sur la date de + modification, l'en-tête Expires ne sera pas ajouté à un contenu qui + ne provient pas directement d'un fichier sur disque ; et ceci tout + simplement parce que ce type de contenu ne possède pas de date de + modification.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="expiresactive" id="expiresactive">Directive</a> <a name="ExpiresActive" id="ExpiresActive">ExpiresActive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'en-têtes +<code>Expires</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresActive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExpiresActive Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr> +</table> + <p>Cette directive permet d'activer ou de désactiver la génération + des en-têtes <code>Expires</code> et <code>Cache-Control</code> pour + les documents concernés ; en d'autres termes, si cette directive se + trouve dans un fichier <code>.htaccess</code>, par exemple, elle ne + s'applique qu'aux documents générés à partir du répertoire + considéré. Si elle est définie à <code>Off</code>, les en-têtes ne + seront générés pour aucun document du domaine considéré (sauf + surcharge de la configuration à un niveau inférieur, comme un + fichier <code>.htaccess</code> qui l'emporterait sur le fichier de + configuration du serveur). Si elle est définie à <code>On</code>, + les en-têtes seront ajoutés aux documents servis en fonction des + critères définis par les directives <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> et <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> (<em>voir plus + loin</em>).</p> + + <p>Notez que cette directive ne permet pas de garantir qu'un en-tête + <code>Expires</code> ou <code>Cache-Control</code> sera généré. Si + les critères ne sont pas respectés, aucun en-tête ne sera généré, et + la directive produira le même effet que si elle n'avait pas été + définie.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="expiresbytype" id="expiresbytype">Directive</a> <a name="ExpiresByType" id="ExpiresByType">ExpiresByType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition de la valeur de l'en-tête <code>Expires</code> +en fonction du type MIME</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresByType <var>type MIME</var> +<var><code>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr> +</table> + <p>Cette directive permet de définir la valeur de l'en-tête + <code>Expires</code> et de la directive <code>max-age</code> de + l'en-tête <code>Cache-Control</code> générés pour les documents du + type MIME spécifié (par exemple, <code>text/html</code>). Le second + argument définit le nombre de secondes qui seront ajoutées à un + temps de base pour calculer la date d'expiration. + <code>Cache-Control: max-age</code> se calcule en soustrayant la + date de la requête de la date d'expiration et s'exprime en + secondes.</p> + + <p>Le champ <code><var><code></var></code> permet de spécifier + quel temps doit être utilisé comme temps de base; <code>M</code> + signifie que c'est la date + de dernière modification du fichier qui doit être utilisée comme + temps de base, alors que <code>A</code> signifie que c'est le moment + où le client a accédé au document qui doit être utilisé comme temps + de base.</p> + + <p>La différence d'effet est subtile. Si on utilise <code>M</code>, + toutes les copies existantes du document dans tous les caches + expireront au même moment, ce qui peut convenir par exemple pour une + notice hebdomadaire qui correspond toujours à la même URL. Si on + utilise <code>A</code>, la date d'expiration sera différente pour + chaque client, ce qui peut convenir pour des fichiers d'images qui + ne changent pas très souvent, et en particulier pour un ensemble de + documents en relation qui se réfèrent tous aux mêmes images (ces + images sont alors accédées de manière répétitive dans un intervalle + de temps assez court).</p> + + <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config"># active la génération des en-têtes Expires +ExpiresActive On +# les images GIF expirent au bout d'un mois dans le cache du +# client +ExpiresByType image/gif A2592000 +# les documents HTML restent valables une semaine après leur date +# de dernière modification +ExpiresByType text/html M604800</pre> +</div> + + <p>Notez que cette directive ne produit d'effet que si + <code>ExpiresActive On</code> a été spécifié. Elle l'emporte, mais + <em>seulement</em> pour le type MIME spécifié, sur toute date + d'expiration définie par la directive <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code>.</p> + + <p>Vous pouvez aussi définir le mode de calcul de la date + d'expiration en utilisant une <a href="#AltSyn">syntaxe + alternative</a>, comme décrit plus haut dans ce document.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="expiresdefault" id="expiresdefault">Directive</a> <a name="ExpiresDefault" id="ExpiresDefault">ExpiresDefault</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mode de calcul par défaut de la date +d'expiration</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresDefault <var><code>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr> +</table> + <p>Cette directive permet de définir le mode de calcul par défaut de + la date d'expiration pour tous les documents du domaine considéré. + Elle peut être annulée pour certains types de documents par la + directive <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code>. Voir la description + de cette dernière directive pour plus de détails à propos de la + syntaxe de l'argument, ainsi que la description de la <a href="#AltSyn">syntaxe alternative</a>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_expires.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html.ja.utf8 b/docs/manual/mod/mod_expires.html.ja.utf8 new file mode 100644 index 0000000..e928d9e --- /dev/null +++ b/docs/manual/mod/mod_expires.html.ja.utf8 @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_expires - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_expires</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ユーザの指定した基準に基づいた <code>Expires</code> と +<code>Cache-Control</code> HTTP ヘッダの生成</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>expires_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_expires.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールはサーバ応答の <code>Expires</code> HTTP ヘッダ + と <code>Cache-Control</code> ヘッダの <code>max-age</code> ディレクティブの + 設定を制御します。元のファイルが作成された時刻または + クライアントのアクセス時刻のどちらかに基づいて期限切れ日を + 設定することができます。</p> + + <p>これらのヘッダはクライアントに文書の + 有効性と継続性を指示します。文書がキャッシュされた場合には、 + 指定時刻に達するまでは、元の場所から取得する代わりに + キャッシュされているものを使うことができます。その後は、 + キャッシュにあるコピーは期限切れ (expired) で無効であるとされ、 + 元の場所から新しいものを取得する必要があります。</p> + + <p><code>max-age</code> 以外 (<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC + 2616 section 14.9</a> 参照) の <code>Cache-Control</code> のディレクティブを + 操作するには <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code> ディレクティブを + 使うことができます。</p></div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">代替期間指定構文</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresactive">ExpiresActive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresbytype">ExpiresByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresdefault">ExpiresDefault</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_expires">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_expires">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="AltSyn" id="AltSyn">代替期間指定構文</a></h2> + + <p><code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> ディレクティブと + <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> ディレクティブは + 以下のより読み易い構文を使って定義することができます:</p> + + <div class="example"><p><code> + ExpiresDefault "<base> [plus] {<num> + <type>}*"<br /> + ExpiresByType type/encoding "<base> [plus] + {<num> <type>}*" + </code></p></div> + + <p><base> は以下のどれかです:</p> + + <ul> + <li><code>access</code></li> + + <li><code>now</code> ('<code>access</code>' と等価)</li> + + <li><code>modification</code></li> + </ul> + + <p><code>plus</code> キーワードは省略可能です。<num> + は (<code>atoi()</code> が受け付ける) 整数値、 + <type> は以下のどれかです:</p> + + <ul> + <li><code>years</code></li> + <li><code>months</code></li> + <li><code>weeks</code></li> + <li><code>days</code></li> + <li><code>hours</code></li> + <li><code>minutes</code></li> + <li><code>seconds</code></li> + </ul> + + <p>例えば、以下のディレクティブはどれもデフォルトで文書がアクセスの 1 ヶ月後に + 期限が切れるようにするために使えます:</p> + + <div class="example"><p><code> + ExpiresDefault "access plus 1 month"<br /> + ExpiresDefault "access plus 4 weeks"<br /> + ExpiresDefault "access plus 30 days" + </code></p></div> + + <p>期限切れ時刻はいくつか + '<num> <type>' 節を追加することでより細かく + 制御することができます:</p> + + <div class="example"><p><code> + ExpiresByType text/html "access plus 1 month 15 + days 2 hours"<br /> + ExpiresByType image/gif "modification plus 5 hours 3 + minutes" + </code></p></div> + + <p>修正時刻に基づいた設定を使用している場合、Expires ヘッダは + ディスクのファイル以外のコンテンツには<strong>追加されない</strong>ことに注意 + してください。そのようなコンテンツには修正時刻は存在しないからです。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresActive" id="ExpiresActive">ExpiresActive</a> <a name="expiresactive" id="expiresactive">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>Expires</code> ヘッダの生成を有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ExpiresActive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_expires</td></tr> +</table> + <p>このディレクティブは対応するドキュメントの領域で + <code>Expires</code> と <code>Cache-Control</code>ヘッダを + 有効にするか無効にするかを決めます。 + (例えば、<code>.htaccess</code> ファイルではそのディレクトリの + 文書のみに適用されるということです。) <code>Off</code> に + 設定された場合は対応領域でそれらのヘッダは + 生成されません (<code>.htaccess</code> がサーバ設定ファイルの設定を + 上書きする、というような下位レベルでの上書きがされていなければ)。 + <code>On</code> に設定されていれば、ヘッダは <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> ディレクティブと + <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> ディレクティブ + の基準に従って文書にヘッダを追加します (各ディレクティブ参照)。</p> + + <p>このディレクティブは <code>Expires</code> と + <code>Cache-Control</code> ヘッダの存在を + 保証するわけではないことに注意してください。基準が満たされて + いない場合はヘッダは追加されず、結果としてこのディレクティブが + 指定されていなかったかのようにさえ見えることになります。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresByType" id="ExpiresByType">ExpiresByType</a> <a name="expiresbytype" id="expiresbytype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>MIME タイプによって設定される <code>Expires</code> ヘッダの値</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_expires</td></tr> +</table> + <p>このディレクティブは指定されたタイプのドキュメント + (<em>例えば</em> <code>text/html</code>) + に対して生成される <code>Expires</code> ヘッダと <code>Cache-Control</code> + ヘッダの <code>max-age</code> ディレクティブの値を定義します。 + 二つ目の引数は期限切れの日時を生成するための基準時刻に追加される + 秒数を設定します。<code>Cache-Control: + max-age</code> は期限切れの時刻からリクエスト時刻を引いたものを秒で + 表すことで生成されます。</p> + + <p>基準時刻はファイルの最終修正時刻か、クライアントのドキュメントへの + アクセス時刻です。どちらを使うべきかは <code><var><code></var></code> + によって指定します。<code>M</code> は基準時刻として + ファイルの最終修正時刻をという意味で、<code>A</code> はクライアントの + アクセス時刻を使うという意味になります。</p> + + <p>効果には微妙な違いがあります。<code>M</code> が使用された場合は、 + すべてのキャッシュにある現在のドキュメントキャッシュは同時に期限が + 切れます。これは同じ URL に毎週常に置かれる報せのようなものには + 非常に有効です。<code>A</code> が使用された場合は、期限切れの + 時間は各クライアントよって異なります。これはあまり変更されない + 画像ファイルなど、特に関連するドキュメント群がすべて同じ画像を + 参照するとき (<em>すなわち</em>画像が比較的短い期間内に繰り返し + アクセスされるとき) に有効です。</p> + + <div class="example"><h3>例:</h3><p><code> + # enable expirations<br /> + ExpiresActive On<br /> + # expire GIF images after a month in the client's cache<br /> + ExpiresByType image/gif A2592000<br /> + # HTML documents are good for a week from the<br /> + # time they were changed<br /> + ExpiresByType text/html M604800 + </code></p></div> + + <p>このディレクティブは <code>ExpiresActive On</code> が指定されている + ときのみ有効であることに注意してください。これは、 + 指定された MIME タイプに対して<em>のみ</em> <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> ディレクティブで + 設定された期限切れ期日を上書きします。</p> + + <p>この文書の前の方で説明されている<a href="#AltSyn">代替構文</a>を + 使って期限切れ期日の計算方法を指定することもできます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresDefault" id="ExpiresDefault">ExpiresDefault</a> <a name="expiresdefault" id="expiresdefault">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>期限切れ期日を計算するデフォルトアルゴリズム</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ExpiresDefault <var><code>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_expires</td></tr> +</table> + <p>このディレクティブは対応する範囲のすべてのドキュメントに対して + デフォルトの期限切れ期日の計算アルゴリズムを設定します。<code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> ディレクティブによって + タイプ毎に上書きすることができます。引数の構文はそのディレクティブの + 説明を参照してください。また、<a href="#AltSyn">代替構文</a>も + 参照してください。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_expires.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_expires.html.ko.euc-kr b/docs/manual/mod/mod_expires.html.ko.euc-kr new file mode 100644 index 0000000..0ad03a4 --- /dev/null +++ b/docs/manual/mod/mod_expires.html.ko.euc-kr @@ -0,0 +1,257 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_expires - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_expires</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>ڰ ؿ <code>Expires</code> +<code>Cache-Control</code> HTTP Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>expires_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_expires.c</td></tr></table> +<h3></h3> + + <p> <code>Expires</code> HTTP + <code>Cache-Control</code> HTTP <code>max-age</code> + þ Ѵ. ð + Ȥ Ŭ̾Ʈ ð ִ.</p> + + <p> HTTP Ŭ̾Ʈ + ȿ Ӽ ˷ش. ð ʾҴٸ, + ij ͵ ȴ. ٸ ij + "ǰ" ȿ ʴٰ Ͽ, ҽ + ; Ѵ.</p> + + <p><code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code> þ + Ͽ <code>max-age</code> ٸ + <code>Cache-Control</code> þ(<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC + 2616, 14.9 </a> ) ִ.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">ٸ </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresactive">ExpiresActive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresbytype">ExpiresByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expiresdefault">ExpiresDefault</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_expires">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_expires">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="AltSyn" id="AltSyn">ٸ </a></h2> + <p><code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> + <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> + þ б ִ:</p> + + <div class="example"><p><code> + ExpiresDefault "<base> [plus] {<num> + <type>}*"<br /> + ExpiresByType type/encoding "<base> [plus] + {<num> <type>}*" + </code></p></div> + + <p><base> ϳ̴:</p> + + <ul> + <li><code>access</code></li> + + <li><code>now</code> ('<code>access</code>' )</li> + + <li><code>modification</code></li> + </ul> + + <p><code>plus</code> Ű ȴ. <num> + [<code>atoi()</code> ִ] ̴. + <type> ϳ̴:</p> + + <ul> + <li><code>years</code></li> + <li><code>months</code></li> + <li><code>weeks</code></li> + <li><code>days</code></li> + <li><code>hours</code></li> + <li><code>minutes</code></li> + <li><code>seconds</code></li> + </ul> + + <p> , δ ⺻ ӵ 1Ŀ + ȴٰ Ѵ:</p> + + <div class="example"><p><code> + ExpiresDefault "access plus 1 month"<br /> + ExpiresDefault "access plus 4 weeks"<br /> + ExpiresDefault "access plus 30 days" + </code></p></div> + + <p>'<num> <type>' ݺؼ Ͽ + ð ڼ ִ:</p> + + <div class="example"><p><code> + ExpiresByType text/html "access plus 1 month 15 + days 2 hours"<br /> + ExpiresByType image/gif "modification plus 5 hours 3 + minutes" + </code></p></div> + + <p> ð(modification) ð ϴ + ũ ִ Ͽ ʴ´ٸ Expires + <strong>ʴ´</strong>. 뿡 ð + ̴.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresActive" id="ExpiresActive">ExpiresActive</a> <a name="expiresactive" id="expiresactive">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td><code>Expires</code> Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ExpiresActive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_expires</td></tr> +</table> + <p> þ ش (, <code>.htaccess</code> + Ͽ Ѵٸ 丮 Ʒ ִ 鸸 شȴ.) + <code>Expires</code> <code>Cache-Control</code> + Ѵ. (<code>.htaccess</code> + ܰ迡 ʴ ) + <code>Off</code≯ ش ִ ̵ + ʴ´. <code>On</code≯ <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> þ + (<em>ش ϶</em>) Ģ Ϸ + Ѵ.</p> + + <p> þ <code>Expires</code> <code>Cache-Control</code> + ʴ´. Ģ ش ʴٸ ġ + þ ó ʴ´.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresByType" id="ExpiresByType">ExpiresByType</a> <a name="expiresbytype" id="expiresbytype">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>MIME type <code>Expires</code> Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_expires</td></tr> +</table> + <p> þ Ư (<em> </em>, + <code>text/html</code>) <code>Expires</code> + <code>Cache-Control</code> <code>max-age</code> + þ Ѵ. ι° ƱԸƮ ð Ҷ + ð ʴ Ѵ. <code>Cache-Control: + max-age</code> ð û ð ϰ, + ʴ ǥѴ.</p> + + <p> ð ֱ ð Ȥ Ŭ̾Ʈ + ð̴. ̶ + <code><var><code></var></code> ʵ ؾ Ѵ. + <code>M</code> ð ֱ ð + ϰ, <code>A</code> Ŭ̾Ʈ ð Ѵ.</p> + + <p>̴ ̹ϴ. <code>M</code> ϸ ij ִ + 纻 ð ȴ. URL + ãƺ ִ ְ 뵵 . <code>A</code> + ϸ 纻 ð ٸ. ̴ ʴ + Ͽ, Ư Ҷ (<em> + </em>, ̹ ª Ⱓ ݺؼ ٵȴ), + ϴ.</p> + + <div class="example"><h3>:</h3><p><code> + # Ѵ<br /> + ExpiresActive On<br /> + # Ŭ̾Ʈ ij GIF Ŀ Ѵ<br /> + ExpiresByType image/gif A2592000<br /> + # HTML ϰ ȿϴ + ExpiresByType text/html M604800 + </code></p></div> + + <p> þ <code>ExpiresActive On</code> Ҷ + ȿ ϶. <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> þ + Ͽ Ư MIME type ؼ<em></em> ð + ִ.</p> + + <p>տ <a href="#AltSyn">ٸ </a> Ͽ + ð ִ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExpiresDefault" id="ExpiresDefault">ExpiresDefault</a> <a name="expiresdefault" id="expiresdefault">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ð ϴ ⺻ ˰</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ExpiresDefault <var><code>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_expires</td></tr> +</table> + <p> þ ش ִ ð + ϴ ⺻ ˰ Ѵ. <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> þ + Ͽ ִ. ƱԸƮ + ڼ þ <a href="#AltSyn">ٸ </a> + ϶.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_expires.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_expires.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_expires.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html b/docs/manual/mod/mod_ext_filter.html new file mode 100644 index 0000000..f96caf2 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ext_filter.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ext_filter.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_ext_filter.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_ext_filter.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_ext_filter.html.en b/docs/manual/mod/mod_ext_filter.html.en new file mode 100644 index 0000000..3ec3de5 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.en @@ -0,0 +1,362 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ext_filter - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_ext_filter</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ext_filter.html" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Pass the response body through an external program before +delivery to the client</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>ext_filter_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_ext_filter.c</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> presents a simple and familiar + programming model for <a href="../filter.html">filters</a>. With + this module, a program which reads from stdin and writes to stdout + (i.e., a Unix-style filter command) can be a filter for + Apache. This filtering mechanism is much slower than using a + filter which is specially written for the Apache API and runs + inside of the Apache server process, but it does have the + following benefits:</p> + + <ul> + <li>the programming model is much simpler</li> + + <li>any programming/scripting language can be used, provided + that it allows the program to read from standard input and + write to standard output</li> + + <li>existing programs can be used unmodified as Apache + filters</li> + </ul> + + <p>Even when the performance characteristics are not suitable + for production use, <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> can be used as + a prototype environment for filters.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilterdefine">ExtFilterDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilteroptions">ExtFilterOptions</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ext_filter">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ext_filter">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filters</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + + <h3>Generating HTML from some other type of response</h3> + <pre class="prettyprint lang-config"># mod_ext_filter directive to define a filter +# to HTML-ize text/c files using the external +# program /usr/bin/enscript, with the type of +# the result set to text/html +ExtFilterDefine c-to-html mode=output \ + intype=text/c outtype=text/html \ + cmd="/usr/bin/enscript --color -w html -Ec -o -" + +<Directory "/export/home/trawick/apacheinst/htdocs/c"> + # core directive to cause the new filter to + # be run on output + SetOutputFilter c-to-html + + # mod_mime directive to set the type of .c + # files to text/c + AddType text/c .c +</Directory></pre> + + + + <h3>Implementing a content encoding filter</h3> + <p>Note: this gzip example is just for the purposes of illustration. + Please refer to <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> for a practical + implementation.</p> + + <pre class="prettyprint lang-config"># mod_ext_filter directive to define the external filter +ExtFilterDefine gzip mode=output cmd=/bin/gzip + +<Location "/gzipped"> + + # core directive to cause the gzip filter to be + # run on output + SetOutputFilter gzip + + # mod_headers directive to add + # "Content-Encoding: gzip" header field + Header set Content-Encoding gzip +</Location></pre> + + + + <h3>Slowing down the server</h3> + <pre class="prettyprint lang-config"># mod_ext_filter directive to define a filter +# which runs everything through cat; cat doesn't +# modify anything; it just introduces extra pathlength +# and consumes more resources +ExtFilterDefine slowdown mode=output cmd=/bin/cat \ + preservescontentlength + +<Location "/"> + # core directive to cause the slowdown filter to + # be run several times on output + # + SetOutputFilter slowdown;slowdown;slowdown +</Location></pre> + + + + <h3>Using sed to replace text in the response</h3> + <pre class="prettyprint lang-config"># mod_ext_filter directive to define a filter which +# replaces text in the response +# +ExtFilterDefine fixtext mode=output intype=text/html \ + cmd="/bin/sed s/verdana/arial/g" + +<Location "/"> + # core directive to cause the fixtext filter to + # be run on output + SetOutputFilter fixtext +</Location></pre> + + +<div class="note"> +<p>You can do the same thing using <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> +without invoking an external process.</p> +</div> + + + <h3>Tracing another filter</h3> + <pre class="prettyprint lang-config"># Trace the data read and written by mod_deflate +# for a particular client (IP 192.168.1.31) +# experiencing compression problems. +# This filter will trace what goes into mod_deflate. +ExtFilterDefine tracebefore \ + cmd="/bin/tracefilter.pl /tmp/tracebefore" \ + EnableEnv=trace_this_client + +# This filter will trace what goes after mod_deflate. +# Note that without the ftype parameter, the default +# filter type of AP_FTYPE_RESOURCE would cause the +# filter to be placed *before* mod_deflate in the filter +# chain. Giving it a numeric value slightly higher than +# AP_FTYPE_CONTENT_SET will ensure that it is placed +# after mod_deflate. +ExtFilterDefine traceafter \ + cmd="/bin/tracefilter.pl /tmp/traceafter" \ + EnableEnv=trace_this_client ftype=21 + +<Directory "/usr/local/docs"> + SetEnvIf Remote_Addr 192.168.1.31 trace_this_client + SetOutputFilter tracebefore;deflate;traceafter +</Directory></pre> + + + <div class="example"><h3>Here is the filter which traces the data:</h3><pre class="prettyprint lang-perl">#!/usr/local/bin/perl -w +use strict; + +open(SAVE, ">$ARGV[0]") + or die "can't open $ARGV[0]: $?"; + +while (<STDIN>) { + print SAVE $_; + print $_; +} + +close(SAVE);</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtFilterDefine" id="ExtFilterDefine">ExtFilterDefine</a> <a name="extfilterdefine" id="extfilterdefine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define an external filter</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExtFilterDefine <var>filtername</var> <var>parameters</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ext_filter</td></tr> +</table> + <p>The <code class="directive">ExtFilterDefine</code> directive defines the + characteristics of an external filter, including the program to + run and its arguments.</p> + + <p><var>filtername</var> specifies the name of the filter being + defined. This name can then be used in <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> + directives. It must be unique among all registered filters. + <em>At the present time, no error is reported by the + register-filter API, so a problem with duplicate names isn't + reported to the user.</em></p> + + <p>Subsequent parameters can appear in any order and define the + external command to run and certain other characteristics. The + only required parameter is <code>cmd=</code>. These parameters + are:</p> + + <dl> + <dt><code>cmd=<var>cmdline</var></code></dt> + + <dd>The <code>cmd=</code> keyword allows you to specify the + external command to run. If there are arguments after the + program name, the command line should be surrounded in + quotation marks (<em>e.g.</em>, <code>cmd="<var>/bin/mypgm</var> + <var>arg1</var> <var>arg2</var>"</code>.) Normal shell quoting is + not necessary since the program is run directly, bypassing the shell. + Program arguments are blank-delimited. A backslash can be used to + escape blanks which should be part of a program argument. Any + backslashes which are part of the argument must be escaped with + backslash themselves. In addition to the standard CGI environment + variables, DOCUMENT_URI, DOCUMENT_PATH_INFO, and + QUERY_STRING_UNESCAPED will also be set for the program.</dd> + + <dt><code>mode=<var>mode</var></code></dt> + + <dd>Use <code>mode=output</code> (the default) for filters which + process the response. Use <code>mode=input</code> for filters + which process the request. <code>mode=input</code> is available + in Apache 2.1 and later.</dd> + + <dt><code>intype=<var>imt</var></code></dt> + + <dd>This parameter specifies the internet media type (<em>i.e.</em>, + MIME type) of documents which should be filtered. By default, + all documents are filtered. If <code>intype=</code> is + specified, the filter will be disabled for documents of other + types.</dd> + + <dt><code>outtype=<var>imt</var></code></dt> + + <dd>This parameter specifies the internet media type (<em>i.e.</em>, + MIME type) of filtered documents. It is useful when the + filter changes the internet media type as part of the + filtering operation. By default, the internet media type is + unchanged.</dd> + + <dt><code>PreservesContentLength</code></dt> + + <dd>The <code>PreservesContentLength</code> keyword specifies + that the filter preserves the content length. This is not the + default, as most filters change the content length. In the + event that the filter doesn't modify the length, this keyword + should be specified.</dd> + + <dt><code>ftype=<var>filtertype</var></code></dt> + + <dd>This parameter specifies the numeric value for filter type + that the filter should be registered as. The default value, + AP_FTYPE_RESOURCE, is sufficient in most cases. If the filter + needs to operate at a different point in the filter chain than + resource filters, then this parameter will be necessary. See + the AP_FTYPE_foo definitions in util_filter.h for appropriate + values.</dd> + + <dt><code>disableenv=<var>env</var></code></dt> + + <dd>This parameter specifies the name of an environment variable + which, if set, will disable the filter.</dd> + + <dt><code>enableenv=<var>env</var></code></dt> + + <dd>This parameter specifies the name of an environment variable + which must be set, or the filter will be disabled.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtFilterOptions" id="ExtFilterOptions">ExtFilterOptions</a> <a name="extfilteroptions" id="extfilteroptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExtFilterOptions <var>option</var> [<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ExtFilterOptions NoLogStderr</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ext_filter</td></tr> +</table> + <p>The <code class="directive">ExtFilterOptions</code> directive specifies + special processing options for <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. + <var>Option</var> can be one of</p> + + <dl> + <dt><code>LogStderr | NoLogStderr</code></dt> + + <dd>The <code>LogStderr</code> keyword specifies that + messages written to standard error by the external filter + program will be saved in the Apache error log. + <code>NoLogStderr</code> disables this feature.</dd> + + <dt><code>Onfail=[abort|remove]</code></dt> + <dd>Determines how to proceed if the external filter program + cannot be started. With <code>abort</code> (the default value) + the request will be aborted. With <code>remove</code>, the + filter is removed and the request continues without it.</dd> + </dl> + + <pre class="prettyprint lang-config">ExtFilterOptions LogStderr</pre> + + + <p>Messages written to the filter's standard error will be stored + in the Apache error log.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ext_filter.html" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ext_filter.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html.fr.utf8 b/docs/manual/mod/mod_ext_filter.html.fr.utf8 new file mode 100644 index 0000000..e457ec2 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.fr.utf8 @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ext_filter - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_ext_filter</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fait traiter le corps de la réponse par un programme +externe avant de l'envoyer au client</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ext_filter_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ext_filter.c</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> représente un modèle de + programmation simple et bien connu pour les <a href="../filter.html">filtres</a>. Avec ce module, tout programme + qui lit l'entrée standard stdin et écrit sur la sortie standard + stdout (autrement dit une commande filtre de style Unix) peut + servir de filtre pour Apache. Ce mécanisme de filtrage est beaucoup + plus lent qu'un filtre spécialement écrit pour + l'API d'Apache et faisant partie intégrante du processus du serveur + Apache, mais il présente les avantages suivants :</p> + + <ul> + <li>le modèle de programmation est beaucoup plus simple</li> + + <li>tout langage de script ou de programmation peut être utilisé, + pourvu qu'il permette au programme de lire l'entrée standard et + d'écrire sur la sortie standard.</li> + + <li>on peut utiliser des programmes existants comme filtres Apache + sans modification.</li> + </ul> + + <p>Même dans le cas où le niveau de performance est insuffisant pour + une utilisation en production, on peut utiliser + <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> comme prototype d'environnement pour + les filtres.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilterdefine">ExtFilterDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilteroptions">ExtFilterOptions</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ext_filter">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ext_filter">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../filter.html">Filtres</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + + <h3>Générer du HTML à partir d'un autre type de + contenu</h3> + + <pre class="prettyprint lang-config"># la directive de mod_ext_filter définissant un filtre +# permettant de mettre des fichiers text/c au format HTML en +# utilisant le programme externe /usr/bin/enscript, le type du +# fichier résultant étant défini à text/html +ExtFilterDefine c-to-html mode=output \ + intype=text/c outtype=text/html \ + cmd="/usr/bin/enscript --color -w html -Ec -o -" + +<Directory "/export/home/trawick/apacheinst/htdocs/c"> + # directive de base permettant de traiter la sortie avec le + # nouveau filtre + SetOutputFilter c-to-html + + # directive de mod_mime définissant le type des fichiers dont + # le nom possède l'extension .c à text/c + AddType text/c .c +</Directory></pre> + + + + <h3>Implémentation d'un filtre de codage de + contenu</h3> + <p>Note : cet exemple avec gzip n'est fourni qu'à titre + d'illustration. Veuillez vous reporter à la documentation de + <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> pour un exemple d'implémentation plus + pratique.</p> + + <pre class="prettyprint lang-config"># la directive de mod_ext_filter qui définit le filtre externe +ExtFilterDefine gzip mode=output cmd=/bin/gzip + +<Location "/gzipped"> + + # directive de base permettant de traiter la sortie avec le + # filtre gzip + SetOutputFilter gzip + + # la directive de mod_headers permettant d'ajouter le champ + # d'en-tête "Content-Encoding: gzip" + Header set Content-Encoding gzip +</Location></pre> + + + + + <h3>Ralentissement du serveur</h3> + <pre class="prettyprint lang-config"># directive de mod_ext_filter définissant un filtre qui fait +# passer tous les flux en sortie par la commande cat ; cat ne +# modifie rien ; elle ne fait que compliquer le cheminement des +# flux et consommer des ressources supplémentaires + ExtFilterDefine slowdown mode=output cmd=/bin/cat \ +ExtFilterDefine slowdown mode=output cmd=/bin/cat \ + preservescontentlength + +<Location "/"> + # directive de base permettant de traiter plusieurs fois la + # sortie avec le filtre slowdown + # + SetOutputFilter slowdown;slowdown;slowdown +</Location></pre> + + + + <h3>Utilisation de sed pour remplacer du texte dans la + réponse</h3> + + <pre class="prettyprint lang-config"># directive de mod_ext_filter définissant un filtre qui +# remplace du texte dans la réponse +# +ExtFilterDefine fixtext mode=output intype=text/html \ + cmd="/bin/sed s/verdana/arial/g" + +<Location "/"> + # directive de base permettant de traiter la sortie avec le + # filtre fixtext + SetOutputFilter fixtext +</Location></pre> + + +<div class="note"> +<p>Vous pouvez aussi utiliser <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> pour +effectuer le même traitement sans avoir à invoquer un programme +externe.</p> +</div> + + + + <h3>Tracer un autre filtre</h3> + <pre class="prettyprint lang-config"># Trace les données lues et écrites par mod_deflate pour un +# client particulier (IP 192.168.1.31) qui a des problèmes de +# compression. +# Ce premier filtre va tracer ce qui entre dans mod_deflate. +ExtFilterDefine tracebefore \ + cmd="/bin/tracefilter.pl /tmp/tracebefore" \ + EnableEnv=trace_this_client + +# Ce second filtre va tracer ce qui sort de mod_deflate. +# Notez que sans le paramètre ftype, le type de filtre par +# défaut AP_FTYPE_RESOURCE placerait le filtre *avant* +# mod_deflate dans la chaîne de filtrage. Le fait d'affecter +# à ce paramètre une valeur numérique sensiblement supérieure à +# AP_FTYPE_CONTENT_SET permet de s'assurer que le filtre sera +# placé après mod_deflate. +ExtFilterDefine traceafter \ + cmd="/bin/tracefilter.pl /tmp/traceafter" \ + EnableEnv=trace_this_client ftype=21 + +<Directory "/usr/local/docs"> + SetEnvIf Remote_Addr 192.168.1.31 trace_this_client + SetOutputFilter tracebefore;deflate;traceafter +</Directory></pre> + + + <div class="example"><h3>Voici le filtre qui trace les données :</h3><pre class="prettyprint lang-perl">#!/usr/local/bin/perl -w +use strict; + +open(SAVE, ">$ARGV[0]") + or die "can't open $ARGV[0]: $?"; + +while (<STDIN>) { + print SAVE $_; + print $_; +} + +close(SAVE);</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="extfilterdefine" id="extfilterdefine">Directive</a> <a name="ExtFilterDefine" id="ExtFilterDefine">ExtFilterDefine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un filtre externe</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ext_filter</td></tr> +</table> + <p>La directive <code class="directive">ExtFilterDefine</code> + définit les caractéristiques d'un filtre externe, et en particulier + le programme à exécuter ainsi que ses arguments.</p> + + <p><var>nom_filtre</var> spécifie le nom du filtre en cours de + définition. On peut ensuite utiliser ce nom pour référencer le + filtre dans les directives <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. Il doit être unique parmi les noms de + tous les filtres enregistrés. <em>Pour le moment, aucune erreur + n'est signalée par l'API register-filter, si bien qu'un problème de + noms dupliqués ne sera pas porté à la connaissance de + l'utilisateur.</em></p> + + <p>Viennent ensuite un ou plusieurs paramètres dans un ordre + indéfini, qui permettent de spécifier la commande externe à exécuter + et certaines autres caractéristiques. Le seul paramètre obligatoire + est <code>cmd=</code>. Voici la liste de ces paramètres :</p> + + <dl> + <dt><code>cmd=<var>ligne de commande</var></code></dt> + + <dd>Le mot-clé <code>cmd=</code> spécifie la commande + externe à exécuter. Si la ligne de commande comporte des + arguments, elle doit être entourée de guillemets (par exemple + <code>cmd="<var>/bin/mypgm</var> <var>arg1</var> + <var>arg2</var>"</code>). Les guillemets habituels du shell ne + sont pas nécessaires car le programme est lancé directement, sans + passer par le shell. Les arguments du programme doivent être + séparés par des espaces. Si un argument contient des espaces, ces + derniers doivent être échappés par un antislash '\'. Si un + argument contient des antislashes '\', ces derniers doivent être + eux-mêmes échappés par un antislash '\'. Outre les variables + d'environnement CGI standards, les variables DOCUMENT_URI, + DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront également + définies pour le programme.</dd> + + <dt><code>mode=<var>mode</var></code></dt> + + <dd>Utilisez <code>mode=output</code> (valeur par défaut) pour les + filtres qui traitent les réponses. Utilisez + <code>mode=input</code> pour les filtres qui traitent les + requêtes. <code>mode=input</code> est disponible depuis la version + 2.1 d'Apache.</dd> + + <dt><code>intype=<var>type MIME</var></code></dt> + + <dd>Ce paramètre spécifie le type de médium Internet + (c'est à dire le type MIME) des documents qui doivent être + filtrés. Par défaut, tous les documents sont filtrés. Aucun des + documents possédant un type MIME autre que celui spécifié par + <code>intype=</code> ne sera filtré.</dd> + + <dt><code>outtype=<var>type MIME</var></code></dt> + + <dd>Ce paramètre spécifie le type de médium Internet + (c'est à dire le type MIME) des documents filtrés. Il intervient + lorsque les opérations de filtrage comprennent une modification du + type MIME. Par défaut, le type MIME n'est pas modifié.</dd> + + <dt><code>PreservesContentLength</code></dt> + + <dd>Le mot-clé <code>PreservesContentLength</code> indique que le + filtre doit conserver la taille du contenu. Ce n'est pas le + comportement par défaut, car la plupart des filtres modifient cette + taille. Ce mot-clé doit être spécifié si le filtre ne doit pas + modifier la taille du contenu.</dd> + + <dt><code>ftype=<var>type de filtre</var></code></dt> + + <dd>Ce paramètre spécifie une valeur numérique + représentant le type de filtre sous lequel le filtre doit être + enregistré. La valeur par défaut, AP_FTYPE_RESOURCE, convient dans + la plupart des situations. Ce paramètre devient nécessaire dès lors + que le filtre doit opérer à un autre point de la chaîne de filtrage + que les filtres de ressources. + Voir les définitions de AP_FTYPE_... + dans util_filter.h pour trouver une valeur appropriée.</dd> + + <dt><code>disableenv=<var>env</var></code></dt> + + <dd>Ce paramètre spécifie le nom d'une variable + d'environnement qui, si elle est définie, va désactiver le + filtre.</dd> + + <dt><code>enableenv=<var>env</var></code></dt> + + <dd>Ce paramètre spécifie le nom d'une variable + d'environnement qui doit être définie pour que le filtre ne soit + pas désactivé.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="extfilteroptions" id="extfilteroptions">Directive</a> <a name="ExtFilterOptions" id="ExtFilterOptions">ExtFilterOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les options de +<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtFilterOptions <var>option</var> [<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtFilterOptions NoLogStderr</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ext_filter</td></tr> +</table> + <p>La directive <code class="directive">ExtFilterOptions</code> + spécifie des options de traitement particulières pour + <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. Les arguments <var>option</var> + peuvent contenir :</p> + + <dl> + <dt><code>LogStderr | NoLogStderr</code></dt> + + <dd>Le mot-clé <code>LogStderr</code> indique que les messages + envoyés par le programme de filtrage externe sur la sortie + d'erreurs standard doivent être enregistrés dans le journal des + erreurs d'Apache. <code>NoLogStderr</code> inverse ce + comportement.</dd> + + <dt><code>Onfail=[abort|remove]</code></dt> + <dd>Indique la marche à suivre si le programme de filtrage externe + ne peut pas démarrer. Avec <code>abort</code> (la valeur par + défaut), le traitement de la requête sera abandonné. Avec <code>remove</code>, le + filtre est supprimé, et le traitement de la requête se poursuit + sans lui.</dd> + </dl> + + <pre class="prettyprint lang-config">ExtFilterOptions LogStderr</pre> + + + <p>Les messages envoyés vers la sortie d'erreurs standard du filtre + seront enregistrés dans le journal des erreurs d'Apache.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ext_filter.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html.ja.utf8 b/docs/manual/mod/mod_ext_filter.html.ja.utf8 new file mode 100644 index 0000000..d316244 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.ja.utf8 @@ -0,0 +1,399 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ext_filter - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_ext_filter</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>レスポンスのボディをクライアントに送る前に外部プログラムで処理する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>ext_filter_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_ext_filter.c</td></tr></table> +<h3>概要</h3> + + <p><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> では <a href="../filter.html">フィルタ</a> + の慣れ親しんだ単純なプログラミングモデルが提供されます。このモジュールを + 使えば、標準入力から読み込んで、標準出力に書き出すプログラム + (すなわち Unix 形式のフィルタコマンド) を Apache のフィルタにすることが + できます。このフィルタの機構は、Apache API 向けに書かれた Apache + サーバプロセス内で実行される専用のフィルタよりもずっと遅いですが、 + 以下のような利点もあります。</p> + + <ul> + <li>ずっとシンプルなプログラミングモデル</li> + + <li>プログラムが標準入力から読んで標準出力に書くものである限り、 + どんなプログラム言語やスクリプト言語でも使うことができる</li> + + <li>既存のプログラムを変更することなく Apache のフィルタとして + 使うことができる</li> + </ul> + + <p>性能の問題により実運用に適さないとしても、フィルタのプロトタイプ用の + 環境としては <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> は使えます。</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">例</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilterdefine">ExtFilterDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilteroptions">ExtFilterOptions</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ext_filter">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ext_filter">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../filter.html">フィルタ</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">例</a></h2> + + <h3>他のタイプのレスポンスから HTML を生成する</h3> + <div class="example"><p><code> + # mod_ext_filter directive to define a filter<br /> + # to HTML-ize text/c files using the external<br /> + # program /usr/bin/enscript, with the type of<br /> + # the result set to text/html<br /> + ExtFilterDefine c-to-html mode=output \<br /> + <span class="indent"> + intype=text/c outtype=text/html \<br /> + cmd="/usr/bin/enscript --color -W html -Ec -o - -"<br /> + </span> + <br /> + <Directory "/export/home/trawick/apacheinst/htdocs/c"><br /> + <span class="indent"> + # core directive to cause the new filter to<br /> + # be run on output<br /> + SetOutputFilter c-to-html<br /> + <br /> + # mod_mime directive to set the type of .c<br /> + # files to text/c<br /> + AddType text/c .c<br /> + <br /> + # mod_ext_filter directive to set the debug<br /> + # level just high enough to see a log message<br /> + # per request showing the configuration in force<br /> + ExtFilterOptions DebugLevel=1<br /> + </span> + </Directory> + </code></p></div> + + + <h3>コンテントエンコーディングのフィルタを実装する</h3> + <p>注: この gzip の例はデモ用です。実用的な実装は + <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> を参照してください。</p> + + <div class="example"><p><code> + # mod_ext_filter directive to define the external filter<br /> + ExtFilterDefine gzip mode=output cmd=/bin/gzip<br /> + <br /> + <Location /gzipped><br /> + <span class="indent"> + # core directive to cause the gzip filter to be<br /> + # run on output<br /> + SetOutputFilter gzip<br /> + <br /> + # mod_header directive to add<br /> + # "Content-Encoding: gzip" header field<br /> + Header set Content-Encoding gzip<br /> + </span> + </Location> + </code></p></div> + + + <h3>サーバを遅くする</h3> + <div class="example"><p><code> + # mod_ext_filter directive to define a filter<br /> + # which runs everything through cat; cat doesn't<br /> + # modify anything; it just introduces extra pathlength<br /> + # and consumes more resources<br /> + ExtFilterDefine slowdown mode=output cmd=/bin/cat \<br /> + <span class="indent"> + preservescontentlength<br /> + </span> + <br /> + <Location /><br /> + <span class="indent"> + # core directive to cause the slowdown filter to<br /> + # be run several times on output<br /> + #<br /> + SetOutputFilter slowdown;slowdown;slowdown<br /> + </span> + </Location> + </code></p></div> + + + <h3>sed を使って応答中のテキストを置換する</h3> + <div class="example"><p><code> + # mod_ext_filter directive to define a filter which<br /> + # replaces text in the response<br /> + #<br /> + ExtFilterDefine fixtext mode=output intype=text/html \<br /> + <span class="indent"> + cmd="/bin/sed s/verdana/arial/g"<br /> + </span> + <br /> + <Location /><br /> + <span class="indent"> + # core directive to cause the fixtext filter to<br /> + # be run on output<br /> + SetOutputFilter fixtext<br /> + </span> + </Location> + </code></p></div> + + + <h3>別のフィルタのトレース</h3> + <div class="example"><p><code> + # Trace the data read and written by mod_deflate<br /> + # for a particular client (IP 192.168.1.31)<br /> + # experiencing compression problems.<br /> + # This filter will trace what goes into mod_deflate.<br /> + ExtFilterDefine tracebefore \<br /> + <span class="indent"> + cmd="/bin/tracefilter.pl /tmp/tracebefore" \<br /> + EnableEnv=trace_this_client<br /> + </span> + <br /> + # This filter will trace what goes after mod_deflate.<br /> + # Note that without the ftype parameter, the default<br /> + # filter type of AP_FTYPE_RESOURCE would cause the<br /> + # filter to be placed *before* mod_deflate in the filter<br /> + # chain. Giving it a numeric value slightly higher than<br /> + # AP_FTYPE_CONTENT_SET will ensure that it is placed<br /> + # after mod_deflate.<br /> + ExtFilterDefine traceafter \<br /> + <span class="indent"> + cmd="/bin/tracefilter.pl /tmp/traceafter" \<br /> + EnableEnv=trace_this_client ftype=21<br /> + </span> + <br /> + <Directory /usr/local/docs><br /> + <span class="indent"> + SetEnvIf Remote_Addr 192.168.1.31 trace_this_client<br /> + SetOutputFilter tracebefore;deflate;traceafter<br /> + </span> + </Directory> + </code></p></div> + + <div class="example"><h3>データをトレースするフィルタ:</h3><p><code> + #!/usr/local/bin/perl -w<br /> + use strict;<br /> + <br /> + open(SAVE, ">$ARGV[0]")<br /> + <span class="indent"> + or die "can't open $ARGV[0]: $?";<br /> + </span> + <br /> + while (<STDIN>) {<br /> + <span class="indent"> + print SAVE $_;<br /> + print $_;<br /> + </span> + }<br /> + <br /> + close(SAVE); + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtFilterDefine" id="ExtFilterDefine">ExtFilterDefine</a> <a name="extfilterdefine" id="extfilterdefine">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>外部フィルタを定義</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ExtFilterDefine <var>filtername</var> <var>parameters</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_ext_filter</td></tr> +</table> + <p><code class="directive">ExtFilterDefine</code> は、実行するプログラムや + 引数など、外部フィルタの特性を定義します。</p> + + <p><var>filtername</var> は定義するフィルタの名前を指定します。 + この名前は後で <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> + ディレクティブで指定できます。名前は登録されるすべてのフィルタで + 一意でなくてはなりません。<em>現時点では、フィルタの登録 API からは + エラーは報告されません。ですから、重複する名前を使ってしまったときでも + ユーザにはそのことは報告されません。</em></p> + + <p>続くパラメータの順番は関係無く、それらは実行する外部コマンドと、 + 他の特性を定義します。<code>cmd=</code> だけが必須のパラメータです。 + 指定可能なパラメータは:</p> + + <dl> + <dt><code>cmd=<var>cmdline</var></code></dt> + + <dd><code>cmd=</code> キーワードは実行する外部コマンドを指定します。 + プログラム名の後に引数がある場合は、コマンド行は引用符で囲む + 必要があります (<em>例えば</em>、<code>cmd="<var>/bin/mypgm</var> + <var>arg1</var> <var>arg2</var>"</code> のように)。プログラムは + シェル経由でなく、直接実行されますので、通常のシェル用の + エスケープは必要ありません。プログラムの引数は空白で区切られます。 + プログラムの引数の一部となる必要のある空白はバックスペースでエスケープ + できます。引数の一部になるバックスラッシュはバックスラッシュで + エスケープする必要があります。標準の CGI 環境変数に加えて、 + 環境変数 DOCUMENT_URI, DOCUMENT_PATH_INFO, and + QUERY_STRING_UNESCAPED がプログラムのために設定されます。</dd> + + <dt><code>mode=<var>mode</var></code></dt> + + <dd>応答を処理するフィルタには <code>mode=output</code> (デフォルト) + を使います。リクエストを処理するフィルタには <code>mode=input</code> + を使います。<code>mode=input</code> は Apache 2.1 以降で利用可能です。</dd> + + <dt><code>intype=<var>imt</var></code></dt> + + <dd>このパラメータはフィルタされるべきドキュメントの + インターネットメディアタイプ (<em>すなわち</em>、MIME タイプ) を + 指定します。デフォルトではすべてのドキュメントがフィルタされます。 + <code>intype=</code> が指定されていれば、フィルタは指定されていない + ドキュメントには適用されなくなります。</dd> + + <dt><code>outtype=<var>imt</var></code></dt> + + <dd>このパラメータはフィルタされたドキュメントの + インターネットメディアタイプ (<em>すなわち</em>、MIME タイプ) を + 指定します。フィルタ動作にともなってインターネットメディアタイプが + 変わる場合に有用です。デフォルトではインターネットメディアタイプは + 変更されません。</dd> + + <dt><code>PreservesContentLength</code></dt> + + <dd><code>PreservesContentLength</code> キーワードはフィルタが + content length <span class="transnote">(<em>訳注:</em> コンテントの長さ)</span> + を変更しないということを指定します。ほとんどのフィルタは + content length を変更するため、これはデフォルトではありません。 + フィルタが長さを変えないときは、このキーワードを指定すると + よいでしょう。</dd> + + <dt><code>ftype=<var>filtertype</var></code></dt> + + <dd>このパラメータはフィルタが登録されるべきフィルタタイプの + 数値を指定します。ほとんどの場合は、デフォルトの AP_FTYPE_RESOURCE で + 十分です。フィルタがフィルタチェーンの別の場所で動作する必要がある + 場合は、このパラメータを指定する必要があります。指定可能な値は + util_filter.h の AP_FTYPE_foo 定義を参照してください。</dd> + + <dt><code>disableenv=<var>env</var></code></dt> + + <dd>設定されていた場合にフィルタを無効にするための環境変数を + 指定します。</dd> + + <dt><code>enableenv=<var>env</var></code></dt> + + <dd>このパラメータはフィルタが有効になるために設定されていなければ + ならない環境変数を指定します。</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtFilterOptions" id="ExtFilterOptions">ExtFilterOptions</a> <a name="extfilteroptions" id="extfilteroptions">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> のオプションを設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ExtFilterOptions <var>option</var> [<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ExtFilterOptions DebugLevel=0 NoLogStderr</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_ext_filter</td></tr> +</table> + <p><code class="directive">ExtFilterOptions</code> ディレクティブは + <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> の特別な処理用のオプションを + 指定します。<var>Option</var> には以下のどれかを指定します。</p> + + <dl> + <dt><code>DebugLevel=<var>n</var></code></dt> + + <dd> + <code>DebugLevel</code> で <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> + の生成するデバッグメッセージのレベルを設定できます。 + デフォルトでは、デバッグメッセージは生成されません。 + これは <code>DebugLevel=0</code> と設定するのと同じです。 + 数字が大きくなればなるほど、より多くのデバッグメッセージが + 生成され、サーバの性能は落ちます。数値の実際の意味は + <code>mod_ext_filter.c</code> の先頭近くの DBGLVL_ 定数の + 定義で説明されています。 + + <p>注: デバッグメッセージを Apache のエラーログに + 保存するようにするためには、core のディレクティブ + <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> + を使う必要があります。</p> + </dd> + + <dt><code>LogStderr | NoLogStderr</code></dt> + + <dd><code>LogStderr</code> キーワードは外部フィルタプログラムにより + 標準エラー <span class="transnote">(<em>訳注:</em> stderr)</span> に書かれたメッセージを + Apache のエラーログに保存するようにします。<code>NoLogStderr</code> は + 逆に保存しないようにします。</dd> + </dl> + + <div class="example"><h3>例</h3><p><code> + ExtFilterOptions LogStderr DebugLevel=0 + </code></p></div> + + <p>この例では、フィルタの標準出力に書かれたメッセージは + Apache のエラーログに保存されます。<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> からは + デバッグメッセージは生成されません。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ext_filter.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ext_filter.html.ko.euc-kr b/docs/manual/mod/mod_ext_filter.html.ko.euc-kr new file mode 100644 index 0000000..dbb9695 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.ko.euc-kr @@ -0,0 +1,382 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ext_filter - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_ext_filter</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ܺ α ó Ŭ̾Ʈ +</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>ext_filter_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_ext_filter.c</td></tr></table> +<h3></h3> + + <p><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ϸ ϰ ͼ + <a href="../filter.html"></a> ִ. + ǥԷ¿ а ǥ¿ α(, н + ɾ) ġ ͷ ִ. ̷ ʹ + ġ API ġ μ ȿ Ǵ + Ϳ ſ , ִ:</p> + + <ul> + <li>α ſ ϴ</li> + + <li>α ǥԷ¿ а ǥ¿ ִٸ + α/ũƮ ִ</li> + + <li>̹ ִ α ġ ͷ + ִ</li> + </ul> + + <p> ϱ , + <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> Ͽ + ִ.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples"></a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilterdefine">ExtFilterDefine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#extfilteroptions">ExtFilterOptions</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ext_filter">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ext_filter">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../filter.html"></a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples"></a></h2> + + <h3>ٸ type HTML </h3> + <div class="example"><p><code> + # mod_ext_filter þ <br /> + # ܺ α /usr/bin/enscript Ͽ<br /> + # ϰ text/c HTML <br /> + # type text/html ϴ Ѵ<br /> + ExtFilterDefine c-to-html mode=output \<br /> + <span class="indent"> + intype=text/c outtype=text/html \<br /> + cmd="/usr/bin/enscript --color -W html -Ec -o - -"<br /> + </span> + <br /> + <Directory "/export/home/trawick/apacheinst/htdocs/c"><br /> + <span class="indent"> + # ¿ ο ϴ core þ<br /> + SetOutputFilter c-to-html<br /> + <br /> + # .c type text/c mod_mime<br /> + # þ<br /> + AddType text/c .c<br /> + <br /> + # û <br /> + # ˷ִ α ϴ mod_ext_filter<br /> + # þ<br /> + ExtFilterOptions DebugLevel=1<br /> + </span> + </Directory> + </code></p></div> + + + <h3>content ڵ ϱ</h3> + <p>Note: Ʒ gzip ̴. + Ϸ <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> + ϱ ٶ.</p> + + <div class="example"><p><code> + # ܺ ϴ mod_ext_filter þ<br /> + ExtFilterDefine gzip mode=output cmd=/bin/gzip<br /> + <br /> + <Location /gzipped><br /> + <span class="indent"> + # Ҷ gzip ϴ core þ<br /> + SetOutputFilter gzip<br /> + <br /> + # "Content-Encoding: gzip" ߰ϴ<br /> + # mod_header þ<br /> + Header set Content-Encoding gzip<br /> + </span> + </Location> + </code></p></div> + + + <h3> ϱ</h3> + <div class="example"><p><code> + # cat ϴ ϴ<br /> + # mod_ext_filter þ; cat ƹ͵ <br /> + # ʴ´; óθ Ͽ ڿ ҸѴ<br /> + ExtFilterDefine slowdown mode=output cmd=/bin/cat \<br /> + <span class="indent"> + preservescontentlength<br /> + </span> + <br /> + <Location /><br /> + <span class="indent"> + # Ҷ slowdown ϴ core þ<br /> + #<br /> + SetOutputFilter slowdown;slowdown;slowdown<br /> + </span> + </Location> + </code></p></div> + + + <h3>sed Ͽ 信 üϱ</h3> + <div class="example"><p><code> + # 信 üϴ ϴ<br /> + # mod_ext_filter þ<br /> + #<br /> + ExtFilterDefine fixtext mode=output intype=text/html \<br /> + <span class="indent"> + cmd="/bin/sed s/verdana/arial/g"<br /> + </span> + <br /> + <Location /><br /> + <span class="indent"> + # Ҷ fixtext ϴ core þ<br /> + SetOutputFilter fixtext<br /> + </span> + </Location> + </code></p></div> + + + <h3>ٸ ϱ</h3> + <div class="example"><p><code> + # ִ Ư Ŭ̾Ʈ(IP 192.168.1.31)<br /> + # mod_deflate а ڷḦ Ѵ.<br /> + # ʹ mod_deflate ڷḦ Ѵ.<br /> + ExtFilterDefine tracebefore \<br /> + <span class="indent"> + cmd="/bin/tracefilter.pl /tmp/tracebefore" \<br /> + EnableEnv=trace_this_client<br /> + </span> + <br /> + # ʹ mod_deflate ڷḦ Ѵ.<br /> + # ftype Ķ ʴ , ⺻ <br /> + # AP_FTYPE_RESOURCE mod_deflate **<br /> + # д. AP_FTYPE_CONTENT_SET ڰ<br /> + # ϸ mod_deflate Ŀ Ѵ.<br /> + ExtFilterDefine traceafter \<br /> + <span class="indent"> + cmd="/bin/tracefilter.pl /tmp/traceafter" \<br /> + EnableEnv=trace_this_client ftype=21<br /> + </span> + <br /> + <Directory /usr/local/docs><br /> + <span class="indent"> + SetEnvIf Remote_Addr 192.168.1.31 trace_this_client<br /> + SetOutputFilter tracebefore;deflate;traceafter<br /> + </span> + </Directory> + </code></p></div> + + <div class="example"><h3> ڷḦ ϴ ̴:</h3><p><code> + #!/usr/local/bin/perl -w<br /> + use strict;<br /> + <br /> + open(SAVE, ">$ARGV[0]")<br /> + <span class="indent"> + or die "can't open $ARGV[0]: $?";<br /> + </span> + <br /> + while (<STDIN>) {<br /> + <span class="indent"> + print SAVE $_;<br /> + print $_;<br /> + </span> + }<br /> + <br /> + close(SAVE); + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtFilterDefine" id="ExtFilterDefine">ExtFilterDefine</a> <a name="extfilterdefine" id="extfilterdefine">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ܺ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ExtFilterDefine <var>filtername</var> <var>parameters</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_ext_filter</td></tr> +</table> + <p><code class="directive">ExtFilterDefine</code> þ ܺ + α, ƱԸƮ Ѵ.</p> + + <p><var>filtername</var> ̸ Ѵ. + ̸ SetOutputFilter þ Ѵ. + ͵鰣 ̸ ġ ȵȴ. <em> ͵ API + ʴ´. ڴ ̸ ġ + Ѵ.</em></p> + + <p> ܺ ɾ ٸ ϴ ƱԸƮ + ͵ ϴ. , <code>cmd=</code> Ķʹ + ݵ ʿϴ. ִ Ķʹ :</p> + + <dl> + <dt><code>cmd=<var>cmdline</var></code></dt> + + <dd><code>cmd=</code> Ű ܺ ɾ Ѵ. + α ڿ ƱԸƮ ִٸ ֵǥ + Ѵ (<em> </em>, + <code>cmd="<var>/bin/mypgm</var> <var>arg1</var> + <var>arg2</var>"</code>). ġʰ α + ϱ Ϲ ǥ ʿ. α + ƱԸƮ Ѵ. α ƱԸƮ + ִٸ տ 齽 ؾ Ѵ. 齽 + ƱԸƮ Ϻζ 齽 ι ؾ Ѵ. α + Ҷ ǥ CGI ȯ溯 ߰ DOCUMENT_URI, + DOCUMENT_PATH_INFO, QUERY_STRING_UNESCAPED Ѵ.</dd> + + <dt><code>mode=<var>mode</var></code></dt> + + <dd> óϴ ʹ (⺻) <code>mode=output</code> + Ѵ. û óϴ ʹ <code>mode=input</code> + Ѵ. <code>mode=input</code> ġ 2.1 ߰Ǿ.</dd> + + <dt><code>intype=<var>imt</var></code></dt> + + <dd> Ķʹ ͷ ó ͳ media + type(<em></em>, MIME type) Ѵ. ⺻ + ͷ óѴ. <code>intype=</code> ϸ + ٸ type ͷ ó ʴ´.</dd> + + <dt><code>outtype=<var>imt</var></code></dt> + + <dd> Ķʹ ͷ ó ͳ media + type(<em></em>, MIME type) Ѵ. ó ۾߿ + ͳ media type Ҷ ϴ. ⺻, ͳ + media type ʴ´.</dd> + + <dt><code>PreservesContentLength</code></dt> + + <dd><code>PreservesContentLength</code> Ű Ͱ + content length ϵ Ѵ. κ Ͱ content + length ϹǷ Ű ⺻ ƴϴ. Ͱ + ̸ Ҷ Ű带 ؾ Ѵ.</dd> + + <dt><code>ftype=<var>filtertype</var></code></dt> + + <dd> Ķʹ ڰ Ѵ. + κ ⺻ AP_FTYPE_RESOURCE ϴ. + ϴ ڿͿ ϴ + ĶͰ ʿϴ. ˷ util_filter.h + ִ AP_FTYPE_* Ǹ ϶.</dd> + + <dt><code>disableenv=<var>env</var></code></dt> + + <dd> Ķͷ ȯ溯 ǵǾٸ + ʴ´.</dd> + + <dt><code>enableenv=<var>env</var></code></dt> + + <dd> Ķͷ ȯ溯 ǵ + Ѵ.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ExtFilterOptions" id="ExtFilterOptions">ExtFilterOptions</a> <a name="extfilteroptions" id="extfilteroptions">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ɼ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ExtFilterOptions <var>option</var> [<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ExtFilterOptions DebugLevel=0 NoLogStderr</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_ext_filter</td></tr> +</table> + <p><code class="directive">ExtFilterOptions</code> þ + <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> Ư óɼ Ѵ. + <var>Option</var> ϳ.</p> + + <dl> + <dt><code>DebugLevel=<var>n</var></code></dt> + + <dd> + <code>DebugLevel</code> Ű + <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ϴ + Ѵ. ⺻ ʴ´. + ̴ <code>DebugLevel=0</code> . ڸ + Ҽ, ϵǰ + . ڰ ǹ̴ <code>mod_ext_filter.c</code> + պκп ִ DBGLVL_ ǿ ִ. + + <p>: α Ϸ core þ <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> Ͽ + ġ α ؾ Ѵ.</p> + </dd> + + <dt><code>LogStderr | NoLogStderr</code></dt> + + <dd><code>LogStderr</code> Ű ܺ α + ǥؿ ϴ ġ α Ѵ. + <code>NoLogStderr</code> ʴ´.</dd> + </dl> + + <div class="example"><h3></h3><p><code> + ExtFilterOptions LogStderr DebugLevel=0 + </code></p></div> + + <p> ϸ Ͱ ǥؿ ϴ + ġ α ϰ, <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> + ü ʴ´. </p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ext_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ext_filter.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ext_filter.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_file_cache.html b/docs/manual/mod/mod_file_cache.html new file mode 100644 index 0000000..e06fcc8 --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_file_cache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_file_cache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_file_cache.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_file_cache.html.en b/docs/manual/mod/mod_file_cache.html.en new file mode 100644 index 0000000..8f0bd52 --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html.en @@ -0,0 +1,238 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_file_cache - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_file_cache</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_file_cache.html" title="English"> en </a> | +<a href="../fr/mod/mod_file_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Caches a static list of files in memory</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>file_cache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_file_cache.c</td></tr></table> +<h3>Summary</h3> + + + <div class="warning"> + This module should be used with care. You can easily create a broken + site using <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code>, so read this document + carefully. + </div> + + <p><em>Caching</em> frequently requested files that change very + infrequently is a technique for reducing server load. + <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> provides two techniques for caching + frequently requested <em>static</em> files. Through configuration + directives, you can direct <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> to either + open then <code>mmap()</code> a file, or to pre-open a file and save + the file's open <em>file handle</em>. Both techniques reduce server + load when processing requests for these files by doing part of the work + (specifically, the file I/O) for serving the file when the + server is started rather than during each request.</p> + + <p>Notice: You cannot use this for speeding up CGI programs or + other files which are served by special content handlers. It + can only be used for regular files which are usually served by + the Apache core content handler.</p> + + <p>This module is an extension of and borrows heavily from the + <code>mod_mmap_static</code> module in Apache 1.3.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#using">Using mod_file_cache</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachefile">CacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mmapfile">MMapFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_file_cache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_file_cache">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">Using mod_file_cache</a></h2> + + <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> caches a list of statically + configured files via <code class="directive"><a href="#mmapfile">MMapFile</a></code> or <code class="directive"><a href="#cachefile">CacheFile</a></code> directives in the main server configuration.</p> + + <p>Not all platforms support both directives. You will receive an error + message in the server error log if you attempt to use an + unsupported directive. If given an unsupported directive, the + server will start but the file will not be cached. On platforms + that support both directives, you should experiment with both to + see which works best for you.</p> + + <h3>MMapFile Directive</h3> + + <p>The <code class="directive"><a href="#mmapfile">MMapFile</a></code> + directive of <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> maps a list of + statically configured files into memory through the system call + <code>mmap()</code>. This system call is available on most modern + Unix derivatives, but not on all. There are sometimes system-specific + limits on the size and number of files that can be + <code>mmap()</code>ed, experimentation is probably the easiest way + to find out.</p> + + <p>This <code>mmap()</code>ing is done once at server start or + restart, only. So whenever one of the mapped files changes on the + filesystem you <em>have</em> to restart the server (see the <a href="../stopping.html">Stopping and Restarting</a> documentation). + To reiterate that point: if the files are modified <em>in place</em> + without restarting the server you may end up serving requests that + are completely bogus. You should update files by unlinking the old + copy and putting a new copy in place. Most tools such as + <code>rdist</code> and <code>mv</code> do this. The reason why this + modules doesn't take care of changes to the files is that this check + would need an extra <code>stat()</code> every time which is a waste + and against the intent of I/O reduction.</p> + + + <h3>CacheFile Directive</h3> + + <p>The <code class="directive"><a href="#cachefile">CacheFile</a></code> + directive of <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> opens an active + <em>handle</em> or <em>file descriptor</em> to the file (or files) + listed in the configuration directive and places these open file + handles in the cache. When the file is requested, the server + retrieves the handle from the cache and passes it to the + <code>sendfile()</code> (or <code>TransmitFile()</code> on Windows), + socket API.</p> + + + + <p>This file handle caching is done once at server start or + restart, only. So whenever one of the cached files changes on + the filesystem you <em>have</em> to restart the server (see the + <a href="../stopping.html">Stopping and Restarting</a> + documentation). To reiterate that point: if the files are + modified <em>in place</em> without restarting the server you + may end up serving requests that are completely bogus. You + should update files by unlinking the old copy and putting a new + copy in place. Most tools such as <code>rdist</code> and + <code>mv</code> do this.</p> + + + <div class="note"><h3>Note</h3> + <p>Don't bother asking for a directive which recursively + caches all the files in a directory. Try this instead... See the + <code class="directive"><a href="../mod/core.html#include">Include</a></code> directive, and consider + this command:</p> + + <div class="example"><p><code> + find /www/htdocs -type f -print \<br /> + | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf + </code></p></div> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheFile" id="CacheFile">CacheFile</a> <a name="cachefile" id="cachefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Cache a list of file handles at startup time</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheFile <var>file-path</var> [<var>file-path</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr> +</table> + <p>The <code class="directive">CacheFile</code> directive opens handles to + one or more files (given as whitespace separated arguments) and + places these handles into the cache at server startup + time. Handles to cached files are automatically closed on a server + shutdown. When the files have changed on the filesystem, the + server should be restarted to re-cache them.</p> + + <p>Be careful with the <var>file-path</var> arguments: They have + to literally match the filesystem path Apache's URL-to-filename + translation handlers create. We cannot compare inodes or other + stuff to match paths through symbolic links <em>etc.</em> + because that again would cost extra <code>stat()</code> system + calls which is not acceptable. This module may or may not work + with filenames rewritten by <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> or + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">CacheFile /usr/local/apache/htdocs/index.html</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MMapFile" id="MMapFile">MMapFile</a> <a name="mmapfile" id="mmapfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Map a list of files into memory at startup time</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MMapFile <var>file-path</var> [<var>file-path</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr> +</table> + <p>The <code class="directive">MMapFile</code> directive maps one or more files + (given as whitespace separated arguments) into memory at server + startup time. They are automatically unmapped on a server + shutdown. When the files have changed on the filesystem at + least a <code>HUP</code> or <code>USR1</code> signal should be send to + the server to re-<code>mmap()</code> them.</p> + + <p>Be careful with the <var>file-path</var> arguments: They have + to literally match the filesystem path Apache's URL-to-filename + translation handlers create. We cannot compare inodes or other + stuff to match paths through symbolic links <em>etc.</em> + because that again would cost extra <code>stat()</code> system + calls which is not acceptable. This module may or may not work + with filenames rewritten by <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> or + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MMapFile /usr/local/apache/htdocs/index.html</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_file_cache.html" title="English"> en </a> | +<a href="../fr/mod/mod_file_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_file_cache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_file_cache.html.fr.utf8 b/docs/manual/mod/mod_file_cache.html.fr.utf8 new file mode 100644 index 0000000..ad56167 --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html.fr.utf8 @@ -0,0 +1,271 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_file_cache - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_file_cache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en cache mémoire d'une liste statique de +fichiers</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>file_cache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_file_cache.c</td></tr></table> +<h3>Sommaire</h3> + + + <div class="warning"> + Ce module doit être utilisé avec précautions. Il est recommandé de + lire attentivement ce document, car l'utilisation de + <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> peut facilement conduire à la + création d'un site inopérant. + </div> + + <p>La mise en cache de fichiers souvent demandés mais rarement + modifiés est une technique permettant de réduire la charge du + serveur. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> met en oeuvre deux + techniques de mise en cache de fichiers <em>statiques</em> + fréquemment demandés. Des directives de configuration vous + permettent d'indiquer à <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> soit + d'ouvrir et de charger une image en mémoire d'un fichier avec + <code>mmap()</code>, soit de préouvrir un fichier et de maintenir en + service le <em>gestionnaire</em> du fichier. Les deux techniques + permettent de réduire la charge du serveur lors du traitement des + requêtes concernant ces fichiers, en accomplissant une partie du + travail nécessaire à la mise à disposition de ces fichiers (en + particulier les opérations d'entrées/sorties sur les fichiers) au + démarrage du serveur, plutôt qu'au cours de chaque requête.</p> + + <p>Note : ces techniques sont inutilisables pour accélérer des + programmes CGI ou d'autres fichiers servis par des gestionnaires de + contenu spéciaux. Elles ne peuvent être utilisées que pour des + fichiers standards, normalement servis par le gestionnaire de contenu + de base d'Apache.</p> + + <p>Ce module est une extension du module + d'Apache 1.3 <code>mod_mmap_static</code>et s'en inspire + fortement .</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de mod_file_cache</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachefile">CacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mmapfile">MMapFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_file_cache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_file_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">Utilisation de mod_file_cache</a></h2> + + <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> gère la mise en cache d'une liste + de fichiers définie de manière statique via une des directives + <code class="directive"><a href="#mmapfile">MMapFile</a></code> ou + <code class="directive"><a href="#cachefile">CacheFile</a></code> au niveau + de la configuration du serveur principal.</p> + + <p>Les deux directives ne sont pas supportées par toutes les + plates-formes. Par exemple, Apache pour Windows ne supporte pas + actuellement la directive <code class="directive"><a href="#mmapfile">MMapFile</a></code>, alors que d'autres + plates-formes, comme AIX, supportent les deux. Vous recevrez un + message d'erreur dans le journal des erreurs du serveur si vous + essayez d'utiliser une directive non supportée. Si vous utilisez une + directive non supportée, le serveur démarrera, mais les fichiers ne + seront pas mis en cache. Sur les plates-formes qui supportent les + deux directives, vous devez faire des essais afin de déterminer + quelle directive vous convient le mieux.</p> + + <h3>Directive MMapFile</h3> + + <p>La directive <code class="directive"><a href="#mmapfile">MMapFile</a></code> du module + <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet de transférer en mémoire + une liste statique de fichiers à l'aide de l'appel système + <code>mmap()</code>. Cet appel système est disponible sur la + plupart des plates-formes de style Unix, mais pas sur toutes. Il + existe parfois des limites spécifiques au système quant à la + taille et au nombre de fichiers qui peuvent être + <code>mmap()</code>és, et l'expérimentation est probablement la + méthode la plus simple pour déterminer ces limites.</p> + + <p>Ce <code>mmap()</code>age n'est effectué qu'une seul fois au + démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des + fichiers chargés en mémoire est modifié au niveau du système de + fichiers, vous <em>devez</em> redémarrer le serveur (voir la + documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>). Pour bien + insister sur ce point, si des fichiers sont modifiés <em>sur + disque</em>, et si vous ne redémarrez pas le serveur, vous allez + finir par servir des contenus complètement obsolètes. Vous devez + mettre à jour les fichiers en renommant l'ancienne version et en + enregistrant la nouvelle sur disque. Pour y parvenir, on peut + utiliser des outils comme <code>rdist</code> et <code>mv</code>. + La raison pour laquelle ce module ne prend pas en compte les + modifications de fichiers réside dans le fait que cette + vérification nécessiterait un appel à <code>stat()</code> à chaque + accès, et en fin de compte, l'augmentation de la consommation de + ressources finirait par aller contre le but initial de + réduire les entrées/sorties.</p> + + + <h3>Directive CacheFile</h3> + + <p>La directive <code class="directive"><a href="#cachefile">CacheFile</a></code> du module + <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet d'associer un + <em>gestionnaire</em> ou <em>descripteur de fichier</em> à chaque + fichier énuméré dans la directive de configuration et place ces + gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des + fichier est demandé, le serveur sélectionne son gestionnaire dans + le cache et le transmet à l'API <code>sendfile()</code> (ou + <code>TransmitFile()</code> sous Windows).</p> + + + + <p>Cette mise en cache des gestionnaire n'est effectuée qu'une + seule fois au démarrage ou redémarrage du système. Ainsi, chaque + fois qu'un des fichiers chargés en mémoire est modifié au niveau + du système de fichiers, vous <em>devez</em> redémarrer le serveur + (voir la documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>). + Pour bien + insister sur ce point, si des fichiers sont modifiés <em>sur + disque</em>, et si vous ne redémarrez pas le serveur, vous allez + finir par servir des contenus complètement obsolètes. Vous devez + mettre à jour les fichiers en renommant l'ancienne version et en + enregistrant la nouvelle sur disque. Pour y parvenir, on peut + utiliser des outils comme <code>rdist</code> et + <code>mv</code>.</p> + + + <div class="note"><h3>Note</h3> + <p>Ne cherchez pas à trouver de directive qui met tous les + fichiers d'un répertoire en cache, de manière récursive. Pour y + parvenir, vous pouvez vous reporter à la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code> directive, et considérer cette + commande :</p> + + <div class="example"><p><code> + find /www/htdocs -type f -print \<br /> + | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf + </code></p></div> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachefile" id="cachefile">Directive</a> <a name="CacheFile" id="CacheFile">CacheFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en cache une liste de gestionnaires de fichiers au +démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheFile <var>chemin fichier</var> [<var>chemin fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr> +</table> + <p>La directive <code class="directive">CacheFile</code> permet d'associer + des gestionnaires à un ou plusieurs fichiers (séparés par des + espaces), et de placer ceux-ci dans le cache au démarrage du + serveur. Les gestionnaires des fichiers mis en cache sont + automatiquement fermés à l'arrêt du serveur. Lorsqu'un ou plusieurs + fichiers ont été modifiés sur disque, le serveur doit être redémarré + afin que les modifications soient prises en compte par le cache.</p> + + <p>Soyez prudent avec les arguments <var>chemin fichier</var> : ils + doivent correspondre exactement au chemin du système de fichier que + créent les gestionnaires de traduction URL-vers-nom-fichier + d'Apache. On ne peut pas comparer des inodes ou autres identifiants + pour mettre en correspondance des chemins à l'aide de liens + symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un + appel à <code>stat()</code> supplémentaire, ce qui n'est pas acceptable. + Il n'est pas garanti que ce module fonctionne avec des noms de + fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CacheFile /usr/local/apache/htdocs/index.html</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mmapfile" id="mmapfile">Directive</a> <a name="MMapFile" id="MMapFile">MMapFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Charge au démarrage une liste de fichiers en mémoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MMapFile <var>chemin fichier</var> [<var>chemin fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr> +</table> + <p>La directive <code class="directive">MMapFile</code> permet de charger un + ou plusieurs fichiers (séparés par des espaces) en mémoire au + démarrage du serveur. Ceux-ci sont automatiquement déchargés de la + mémoire à l'arrêt du serveur. Lorsqu'un ou plusieurs fichiers ont + été modifiés sur disque, on doit au minimum envoyer un signal + <code>HUP</code> ou <code>USR1</code> au serveur afin de les + re<code>mmap()</code>er.</p> + + <p>Soyez prudent avec les arguments <var>chemin fichier</var> : ils + doivent correspondre exactement au chemin du système de fichier que + créent les gestionnaires de traduction URL-vers-nom-fichier + d'Apache. On ne peut pas comparer des inodes ou autres identifiants + pour mettre en correspondance des chemins à l'aide de liens + symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un + appel à <code>stat()</code> supplémentaire, ce qui n'est pas + acceptable. + Il n'est pas garanti que ce module fonctionne avec des noms de + fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MMapFile /usr/local/apache/htdocs/index.html</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_file_cache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_file_cache.html.ko.euc-kr b/docs/manual/mod/mod_file_cache.html.ko.euc-kr new file mode 100644 index 0000000..f0141bb --- /dev/null +++ b/docs/manual/mod/mod_file_cache.html.ko.euc-kr @@ -0,0 +1,232 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_file_cache - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_file_cache</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_file_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_file_cache.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ϵ ij</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>file_cache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_file_cache.c</td></tr></table> +<h3></h3> + + + <div class="warning"> + ؼ ؾ Ѵ. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> + Ͽ Ʈ + IJ б ٶ. + </div> + + <p> ʰ ûǴ <em>ij</em> + Ͽ ϸ ִ. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> + ûǴ <em></em> ΰ ij + Ѵ. þ Ͽ <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> + (open) <code>mmap()</code> ƴϸ + <em> ڵ</em> Ѵ. + ϱ ʿ ۾ Ϻθ (Ư + ۾) û Ź ϴ Ҷ + ѹ Ͽ ϰ Ѵ.</p> + + <p>: CGI α̳ Ư ڵ鷯 + ϴ ӵ . + ġ core ڵ鷯 ϴ ϹϿ + ȴ.</p> + + <p> ġ 1.3 ִ <code>mod_mmap_static</code> + Ȯ .</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#using">mod_file_cache ϱ</a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachefile">CacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mmapfile">MMapFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_file_cache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_file_cache">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="using" id="using">mod_file_cache ϱ</a></h2> + + <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> ּ <code class="directive"><a href="#mmapfile">MMapFile</a></code> <code class="directive"><a href="#cachefile">CacheFile</a></code> þ Ͽ + ϵ ij Ѵ.</p> + + <p> ÷ þ ϴ ƴϴ. + , ġ <code class="directive"><a href="#mmapstatic">MMapStatic</a></code> þ + , AIX ٸ ÷ θ Ѵ. + ʴ þ α + . ʴ þ ص + ij ʴ´. þ ϴ + ÷ Ѵٸ غ.</p> + + <h3>MMapFile þ</h3> + + <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> <code class="directive"><a href="#mmapfile">MMapFile</a></code> þ + ϵ <code>mmap()</code> ýȣ + Ͽ Ѵ. ֽ н ü + ýȣ , ü ִ. , + <code>mmap()</code> ִ ũ ý + Ƿ ̸ غ .</p> + + <p> Ҷ Ҷ <code>mmap()</code>Ѵ. + Ͻýۿ ش ϳ Ǹ + <em>ؾ</em> Ѵ (<a href="../stopping.html">ߴܰ + </a> ). ٽ ؼ Ǿµ + ̻ϰ û + . (unlink) ڸ ο + ؾ Ѵ. <code>rdist</code> + <code>mv</code> ټ ̷ Ѵ. + Ź ߰ ʿ <code>stat()</code> ˻簡 ʿϰ + Ҷ ǵ ϱ + ȭ Ѵ.</p> + + + <h3>CacheFile þ</h3> + + <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> <code class="directive"><a href="#cachefile">CacheFile</a></code> þ + þ ( ϵ) + <em>ڵ(handle)</em> Ȥ <em> (file descriptor)</em> + ij Ѵ. ûϸ ij ڵ + ãƼ API <code>sendfile()</code> ( + <code>TransmitFile()</code>) ѱ.</p> + + + + <p> Ҷ Ҷ ڵ ijѴ. + Ͻýۿ ij ϳ Ǹ + <em>ؾ</em> Ѵ (<a href="../stopping.html">ߴܰ </a> ). + ٽ ؼ Ǿµ + ̻ϰ û . + (unlink) ڸ ο + ؾ Ѵ. <code>rdist</code> <code>mv</code> + ټ ̷ Ѵ.</p> + + + <div class="note"><h3></h3> + <p>丮 ij ϴ þ + . غ... <code class="directive"><a href="../mod/core.html#include">Include</a></code> þ Ͽ + ɾ Ѵ:</p> + + <div class="example"><p><code> + find /www/htdocs -type f -print \<br /> + | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf + </code></p></div> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheFile" id="CacheFile">CacheFile</a> <a name="cachefile" id="cachefile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>۽ ڵ ijѴ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CacheFile <var>file-path</var> [<var>file-path</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_file_cache</td></tr> +</table> + <p><code class="directive">CacheFile</code> þ Ҷ + (open) ϵ ڵ ij Ѵ. + ڵ ij ڵ ݴ´(close). + Ͻýۿ Ǹ ٽ ijϱ + ؾ Ѵ.</p> + + <p><var>file-path</var> ƱԸƮ ض. ƱԸƮ + ġ URL-ϸ ȯ ڵ鷯 Ͻý ο + Ȯ ġؾ Ѵ. ѹ ʿ <code>stat()</code> + ýȣ ʿϱ inode ɺũ <em></em> + θ . <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ۼ ϸ ٷ + ֱ ϴ.</p> + + <div class="example"><h3></h3><p><code> + CacheFile /usr/local/apache/htdocs/index.html + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MMapFile" id="MMapFile">MMapFile</a> <a name="mmapfile" id="mmapfile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>۽ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>MMapFile <var>file-path</var> [<var>file-path</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_file_cache</td></tr> +</table> + <p><code class="directive">MMapFile</code> þ Ҷ + ( ƱԸƮ ) + Ѵ(map). ڵ Ǭ(unmap). + Ͻýۿ Ǹ ϵ ٽ + <code>mmap()</code>ϱ ּ <code>HUP</code>̳ + <code>USR1</code> ñ׳ Ѵ.</p> + + <p><var>file-path</var> ƱԸƮ ض. ƱԸƮ + ġ URL-ϸ ȯ ڵ鷯 Ͻý ο + Ȯ ġؾ Ѵ. ѹ ʿ <code>stat()</code> + ýȣ ʿϱ inode ɺũ <em></em> + θ . <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ۼ ϸ ٷ + ֱ ϴ.</p> + + <div class="example"><h3></h3><p><code> + MMapFile /usr/local/apache/htdocs/index.html + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_file_cache.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_file_cache.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_file_cache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_filter.html b/docs/manual/mod/mod_filter.html new file mode 100644 index 0000000..c120218 --- /dev/null +++ b/docs/manual/mod/mod_filter.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_filter.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_filter.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_filter.html.en b/docs/manual/mod/mod_filter.html.en new file mode 100644 index 0000000..8047ccb --- /dev/null +++ b/docs/manual/mod/mod_filter.html.en @@ -0,0 +1,525 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_filter - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_filter</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_filter.html" title="English"> en </a> | +<a href="../fr/mod/mod_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Context-sensitive smart filter configuration module</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>filter_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_filter.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module enables smart, context-sensitive configuration of + output content filters. For example, apache can be configured to + process different content-types through different filters, even + when the content-type is not known in advance (e.g. in a proxy).</p> + + <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> works by introducing indirection into + the filter chain. Instead of inserting filters in the chain, we insert + a filter harness which in turn dispatches conditionally + to a filter provider. Any content filter may be used as a provider + to <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>; no change to existing filter modules is + required (although it may be possible to simplify them).</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#smart">Smart Filtering</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#terms">Filter Declarations, Providers and Chains</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#config">Configuring the Chain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocs">Filtering and Response Status</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#upgrade">Upgrading from Apache HTTP Server 2.2 Configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol Handling</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterchain">FilterChain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterdeclare">FilterDeclare</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterprotocol">FilterProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterprovider">FilterProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filtertrace">FilterTrace</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_filter">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_filter">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="smart" id="smart">Smart Filtering</a></h2> + <p>In the traditional filtering model, filters are inserted unconditionally + using <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> and family. + Each filter then needs to determine whether to run, and there is little + flexibility available for server admins to allow the chain to be + configured dynamically.</p> + + <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> by contrast gives server administrators a + great deal of flexibility in configuring the filter chain. In fact, + filters can be inserted based on complex boolean + <a href="../expr.html">expressions</a> This generalises the limited + flexibility offered by <code class="directive">AddOutputFilterByType</code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="terms" id="terms">Filter Declarations, Providers and Chains</a></h2> + <p class="figure"> + <img src="../images/mod_filter_old.gif" width="160" height="310" alt="[This image displays the traditional filter model]" /><br /> + <dfn>Figure 1:</dfn> The traditional filter model</p> + + <p>In the traditional model, output filters are a simple chain + from the content generator (handler) to the client. This works well + provided the filter chain can be correctly configured, but presents + problems when the filters need to be configured dynamically based on + the outcome of the handler.</p> + + <p class="figure"> + <img src="../images/mod_filter_new.gif" width="423" height="331" alt="[This image shows the mod_filter model]" /><br /> + <dfn>Figure 2:</dfn> The <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> model</p> + + <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> works by introducing indirection into + the filter chain. Instead of inserting filters in the chain, we insert + a filter harness which in turn dispatches conditionally + to a filter provider. Any content filter may be used as a provider + to <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>; no change to existing filter modules + is required (although it may be possible to simplify them). There can be + multiple providers for one filter, but no more than one provider will + run for any single request.</p> + + <p>A filter chain comprises any number of instances of the filter + harness, each of which may have any number of providers. A special + case is that of a single provider with unconditional dispatch: this + is equivalent to inserting the provider filter directly into the chain.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="config" id="config">Configuring the Chain</a></h2> + <p>There are three stages to configuring a filter chain with + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. For details of the directives, see below.</p> + + <dl> + <dt>Declare Filters</dt> + <dd>The <code class="directive"><a href="#filterdeclare">FilterDeclare</a></code> directive + declares a filter, assigning it a name and filter type. Required + only if the filter is not the default type AP_FTYPE_RESOURCE.</dd> + + <dt>Register Providers</dt> + <dd>The <code class="directive"><a href="#filterprovider">FilterProvider</a></code> + directive registers a provider with a filter. The filter may have + been declared with <code class="directive"><a href="#filterdeclare">FilterDeclare</a></code>; if not, FilterProvider will implicitly + declare it with the default type AP_FTYPE_RESOURCE. The provider + must have been + registered with <code>ap_register_output_filter</code> by some module. + The final argument to <code class="directive"><a href="#filterprovider">FilterProvider</a></code> is an expression: the provider will be + selected to run for a request if and only if the expression evaluates + to true. The expression may evaluate HTTP request or response + headers, environment variables, or the Handler used by this request. + Unlike earlier versions, mod_filter now supports complex expressions + involving multiple criteria with AND / OR logic (&& / ||) + and brackets. The details of the expression syntax are described in + the <a href="../expr.html">ap_expr documentation</a>.</dd> + + <dt>Configure the Chain</dt> + <dd>The above directives build components of a smart filter chain, + but do not configure it to run. The <code class="directive"><a href="#filterchain">FilterChain</a></code> directive builds a filter chain from smart + filters declared, offering the flexibility to insert filters at the + beginning or end of the chain, remove a filter, or clear the chain.</dd> +</dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="errordocs" id="errordocs">Filtering and Response Status</a></h2> + <p>mod_filter normally only runs filters on responses with + HTTP status 200 (OK). If you want to filter documents with + other response statuses, you can set the <var>filter-errordocs</var> + environment variable, and it will work on all responses + regardless of status. To refine this further, you can use + expression conditions with <code class="directive">FilterProvider</code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="upgrade" id="upgrade">Upgrading from Apache HTTP Server 2.2 Configuration</a></h2> + <p>The <code class="directive"><a href="#filterprovider">FilterProvider</a></code> + directive has changed from httpd 2.2: the <var>match</var> and + <var>dispatch</var> arguments are replaced with a single but + more versatile <var>expression</var>. In general, you can convert + a match/dispatch pair to the two sides of an expression, using + something like:</p> + <div class="example"><p><code>"dispatch = 'match'"</code></p></div> + <p>The Request headers, Response headers and Environment variables + are now interpreted from syntax <var>%{req:foo}</var>, + <var>%{resp:foo}</var> and <var>%{env:foo}</var> respectively. + The variables <var>%{HANDLER}</var> and <var>%{CONTENT_TYPE}</var> + are also supported.</p> + <p>Note that the match no longer support substring matches. They can be + replaced by regular expression matches.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + <dl> + <dt>Server side Includes (SSI)</dt> + <dd>A simple case of replacing <code class="directive">AddOutputFilterByType</code> + <pre class="prettyprint lang-config">FilterDeclare SSI +FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|" +FilterChain SSI</pre> + + </dd> + + <dt>Server side Includes (SSI)</dt> + <dd>The same as the above but dispatching on handler (classic + SSI behaviour; .shtml files get processed). + <pre class="prettyprint lang-config">FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'" +FilterChain SSI</pre> + + </dd> + + <dt>Emulating mod_gzip with mod_deflate</dt> + <dd>Insert INFLATE filter only if "gzip" is NOT in the + Accept-Encoding header. This filter runs with ftype CONTENT_SET. + <pre class="prettyprint lang-config">FilterDeclare gzip CONTENT_SET +FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/" +FilterChain gzip</pre> + + </dd> + + <dt>Image Downsampling</dt> + <dd>Suppose we want to downsample all web images, and have filters + for GIF, JPEG and PNG. + <pre class="prettyprint lang-config">FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'" +FilterProvider unpack gif_unpack "%{CONTENT_TYPE} = 'image/gif'" +FilterProvider unpack png_unpack "%{CONTENT_TYPE} = 'image/png'" + +FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|" +FilterProtocol downsample "change=yes" + +FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'" +FilterProvider repack gif_pack "%{CONTENT_TYPE} = 'image/gif'" +FilterProvider repack png_pack "%{CONTENT_TYPE} = 'image/png'" +<Location "/image-filter"> + FilterChain unpack downsample repack +</Location></pre> + + </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="protocol" id="protocol">Protocol Handling</a></h2> + <p>Historically, each filter is responsible for ensuring that whatever + changes it makes are correctly represented in the HTTP response headers, + and that it does not run when it would make an illegal change. This + imposes a burden on filter authors to re-implement some common + functionality in every filter:</p> + + <ul> + <li>Many filters will change the content, invalidating existing content + tags, checksums, hashes, and lengths.</li> + + <li>Filters that require an entire, unbroken response in input need to + ensure they don't get byteranges from a backend.</li> + + <li>Filters that transform output in a filter need to ensure they don't + violate a <code>Cache-Control: no-transform</code> header from the + backend.</li> + + <li>Filters may make responses uncacheable.</li> + </ul> + + <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> aims to offer generic handling of these + details of filter implementation, reducing the complexity required of + content filter modules. This is work-in-progress; the + <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code> implements + some of this functionality for back-compatibility with Apache 2.0 + modules. For httpd 2.1 and later, the + <code>ap_register_output_filter_protocol</code> and + <code>ap_filter_protocol</code> API enables filter modules to + declare their own behaviour.</p> + + <p>At the same time, <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> should not interfere + with a filter that wants to handle all aspects of the protocol. By + default (i.e. in the absence of any <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code> directives), <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> + will leave the headers untouched.</p> + + <p>At the time of writing, this feature is largely untested, + as modules in common use are designed to work with 2.0. + Modules using it should test it carefully.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a> <a name="addoutputfilterbytype" id="addoutputfilterbytype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigns an output filter to a particular media-type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Had severe limitations before +being moved to <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> in version 2.3.7</td></tr> +</table> + <p>This directive activates a particular output <a href="../filter.html">filter</a> for a request depending on the + response <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media-type</a>.</p> + + <p>The following example uses the <code>DEFLATE</code> filter, which + is provided by <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. It will compress all + output (either static or dynamic) which is labeled as + <code>text/html</code> or <code>text/plain</code> before it is sent + to the client.</p> + + <pre class="prettyprint lang-config">AddOutputFilterByType DEFLATE text/html text/plain</pre> + + + <p>If you want the content to be processed by more than one filter, their + names have to be separated by semicolons. It's also possible to use one + <code class="directive">AddOutputFilterByType</code> directive for each of + these filters.</p> + + <p>The configuration below causes all script output labeled as + <code>text/html</code> to be processed at first by the + <code>INCLUDES</code> filter and then by the <code>DEFLATE</code> + filter.</p> + + <pre class="prettyprint lang-config"><Location "/cgi-bin/"> + Options Includes + AddOutputFilterByType INCLUDES;DEFLATE text/html +</Location></pre> + + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +<li><a href="../filter.html">filters</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilterChain" id="FilterChain">FilterChain</a> <a name="filterchain" id="filterchain">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure the filter chain</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FilterChain [+=-@!]<var>filter-name</var> <var>...</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>This configures an actual filter chain, from declared filters. + <code class="directive">FilterChain</code> takes any number of arguments, + each optionally preceded with a single-character control that + determines what to do:</p> + + <dl> + <dt><code>+<var>filter-name</var></code></dt> + <dd>Add <var>filter-name</var> to the end of the filter chain</dd> + + <dt><code>@<var>filter-name</var></code></dt> + <dd>Insert <var>filter-name</var> at the start of the filter chain</dd> + + <dt><code>-<var>filter-name</var></code></dt> + <dd>Remove <var>filter-name</var> from the filter chain</dd> + + <dt><code>=<var>filter-name</var></code></dt> + <dd>Empty the filter chain and insert <var>filter-name</var></dd> + + <dt><code>!</code></dt> + <dd>Empty the filter chain</dd> + + <dt><code><var>filter-name</var></code></dt> + <dd>Equivalent to <code>+<var>filter-name</var></code></dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilterDeclare" id="FilterDeclare">FilterDeclare</a> <a name="filterdeclare" id="filterdeclare">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declare a smart filter</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FilterDeclare <var>filter-name</var> <var>[type]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>This directive declares an output filter together with a + header or environment variable that will determine runtime + configuration. The first argument is a <var>filter-name</var> + for use in <code class="directive"><a href="#filterprovider">FilterProvider</a></code>, + <code class="directive"><a href="#filterchain">FilterChain</a></code> and + <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code> directives.</p> + + <p>The final (optional) argument + is the type of filter, and takes values of <code>ap_filter_type</code> + - namely <code>RESOURCE</code> (the default), <code>CONTENT_SET</code>, + <code>PROTOCOL</code>, <code>TRANSCODE</code>, <code>CONNECTION</code> + or <code>NETWORK</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilterProtocol" id="FilterProtocol">FilterProtocol</a> <a name="filterprotocol" id="filterprotocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Deal with correct HTTP protocol handling</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>This directs <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> to deal with ensuring the + filter doesn't run when it shouldn't, and that the HTTP response + headers are correctly set taking into account the effects of the + filter.</p> + + <p>There are two forms of this directive. With three arguments, it + applies specifically to a <var>filter-name</var> and a + <var>provider-name</var> for that filter. + With two arguments it applies to a <var>filter-name</var> whenever the + filter runs <em>any</em> provider.</p> + + <p>Flags specified with this directive are merged with the flags + that underlying providers may have registered with + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. For example, a filter may internally specify + the equivalent of <code>change=yes</code>, but a particular + configuration of the module can override with <code>change=no</code>. + </p> + + <p><var>proto-flags</var> is one or more of</p> + + <dl> + <dt><code>change=yes|no</code></dt> + <dd>Specifies whether the filter changes the content, including possibly + the content length. The "no" argument is supported in 2.4.7 and later.</dd> + + <dt><code>change=1:1</code></dt> + <dd>The filter changes the content, but will not change the content + length</dd> + + <dt><code>byteranges=no</code></dt> + <dd>The filter cannot work on byteranges and requires complete input</dd> + + <dt><code>proxy=no</code></dt> + <dd>The filter should not run in a proxy context</dd> + + <dt><code>proxy=transform</code></dt> + <dd>The filter transforms the response in a manner incompatible with + the HTTP <code>Cache-Control: no-transform</code> header.</dd> + + <dt><code>cache=no</code></dt> + <dd>The filter renders the output uncacheable (eg by introducing randomised + content changes)</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilterProvider" id="FilterProvider">FilterProvider</a> <a name="filterprovider" id="filterprovider">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Register a content filter</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>This directive registers a <em>provider</em> for the smart filter. + The provider will be called if and only if the <var>expression</var> + declared evaluates to true when the harness is first called.</p> + + <p> + <var>provider-name</var> must have been registered by loading + a module that registers the name with + <code>ap_register_output_filter</code>. + </p> + + <p><var>expression</var> is an + <a href="../expr.html">ap_expr</a>.</p> + + +<h3>See also</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and examples.</li> +<li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilterTrace" id="FilterTrace">FilterTrace</a> <a name="filtertrace" id="filtertrace">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FilterTrace <var>filter-name</var> <var>level</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>This directive generates debug information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. + It is designed to help test and debug providers (filter modules), although + it may also help with <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> itself.</p> + + <p>The debug output depends on the <var>level</var> set:</p> + <dl> + <dt><code>0</code> (default)</dt> + <dd>No debug information is generated.</dd> + + <dt><code>1</code></dt> + <dd><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> will record buckets and brigades + passing through the filter to the error log, before the provider has + processed them. This is similar to the information generated by + <a href="http://apache.webthing.com/mod_diagnostics/">mod_diagnostics</a>. + </dd> + + <dt><code>2</code> (not yet implemented)</dt> + <dd>Will dump the full data passing through to a tempfile before the + provider. <strong>For single-user debug only</strong>; this will not + support concurrent hits.</dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_filter.html" title="English"> en </a> | +<a href="../fr/mod/mod_filter.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_filter.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_filter.html.fr.utf8 b/docs/manual/mod/mod_filter.html.fr.utf8 new file mode 100644 index 0000000..02b093d --- /dev/null +++ b/docs/manual/mod/mod_filter.html.fr.utf8 @@ -0,0 +1,569 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_filter - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_filter</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_filter.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de configuration de filtre intelligent sensible au +contexte</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>filter_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_filter.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.1 et supérieures</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet une configuration intelligente et dépendant du + contexte des filtres de contenu en sortie. Par exemple, Apache peut + être configuré pour faire traiter différents types de contenus par + différents filtres, même lorsque le type de contenu n'est pas connu + à l'avance (par exemple dans un serveur mandataire).</p> + + <p>Le fonctionnement de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> consiste à + introduire des branchements dans la chaîne de filtrage. Plutôt que + d'insérer directement des filtres dans la chaîne, on insère un + sélecteur de filtre qui va effectuer un branchement conditionnel + vers un fournisseur de filtre. <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> peut + utiliser tout filtre de contenu comme fournisseur ; aucune + modification des modules de filtrage existants n'est nécessaire + (bien qu'il soit tout de même possible de les simplifier).</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#smart">Filtrage intelligent</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#terms">Déclarations de filtres, fournisseurs et +chaînes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#config">Configuration de la chaîne de +filtrage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocs">Filtrage et statut de la réponse</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#upgrade">Mise à jour depuis une configuration du +serveur HTTP Apache 2.2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Gestion de protocole</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterchain">FilterChain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterdeclare">FilterDeclare</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterprotocol">FilterProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filterprovider">FilterProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filtertrace">FilterTrace</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_filter">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_filter">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="smart" id="smart">Filtrage intelligent</a></h2> + <p>Dans le modèle de filtrage traditionnel, les filtres sont insérés + sans condition à l'aide de la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> et des directives + apparentées. Chaque filtre doit ensuite déterminer s'il doit + s'exécuter ou non, et les administrateurs du serveur disposent de + peu de souplesse pour faire en sorte que la chaîne soit traitée de + manière dynamique.</p> + + <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>, à l'opposé, fournit aux + administrateurs du serveur un grand degré de souplesse pour + configurer la chaîne de filtrage. Concrètement, la décision + d'insérer un filtre peut être prise en fonction d'une <a href="../expr.html">expression</a> booléenne complexe. Ceci + généralise le fonctionnement relativement souple de la directive + <code class="directive">AddOutputFilterByType</code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="terms" id="terms">Déclarations de filtres, fournisseurs et +chaînes</a></h2> + <p class="figure"> + <img src="../images/mod_filter_old.gif" width="160" height="310" alt="[Cette image illustre le modèle de filtrage traditionnel]" /><br /> + <dfn>Figure 1:</dfn> Le modèle de filtrage traditionnel</p> + + <p>Dans le modèle traditionnel, les filtres en sortie constituent + une simple chaîne s'étendant depuis le générateur de contenu (ou + gestionnaire) jusqu'au client. Ce fonctionnement peut convenir s'il + permet d'atteindre le but recherché, mais pose + problème lorsque cette chaîne doit être configurée dynamiquement en + fonction de la sortie du gestionnaire.</p> + + <p class="figure"> + <img src="../images/mod_filter_new.gif" width="423" height="331" alt="[Cette image illustre le modèle de fonctionnement de mod_filter]" /><br /> + <dfn>Figure 2:</dfn> Le modèle de fonctionnement de + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></p> + + <p>Le fonctionnement de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> consiste à + introduire des branchements dans la chaîne de filtrage. Plutôt que + d'insérer directement des filtres dans la chaîne, on insère un + sélecteur de filtre qui va effectuer un branchement conditionnel + vers un fournisseur de filtre. <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> peut + utiliser tout filtre de contenu comme fournisseur ; aucune + modification des modules de filtrage existants n'est nécessaire + (bien qu'il soit tout de même possible de les simplifier). Il peut y + avoir plusieurs fournisseurs pour un seul filtre, mais un seul + fournisseur sera choisi pour chaque requête.</p> + + <p>Une chaîne de filtrage peut comporter autant d'instances du + sélecteur de filtre que l'on souhaite, chacune d'entre elles pouvant + disposer de plusieurs fournisseurs. Un sélecteur de filtre possédant + un seul fournisseur dont le choix est inconditionnel constitue un + cas particulier : cette situation est équivalente à l'insertion + directe du filtre dans la chaîne.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="config" id="config">Configuration de la chaîne de +filtrage</a></h2> + <p>Trois étapes sont nécessaires pour configurer une chaîne de + filtrage avec <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Voir ci-dessous la + description détaillée des directives.</p> + + <dl> + <dt>Déclaration des filtres</dt> + <dd>La directive <code class="directive"><a href="#filterdeclare">FilterDeclare</a></code> permet de déclarer un + filtre en lui assignant un nom et un type. Elle n'est obligatoire + que si le filtre n'est pas du type par défaut + AP_FTYPE_RESOURCE.</dd> + + <dt>Enregistrement des fournisseurs</dt> + <dd>La directive <code class="directive"><a href="#filterprovider">FilterProvider</a></code> permet d'associer un + fournisseur à un filtre. Le filtre a été éventuellement déclaré à + l'aide de la directive <code class="directive"><a href="#filterdeclare">FilterDeclare</a></code> ; si ce n'est pas le cas, FilterProvider + va le déclarer implicitement avec le type par défaut + AP_FTYPE_RESOURCE. Le fournisseur doit avoir été enregistré à + l'aide de <code>ap_register_output_filter</code> par un module + quelconque. Le dernier argument de la directive <code class="directive"><a href="#filterprovider">FilterProvider</a></code> est une expression : + le fournisseur s'exécutera pour une requête si et seulement si + l'expression est évaluée vraie. L'expression peut évaluer une + requête HTTP ou les en-têtes de la réponse, des variables + d'environnement, ou le gestionnaire utilisé par cette requête. À la + différence des version précédentes, mod_filter supporte désormais + les expressions complexes associant des critères multiples au moyen + d'une logique AND / OR (&& / ||) et de parenthèses. Pour les + détails sur la syntaxe de l'expression, voir la <a href="../expr.html">documentation sur ap_expr</a>.</dd> + + <dt>Configuration de la chaîne de filtrage</dt> + <dd>Les directives ci-dessus permettent d'élaborer les éléments + d'une chaîne de filtrage intelligente, mais pas de les configurer en + vue de leur exécution. La directive <code class="directive"><a href="#filterchain">FilterChain</a></code> élabore une chaîne de filtrage à + partir de filtres intelligents déclarés, permettant avec souplesse + d'insérer des filtres au début ou à la fin de la chaîne, de + supprimer un filtre ou même la chaîne complète.</dd> +</dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="errordocs" id="errordocs">Filtrage et statut de la réponse</a></h2> + <p>Normalement, mod_filter n'applique les filtres qu'aux réponses + possédant un statut HTTP 200 (OK). Pour pouvoir filtrer des + documents possédant un autre statut, vous devez définir la variable + d'environnement <var>filter-errordocs</var>, les réponses étant + alors filtrées sans se préoccuper de leur statut. Pour définir ce + comportement de manière plus fine, vous pouvez utiliser des + conditions dans la directive + <code class="directive">FilterProvider</code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="upgrade" id="upgrade">Mise à jour depuis une configuration du +serveur HTTP Apache 2.2</a></h2> + <p>La directive <code class="directive"><a href="#filterprovider">FilterProvider</a></code> a été modifiée par + rapport à httpd 2.2 : les arguments <var>match</var> et + <var>dispatch</var> ont été remplacés par l'argument unique + <var>expression</var> plus polyvalent. En général, il est possible + de convertir une paire match/dispatch vers les deux côtés d'une + expression, de la manière suivante :</p> + <div class="example"><p><code>"dispatch = 'match'"</code></p></div> + <p>Les en-têtes de requête et de réponse et les variables + d'environnement sont maintenant interprétés selon les syntaxes + respectives <var>%{req:foo}</var>, <var>%{resp:foo}</var> et + <var>%{env:foo}</var>. Les variables <var>%{HANDLER}</var> et + <var>%{CONTENT_TYPE}</var> sont également supportées.</p> + <p>Notez que l'évaluation de l'expression ne supporte plus les + comparaisons de sous-chaînes. Ces dernières peuvent + être remplacées par des comparaisons d'expressions rationnelles.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + <dl> + <dt>Inclusions côté serveur (SSI)</dt> + <dd>Un exemple simple de remplacement de la directive <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code> + <pre class="prettyprint lang-config">FilterDeclare SSI +FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|" +FilterChain SSI</pre> + + </dd> + + <dt>Inclusions côté serveur (SSI)</dt> + <dd>Même exemple que ci-dessus, mais envoi vers un gestionnaire + (comportement classique des SSI ; les fichiers .shtml sont + traités). + <pre class="prettyprint lang-config">FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'" +FilterChain SSI</pre> + + </dd> + + <dt>Émulation de mod_gzip avec mod_deflate</dt> + <dd>Insertion du filtre INFLATE seulement si l'en-tête + Accept-Encoding a une valeur autre que "gzip". Ce filtre s'exécute + avec le type ftype CONTENT_SET. + <pre class="prettyprint lang-config">FilterDeclare gzip CONTENT_SET +FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/" +FilterChain gzip</pre> + + </dd> + + <dt>Diminution de la résolution d'une image</dt> + <dd>Supposons que nous voulions réduire la résolution de toutes les + images web, et que nous disposions de filtres pour les images GIF, + JPEG et PNG. + <pre class="prettyprint lang-config">FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'" +FilterProvider unpack gif_unpack "%{CONTENT_TYPE} = 'image/gif'" +FilterProvider unpack png_unpack "%{CONTENT_TYPE} = 'image/png'" + +FilterProvider downsample downsample_filter "%{CONTENT_TYPE} = m|^image/(jpeg|gif|png)|" +FilterProtocol downsample "change=yes" + +FilterProvider repack jpeg_pack "%{CONTENT_TYPE} = 'image/jpeg'" +FilterProvider repack gif_pack "%{CONTENT_TYPE} = 'image/gif'" +FilterProvider repack png_pack "%{CONTENT_TYPE} = 'image/png'" +<Location "/image-filter"> + FilterChain unpack downsample repack +</Location></pre> + + </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="protocol" id="protocol">Gestion de protocole</a></h2> + <p>Historiquement, tout filtre doit s'assurer que toute modification + qu'il effectue est correctement représentée dans les en-têtes de la + réponse HTTP, et qu'il ne s'exécutera pas si cette exécution + résultait en une modification interdite. Ceci impose aux auteurs de + filtres la corvée de réimplémenter certaines fonctionnalités + communes dans chaque filtre :</p> + + <ul> + <li>De nombreux filtres modifient les contenus, et de ce fait + invalident les balises de ces contenus, leur somme de + contrôle, leur condensé (hash) existant, ainsi que leur + taille.</li> + + <li>Les filtres qui nécessitent une réponse entière et non tronquée en + entrée, doivent s'assurer qu'il n'ont pas reçu une réponse à une + requête partielle.</li> + + <li>Les filtres qui modifient la sortie d'un autre filtre doivent + s'assurer qu'ils ne violent pas la directive d'un en-tête + <code>Cache-Control: no-transform</code> éventuel.</li> + + <li>Les filtres peuvent agir sur des réponses de façon à ce qu'elles + ne puissent plus être mises en cache.</li> + </ul> + + <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> a pour but de gérer de manière + générale ces détails de l'implémentation des filtres, réduisant par + là-même la complexité des modules de filtrage de contenu. Le + travail permettant d'atteindre ce but est cependant toujours en + cours ; la directive <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code> + implémente certaines de ces fonctionnalités à des fins de + compatibilité ascendante avec les modules d'Apache 2.0. Pour les + versions 2.1 et supérieures de httpd, les API + <code>ap_register_output_filter_protocol</code> et + <code>ap_filter_protocol</code> permettent aux modules de filtrage + de définir leurs propres comportements.</p> + + <p>Cependant, <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> ne doit pas interférer + avec un filtre qui gère déjà tous les aspects du protocole. Par + défaut (c'est à dire en l'absence de toute directive <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code>), + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> ne modifiera donc pas les en-têtes.</p> + + <p>Au moment où ces lignes sont écrites, cette fonctionnalité a été + très peu testée, car les modules d'usage courant ont été conçus pour + fonctionner avec httpd 2.0. Les modules qui l'utilisent devront donc + l'expérimenter avec précautions.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addoutputfilterbytype" id="addoutputfilterbytype">Directive</a> <a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigne un filtre en sortie pour un type de média +particulier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...] +<var>type_de_média</var> [<var>type_de_média</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Présentait de sévères limitations avant d'être déplacé dans +<code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> dans la version 2.3.7</td></tr> +</table> + <p>Cette directive active un <a href="../filter.html">filtre</a> en sortie particulier pour une + requête en fonction du <a class="glossarylink" href="../glossary.html#type de média" title="voir glossaire">type de média</a> de la réponse.</p> + + <p>L'exemple suivant active le filtre <code>DEFLATE</code> qui est + fourni par le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. Il va compresser + toute sortie dont le type MIME est <code>text/html</code> ou + <code>text/plain</code> avant de l'envoyer au client.</p> + + <pre class="prettyprint lang-config">AddOutputFilterByType DEFLATE text/html text/plain</pre> + + + <p>Si vous voulez assigner plusieurs filtres au contenu, leurs noms + doivent être séparés par des points-virgules. On peut aussi utiliser + une directive <code class="directive">AddOutputFilterByType</code> pour + chacun des filtres à assigner.</p> + + <p>La configuration ci-dessous impose le traitement de toute sortie + de script dont le type MIME est <code>text/html</code> en premier + lieu par le filtre <code>INCLUDES</code>, puis par le filtre + <code>DEFLATE</code>.</p> + + <pre class="prettyprint lang-config"><Location "/cgi-bin/"> + Options Includes + AddOutputFilterByType INCLUDES;DEFLATE text/html +</Location></pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +<li><a href="../filter.html">Les filtres</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="filterchain" id="filterchain">Directive</a> <a name="FilterChain" id="FilterChain">FilterChain</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure la chaîne de filtrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterChain [+=-@!]<var>nom_filtre</var> <var>...</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>Cette directive permet de configurer une chaîne de filtrage + composée de filtres déclarés. <code class="directive">FilterChain</code> + accepte un nombre illimité d'arguments, chacun d'entre eux étant + précédé d'un caractère de contrôle unique qui détermine l'action à + entreprendre :</p> + + <dl> + <dt><code>+<var>nom filtre</var></code></dt> + <dd>Ajoute<var>nom filtre</var> à la fin de la chaîne de filtrage</dd> + + <dt><code>@<var>nom filtre</var></code></dt> + <dd>Ajoute <var>nom filtre</var> au début de la chaîne de filtrage</dd> + + <dt><code>-<var>nom filtre</var></code></dt> + <dd>Supprime <var>nom filtre</var> de la chaîne de filtrage</dd> + + <dt><code>=<var>nom filtre</var></code></dt> + <dd>Supprime tous les filtres de la chaîne de filtrage existante et + les remplace par <var>nom filtre</var></dd> + + <dt><code>!</code></dt> + <dd>Supprime tous les filtres de la chaîne de filtrage existante</dd> + + <dt><code><var>nom filtre</var></code></dt> + <dd>Équivalent à <code>+<var>nom filtre</var></code></dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="filterdeclare" id="filterdeclare">Directive</a> <a name="FilterDeclare" id="FilterDeclare">FilterDeclare</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare un filtre intelligent</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterDeclare <var>nom_filtre</var> <var>[type]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>Cette directive permet de déclarer un filtre en sortie associé à + un en-tête ou une variable d'environnement qui déterminera les + conditions de son exécution. Le premier argument est le <var>nom du + filtre</var> destiné à être utilisé dans les directives <code class="directive"><a href="#filterprovider">FilterProvider</a></code>, <code class="directive"><a href="#filterchain">FilterChain</a></code> et <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code>.</p> + + <p>Le dernier argument (optionnel) est le type du filtre, et peut + prendre les valeurs de <code>ap_filter_type</code>, à savoir + <code>RESOURCE</code> (valeur par défaut), <code>CONTENT_SET</code>, + <code>PROTOCOL</code>, <code>TRANSCODE</code>, + <code>CONNECTION</code> ou <code>NETWORK</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="filterprotocol" id="filterprotocol">Directive</a> <a name="FilterProtocol" id="FilterProtocol">FilterProtocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie le respect du protocole HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterProtocol <var>nom_filtre</var> [<var>nom_fournisseur</var>] + <var>drapeaux_protocole</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>Cette directive permet à <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> de s'assurer + qu'un filtre ne s'exécutera pas s'il ne doit pas le faire, et que + les en-têtes de la réponse HTTP sont définis correctement en tenant + compte des effets du filtre.</p> + + <p>Cette directive se présente sous deux formes. Avec trois + arguments, elle s'applique de manière spécifique à un <var>nom + filtre</var> et un <var>nom fournisseur</var> pour ce filtre. Avec + deux arguments, elle s'applique à un <var>nom filtre</var> pour + <em>tout</em> fournisseur qu'il actionne.</p> + + <p>Les drapeaux spécifiés sont fusionnés avec les drapeaux que les + fournisseurs sous-jacents ont éventuellement enregistrés avec + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Par exemple, un filtre peut avoir + spécifié en interne un drapeau équivalent à <code>change=yes</code>, + mais une configuration particulière du module peut le surcharger + en spécifiant <code>change=no</code>. + </p> + + <p><var>drapeaux_protocole</var> peut contenir un ou plusieurs + drapeaux parmi les suivants :</p> + + <dl> + <dt><code>change=yes|no</code></dt> + <dd>Indique si le filtre doit modifier le contenu, y compris éventuellement sa + taille</dd> + + <dt><code>change=1:1</code></dt> + <dd>Le filtre modifie le contenu, mais pas sa taille</dd> + + <dt><code>byteranges=no</code></dt> + <dd>Le filtre ne peut pas traiter de réponses à des sous-requêtes et + nécessite des réponses complètes en entrée</dd> + + <dt><code>proxy=no</code></dt> + <dd>Le filtre ne doit pas s'exécuter dans un contexte de mandataire</dd> + + <dt><code>proxy=transform</code></dt> + <dd>Le filtre transforme la réponse de manière incompatible avec + l'en-tête HTTP <code>Cache-Control: no-transform</code></dd> + + <dt><code>cache=no</code></dt> + <dd>Le filtre fait en sorte que la sortie ne puisse pas être mise en + cache (par exemple en introduisant des modifications de contenu + aléatoires)</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="filterprovider" id="filterprovider">Directive</a> <a name="FilterProvider" id="FilterProvider">FilterProvider</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre un filtre de contenu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterProvider <var>nom_filtre</var> <var>nom_fournisseur</var> + <var>expression</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>Cette directive permet d'associer un <em>fournisseur</em> au + filtre intelligent. Le fournisseur sera invoqué si et seulement si + l'<var>expression</var> est évaluée vraie lorsque le sélecteur de + filtre est appelé pour la première fois.</p> + + <p> + <var>nom fournisseur</var> doit avoir été enregistré au cours du + chargement d'un module à l'aide de + <code>ap_register_output_filter</code>. + </p> + + <p><var>expression</var> est une expression <a href="../expr.html">ap_expr</a>.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../expr.html">Les expressions dans le serveur HTTP +Apache</a>, pour une référence complète et d'autres exemples.</li> +<li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="filtertrace" id="filtertrace">Directive</a> <a name="FilterTrace" id="FilterTrace">FilterTrace</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Obtention d'informations de débogage/diagnostique en +provenance de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterTrace <var>nom_filtre</var> <var>niveau</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_filter</td></tr> +</table> + <p>Cette directive permet d'obtenir des informations de débogage en + provenance de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Elle est conçue pour + aider à tester et déboguer les fournisseurs (ou modules de filtrage) + ; elle peut aussi apporter une aide à l'utilisation de + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> lui-même.</p> + + <p>La sortie de débogage dépend de la définition d'argument + <var>level</var> :</p> + <dl> + <dt><code>0</code> (valeur par défaut)</dt> + <dd>Aucune information de débogage n'est générée.</dd> + + <dt><code>1</code></dt> + <dd><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> va enregistrer les ensembles de + conteneurs de données (buckets and brigades) qui traversent le + filtre dans le journal des erreurs, avant que le fournisseur ne les + traite. Ces informations sont similaires à celles générées par <a href="http://apache.webthing.com/mod_diagnostics/">mod_diagnostics</a>. + </dd> + + <dt><code>2</code> (pas encore implémenté)</dt> + <dd>Ce niveau permettra d'enregistrer l'ensemble des données qui + traversent le filtre dans un fichier temporaire avant de les envoyer + au fournisseur. <strong>Pour un débogage mono-utilisateur + seulement</strong> ; l'enregistrement des données concernant + plusieurs requêtes simultannées ne sera pas supporté.</dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_filter.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_filter.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_filter.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html b/docs/manual/mod/mod_headers.html new file mode 100644 index 0000000..2459e8f --- /dev/null +++ b/docs/manual/mod/mod_headers.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_headers.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_headers.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_headers.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_headers.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_headers.html.en b/docs/manual/mod/mod_headers.html.en new file mode 100644 index 0000000..5261e8e --- /dev/null +++ b/docs/manual/mod/mod_headers.html.en @@ -0,0 +1,623 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_headers - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_headers</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_headers.html" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Customization of HTTP request and response +headers</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>headers_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_headers.c</td></tr></table> +<h3>Summary</h3> + + <p>This module provides directives to control and modify HTTP + request and response headers. Headers can be merged, replaced + or removed.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Order of Processing</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#early">Early and Late Processing</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_headers">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_headers">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">Order of Processing</a></h2> + + <p>The directives provided by <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> can + occur almost anywhere within the server configuration, and can be + limited in scope by enclosing them in <a href="../sections.html">configuration sections</a>.</p> + + <p>Order of processing is important and is affected both by the + order in the configuration file and by placement in <a href="../sections.html#mergin">configuration sections</a>. These + two directives have a different effect if reversed:</p> + + <pre class="prettyprint lang-config">RequestHeader append MirrorID "mirror 12" +RequestHeader unset MirrorID</pre> + + + <p>This way round, the <code>MirrorID</code> header is not set. If + reversed, the MirrorID header is set to "mirror 12".</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="early" id="early">Early and Late Processing</a></h2> + <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> can be applied either early or late + in the request. The normal mode is late, when <em>Request</em> Headers are + set immediately before running the content generator and <em>Response</em> + Headers just as the response is sent down the wire. Always use + Late mode in an operational server.</p> + + <p>Early mode is designed as a test/debugging aid for developers. + Directives defined using the <code>early</code> keyword are set + right at the beginning of processing the request. This means + they can be used to simulate different requests and set up test + cases, but it also means that headers may be changed at any time + by other modules before generating a Response.</p> + + <p>Because early directives are processed before the request path's + configuration is traversed, early headers can only be set in a + main server or virtual host context. Early directives cannot depend + on a request path, so they will fail in contexts such as + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> or + <code class="directive"><a href="../mod/core.html#location"><Location></a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + + <ol> + <li> + Copy all request headers that begin with "TS" to the + response headers: + + <pre class="prettyprint lang-config">Header echo ^TS</pre> + + </li> + + <li> + Add a header, <code>MyHeader</code>, to the response including a + timestamp for when the request was received and how long it + took to begin serving the request. This header can be used by + the client to intuit load on the server or in isolating + bottlenecks between the client and the server. + + <pre class="prettyprint lang-config">Header set MyHeader "%D %t"</pre> + + + <p>results in this header being added to the response:</p> + + <div class="example"><p><code> + MyHeader: D=3775428 t=991424704447256 + </code></p></div> + </li> + + <li> + Say hello to Joe + + <pre class="prettyprint lang-config">Header set MyHeader "Hello Joe. It took %D microseconds for Apache to serve this request."</pre> + + + <p>results in this header being added to the response:</p> + + <div class="example"><p><code> + MyHeader: Hello Joe. It took D=3775428 microseconds for Apache + to serve this request. + </code></p></div> + </li> + + <li> + Conditionally send <code>MyHeader</code> on the response if and + only if header <code>MyRequestHeader</code> is present on the request. + This is useful for constructing headers in response to some client + stimulus. Note that this example requires the services of the + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> module. + + <pre class="prettyprint lang-config">SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader +Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader</pre> + + + <p>If the header <code>MyRequestHeader: myvalue</code> is present on + the HTTP request, the response will contain the following header:</p> + + <div class="example"><p><code> + MyHeader: D=3775428 t=991424704447256 mytext + </code></p></div> + </li> + + <li> + Enable DAV to work with Apache running HTTP through SSL hardware + (<a href="http://svn.haxx.se/users/archive-2006-03/0549.shtml">problem + description</a>) by replacing <var>https:</var> with + <var>http:</var> in the <var>Destination</var> header: + + <pre class="prettyprint lang-config">RequestHeader edit Destination ^https: http: early</pre> + + </li> + + <li> + Set the same header value under multiple nonexclusive conditions, + but do not duplicate the value in the final header. + If all of the following conditions applied to a request (i.e., + if the <code>CGI</code>, <code>NO_CACHE</code> and + <code>NO_STORE</code> environment variables all existed for the + request): + + <pre class="prettyprint lang-config">Header merge Cache-Control no-cache env=CGI +Header merge Cache-Control no-cache env=NO_CACHE +Header merge Cache-Control no-store env=NO_STORE</pre> + + + <p>then the response would contain the following header:</p> + + <div class="example"><p><code> + Cache-Control: no-cache, no-store + </code></p></div> + + <p>If <code>append</code> was used instead of <code>merge</code>, + then the response would contain the following header:</p> + + <div class="example"><p><code> + Cache-Control: no-cache, no-cache, no-store + </code></p></div> + </li> + <li> + Set a test cookie if and only if the client didn't send us a cookie + <pre class="prettyprint lang-config">Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"</pre> + + </li> + <li> + Append a Caching header for responses with a HTTP status code of 200 + <pre class="prettyprint lang-config">Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"</pre> + + </li> + + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Header" id="Header">Header</a> <a name="header" id="header">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure HTTP response headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>SetIfEmpty available in 2.4.7 and later, expr=value +available in 2.4.10 and later</td></tr> +</table> + <p>This directive can replace, merge or remove HTTP response + headers. The header is modified just after the content handler + and output filters are run, allowing outgoing headers to be + modified.</p> + + <p> The optional <var>condition</var> argument determines which internal + table of responses headers this directive will operate against: + <code>onsuccess</code> (default, can be omitted) or <code>always</code>. + The difference between the two lists is that the headers contained in the + latter are added to the response even on error, and persisted across + internal redirects (for example, ErrorDocument handlers). + + Note also that repeating this directive with both conditions makes sense in + some scenarios because <code>always</code> is not a superset of + <code>onsuccess</code> with respect to existing headers:</p> + + <ul> + <li> You're adding a header to a locally generated non-success (non-2xx) response, such + as a redirect, in which case only the table corresponding to + <code>always</code> is used in the ultimate response.</li> + <li> You're modifying or removing a header generated by a CGI script + or by <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, + in which case the CGI scripts' headers are in the table corresponding to + <code>always</code> and not in the default table.</li> + <li> You're modifying or removing a header generated by some piece of + the server but that header is not being found by the default + <code>onsuccess</code> condition.</li> + </ul> + + <p>This difference between <code>onsuccess</code> and <code>always</code> is + a feature that resulted as a consequence of how httpd internally stores + headers for a HTTP response, since it does not offer any "normalized" single + list of headers. The main problem that can arise if the following concept + is not kept in mind while writing the configuration is that some HTTP responses + might end up with the same header duplicated (confusing users or sometimes even + HTTP clients). For example, suppose that you have a simple PHP proxy setup with + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> and your backend PHP scripts adds the + <code>X-Foo: bar</code> header to each HTTP response. As described above, + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> uses the <code>always</code> table to store + headers, so a configuration like the following ends up in the wrong result, namely + having the header duplicated with both values:</p> + + <pre class="prettyprint lang-config"># X-Foo's value is set in the 'onsuccess' headers table +Header set X-Foo: baz</pre> + + + <p>To circumvent this limitation, there are some known configuration + patterns that can help, like the following:</p> + + <pre class="prettyprint lang-config"># 'onsuccess' can be omitted since it is the default +Header onsuccess unset X-Foo +Header always set X-Foo "baz"</pre> + + + <p>Separately from the <var>condition</var> parameter described above, you + can limit an action based on HTTP status codes for e.g. proxied or CGI + requests. See the example that uses %{REQUEST_STATUS} in the section above.</p> + + <p>The action it performs is determined by the first + argument (second argument if a <var>condition</var> is specified). + This can be one of the following values:</p> + + <div class="warning"><h3>Warning</h3> + <p>Please read the difference between <code>always</code> + and <code>onsuccess</code> headers list described above + before start reading the actions list, since that important + concept still applies. Each action, in fact, works as described + but only on the target headers list.</p> + </div> + + <dl> + <dt><code>add</code></dt> + <dd>The response header is added to the existing set of headers, + even if this header already exists. This can result in two + (or more) headers having the same name. This can lead to + unforeseen consequences, and in general <code>set</code>, + <code>append</code> or <code>merge</code> should be used instead.</dd> + + <dt><code>append</code></dt> + <dd>The response header is appended to any existing header of + the same name. When a new value is merged onto an existing + header it is separated from the existing header with a comma. + This is the HTTP standard way of giving a header multiple values.</dd> + + <dt><code>echo</code></dt> + <dd>Request headers with this name are echoed back in the + response headers. <var>header</var> may be a + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>. + <var>value</var> must be omitted.</dd> + + <dt><code>edit</code></dt> + <dt><code>edit*</code></dt> + <dd>If this response header exists, its value is transformed according + to a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a> + search-and-replace. The <var>value</var> argument is a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>, and the <var>replacement</var> + is a replacement string, which may contain backreferences or format specifiers. + The <code>edit</code> form will match and replace exactly once + in a header value, whereas the <code>edit*</code> form will replace + <em>every</em> instance of the search pattern if it appears more + than once.</dd> + + <dt><code>merge</code></dt> + <dd>The response header is appended to any existing header of + the same name, unless the value to be appended already appears in the + header's comma-delimited list of values. When a new value is merged onto + an existing header it is separated from the existing header with a comma. + This is the HTTP standard way of giving a header multiple values. + Values are compared in a case sensitive manner, and after + all format specifiers have been processed. Values in double quotes + are considered different from otherwise identical unquoted values.</dd> + + <dt><code>set</code></dt> + <dd>The response header is set, replacing any previous header + with this name. The <var>value</var> may be a format string.</dd> + + <dt><code>setifempty</code></dt> + <dd>The request header is set, but only if there is no previous header + with this name. + <div class="note"> + The Content-Type header is a special use case since there might be + the chance that its value have been determined but the header is not part + of the response when <code>setifempty</code> is evaluated. + It is safer to use <code>set</code> for this use case like in the + following example: + <pre class="prettyprint lang-config">Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"</pre> + + </div></dd> + + <dt><code>unset</code></dt> + <dd>The response header of this name is removed, if it exists. + If there are multiple headers of the same name, all will be + removed. <var>value</var> must be omitted.</dd> + + <dt><code>note</code></dt> + <dd>The value of the named response <var>header</var> is copied into an + internal note whose name is given by <var>value</var>. This is useful + if a header sent by a CGI or proxied resource is configured to be unset + but should also be logged.<br /> + Available in 2.4.7 and later.</dd> + + </dl> + + <p>This argument is followed by a <var>header</var> name, which + can include the final colon, but it is not required. Case is + ignored for <code>set</code>, <code>append</code>, <code>merge</code>, + <code>add</code>, <code>unset</code> and <code>edit</code>. + The <var>header</var> name for <code>echo</code> + is case sensitive and may be a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular + expression</a>.</p> + + <p>For <code>set</code>, <code>append</code>, <code>merge</code> and + <code>add</code> a <var>value</var> is specified as the next argument. + If <var>value</var> + contains spaces, it should be surrounded by double quotes. + <var>value</var> may be a character string, a string containing + <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> specific format specifiers (and character + literals), or an <a href="../expr.html">ap_expr</a> expression prefixed + with <em>expr=</em></p> + + <p> The following format specifiers are supported in <var>value</var>:</p> + + <table class="bordered"><tr class="header"><th>Format</th><th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>The percent sign</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>The time the request was received in Universal Coordinated Time + since the epoch (Jan. 1, 1970) measured in microseconds. The value + is preceded by <code>t=</code>.</td></tr> +<tr><td><code>%D</code></td> + <td>The time from when the request was received to the time the + headers are sent on the wire. This is a measure of the duration + of the request. The value is preceded by <code>D=</code>. + The value is measured in microseconds.</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>The current load averages of the actual server itself. It is + designed to expose the values obtained by <code>getloadavg()</code> + and this represents the current load average, the 5 minute average, and + the 15 minute average. The value is preceded by <code>l=</code> with each + average separated by <code>/</code>.<br /> + Available in 2.4.4 and later. + </td></tr> +<tr><td><code>%i</code></td> + <td>The current idle percentage of httpd (0 to 100) based on available + processes and threads. The value is preceded by <code>i=</code>.<br /> + Available in 2.4.4 and later. + </td></tr> +<tr class="odd"><td><code>%b</code></td> + <td>The current busy percentage of httpd (0 to 100) based on available + processes and threads. The value is preceded by <code>b=</code>.<br /> + Available in 2.4.4 and later. + </td></tr> +<tr><td><code>%{VARNAME}e</code></td> + <td>The contents of the <a href="../env.html">environment + variable</a> <code>VARNAME</code>.</td></tr> +<tr class="odd"><td><code>%{VARNAME}s</code></td> + <td>The contents of the <a href="mod_ssl.html#envvars">SSL environment + variable</a> <code>VARNAME</code>, if <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is enabled.</td></tr> +</table> + + <div class="note"><h3>Note</h3> + <p>The <code>%s</code> format specifier is only available in + Apache 2.1 and later; it can be used instead of <code>%e</code> + to avoid the overhead of enabling <code>SSLOptions + +StdEnvVars</code>. If <code>SSLOptions +StdEnvVars</code> must + be enabled anyway for some other reason, <code>%e</code> will be + more efficient than <code>%s</code>.</p> + </div> + + <div class="note"><h3>Note on expression values</h3> + <p> When the value parameter uses the <a href="../expr.html">ap_expr</a> + parser, some expression syntax will differ from examples that evaluate + <em>boolean</em> expressions such as <If>:</p> + <ul> + <li>The starting point of the grammar is 'string' rather than 'expr'.</li> + <li>Function calls use the %{funcname:arg} syntax rather than + funcname(arg).</li> + <li>Multi-argument functions are not currently accessible from this + starting point</li> + <li>Quote the entire parameter, such as + <pre class="prettyprint lang-config">Header set foo-checksum "expr=%{md5:foo}"</pre> + + </li> + + </ul> + </div> + + <p>For <code>edit</code> there is both a <var>value</var> argument + which is a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>, + and an additional <var>replacement</var> string. As of version 2.4.7 + the replacement string may also contain format specifiers.</p> + + <p>The <code class="directive">Header</code> directive may be followed by + an additional argument, which may be any of:</p> + <dl> + <dt><code>early</code></dt> + <dd>Specifies <a href="#early">early processing</a>.</dd> + <dt><code>env=[!]<var>varname</var></code></dt> + <dd>The directive is applied if and only if the <a href="../env.html">environment variable</a> <code>varname</code> exists. + A <code>!</code> in front of <code>varname</code> reverses the test, + so the directive applies only if <code>varname</code> is unset.</dd> + <dt><code>expr=<var>expression</var></code></dt> + <dd>The directive is applied if and only if <var>expression</var> + evaluates to true. Details of expression syntax and evaluation are + documented in the <a href="../expr.html">ap_expr</a> documentation. + <pre class="prettyprint lang-config"># This delays the evaluation of the condition clause compared to <If> +Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path.php$#"</pre> + + </dd> + </dl> + + <p>Except in <a href="#early">early</a> mode, the + <code class="directive">Header</code> directives are processed just + before the response is sent to the network. This means that it is + possible to set and/or override most headers, except for some headers + added by the HTTP header filter. Prior to 2.2.12, it was not possible + to change the Content-Type header with this directive.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RequestHeader" id="RequestHeader">RequestHeader</a> <a name="requestheader" id="requestheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure HTTP request headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>SetIfEmpty available in 2.4.7 and later, expr=value +available in 2.4.10 and later</td></tr> +</table> + <p>This directive can replace, merge, change or remove HTTP request + headers. The header is modified just before the content handler + is run, allowing incoming headers to be modified. The action it + performs is determined by the first argument. This can be one + of the following values:</p> + + <dl> + + <dt><code>add</code></dt> + <dd>The request header is added to the existing set of headers, + even if this header already exists. This can result in two + (or more) headers having the same name. This can lead to + unforeseen consequences, and in general <code>set</code>, + <code>append</code> or <code>merge</code> should be used instead.</dd> + + <dt><code>append</code></dt> + <dd>The request header is appended to any existing header of the + same name. When a new value is merged onto an existing header + it is separated from the existing header with a comma. This + is the HTTP standard way of giving a header multiple + values.</dd> + + <dt><code>edit</code></dt> + <dt><code>edit*</code></dt> + <dd>If this request header exists, its value is transformed according + to a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a> + search-and-replace. The <var>value</var> argument is a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>, and the <var>replacement</var> + is a replacement string, which may contain backreferences or format specifiers. + The <code>edit</code> form will match and replace exactly once + in a header value, whereas the <code>edit*</code> form will replace + <em>every</em> instance of the search pattern if it appears more + than once.</dd> + + <dt><code>merge</code></dt> + <dd>The request header is appended to any existing header of + the same name, unless the value to be appended already appears in the + existing header's comma-delimited list of values. When a new value is + merged onto an existing header it is separated from the existing header + with a comma. This is the HTTP standard way of giving a header multiple + values. Values are compared in a case sensitive manner, and after + all format specifiers have been processed. Values in double quotes + are considered different from otherwise identical unquoted values.</dd> + + <dt><code>set</code></dt> + <dd>The request header is set, replacing any previous header + with this name</dd> + + <dt><code>setifempty</code></dt> + <dd>The request header is set, but only if there is no previous header + with this name.<br /> + Available in 2.4.7 and later.</dd> + + <dt><code>unset</code></dt> + <dd>The request header of this name is removed, if it exists. If + there are multiple headers of the same name, all will be removed. + <var>value</var> must be omitted.</dd> + </dl> + + <p>This argument is followed by a header name, which can + include the final colon, but it is not required. Case is + ignored. For <code>set</code>, <code>append</code>, <code>merge</code> and + <code>add</code> a <var>value</var> is given as the third argument. If a + <var>value</var> contains spaces, it should be surrounded by double + quotes. For <code>unset</code>, no <var>value</var> should be given. + <var>value</var> may be a character string, a string containing format + specifiers or a combination of both. The supported format specifiers + are the same as for the <code class="directive"><a href="#header">Header</a></code>, + please have a look there for details. For <code>edit</code> both + a <var>value</var> and a <var>replacement</var> are required, and are + a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a> and a + replacement string respectively.</p> + + <p>The <code class="directive">RequestHeader</code> directive may be followed by + an additional argument, which may be any of:</p> + <dl> + <dt><code>early</code></dt> + <dd>Specifies <a href="#early">early processing</a>.</dd> + <dt><code>env=[!]<var>varname</var></code></dt> + <dd>The directive is applied if and only if the <a href="../env.html">environment variable</a> <code>varname</code> exists. + A <code>!</code> in front of <code>varname</code> reverses the test, + so the directive applies only if <code>varname</code> is unset.</dd> + <dt><code>expr=<var>expression</var></code></dt> + <dd>The directive is applied if and only if <var>expression</var> + evaluates to true. Details of expression syntax and evaluation are + documented in the <a href="../expr.html">ap_expr</a> documentation.</dd> + </dl> + + <p>Except in <a href="#early">early</a> mode, the + <code class="directive">RequestHeader</code> directive is processed + just before the request is run by its handler in the fixup phase. + This should allow headers generated by the browser, or by Apache + input filters to be overridden or modified.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_headers.html" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_headers.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html.fr.utf8 b/docs/manual/mod/mod_headers.html.fr.utf8 new file mode 100644 index 0000000..993d4a3 --- /dev/null +++ b/docs/manual/mod/mod_headers.html.fr.utf8 @@ -0,0 +1,680 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_headers - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_headers</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Personnalisation des en-têtes de requêtes et de réponses +HTTP</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>headers_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_headers.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit des directives permettant de contrôler et + modifier les en-têtes de requêtes et de réponses HTTP. Les en-têtes + peuvent être fusionnés, remplacés ou supprimés.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#early">Traitement précoce et traitement +tardif</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_headers">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_headers">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">Chronologie du traitement</a></h2> + + <p>Les directives fournies par <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peuvent + s'insérer presque partout dans la configuration du serveur, et on + peut limiter leur portée en les plaçant dans des <a href="../sections.html">sections de configuration</a>.</p> + + <p>La chronologie du traitement est importante et est affectée par + l'ordre d'apparition des directives dans le fichier de configuration + et par leur placement dans les <a href="../sections.html#mergin">sections de configuration</a>. Ainsi, + ces deux directives ont un effet différent si leur ordre est inversé + :</p> + + <pre class="prettyprint lang-config">RequestHeader append MirrorID "mirror 12" +RequestHeader unset MirrorID</pre> + + + <p>Dans cet ordre, l'en-tête <code>MirrorID</code> n'est pas défini. + Si l'ordre des directives était inversé, l'en-tête + <code>MirrorID</code> serait défini à "mirror 12".</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="early" id="early">Traitement précoce et traitement +tardif</a></h2> + <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peut agir soir précocement, soit + tardivement au niveau de la requête. Le mode normal est le mode + tardif, lorsque les en-têtes de <em>requête</em> sont définis, immédiatement + avant l'exécution du générateur de contenu, et pour les en-têtes de + <em>réponse</em>, juste au moment où la réponse est envoyée sur le réseau. + Utilisez toujours le mode tardif sur un serveur en production.</p> + + <p>Le mode précoce a été conçu à des fins d'aide aux tests et au + débogage pour les développeurs. Les directives définies en utilisant + le mot-clé <code>early</code> sont censées agir au tout début du + traitement de la requête. Cela signifie que l'on peut les utiliser + pour simuler différentes requêtes et définir des situations de test, + tout en gardant à l'esprit que les en-têtes peuvent être modifiés à + tout moment par d'autres modules avant que le réponse ne soit + générée.</p> + + <p>Comme les directives précoces sont traitées avant que le + chemin de la requête ne soit parcouru, les en-têtes + précoces ne peuvent être définis que dans un contexte de serveur + principal ou de serveur virtuel. Les directives précoces ne peuvent + pas dépendre d'un chemin de requête, si bien qu'elles échoueront + dans des contextes tels que <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#location"><Location></a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + + <ol> + <li> + Copie tous les en-têtes de requête qui commencent par "TS" vers + les en-têtes de la réponse : + + <pre class="prettyprint lang-config">Header echo ^TS</pre> + + </li> + + <li> + Ajoute à la réponse un en-tête, <code>mon-en-tête</code>, qui + contient un horodatage permettant de déterminer le moment où la + requête a été reçue, et le temps qui s'est écoulé jusqu'à ce que + la requête ait commencé à être servie. Cet en-tête peut être + utilisé par le client pour estimer la charge du serveur ou + isoler les goulets d'étranglement entre le client et le + serveur. + + <pre class="prettyprint lang-config">Header set mon-en-tête "%D %t"</pre> + + + <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p> + + <div class="example"><p><code> + mon-en-tête: D=3775428 t=991424704447256 + </code></p></div> + </li> + + <li> + Dit Bonjour à Joe + + <div class="example"><p><code> + Header set mon-en-tête "Bonjour Joe. Il a fallu %D microsecondes \<br /> + à Apache pour servir cette requête." + </code></p></div> + + <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p> + + <pre class="prettyprint lang-config"> Header set MyHeader "Bonjour Joe. Il a fallu D=3775428 microsecondes à Apache + pour servir cette requête."</pre> + + </li> + + <li> + Ajoute l'en-tête <code>mon-en-tête</code> à la réponse si et + seulement si l'en-tête <code>mon-en-tête-requête</code> est + présent dans la requête. Ceci peut s'avérer utile pour générer + des en-têtes de réponse "à la tête du client". Notez que cet + exemple nécessite les services du module + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. + + <pre class="prettyprint lang-config">SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader +Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader</pre> + + + <p>Si l'en-tête <code>mon-en-tête-requête: mavaleur</code> est + présent dans la requête HTTP, la réponse contiendra un en-tête + du type :</p> + + <div class="example"><p><code> + mon-en-tête: D=3775428 t=991424704447256 montexte + </code></p></div> + </li> + + <li> + Permet à DAV de fonctionner avec Apache sur SSL (voir la <a href="http://svn.haxx.se/users/archive-2006-03/0549.shtml">description + du problème</a>) en remplaçant <var>https:</var> par + <var>http:</var> dans l'en-tête <var>Destination</var> : + + <pre class="prettyprint lang-config">RequestHeader edit Destination ^https: http: early</pre> + + </li> + + <li> + Définit la valeur d'un même en-tête sous de multiples conditions + non exclusives, mais ne duplique pas une valeur déjà définie + dans l'en-tête qui en résulte. Si toutes les conditions + suivantes sont satisfaites pour une requête (en d'autres termes, + si les trois variables d'environnement <code>CGI</code>, + <code>NO_CACHE</code> et <code>NO_STORE</code> existent pour la + requête) : + + <pre class="prettyprint lang-config">Header merge Cache-Control no-cache env=CGI +Header merge Cache-Control no-cache env=NO_CACHE +Header merge Cache-Control no-store env=NO_STORE</pre> + + + <p>alors, la réponse contiendra l'en-tête suivant :</p> + + <div class="example"><p><code> + Cache-Control: no-cache, no-store + </code></p></div> + + <p>Si <code>append</code> avait été utilisé à la place de + <code>merge</code>, la réponse aurait contenu l'en-tête suivant + :</p> + + <div class="example"><p><code> + Cache-Control: no-cache, no-cache, no-store + </code></p></div> + </li> + <li> + Définit un cookie de test si et seulement si le client n'envoie + pas de cookie + <pre class="prettyprint lang-config">Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"</pre> + + </li> + <li> + Ajoute un en-tête de mise en cache pour les réponses avec un + code d'état HTTP de 200 + <pre class="prettyprint lang-config">Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"</pre> + + </li> + + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="header" id="header">Directive</a> <a name="Header" id="Header">Header</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une réponse HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>en-tête</var> [[expr=]<var>valeur</var> +[<var>remplacement</var>] +[early|env=[!]<var>variable</var>|expr=<var>expression</var>]] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du +serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la +version 2.4.10</td></tr> +</table> + <p>Cette directive permet de remplacer, fusionner, ou + supprimer des en-têtes de réponse HTTP. L'en-tête est modifié juste + après que le gestionnaire de contenu et les filtres en sortie ne + s'exécutent, ce qui permet la modification des en-têtes + sortants.</p> + + <p>L'argument optionnel <var>condition</var> permet de déterminer + sur quelle table interne d'en-têtes de réponses cette directive va + opérer : <code>onsuccess</code> (valeur par défaut, peut être omis) ou + <code>always</code>. A la différence de ceux de la première table, les + en-têtes de la seconde sont ajoutés à la réponse même en cas d'erreur et + sont conservés au fil des redirections internes (par exemple les + gestionnaires ErrorDocument). Notez aussi que la répétition + de cette directive avec les deux conditions peut être pertinente + dans certains scénarios, car <code>always</code> n'englobe pas + <code>onsuccess</code> en ce qui concerne les en-têtes existants :</p> + + <ul> + <li>Vous ajoutez un en-tête à une réponse + générée localement et échouée (non-2xx), + une redirection par exemple, et dans ce cas, seule la table + correspondant à <code>always</code> est utilisée dans la réponse + définitive.</li> + <li>Vous modifiez ou supprimez un en-tête généré par un script CGI ou par + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, auquel cas, les en-têtes des scripts CGI + sont dans la table correspondant à <code>always</code> et non dans la + table par défaut.</li> + <li>Vous modifiez ou supprimez un en-tête généré par tel ou tel + composant du serveur, mais cet en-tête n'est pas trouvé par la + condition par défaut <code>onsuccess</code>.</li> + </ul> + + <p>Comme il n'y a pas de liste unique "normalisée" d'en-têtes, la manière + dont httpd stocke en interne les en-têtes des réponses HTTP est à l'origine + de la fonctionnalité que constitue la différence entre + <code>onsuccess</code> et <code>always</code>. Si vous ne gardez pas à + l'esprit le concept ci-après lors de l'écriture de votre configuration, + certaines réponses HTTP pourront contenir des en-têtes dupliqués + (ce qui pourra dérouter les utilisateurs ou même parfois les clients HTTP). Supposons par + exemple que votre configuration comporte un mandataire PHP simple avec + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> et que votre script PHP d'arrière-plan + ajoute l'en-tête <code>X-Foo: bar</code> à chaque réponse HTTP. Comme décrit + plus haut, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> utilise la table + <code>always</code> pour stocker les en-têtes, et une configuration comme la + suivante n'aboutira pas au résultat attendu car l'en-tête sera dupliqué + avec les deux valeurs :</p> + + <pre class="prettyprint lang-config"># la valeur de X-Foo est définie dans la table d'en-têtes 'onsuccess' +Header set X-Foo: baz</pre> + + + <p>Plusieurs modèles de configuration permettent de contourner ce problème, + comme celui-ci :</p> + + <pre class="prettyprint lang-config"># 'onsuccess' peut être omis car il s'agit de la valeur par défaut +Header onsuccess unset X-Foo +Header always set X-Foo "baz"</pre> + + + <p>Outre le paramètre <var>condition</var> décrit ci-dessus, vous + pouvez limiter une action en fonction de codes d'état HTTP, par + exemple pour les requêtes mandatées ou générées par un programme + CGI. Voir l'exemple qui utilise %{REQUEST_STATUS} dans la section + ci-dessus.</p> + + <p>L'action que cette directive provoque est déterminée par le + premier argument (ou par le second argument si une + <var>condition</var> est spécifiée). Il peut prendre + une des valeurs suivantes :</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Vous devez lire la différence, décrite plus haut, entre les listes + d'en-têtes <code>always</code> et <code>onsuccess</code> avant de lire + la liste d'actions ci-dessous car cet important concept s'applique + encore ici. En fait, chaque action fonctionne telle qu'elle est décrite + mais seulement pour la liste d'en-têtes cible.</p> + </div> + + <dl> + <dt><code>add</code></dt> + <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il + existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs) + en-têtes possèdant le même nom et donc induire des conséquences + imprévues ; en général, il est préférable d'utiliser + <code>set</code>, <code>append</code> ou <code>merge</code>.</dd> + + <dt><code>append</code></dt> + <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même + nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée + de celles qui sont déjà présentes par une virgule. Il s'agit de la + méthode HTTP standard permettant d'affecter plusieurs valeurs à un + en-tête.</dd> + + <dt><code>echo</code></dt> + <dd>Les en-têtes de la requête possédant le nom spécifié sont + recopiés vers les en-têtes de la réponse. <var>en-tête</var> peut + être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et + <var>valeur</var> ne doit pas être présent.</dd> + + <dt><code>edit</code></dt> + <dt><code>edit*</code></dt> + <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type + recherche/remplacement. L'argument <var>valeur</var> est une + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et + l'argument <var>remplacement</var> une chaîne de caractères de + remplacement qui peut contenir des références + arrières ou des spécificateurs de format. La forme <code>edit</code> n'effectuera une + recherche/remplacement qu'une seule fois dans la valeur de + l'en-tête, alors que la forme <code>edit*</code> en effectuera autant + que le nombre d'apparition de la chaîne à remplacer.</dd> + + <dt><code>merge</code></dt> + <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf + si elle apparaît déjà dans la liste des valeurs préexistantes de + l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est + ainsi ajoutée, elle est séparée de celles qui sont déjà présentes + par une virgule. Il s'agit de la méthode HTTP standard permettant + d'affecter plusieurs valeurs à un en-tête. Les valeurs sont + comparées en tenant compte de la casse, et après le traitement de + tous les spécificateurs de format. Une valeur entourée de guillemets + est considérée comme différente de la même valeur mais sans + guillemets.</dd> + + <dt><code>set</code></dt> + <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec + le même nom. L'argument <var>valeur</var> peut être une chaîne de + formatage.</dd> + + <dt><code>setifempty</code></dt> + <dd>L'en-tête est défini, mais seulement s'il n'existe + aucun en-tête avec le même nom. + <div class="note"> + L'en-tête Content-Type est un cas particulier car il est possible que sa + valeur ait été déterminée mais que l'en-tête ne soit pas présent dans la + réponse lorsque <code>setifempty</code> est évalué. Dans ce cas, il est + préférable d'utiliser <code>set</code> comme dans l'exemple suivant : + <pre class="prettyprint lang-config">Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"</pre> + + </div></dd> + + <dt><code>unset</code></dt> + <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes + possèdent le même nom, ils seront tous supprimés. L'argument + <var>value</var> ne doit pas apparaître.</dd> + + <dt><code>note</code></dt> + <dd>La valeur de l'<var>en-tête</var> considéré est copiée dans une + note interne dont le nom est spécifié via l'argument + <var>valeur</var>. Ceci permet de journaliser la valeur d'un en-tête + envoyé par un programme CGI ou une ressource mandatée, même s'il + est prévu de l'effacer.<br /> + Disponible à partir de la version 2.4.7 du serveur HTTP Apache.</dd> + + </dl> + + <p>Cet argument est suivi d'un nom d'<var>en-tête</var> qui peut se + terminer par un caractère ':', mais ce n'est pas obligatoire. La + casse est ignorée avec <code>set</code>, <code>append</code>, + <code>merge</code>, <code>add</code>, <code>unset</code> et + <code>edit</code>. Le nom d'<var>en-tête</var> est sensible à la + casse pour <code>echo</code> et peut être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p> + + <p>Avec <code>set</code>, <code>append</code>, <code>merge</code> et + <code>add</code>, une <var>valeur</var> est spécifiée comme + argument suivant. Si <var>valeur</var> contient des espaces, elle + doit être entourée de guillemets. <var>valeur</var> peut être une + chaîne de caractères, une chaîne contenant des spécificateurs de + format propres à <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> (et des caractères + littéraux), ou une expression <a href="../expr.html">ap_expr</a> + préfixée par <em>expr=</em>.</p> + + <p><var>valeur</var> supporte les spécificateurs de format suivants :</p> + + <table class="bordered"><tr class="header"><th>Format</th><th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>Le caractère pourcentage</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>Le moment de réception de la requête en temps + universel coordonné depuis le temps epoch (Jan. 1, 1970) et + exprimé en microsecondes. La valeur est précédée de + <code>t=</code>.</td></tr> +<tr><td><code>%D</code></td> + <td>Le temps écoulé entre la réception de la requête et l'envoi + des en-têtes sur le réseau. Il s'agit de la durée de traitement + de la requête. La valeur est précédée de <code>D=</code>. La + valeur est exprimée en microsecondes.</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>La charge moyenne courante du serveur proprement dit. Ce + sont les valeurs obtenues par <code>getloadavg()</code> qui + représentent la charge moyenne courante, sur 5 minutes et sur 15 + minutes. Chaque valeur est précédée de <code>l=</code> et + séparée de la suivante par un <code>/</code>.<br /> + Disponible depuis la version 2.4.4 du serveur HTTP Apache. + </td></tr> +<tr><td><code>%i</code></td> + <td>Le pourcentage courant de httpd au repos (de 0 à 100) + en se basant sur le nombre de processus et threads disponibles. + La valeur est précédée de <code>i=</code>.<br /> + Disponible depuis la version 2.4.4 du serveur HTTP Apache. + </td></tr> +<tr class="odd"><td><code>%b</code></td> + <td>Le pourcentage courant de httpd utilisé (de 0 à 100) + en se basant sur le nombre de processus et threads disponibles. + La valeur est précédée de <code>b=</code>.<br /> + Disponible depuis la version 2.4.4 du serveur HTTP Apache. + </td></tr> +<tr><td><code>%{NOM_VARIABLE}e</code></td> + <td>Le contenu de la <a href="../env.html">variable + d'environnement</a> <code>NOM_VARIABLE</code>.</td></tr> +<tr class="odd"><td><code>%{NOM_VARIABLE}s</code></td> + <td>Le contenu de la <a href="../env.html">variable + d'environnement SSL</a> <code>NOM_VARIABLE</code>, si + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est activé.</td></tr> +</table> + + <div class="note"><h3>Note</h3> + <p>Le spécificateur de format <code>%s</code> est disponible + depuis la version 2.1 d'Apache ; il peut être utilisé à la place + de <code>%e</code> pour éviter de devoir spécifier + <code>SSLOptions +StdEnvVars</code>. Cependant, si + <code>SSLOptions +StdEnvVars</code> doit tout de même être + spécifié pour une raison quelconque, <code>%e</code> sera plus + efficace que <code>%s</code>.</p> + </div> + + <div class="note"><h3>Note à propos des valeurs des expressions</h3> + <p>Lorsque le paramètre valeur utilise l'interpréteur <a href="../expr.html">ap_expr</a>, certaines syntaxes d'expressions + seront différentes des exemples qui évaluent des expressions + <em>booléennes</em> telles que <If> :</p> + <ul> + <li>Le point de départ de la syntaxe est 'string' au lieu de + 'expr'.</li> + <li>Les appels de fonction utilisent la syntaxe %{funcname:arg} au + lieu de funcname(arg).</li> + <li>Les fonctions multi-arguments ne sont pas encore disponibles + depuis le point de départ 'string'.</li> + <li>Il faut mettre entre guillemets l'ensemble du paramètre, comme + dans l'exemple suivant : + <pre class="prettyprint lang-config">Header set foo-checksum "expr=%{md5:foo}"</pre> + + </li> + + </ul> + </div> + + <p><code>edit</code>nécessite les deux arguments + <var>valeur</var>, qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression + rationnelle</a>, et une chaîne additionnelle + <var>remplacement</var>. Depuis la version 2.4.7, la chaîne de + remplacement peut aussi + contenir des spécificateurs de format.</p> + + <p>La directive <code class="directive">Header</code> peut être suivie d'un + argument additionnel qui peut prendre les valeurs suivantes :</p> + + <dl> + <dt><code>early</code></dt> + <dd>Spécifie <a href="#early">traitement préalable</a>.</dd> + <dt><code>env=[!]<var>variable</var></code></dt> + <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a> + <code>variable</code> existe. Un <code>!</code> devant + <code>variable</code> inverse le test, et la directive ne + s'appliquera alors que si <code>variable</code> n'est pas définie.</dd> + <dt><code>expr=<var>expression</var></code></dt> + <dd>La directive s'applique si et seulement si <var>expression</var> + est évaluée à true. Vous trouverez plus de détails à propos de la + syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>. + <pre class="prettyprint lang-config"> # Cet exemple retarde l'évaluation de la clause de condition par + # rapport à <If> + Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path.php$#"</pre> + + </dd> + </dl> + + <p>Excepté le cas du mode <a href="#early">précoce</a>, les + directives <code class="directive">Header</code> sont traitées juste avant + l'envoi de la réponse sur le réseau. Cela signifie qu'il est + possible de définir et/ou modifier la plupart des en-têtes, à + l'exception de certains en-têtes qui sont ajoutés par le filtre + d'en-tête HTTP. Avant la version 2.2.12, il n'était pas + possible de modifier l'en-tête Content-Type avec cette directive.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="requestheader" id="requestheader">Directive</a> <a name="RequestHeader" id="RequestHeader">RequestHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une requête HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>en-tête</var> [[expr=]<var>valeur</var> +[<var>remplacement</var>] +[early|env=[!]<var>variable</var>|expr=<var>expression</var>]] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du +serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la +version 2.4.10</td></tr> +</table> + <p>Cette directive permet de remplacer, fusionner, modifier ou + supprimer des en-têtes de requête HTTP. L'en-tête est modifié juste + avant que le gestionnaire de contenu ne s'exécute, ce qui permet la + modification des en-têtes entrants. L'action effectuée est + déterminée par le premier argument. Ce dernier accepte les valeurs + suivantes :</p> + + <dl> + + <dt><code>add</code></dt> + <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il + existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs) + en-têtes possèdant le même nom et donc induire des conséquences + imprévues ; en général, il est préférable d'utiliser + <code>set</code>, <code>append</code> ou <code>merge</code>.</dd> + + <dt><code>append</code></dt> + <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même + nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée + de celles qui sont déjà présentes par une virgule. Il s'agit de la + méthode HTTP standard permettant d'affecter plusieurs valeurs à un + en-tête.</dd> + + <dt><code>edit</code></dt> + <dt><code>edit*</code></dt> + <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type + recherche/remplacement. L'argument <var>valeur</var> est une + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et + l'argument <var>remplacement</var> une chaîne de caractères de + remplacement qui peut contenir des références + arrières ou des spécificateurs de format. Avec + <code>edit</code>, la chaîne de l'en-tête correspondant au modèle ne + sera recherchée et remplacée qu'une seule fois, alors qu'avec + <code>edit*</code>, elle le sera pour chacune de ses instances si + elle apparaît plusieurs fois.</dd> + + <dt><code>merge</code></dt> + <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf + si elle apparaît déjà dans la liste des valeurs préexistantes de + l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est + ainsi ajoutée, elle est séparée de celles qui sont déjà présentes + par une virgule. Il s'agit de la méthode HTTP standard permettant + d'affecter plusieurs valeurs à un en-tête. Les valeurs sont + comparées en tenant compte de la casse, et après le traitement de + tous les spécificateurs de format. Une valeur entourée de guillemets + est considérée comme différente de la même valeur mais sans + guillemets.</dd> + + <dt><code>set</code></dt> + <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec + le même nom.</dd> + + <dt><code>setifempty</code></dt> + <dd>L'en-tête est défini, mais seulement s'il n'existe + aucun en-tête avec le même nom.<br /> + Disponible depuis la version 2.4.7 du serveur HTTP Apache.</dd> + + <dt><code>unset</code></dt> + <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes + possèdent le même nom, ils seront tous supprimés. L'argument + <var>value</var> ne doit pas apparaître.</dd> + </dl> + + <p>Cet argument est suivi d'un nom d'en-tête qui peut se terminer + par un caractère ':', mais ce n'est pas obligatoire. La casse est + ignorée. Avec <code>set</code>, <code>append</code>, + <code>merge</code> et <code>add</code>, une <var>valeur</var> est + fournie en troisième argument. Si une <var>valeur</var> contient des + espaces, elle doit être entourée de guillemets. Avec + <code>unset</code>, aucune <var>valeur</var> ne doit apparaître. + <var>valeur</var> peut être une chaîne de caractères, une chaîne + contenant des spécificateurs de format, ou une combinaison des deux. + Les spécificateurs de format supportés sont les mêmes que ceux de la + directive <code class="directive"><a href="#header">Header</a></code>, à + laquelle vous pouvez vous reporter pour plus de détails. Avec + <code>edit</code>, les deux arguments <var>valeur</var> et + <var>remplacement</var> sont obligatoires, et correspondent + respectivement à une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression + rationnelle</a> et à une chaîne de remplacement.</p> + + <p>La directive <code class="directive">RequestHeader</code> peut être + suivie d'un argument supplémentaire, qui pourra prendre les valeurs + suivantes :</p> + <dl> + <dt><code>early</code></dt> + <dd>Spécifie <a href="#early">traitement préalable</a>.</dd> + <dt><code>env=[!]<var>variable</var></code></dt> + <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a> + <code>variable</code> existe. Un <code>!</code> devant + <code>variable</code> inverse le test, et la directive ne + s'appliquera alors que si <code>variable</code> n'est pas définie.</dd> + <dt><code>expr=<var>expression</var></code></dt> + <dd>La directive s'applique si et seulement si <var>expression</var> + est évaluée à true. Vous trouverez plus de détails à propos de la + syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.</dd> + </dl> + + <p>Excepté le cas du mode <a href="#early">précoce</a>, la directive + <code class="directive">RequestHeader</code> est traitée juste avant la + prise en compte de la requête par son gestionnaire, au cours de la + phase de vérification. Ceci permet la modification des en-têtes + générés par le navigateur, ou par les filtres en entrée + d'Apache.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_headers.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html.ja.utf8 b/docs/manual/mod/mod_headers.html.ja.utf8 new file mode 100644 index 0000000..b14a536 --- /dev/null +++ b/docs/manual/mod/mod_headers.html.ja.utf8 @@ -0,0 +1,381 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_headers - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_headers</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>HTTP リクエストのヘッダと応答のヘッダのカスタマイズ</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>headers_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_headers.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td><code class="directive"><a href="#requestheader">RequestHeader</a></code> +は Apache 2.0 以降のみで使用可能</td></tr></table> +<h3>概要</h3> + + <p>このモジュールは HTTP のリクエストヘッダと応答ヘッダを制御し、 + 変更するためのディレクティブを提供します。ヘッダを追加したり、 + 置き換えたり、削除したりすることができます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">処理の順番</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#early">早期処理、後期処理</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">例</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_headers">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_headers">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">処理の順番</a></h2> + + <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> のディレクティブはサーバ設定のほぼどこにでも + 書くことができ、影響する範囲を<a href="../sections.html">設定用セクション</a>で囲むことで限定する + ことができます。</p> + + <p>処理の順番は重要で、設定ファイル中の順番と、<a href="../sections.html">設定用セクション</a>内の位置との両方に + 影響されます。以下の二つのヘッダは順番が逆になると + 違う結果になります:</p> + + <div class="example"><p><code> + RequestHeader append MirrorID "mirror 12"<br /> + RequestHeader unset MirrorID + </code></p></div> + + <p>この順番の場合は、<code>MirrorID</code> ヘッダは設定されません。 + 逆になっていると、MirrorID ヘッダは "mirror 12" に設定されます。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="early" id="early">早期処理、後期処理</a></h2> + <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> では、リクエストの早期か後期かの + どちらで適用するかを選べます。通常は後期モードで、 + コンテンツ生成が実行される直前にリクエストヘッダがセットされ、 + レスポンスとして送出される直前にレスポンスヘッダがセットされます。 + 運用中のサーバでは必ず後期モードを使ってください。</p> + + <p>早期モードは開発者向けのテスト/デバッグ用に設計されています。 + <code>early</code> キーワード指定されたディレクティブによって、 + リクエスト処理の開始地点になります。 + つまり、異なるリクエストを試したりテストケースをセットアップするのに + 活用できる一方で、レスポンスを生成する前に他のモジュールによって + ヘッダが書き換えられてしまうかもしれないということを意味します。</p> + + <p>early ディレクティブではリクエストパスの設定が解決される前に + 処理されるので、メインサーバかバーチャルホストコンテキストでのみ、 + 早期ヘッダをセットできます。early ディレクティブはリクエストパスに + 依存することはできませんので、<code><Directory></code> や + <code><Location></code> といったコンテキスト内では使用 + できません。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">例</a></h2> + + <ol> + <li>リクエストヘッダ中の "TS" で始まるフィールドをすべて応答ヘッダに + コピーします: + <div class="example"><p><code> + Header echo ^TS + </code></p></div> + </li> + + <li> + リクエストを受け付けた時刻とリクエストを処理した時間を入れたヘッダ、 + <code>MyHeader</code> を応答に追加します。このヘッダはクライアントが + サーバの負荷を直観的に知るためや、クライアント-サーバ間の + ボトルネックを調べるために使うことができます。 + + <div class="example"><p><code> + Header add MyHeader "%D %t" + </code></p></div> + + <p>上記の設定では、以下のようなヘッダが応答に追加されることになります:</p> + + <div class="example"><p><code> + MyHeader: D=3775428 t=991424704447256 + </code></p></div> + </li> + + <li> + Joe にあいさつをします: + + <div class="example"><p><code> + Header add MyHeader "Hello Joe. It took %D microseconds for Apache to serve this request." + </code></p></div> + + <p>以下のようなヘッダが応答に追加されることになります</p> + + <div class="example"><p><code> + MyHeader: Hello Joe. It took D=3775428 microseconds for Apache to serve this request. + </code></p></div> + </li> + + <li>リクエストに "MyRequestHeader" があるときに限り <code>MyHeader</code> を応答に + 付けます。これは、クライアントの要求に応えてヘッダを作成するときに + 役に立ちます。この例では <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> モジュールが必要なことに + 注意してください。 + + <div class="example"><p><code> + SetEnvIf MyRequestHeader value HAVE_MyRequestHeader<br /> + Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader + </code></p></div> + + <p>もし HTTP リクエストに <code>MyRequestHeader: value</code> ヘッダが + あると、応答には以下のようなヘッダが付加されます。</p> + + <div class="example"><p><code> + MyHeader: D=3775428 t=991424704447256 mytext + </code></p></div> + </li> + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Header" id="Header">Header</a> <a name="header" id="header">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP 応答ヘッダの設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Header [<var>condition</var>] set|append|add|unset|echo +<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_headers</td></tr> +</table> + <p>このディレクティブは HTTP 応答ヘッダを置換、追加、削除できます。 + ヘッダはコンテントハンドラや出力フィルタが実行された直後に実行され、 + 出て行くヘッダを変更できるようになっています。</p> + + <p>オプションの <var>condition</var> は <code>onsuccess</code> か + <code>always</code> のどちらかを指定できます。これは内部ヘッダテーブルのどれを + 操作するかを決定します。<code>onsuccess</code> は <code>2<var>xx</var></code> + ステータスコードの、<code>always</code> は全てのステータスコード + (<code>2<var>xx</var></code> を含む) の意味になります。 + あるモジュールでセットされるヘッダをアンセットしたい場合は特に、 + どのテーブルが影響を受けるかを実際に試したほうがよいでしょう。</p> + + <p>行なう処理は二番目のの引数で決まります。 + この引数には次の値を指定できます:</p> + + <dl> + <dt><code>set</code></dt> + <dd>応答ヘッダを設定します。同じ名前のヘッダが存在する場合はそれを + 置き換えます。<em>value</em> にはフォーマット文字列を + 指定することもできます。</dd> + + <dt><code>append</code></dt> + <dd>応答ヘッダを既に存在する同じ名前のヘッダに追加します。 + 新しい値が既存のヘッダに追加されるときには、既存のヘッダの + 後にコンマで区切られて追加されます。これはヘッダに複数の値を + 指定するときの HTTP の標準の方法です。</dd> + + <dt><code>add</code></dt> + <dd>ヘッダが既に存在しているときでさえも、応答ヘッダを + 既存のヘッダに追加します。これにより、二つ (かそれ以上) の + ヘッダの名前が同じになることがあります。その結果、想定できない + ことが起こる可能性がありますので、一般的には <code>append</code> の方を + 使う方が良いでしょう。</dd> + + <dt><code>unset</code></dt> + <dd>もし指定された名前の応答ヘッダが存在していれば、削除されます。 + 同じ名前のヘッダが複数あるときは、すべて削除されます。 + <var>value</var> をつけてはいけません。</dd> + + <dt><code>echo</code></dt> + <dd>指定されたものと同じ名前のリクエストヘッダを応答ヘッダで + そのまま返します。<var>header</var> には正規表現も指定できます。 + <var>value</var> をつけてはいけません。</dd> + </dl> + + <p>この引数の後にはヘッダ名 (<var>header</var>) が続きます。 + ヘッダ名には最後にコロンを含めることもできますが、無くても構いません。 + <code>set</code>, <code>append</code>, <code>add</code>, + <code>unset</code> では大文字小文字は + 区別されません。echo の <em>header</em> 名は大文字小文字を区別し、 + 正規表現を指定することもできます。</p> + + <p><code>add</code>, <code>append</code>, + <code>set</code> では <var>value</var> を三つ目の + 引数として指定します。<var>value</var> に空白がある場合は二重引用符で + 囲む必要があります。<var>value</var> は文字のみからなる文字列、 + フォーマット指示子を含む文字列、もしくは両方からなる文字列を指定できます。 + <var>value</var> は以下のフォーマット指示子をサポートします:</p> + + <table class="bordered"><tr class="header"><th>フォーマット</th><th>解説</th></tr> +<tr><td><code>%%</code></td> + <td>パーセント記号</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>リクエストを受け取った時刻を、 + Universal Coordinated Time での始まりの時刻 (Jan. 1, 1970) から経過した + 時間をマイクロ秒として現したもの。値の最初には + <code>t=</code> が付加されます。</td></tr> +<tr><td><code>%D</code></td> + <td>リクエストを受け取った時刻と、ヘッダを送り出した + 時間との差。これは、リクエストが存在していた期間を現します。 + 値の最初には <code>D=</code> が付加されます。</td></tr> +<tr class="odd"><td><code>%{FOOBAR}e</code></td> + <td><a href="../env.html">環境変数</a> + <code>FOOBAR</code> の値です。</td></tr> +<tr><td><code>%{FOOBAR}s</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> が有効な場合、 + <a href="mod_ssl.html#envvars">SSL 環境変数</a> <code>FOOBAR</code> + の内容</td></tr> +</table> + + <div class="note"><h3>注</h3> + <p><code>%s</code> フォーマット指定子は 2.1 以降でのみ利用できます。 + <code>SSLOptions +StdEnvVars</code> を有効にすることによるオーバーヘッドを + 避けるため、<code>%e</code> の代わりとして使えます。 + 他の理由などがあって、どうしても <code>SSLOptions +StdEnvVars</code> + を有効にしなければならない場合は、<code>%e</code> のほうが + <code>%s</code> よりも処理効率は良いです。</p> + </div> + + <p><code class="directive">Header</code> ディレクティブには追加の引数を持たせることが + できて、どういったアクションが行われたかの条件を指定したり、 + <a href="#early">早期処理</a> を指定する <code>early</code> キーワードを + 指定できます。 + <code>env=...</code> 引数で指定された <a href="../env.html">環境変数</a> が存在する (もしくは <code>env=!...</code> + が指定されていて環境変数が存在しない) 場合は、<code class="directive">Header</code> + ディレクティブで指定された動作が行なわれます。そうでない場合は、 + ディレクティブはそのリクエストには何もしません。</p> + + <p><a href="#early">早期処理</a>モードの場合以外では、 + <code class="directive">Header</code> + ディレクティブは応答がネットワークに送られる直前に + 処理されます。これは、ヘッダフィルタにより追加されるヘッダを + 除き、ほとんどのヘッダを設定したり上書きしたりすることが + 可能、ということです。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RequestHeader" id="RequestHeader">RequestHeader</a> <a name="requestheader" id="requestheader">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP リクエストヘッダの設定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RequestHeader set|append|add|unset <var>header</var> +[<var>value</var>] [early|env=[!]<var>variable</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_headers</td></tr> +</table> + <p>このディレクティブは HTTP リクエストヘッダを置換、追加、削除できます。 + ヘッダはコンテントハンドラが実行される直前に実行され、 + 入って来るヘッダを変更することが可能になっています。 + 行なう処理は第 1 引数により決まります。これには以下の値を指定 + することができます:</p> + + <dl> + <dt><code>set</code></dt> + <dd>リクエストヘッダを設定します。同じ名前のヘッダが存在していると、 + それを置き換えます。</dd> + + <dt><code>append</code></dt> + <dd>リクエストヘッダは、既に存在する同じ名前のヘッダに追加されます。 + 新しい値が既存のヘッダに追加されるときには、既存のヘッダの + 後にコンマで区切られて追加されます。これはヘッダに複数の値を + 指定するときの HTTP の標準の方法です。</dd> + + <dt><code>add</code></dt> + <dd>ヘッダが既に存在しているときでさえも、リクエストヘッダを + 既存のヘッダに追加します。これにより、二つ (かそれ以上) の + ヘッダの名前が同じになることがあります。その結果、想定できない + ことが起こる可能性がありますので、一般的には <code>append</code> の方を + 使う方が良いでしょう。</dd> + + <dt><code>unset</code></dt> + <dd>もし指定された名前のリクエストヘッダが存在していれば、削除されます。 + 同じ名前の複数のヘッダがあるときは、すべて削除されます。 + <var>value</var> をつけてはいけません。</dd> + </dl> + + <p>この引数の後にはヘッダ名 (<em>header</em>) が続きます。 + ヘッダ名には最後にコロンを含めることもできますが、無くても構いません。 + 大文字小文字は区別されません。<code>add</code>, + <code>append</code>, <code>set</code> の場合は、<em>value</em> が三つ目の + 引数として指定されます。<em>value</em> に空白がある場合は二重引用符で + 囲む必要があります。unset の場合は、<em>value</em> は指定しません。 + <var>value</var> は文字列、フォーマット指定子、あるいは、その混合です。 + 使うことのできるフォーマット指定子は、<code class="directive"><a href="#header">Header</a></code> と同じですので、 + 詳細はそちらをご覧ください。</p> + + <p><code class="directive">RequestHeader</code> ディレクティブは、 + どういった条件下でアクションを行うかを指定する追加引数 + あるいは、<a href="#early">早期処理</a> を指定する <code>early</code> + キーワードを設定することができます。 + <code>env=<var>...</var></code> の引数で設定されている + <a href="../env.html">環境変数</a> が存在している + (あるいは <code>env=!<var>...</var></code> で指定された環境変数が + 存在しない) 場合、<code class="directive">RequestHeader</code> ディレクティブは + 有効になります。それ以外の場合、ディレクティブは効力を持ちません。</p> + + <p><a href="#early">early</a> モードでない場合に限り、 + <code class="directive">RequestHeader</code> ディレクティブは + fixup フェーズでリクエストがハンドラに扱われる直前に + 処理されます。これにより、ブラウザや Apache の入力フィルタにより + 生成されたヘッダを上書きしたり修正したりできるようになっています。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_headers.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html.ko.euc-kr b/docs/manual/mod/mod_headers.html.ko.euc-kr new file mode 100644 index 0000000..89d7b57 --- /dev/null +++ b/docs/manual/mod/mod_headers.html.ko.euc-kr @@ -0,0 +1,369 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_headers - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_headers</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>HTTP û </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>headers_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_headers.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td><code class="directive"><a href="#requestheader">RequestHeader</a></code> ġ 2.0 +ִ</td></tr></table> +<h3></h3> + + <p> HTTP û ϰ ϴ + þ Ѵ. ġų ü, ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#order">ó </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#early"≯(early) ó (late) ó</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples"></a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_headers">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_headers">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="order" id="order">ó </a></h2> + + <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> ϴ þ + ҿ , <a href="../sections.html"> </a> μ þ + ִ.</p> + + <p>ó ߿ϸ, Ͽ <a href="../sections.html#mergin"> </a> ´. + þ ݴ ȿ .</p> + + <div class="example"><p><code> + RequestHeader append MirrorID "mirror 12"<br /> + RequestHeader unset MirrorID + </code></p></div> + + <p> <code>MirrorID</code> + ʴ´. ݴ MirrorID "mirror 12" Ѵ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="early" id="early"≯(early) ó (late) ó</a></h2> + <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> û ʱ⳪ ߿ + ִ. ڸ ϱ û + ϰ Ʈ ϴ (late) + Ѵ. ϴ + ϶.</p> + + <p≯(early) ڸ ˻/ . + <code>early</code> Ű带 Ͽ þ û + óϱ Ҷ Ѵ. , ٸ û ǽϰų + ˻縦 ϱ , ϱ ٸ + ҽÿ ִ.</p> + + <p>ûο 캸 ̸ þ + óϱ ̸ þ ּ̳ ȣƮ + ҿ ִ. ̸ þ ûο + <code><Directory></code> + <code><Location></code> ҿ + .</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples"></a></h2> + + <ol> + <li> + "TS" ϴ û Ѵ. + + <div class="example"><p><code> + Header echo ^TS + </code></p></div> + </li> + + <li> + 信 û ð û ϴµ ɸ ð + ˷ִ <code>MyHeader</code> ߰Ѵ. Ŭ̾Ʈ + ϸ ϰų Ŭ̾Ʈ + ã ִ. + + <div class="example"><p><code> + Header add MyHeader "%D %t" + </code></p></div> + + <p>信 .</p> + + <div class="example"><p><code> + MyHeader: D=3775428 t=991424704447256 + </code></p></div> + </li> + + <li> + Joe ȳ + + <div class="example"><p><code> + Header add MyHeader "Hello Joe. It took %D microseconds \<br /> + for Apache to serve this request." + </code></p></div> + + <p>信 .</p> + + <div class="example"><p><code> + MyHeader: Hello Joe. It took D=3775428 microseconds for Apache + to serve this request. + </code></p></div> + </li> + + <li> + û "MyRequestHeader" ִ 쿡 + 信 <code>MyHeader</code> . Ư Ŭ̾ƮԸ + 信 ߰Ҷ ϴ. Ϸ + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> ʿϴ. + + <div class="example"><p><code> + SetEnvIf MyRequestHeader value HAVE_MyRequestHeader<br /> + Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader<br /> + </code></p></div> + + <p>HTTP û <code>MyRequestHeader: value</code> + ִٸ, 信 .</p> + + <div class="example"><p><code> + MyHeader: D=3775428 t=991424704447256 mytext + </code></p></div> + </li> + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Header" id="Header">Header</a> <a name="header" id="header">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>HTTP Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>Header [<var>condition</var>] set|append|add|unset|echo +<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_headers</td></tr> +</table> + <p> þ HTTP ġų ü, Ѵ. + ڵ鷯 Ͱ Ŀ ϱ + ִ.</p> + + <p><var>condition</var> ϸ, + <code>onsuccess</code> Ȥ <code>always</code> Ѵ. + ̴ ǥ Ѵ. + <code>onsuccess</code> <code>2<var>xx</var></code> ڵ带 + ϰ, <code>always</code> (<code>2<var>xx</var></code> + ) ڵ带 Ѵ. Ư + ϰ ʹٸ, + Ѵ.</p> + + <p>ι° ƱԸƮ ٸ. ι° ƱԸƮ + Ʒ ϳ ִ.</p> + + <dl> + <dt><code>set</code></dt> + <dd> Ѵ. ̸ ̹ ִٸ + üѴ. <var>value</var> Ĺڿ ִ.</dd> + + <dt><code>append</code></dt> + <dd>̹ ϴ ̸ ߰Ѵ. + ο ġ, ο ̿ + ǥ δ. ̴ ϴ HTTP ǥ ̴.</dd> + + <dt><code>add</code></dt> + <dd> ̹ ִ ߰Ѵ. + ̸ ΰ (Ȥ ) ִ. ǿ + ֱ <code>append</code> + ؾ Ѵ.</dd> + + <dt><code>unset</code></dt> + <dd>̷ ̸ ִٸ Ѵ. ̸ + ִٸ Ѵ. <var>value</var> + ʴ´.</dd> + + <dt><code>echo</code></dt> + <dd>̷ ̸ û ״ . + <var>header</var> ǥ ִ. + <var>value</var> ʴ´.</dd> + </dl> + + <p>ƱԸƮ ڿ <var>header</var> ̸ ´. + ڿ ݷ , ȴ. <code>set</code>, + <code>append</code>, <code>add</code>, <code>unset</code> + ҹڴ Ѵ. <code>echo</code> <var>header</var> + ̸ ڸ ϰ ǥ ִ.</p> + + <p><code>add</code>, <code>append</code>, <code>set</code> + Ҷ ° ƱԸƮ <var>value</var> ʿϴ. + <var>value</var> ȿ ִٸ ֵǥ Ѵ. + <var>value</var> Ϲ ڿ̳ ϴ ڿ̸, + ΰ ִ. <var>value</var> ϴ + ıڴ .</p> + + <table class="bordered"><tr class="header"><th></th><th></th></tr> +<tr><td><code>%%</code></td> + <td>ۼƮ ȣ</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>û ð ǥؽ÷ epoch (1970 1 + 1) ũ . տ <code>t=</code> + ٴ´.</td></tr> +<tr><td><code>%D</code></td> + <td>û ð Ʈ ɸ + ð. û Ⱓ . տ <code>D=</code> + ٴ´.</td></tr> +<tr class="odd"><td><code>%{FOOBAR}e</code></td> + <td><a href="../env.html">ȯ溯</a> <code>FOOBAR</code> + .</td></tr> +<tr><td><code>%{FOOBAR}s</code></td> + <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> Ѵٸ, <a href="mod_ssl.html#envvars">SSL ȯ溯</a> + <code>FOOBAR</code> .</td></tr> +</table> + + <div class="note"><h3></h3> + <p><code>%s</code> ڴ ġ 2.1 Ŀ ִ. + ڴ <code>SSLOptions +StdEnvVars</code> ϴ + δ <code>%e</code> ִ. + <code>SSLOptions +StdEnvVars</code> ؾ + Ѵٸ, <code>%e</code> <code>%s</code> ξ + ȿ̴.</p> + </div> + + <p><code class="directive">Header</code> þ ڿ ൿ Ͼ + ϴ ߰ ƱԸƮ <a href="#early"≯ ó</a> + ϴ Ű <code>early</code> ִ. + <code>env=<var>...</var></code> ƱԸƮ ش + <a href="../env.html">ȯ溯</a> Ѵٸ (Ȥ + <code>env=!<var>...</var></code> ȯ溯 + ʴٸ) <code class="directive">Header</code> þ Ѵ. + þ û ƹ ġ ʴ´.</p> + + <p><a href="#early"≯</a> ƴ϶ Ʈ + <code class="directive">Header</code> þ óѴ. + Ͱ ߰ϴ κ + ϰų ִ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RequestHeader" id="RequestHeader">RequestHeader</a> <a name="requestheader" id="requestheader">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>HTTP û Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>RequestHeader set|append|add|unset <var>header</var> +[<var>value</var>] [early|env=[!]<var>variable</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_headers</td></tr> +</table> + <p> þ HTTP û ġų ü, Ѵ. + ڵ鷯 ϱ ϱ + ִ. ù° ƱԸƮ ٸ. + ù° ƱԸƮ Ʒ ϳ ִ.</p> + + <dl> + <dt><code>set</code></dt> + <dd>û Ѵ. ̸ ̹ ִٸ + üѴ</dd> + + <dt><code>append</code></dt> + <dd>̹ ϴ ̸ û ߰Ѵ. + ο ġ, ο ̿ + ǥ δ. ̴ ϴ HTTP ǥ ̴.</dd> + + <dt><code>add</code></dt> + <dd> ̹ ִ û ߰Ѵ. + ̸ ΰ (Ȥ ) ִ. ǿ + ֱ <code>append</code> + ؾ Ѵ.</dd> + + <dt><code>unset</code></dt> + <dd>̷ ̸ û ִٸ Ѵ. ̸ + ִٸ Ѵ. <var>value</var> + ʴ´.</dd> + </dl> + + <p>ƱԸƮ ڿ ´. ڿ ݷ + , ȴ. ҹڴ Ѵ. <code>add</code>, + <code>append</code>, <code>set</code> Ҷ ° + ƱԸƮ <var>value</var> ʿϴ. <var>value</var> ȿ + ִٸ ֵǥ Ѵ. unset Ҷ + <var>value</var> ȵȴ. <var>value</var> Ϲ + ڿ̳ ϴ ڿ̸, ΰ + ִ. ϴ ıڴ <code class="directive"><a href="#header">Header</a></code> Ƿ ڼ + װ ϶.</p> + + <p><code class="directive">RequestHeader</code> þ ڿ ൿ + Ͼ ϴ ߰ ƱԸƮ <a href="#early"≯ ó</a> ϴ Ű + <code>early</code> ִ. <code>env=<var>...</var></code> + ƱԸƮ ش <a href="../env.html">ȯ溯</a> + Ѵٸ (Ȥ <code>env=!<var>...</var></code> + ȯ溯 ʴٸ) <code class="directive">RequestHeader</code> + þ Ѵ. þ û ƹ + ġ ʴ´.</p> + + <p><a href="#early"≯</a> ƴ϶ fixup ܰ迡 + û شϴ ڵ鷯 ϱ + <code class="directive">RequestHeader</code> þ óѴ. + Ȥ ġ ԷͰ ų + ִ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_headers.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_headers.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_headers.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_heartbeat.html b/docs/manual/mod/mod_heartbeat.html new file mode 100644 index 0000000..1ec8746 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_heartbeat.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_heartbeat.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_heartbeat.html.en b/docs/manual/mod/mod_heartbeat.html.en new file mode 100644 index 0000000..74bb242 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html.en @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_heartbeat - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_heartbeat</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_heartbeat.html" title="English"> en </a> | +<a href="../fr/mod/mod_heartbeat.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Sends messages with server status to frontend proxy</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>heartbeat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_heartbeat</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + +<p> <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> sends multicast messages to a <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> listener +that advertises the servers current connection count. Usually, <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> +will be running on a proxy server with <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code> loaded, which allows +<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> to use the "heartbeat" <em>lbmethod</em> inside +of <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>.</p> +<p> + <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> itself is loaded on the origin server(s) that serve requests + through the proxy server(s). +</p> + + <div class="warning"> + To use <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>, + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> and <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> + must be either a static modules or, if a dynamic module, must + be loaded before <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>. + </div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#consuming">Consuming mod_heartbeat Output</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeataddress">HeartbeatAddress</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartbeat">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartbeat">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="consuming" id="consuming">Consuming mod_heartbeat Output</a></h2> + + <p> + Every 1 second, this module generates a single multicast UDP + packet, containing the number of busy and idle workers. The + packet is a simple ASCII format, similar to GET query parameters + in HTTP. + </p> + +<div class="example"><h3>An Example Packet</h3><p><code> +v=1&ready=75&busy=0 +</code></p></div> + + <p> + Consumers should handle new variables besides busy and ready, + separated by '&', being added in the future. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeartbeatAddress" id="HeartbeatAddress">HeartbeatAddress</a> <a name="heartbeataddress" id="heartbeataddress">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Multicast address for heartbeat packets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HeartbeatAddress <var>addr:port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>disabled</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartbeat</td></tr> +</table> +<p>The <code class="directive">HeartbeatAddress</code> directive specifies the +multicast address to which <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> will send +status information. This address will usually correspond to a configured + <code class="directive"><a href="../mod/mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></code> on a +frontend proxy system.</p> +<pre class="prettyprint lang-config">HeartbeatAddress 239.0.0.1:27999</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_heartbeat.html" title="English"> en </a> | +<a href="../fr/mod/mod_heartbeat.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_heartbeat.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_heartbeat.html.fr.utf8 b/docs/manual/mod/mod_heartbeat.html.fr.utf8 new file mode 100644 index 0000000..5f60cf9 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html.fr.utf8 @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_heartbeat - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_heartbeat</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des messages d'état au mandataire frontal</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>heartbeat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartbeat</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3 +du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> envoie à un moniteur + <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> des messages multicast l'informant + du nombre de connexions courantes. En général, + <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> est chargé sur un serveur + mandataire où <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code> est chargé, ce + qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des + directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>.</p> + + <p> + Le module <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est chargé sur le + serveur d'origine qui sert les requêtes via le + serveur mandataire. +</p> + + <div class="warning"> + Pour utiliser <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>, + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>. + </div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#consuming">Utilisation de la sortie de mod_heartbeat</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeataddress">HeartbeatAddress</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="consuming" id="consuming">Utilisation de la sortie de mod_heartbeat</a></h2> + + <p> + 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. + </p> + +<div class="example"><h3>Exemple de paquet</h3><p><code> +v=1&ready=75&busy=0 +</code></p></div> + + <p> + Les utilisateurs disposeront dans le futur de nouvelles variables en + plus de busy et ready, et toujours séparées par des '&'. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="heartbeataddress" id="heartbeataddress">Directive</a> <a name="HeartbeatAddress" id="HeartbeatAddress">HeartbeatAddress</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast à laquelle envoyer les requêtes +heartbeat</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatAddress <var>addr:port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartbeat</td></tr> +</table> + <p>La directive <code class="directive">HeartbeatAddress</code> permet de + spécifier l'adresse multicast à laquelle <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> va + envoyer ses informations. En général, cette adresse correspond à la + valeur définie par la directive <code class="directive"><a href="../mod/mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></code> sur le serveur + mandataire frontal.</p> + <pre class="prettyprint lang-config">HeartbeatAddress 239.0.0.1:27999</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_heartbeat.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_heartmonitor.html b/docs/manual/mod/mod_heartmonitor.html new file mode 100644 index 0000000..59bb413 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_heartmonitor.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_heartmonitor.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_heartmonitor.html.en b/docs/manual/mod/mod_heartmonitor.html.en new file mode 100644 index 0000000..ac31359 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html.en @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_heartmonitor - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_heartmonitor</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_heartmonitor.html" title="English"> en </a> | +<a href="../fr/mod/mod_heartmonitor.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Centralized monitor for mod_heartbeat origin servers</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>heartmonitor_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_heartmonitor.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + +<p> +<code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> listens for server status messages generated +by <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> enabled origin servers and makes their status +available to <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>. This allows +<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> to use the "heartbeat" +<em>lbmethod</em> inside of <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. +</p> + +<p>This module uses the services of <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> when +available instead of flat-file storage. No configuration is required to +use <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.</p> + + <div class="warning"> + To use <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>, + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> and <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> + must be either a static modules or, if a dynamic module, it must + be loaded before <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>. + </div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatlisten">HeartbeatListen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartmonitor">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartmonitor">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeartbeatListen" id="HeartbeatListen">HeartbeatListen</a> <a name="heartbeatlisten" id="heartbeatlisten">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>multicast address to listen for incoming heartbeat requests </td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HeartbeatListen <var>addr:port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>disabled</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr> +</table> + <p>The <code class="directive">HeartbeatListen</code> directive specifies the + multicast address on which the server will listen for status information from + <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>-enabled servers. This + address will usually correspond to a configured <code class="directive"><a href="../mod/mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></code> on an origin server. + </p> + + <pre class="prettyprint lang-config">HeartbeatListen 239.0.0.1:27999</pre> + + + <p> This module is inactive until this directive is used.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeartbeatMaxServers" id="HeartbeatMaxServers">HeartbeatMaxServers</a> <a name="heartbeatmaxservers" id="heartbeatmaxservers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HeartbeatMaxServers <var>number-of-servers</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>HeartbeatMaxServers 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The value of 0 is accepted only in 2.4.55 and above</td></tr> +</table> + <p>The <code class="directive">HeartbeatMaxServers</code> directive specifies the + maximum number of servers that will be sending requests to this monitor + server. It is used to control the size of the shared memory allocated + to store the heartbeat info when <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> is in use.</p> + <p>For using flat-file storage (without loading <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>), + this must be set to 0. The value must be either 0, or bigger or equals 10.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a> <a name="heartbeatstorage" id="heartbeatstorage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Path to store heartbeat data when using flat-file storage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HeartbeatStorage <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>HeartbeatStorage logs/hb.dat</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr> +</table> + <p>The <code class="directive">HeartbeatStorage</code> directive specifies the + path to store heartbeat data. This flat-file is used only when + <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> is not loaded and + <code class="directive"><a href="#heartbeatmaxservers">HeartbeatMaxServers</a></code> is set to 0.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_heartmonitor.html" title="English"> en </a> | +<a href="../fr/mod/mod_heartmonitor.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_heartmonitor.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_heartmonitor.html.fr.utf8 b/docs/manual/mod/mod_heartmonitor.html.fr.utf8 new file mode 100644 index 0000000..6aec08b --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html.fr.utf8 @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_heartmonitor - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_heartmonitor</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartmonitor.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>heartmonitor_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartmonitor.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + +<p> +<code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> interprète les messages d'état générés +par les serveurs d'origine pour lesquels <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé et +fournit ces informations à <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>, ce +qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des +directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. +</p> + +<p>Ce module utilise les services de <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>, +lorsqu'il est disponible, au lieu d'un simple fichier texte. Aucune +configuration supplémentaire n'est requise pour utiliser +<code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.</p> + + <div class="warning"> + Pour utiliser <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>, + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>. + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatlisten">HeartbeatListen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatmaxservers">HeartbeatMaxServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartmonitor">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartmonitor">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="heartbeatlisten" id="heartbeatlisten">Directive</a> <a name="HeartbeatListen" id="HeartbeatListen">HeartbeatListen</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast d'écoute des requêtes entrantes heartbeat</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatListen <var>addr:port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr> +</table> + <p>La directive <code class="directive">HeartbeatListen</code> permet de + spécifier l'adresse multicast sur laquelle le serveur va surveiller les + informations d'état en provenance de serveurs où + <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé. Cette adresse correspond + en général à la valeur de la directive <code class="directive"><a href="../mod/mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></code> sur le serveur + d'origine. + </p> + + <pre class="prettyprint lang-config">HeartbeatListen 239.0.0.1:27999</pre> + + + <p>Tant que cette directive n'est pas utilisée, le module est + désactivé.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="heartbeatmaxservers" id="heartbeatmaxservers">Directive</a> <a name="HeartbeatMaxServers" id="HeartbeatMaxServers">HeartbeatMaxServers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le nombre maximal de serveurs qui pourront envoyer +des requêtes heartbeat à ce serveur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatMaxServers <var>nombre-de-serveurs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatMaxServers 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La valeur 0 est prise en charge à partir de la version 2.4.55 du +serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">HeartbeatMaxServers</code> + 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 + <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.</p> + <p>Pour utiliser un stockage de type fichier bidimensionnel (flat-file) + lorque le module <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> n'est pas chargé, cette + directive doit être définie à 0. La valeur doit être soit égale à 0, soit + supérieure ou égale à 10.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="heartbeatstorage" id="heartbeatstorage">Directive</a> <a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin vers le stockage des données heartbeat lorsqu'on utilise un +fichier bidimensionnel (flat-file)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatStorage <var>chemin fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatStorage logs/hb.dat</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr> +</table> + <p>La directive <code class="directive">HeartbeatStorage</code> permet de spécifier + le chemin de stockage des données heartbeat. Ce fichier bidimensionnel n'est + utilisé que si <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> n'est pas chargé et si la + directive <code class="directive"><a href="#heartbeatmaxservers">HeartbeatMaxServers</a></code> + est définie à 0.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartmonitor.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_heartmonitor.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_http2.html b/docs/manual/mod/mod_http2.html new file mode 100644 index 0000000..c80458d --- /dev/null +++ b/docs/manual/mod/mod_http2.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_http2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_http2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_http2.html.en b/docs/manual/mod/mod_http2.html.en new file mode 100644 index 0000000..cdccaf2 --- /dev/null +++ b/docs/manual/mod/mod_http2.html.en @@ -0,0 +1,970 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_http2 - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_http2</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_http2.html" title="English"> en </a> | +<a href="../fr/mod/mod_http2.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support for the HTTP/2 transport layer</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>http2_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_http2.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.17 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides HTTP/2 (<a href="https://tools.ietf.org/html/rfc7540">RFC 7540</a>) + support for the Apache HTTP Server.</p> + + <p>This module relies on <a href="http://nghttp2.org/">libnghttp2</a> + to provide the core http/2 engine.</p> + + <p>You must enable HTTP/2 via <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code> + in order to use the functionality described in this document. The + HTTP/2 protocol <a href="https://http2.github.io/faq/#does-http2-require-encryption">does not require</a> the use of encryption so two schemes are available: + <code>h2</code> (HTTP/2 over TLS) and <code>h2c</code> (HTTP/2 over TCP).</p> + + <p>Two useful configuration schemes are:</p> + + <div class="note"><h3>HTTP/2 in a VirtualHost context (TLS only)</h3> + <pre class="prettyprint lang-config">Protocols h2 http/1.1</pre> + + <p>Allows HTTP/2 negotiation (h2) via TLS ALPN in a secure + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. + HTTP/2 preamble checking (Direct mode, see <code class="directive"><a href="#h2direct">H2Direct</a></code>) is disabled by default for <code>h2</code>.</p> + </div> + + <div class="note"><h3>HTTP/2 in a Server context (TLS and cleartext)</h3> + <pre class="prettyprint lang-config">Protocols h2 h2c http/1.1</pre> + + <p>Allows HTTP/2 negotiation (h2) via TLS ALPN for secure + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. Allows + HTTP/2 cleartext negotiation (h2c) upgrading from an initial HTTP/1.1 + connection or via HTTP/2 preamble checking (Direct mode, see + <code class="directive"><a href="#h2direct">H2Direct</a></code>).</p> + </div> + + <p>Refer to the official <a href="https://http2.github.io/faq">HTTP/2 FAQ</a> + for any doubt about the protocol.</p> + + </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it works</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#h2copyfiles">H2CopyFiles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2direct">H2Direct</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2earlyhints">H2EarlyHints</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2maxworkers">H2MaxWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2minworkers">H2MinWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2outputbuffering">H2OutputBuffering</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2padding">H2Padding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2push">H2Push</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2pushdiarysize">H2PushDiarySize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2pushpriority">H2PushPriority</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2pushresource">H2PushResource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2serializeheaders">H2SerializeHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2upgrade">H2Upgrade</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2windowsize">H2WindowSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_http2">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_http2">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">How it works</a></h2> + + <h3><a name="dimensioning" id="dimensioning">HTTP/2 Dimensioning</a></h3> + <p> + Enabling HTTP/2 on your Apache Server has impact on the resource + consumption and if you have a busy site, you may need to consider + carefully the implications. + </p> + <p> + The first noticeable thing after enabling HTTP/2 is that your server + processes will start additional threads. The reason for this is that + HTTP/2 gives all requests that it receives to its own <em>Worker</em> + threads for processing, collects the results and streams them out + to the client. + </p> + <p> + In the current implementation, these workers use a separate thread + pool from the MPM workers that you might be familiar with. This is + just how things are right now and not intended to be like this forever. + (It might be forever for the 2.4.x release line, though.) So, HTTP/2 + workers, or shorter H2Workers, will not show up in <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. They + are also not counted against directives such as <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>. However + they take <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> + as default if you have not configured something + else via <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code> and + <code class="directive"><a href="#h2maxworkers">H2MaxWorkers</a></code>. + </p> + <p> + Another thing to watch out for is is memory consumption. Since HTTP/2 + keeps more state on the server to manage all the open request, priorities + for and dependencies between them, it will always need more memory + than HTTP/1.1 processing. There are three directives which steer the + memory footprint of a HTTP/2 connection: + <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code>, + <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> and + <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code>. + </p> + <p> + <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code> limits the + number of parallel requests that a client can make on a HTTP/2 connection. + It depends on your site how many you should allow. The default is 100 which + is plenty and unless you run into memory problems, I would keep it this + way. Most requests that browsers send are GETs without a body, so they + use up only a little bit of memory until the actual processing starts. + </p> + <p> + <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> controls how much + the client is allowed to send as body of a request, before it waits + for the server to encourage more. Or, the other way around, it is the + amount of request body data the server needs to be able to buffer. This + is per request. + </p> + <p> + And last, but not least, <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code> + controls how much response data shall be buffered. The request sits in + a H2Worker thread and is producing data, the HTTP/2 connection tries + to send this to the client. If the client does not read fast enough, + the connection will buffer this amount of data and then suspend the + H2Worker. + </p> + + + <h3><a name="misdirected" id="misdirected">Multiple Hosts and Misdirected Requests</a></h3> + <p> + Many sites use the same TLS certificate for multiple virtual hosts. The + certificate either has a wildcard name, such as '*.example.org' or carries + several alternate names. Browsers using HTTP/2 will recognize that and reuse + an already opened connection for such hosts. + </p> + <p> + While this is great for performance, it comes at a price: such vhosts + need more care in their configuration. The problem is that you will have + multiple requests for multiple hosts on the same TLS connection. And that + makes renegotiation impossible, in face the HTTP/2 standard forbids it. + </p> + <p> + So, if you have several virtual hosts using the same certificate and + want to use HTTP/2 for them, you need to make sure that all vhosts have + exactly the same SSL configuration. You need the same protocol, + ciphers and settings for client verification. + </p> + <p> + If you mix things, Apache httpd will detect it and return a special + response code, 421 Misdirected Request, to the client. + </p> + + + <h3><a name="envvars" id="envvars">Environment Variables</a></h3> + <p> + This module can be configured to provide HTTP/2 related information + as additional environment variables to the SSI and CGI namespace, as well + as in custom log configurations (see <code>%{VAR_NAME}e</code>). + </p> + + <table class="bordered"> + + <tr> + <th><a name="table3">Variable Name:</a></th> + <th>Value Type:</th> + <th>Description:</th> + </tr> + <tr><td><code>HTTP2</code></td><td>flag</td><td>HTTP/2 is being used.</td></tr> + <tr><td><code>H2PUSH</code></td><td>flag</td><td>HTTP/2 Server Push is enabled for this connection and also supported by the client.</td></tr> + <tr><td><code>H2_PUSH</code></td><td>flag</td><td>alternate name for <code>H2PUSH</code></td></tr> + <tr><td><code>H2_PUSHED</code></td><td>string</td><td>empty or <code>PUSHED</code> for a request being pushed by the server.</td></tr> + <tr><td><code>H2_PUSHED_ON</code></td><td>number</td><td>HTTP/2 stream number that triggered the push of this request.</td></tr> + <tr><td><code>H2_STREAM_ID</code></td><td>number</td><td>HTTP/2 stream number of this request.</td></tr> + <tr><td><code>H2_STREAM_TAG</code></td><td>string</td><td>HTTP/2 process unique stream identifier, consisting of connection id and stream id separated by <code>-</code>.</td></tr> + </table> + + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2CopyFiles" id="H2CopyFiles">H2CopyFiles</a> <a name="h2copyfiles" id="h2copyfiles">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine file handling in responses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2CopyFiles on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2CopyFiles off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.24 and later.</td></tr> +</table> + <p> + This directive influences how file content is handled in + responses. When <code>off</code>, which is the default, file handles + are passed from the requestion processing down to the main + connection, using the usual Apache setaside handling for + managing the lifetime of the file. + </p> + <p> + When set to <code>on</code>, file content is copied while the + request is still being processed and the buffered data is passed + on to the main connection. This is better if a third party + module is injecting files with different lifetimes into the response. + </p> + <p> + An example for such a module is <code>mod_wsgi</code> that may place + Python file handles into the response. Those files get close down when + Python thinks processing has finished. That may be well before + <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> is done with them. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2Direct" id="H2Direct">H2Direct</a> <a name="h2direct" id="h2direct">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>H2 Direct Protocol Switch</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2Direct on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2Direct on for h2c, off for h2 protocol</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive toggles the usage of the HTTP/2 Direct Mode. This + should be used inside a + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + section to enable direct HTTP/2 communication for that virtual host. + </p> + <p> + Direct communication means that if the first bytes received by the + server on a connection match the HTTP/2 preamble, the HTTP/2 + protocol is switched to immediately without further negotiation. + This mode is defined in RFC 7540 for the cleartext (h2c) case. Its + use on TLS connections not mandated by the standard. + </p> + <p> + When a server/vhost does not have h2 or h2c enabled via + <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>, + the connection is never inspected for a HTTP/2 preamble. + <code class="directive">H2Direct</code> + does not matter then. This is important for connections that + use protocols where an initial read might hang indefinitely, such + as NNTP. + </p> + <p> + For clients that have out-of-band knowledge about a server + supporting h2c, direct HTTP/2 saves the client from having to + perform an HTTP/1.1 upgrade, resulting in better performance + and avoiding the Upgrade restrictions on request bodies. + </p> + <p> + This makes direct h2c attractive for server to server communication + as well, when the connection can be trusted or is secured by other means. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2Direct on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2EarlyHints" id="H2EarlyHints">H2EarlyHints</a> <a name="h2earlyhints" id="h2earlyhints">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine sending of 103 status codes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2EarlyHints on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2EarlyHints off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.24 and later.</td></tr> +</table> + <p> + This setting controls if HTTP status 103 interim responses are + forwarded to the client or not. By default, this is currently + not the case since a range of clients still have trouble with + unexpected interim responses. + </p> + <p> + When set to <code>on</code>, PUSH resources announced with + <code class="directive"><a href="#h2pushresource">H2PushResource</a></code> will + trigger an interim 103 response + before the final response. The 103 response will carry <code>Link</code> + headers that advise the <code>preload</code> of such resources. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2MaxSessionStreams" id="H2MaxSessionStreams">H2MaxSessionStreams</a> <a name="h2maxsessionstreams" id="h2maxsessionstreams">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2MaxSessionStreams <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2MaxSessionStreams 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive sets the maximum number of active streams per HTTP/2 session (e.g. connection) + that the server allows. A stream is active if it is not <code>idle</code> or + <code>closed</code> according to RFC 7540. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2MaxSessionStreams 20</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2MaxWorkerIdleSeconds" id="H2MaxWorkerIdleSeconds">H2MaxWorkerIdleSeconds</a> <a name="h2maxworkeridleseconds" id="h2maxworkeridleseconds">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2MaxWorkerIdleSeconds <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2MaxWorkerIdleSeconds 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive sets the maximum number of seconds a h2 worker may + idle until it shuts itself down. This only happens while the number of + h2 workers exceeds <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code>. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2MaxWorkerIdleSeconds 20</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2MaxWorkers" id="H2MaxWorkers">H2MaxWorkers</a> <a name="h2maxworkers" id="h2maxworkers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of worker threads to use per child process.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2MaxWorkers <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive sets the maximum number of worker threads to spawn + per child process for HTTP/2 processing. If this directive is not used, + <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> will chose a value suitable for the <code>mpm</code> + module loaded. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2MaxWorkers 20</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2MinWorkers" id="H2MinWorkers">H2MinWorkers</a> <a name="h2minworkers" id="h2minworkers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Minimal number of worker threads to use per child process.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2MinWorkers <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive sets the minimum number of worker threads to spawn + per child process for HTTP/2 processing. If this directive is not used, + <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> will chose a value suitable for the <code>mpm</code> + module loaded. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2MinWorkers 10</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2ModernTLSOnly" id="H2ModernTLSOnly">H2ModernTLSOnly</a> <a name="h2moderntlsonly" id="h2moderntlsonly">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2ModernTLSOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2ModernTLSOnly on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.18 and later.</td></tr> +</table> + <p> + This directive toggles the security checks on HTTP/2 connections + in TLS mode (https:). This can be used server wide or for specific + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>s. + </p> + <p> + The security checks require that the TSL protocol is at least + TLSv1.2 and that none of the ciphers listed in RFC 7540, Appendix A + is used. These checks will be extended once new security requirements + come into place. + </p> + <p> + The name stems from the + <a href="https://wiki.mozilla.org/Security/Server_Side_TLS">Security/Server Side TLS</a> + definitions at mozilla where "modern compatibility" is defined. Mozilla Firefox and + other browsers require modern compatibility for HTTP/2 connections. As everything + in OpSec, this is a moving target and can be expected to evolve in the future. + </p> + <p> + One purpose of having these checks in <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> is to enforce this + security level for all connections, not only those from browsers. The other + purpose is to prevent the negotiation of HTTP/2 as a protocol should + the requirements not be met. + </p> + <p> + Ultimately, the security of the TLS connection is determined by the + server configuration directives for <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2ModernTLSOnly off</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2OutputBuffering" id="H2OutputBuffering">H2OutputBuffering</a> <a name="h2outputbuffering" id="h2outputbuffering">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine buffering behaviour of output</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2OutputBuffering on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2OutputBuffering on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.48 and later.</td></tr> +</table> + <p> + The directive <code class="directive">H2OutputBuffering</code> controls the buffering of stream output. + The default is on, which is the behaviour of previous versions. When off, all + bytes are made available immediately to the main connection for sending them + out to the client. This fixes interop issues with certain flavours of gRPC. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2Padding" id="H2Padding">H2Padding</a> <a name="h2padding" id="h2padding">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine the range of padding bytes added to payload frames</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2Padding <em>numbits</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2Padding 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.39 and later.</td></tr> +</table> + <p> + With the default 0, no padding bytes are added to any payload + frames, e.g. HEADERS, DATA and PUSH_PROMISE. This is the behaviour + of previous versions. It means that under certain conditions, an + observer of network traffic can see the length of those frames + in the TLS stream. + </p> + <p> + When configuring numbits of 1-8, a random number in range + [0, 2^numbits[ are added to each frame. The random value is chosen + independently for each frame that the module sends back to the client. + </p> + <p> + While more padding bytes give better message length obfuscation, they + are also additional traffic. The optimal number therefore depends on + the kind of web traffic the server carries. + </p> + <p> + The default of 0, e.g. no padding, was chosen for maximum backward + compatibility. There might be deployments where padding bytes are + unwanted or do harm. The most likely cause would be a client that + has a faults implementation. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2Push" id="H2Push">H2Push</a> <a name="h2push" id="h2push">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>H2 Server Push Switch</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2Push on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2Push on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.18 and later.</td></tr> +</table> + <p> + This directive toggles the usage of the HTTP/2 server push + protocol feature. + </p> + <p> + The HTTP/2 protocol allows the server to push other resources to + a client when it asked for a particular one. This is helpful + if those resources are connected in some way and the client can + be expected to ask for it anyway. The pushing then saves the + time it takes the client to ask for the resources itself. On the + other hand, pushing resources the client never needs or already + has is a waste of bandwidth. + </p> + <p> + Server pushes are detected by inspecting the <code>Link</code> headers of + responses (see https://tools.ietf.org/html/rfc5988 for the + specification). When a link thus specified has the <code>rel=preload</code> + attribute, it is treated as a resource to be pushed. + </p> + <p> + Link headers in responses are either set by the application or + can be configured via <code class="directive"><a href="#h2pushresource">H2PushResource</a></code> or + using <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> as: + </p> + <div class="example"><h3>mod_headers example</h3><pre class="prettyprint lang-config"><Location /index.html> + Header add Link "</css/site.css>;rel=preload" + Header add Link "</images/logo.jpg>;rel=preload" +</Location></pre> +</div> + <p> + As the example shows, there can be several link headers added + to a response, resulting in several pushes being triggered. There + are no checks in the module to avoid pushing the same resource + twice or more to one client. Use with care. + </p> + <p> + HTTP/2 server pushes are enabled by default. On a server or virtual host, + you may enable/disable this feature for any connection to the host. In addition, + you may disable PUSH for a set of resources in a Directory/Location. This controls + which resources may cause a PUSH, not which resources may be sent via PUSH. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2Push off</pre> +</div> + <p> + Last but not least, pushes happen only when the client signals + its willingness to accept those. Most browsers do, some, like Safari 9, + do not. Also, pushes also only happen for resources from the same + <em>authority</em> as the original response is for. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2PushDiarySize" id="H2PushDiarySize">H2PushDiarySize</a> <a name="h2pushdiarysize" id="h2pushdiarysize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>H2 Server Push Diary Size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2PushDiarySize <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2PushDiarySize 256</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.19 and later.</td></tr> +</table> + <p> + This directive toggles the maximum number of HTTP/2 server pushes + that are remembered per HTTP/2 connection. This can be used inside the + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + section to influence the number for all connections to that virtual host. + </p> + <p> + The push diary records a digest of pushed + resources (their URL) to avoid duplicate pushes on the same connection. + These value are not persisted, so clients opening a new connection + will experience known pushes again. + </p> + <p> + If the maximum size is reached, newer entries replace the oldest + ones. A diary entry uses 8 bytes, letting a + default diary with 256 entries consume around 2 KB of memory. + </p> + <p> + A size of 0 will effectively disable the push diary. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2PushPriority" id="H2PushPriority">H2PushPriority</a> <a name="h2pushpriority" id="h2pushpriority">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>H2 Server Push Priority</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2PushPriority * After 16</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.18 and later. For having an + effect, a nghttp2 library version 1.5.0 or newer is necessary.</td></tr> +</table> + <p> + This directive defines the priority handling of pushed responses + based on the content-type of the response. This is usually defined + per server config, but may also appear in a virtual host. + </p> + <p> + HTTP/2 server pushes are always related to a client request. Each + such request/response pairs, or <em>streams</em> have a dependency + and a weight, together defining the <em>priority</em> of a stream. + </p> + <p> + When a stream <em>depends</em> on another, say X depends on Y, + then Y gets all bandwidth before X gets any. Note that this + does not mean that Y will block X. If Y has no data to send, + all bandwidth allocated to Y can be used by X. + </p> + <p> + When a stream has more than one dependent, say X1 and X2 both + depend on Y, the <em>weight</em> determines the bandwidth + allocation. If X1 and X2 have the same weight, they both get + half of the available bandwidth. If the weight of X1 is twice + as large as that for X2, X1 gets twice the bandwidth of X2. + </p> + <p> + Ultimately, every stream depends on the <em>root</em> stream which + gets all the bandwidth available, but never sends anything. So all + its bandwidth is distributed by weight among its children. Which + either have data to send or distribute the bandwidth to their + own children. And so on. If none of the children have data + to send, that bandwidth get distributed somewhere else according + to the same rules. + </p> + <p> + The purpose of this priority system is to always make use of + available bandwidth while allowing precedence and weight + to be given to specific streams. Since, normally, all streams + are initiated by the client, it is also the one that sets + these priorities. + </p> + <p> + Only when such a stream results in a PUSH, gets the server to + decide what the <em>initial</em> priority of such a pushed + stream is. In the examples below, X is the client stream. It + depends on Y and the server decides to PUSH streams P1 and P2 + onto X. + </p> + <p> + The default priority rule is: + </p> + <div class="example"><h3>Default Priority Rule</h3><pre class="prettyprint lang-config">H2PushPriority * After 16</pre> +</div> + <p> + which reads as 'Send a pushed stream of any content-type + depending on the client stream with weight 16'. And so P1 + and P2 will be send after X and, as they have equal weight, + share bandwidth equally among themselves. + </p> + <div class="example"><h3>Interleaved Priority Rule</h3><pre class="prettyprint lang-config">H2PushPriority text/css Interleaved 256</pre> +</div> + <p> + which reads as 'Send any CSS resource on the same dependency and + weight as the client stream'. If P1 has content-type 'text/css', + it will depend on Y (as does X) and its effective weight will be + calculated as <code>P1ew = Xw * (P1w / 256)</code>. With P1w being + 256, this will make the effective weight the same as the weight + of X. If both X and P1 have data to send, bandwidth will be allocated + to both equally. + </p> + <p> + With Pw specified as 512, a pushed, interleaved stream would + get double the weight of X. With 128 only half as much. Note that + effective weights are always capped at 256. + </p> + <div class="example"><h3>Before Priority Rule</h3><pre class="prettyprint lang-config">H2PushPriority application/json Before</pre> +</div> + <p> + This says that any pushed stream of content type 'application/json' + should be send out <em>before</em> X. This makes P1 dependent + on Y and X dependent on P1. So, X will be stalled as long as + P1 has data to send. The effective weight is inherited from the + client stream. Specifying a weight is not allowed. + </p> + <p> + Be aware that the effect of priority specifications is limited + by the available server resources. If a server does not have + workers available for pushed streams, the data for the stream + may only ever arrive when other streams have been finished. + </p> + <p> + Last, but not least, there are some specifics of the syntax + to be used in this directive: + </p> + <ol> + <li>'*' is the only special content-type that matches all others. + 'image/*' will not work.</li> + <li>The default dependency is 'After'. </li> + <li>There are also default weights: for 'After' it is 16, 'interleaved' is 256. + </li> + </ol> + <div class="example"><h3>Shorter Priority Rules</h3><pre class="prettyprint lang-config">H2PushPriority application/json 32 # an After rule +H2PushPriority image/jpeg before # weight inherited +H2PushPriority text/css interleaved # weight 256 default</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2PushResource" id="H2PushResource">H2PushResource</a> <a name="h2pushresource" id="h2pushresource">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declares resources for early pushing to the client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2PushResource [add] <em>path</em> [critical]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.24 and later.</td></tr> +</table> + <p> + When added to a directory/location HTTP/2 PUSHes will be attempted + for all paths added via this directive. This directive can be used + several times for the same location. + </p> + <p> + This directive pushes resources much earlier than adding + <code>Link</code> headers via <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>. + <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> announces these resources in a + <code>103 Early Hints</code> interim response to the client. + That means that clients not supporting PUSH will still get + early preload hints. + </p> + <p> + In contrast to setting <code>Link</code> response headers + via <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, this directive will only + take effect on HTTP/2 connections. + </p> + <p> + By adding <code>critical</code> to such a resource, the server + will give processing it more preference and send its data, once + available, before the data from the main request. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2SerializeHeaders" id="H2SerializeHeaders">H2SerializeHeaders</a> <a name="h2serializeheaders" id="h2serializeheaders">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serialize Request/Response Processing Switch</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2SerializeHeaders on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2SerializeHeaders off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive toggles if HTTP/2 requests shall be serialized in + HTTP/1.1 format for processing by <code>httpd</code> core or if + received binary data shall be passed into the <code>request_rec</code>s + directly. + </p> + <p> + Serialization will lower performance, but gives more backward + compatibility in case custom filters/hooks need it. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2SerializeHeaders on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2StreamMaxMemSize" id="H2StreamMaxMemSize">H2StreamMaxMemSize</a> <a name="h2streammaxmemsize" id="h2streammaxmemsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum amount of output data buffered per stream.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2StreamMaxMemSize <em>bytes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2StreamMaxMemSize 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive sets the maximum number of outgoing data bytes buffered in memory + for an active streams. This memory is not allocated per stream as such. Allocations + are counted against this limit when they are about to be done. Stream processing + freezes when the limit has been reached and will only continue when buffered data + has been sent out to the client. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2StreamMaxMemSize 128000</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2TLSCoolDownSecs" id="H2TLSCoolDownSecs">H2TLSCoolDownSecs</a> <a name="h2tlscooldownsecs" id="h2tlscooldownsecs">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2TLSCoolDownSecs <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2TLSCoolDownSecs 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.18 and later.</td></tr> +</table> + <p> + This directive sets the number of seconds of idle time on a TLS + connection before the TLS write size falls back to small (~1300 bytes) + length. + This can be used server wide or for specific + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>s. + </p> + <p> + See <code class="directive"><a href="#h2tlswarmupsize">H2TLSWarmUpSize</a></code> for a + description of TLS warmup. <code class="directive">H2TLSCoolDownSecs</code> reflects the fact + that connections may deteriorate over time (and TCP flow adjusts) + for idle connections as well. It is beneficial to overall performance + to fall back to the pre-warmup phase after a number of seconds that + no data has been sent. + </p> + <p> + In deployments where connections can be considered reliable, this + timer can be disabled by setting it to 0. + </p> + <p> + The following example sets the seconds to zero, effectively disabling + any cool down. Warmed up TLS connections stay on maximum record + size. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2TLSCoolDownSecs 0</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2TLSWarmUpSize" id="H2TLSWarmUpSize">H2TLSWarmUpSize</a> <a name="h2tlswarmupsize" id="h2tlswarmupsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2TLSWarmUpSize <em>amount</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2TLSWarmUpSize 1048576</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.18 and later.</td></tr> +</table> + <p> + This directive sets the number of bytes to be sent in small + TLS records (~1300 bytes) until doing maximum sized writes (16k) + on https: HTTP/2 connections. + This can be used server wide or for specific + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>s. + </p> + <p> + Measurements by <a href="https://www.igvita.com">google performance + labs</a> show that best performance on TLS connections is reached, + if initial record sizes stay below the MTU level, to allow a + complete record to fit into an IP packet. + </p> + <p> + While TCP adjust its flow-control and window sizes, longer TLS + records can get stuck in queues or get lost and need retransmission. + This is of course true for all packets. TLS however needs the + whole record in order to decrypt it. Any missing bytes at the end + will stall usage of the received ones. + </p> + <p> + After a sufficient number of bytes have been send successfully, + the TCP state of the connection is stable and maximum TLS record + sizes (16 KB) can be used for optimal performance. + </p> + <p> + In deployments where servers are reached locally or over reliable + connections only, the value might be decreased with 0 disabling + any warmup phase altogether. + </p> + <p> + The following example sets the size to zero, effectively disabling + any warmup phase. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2TLSWarmUpSize 0</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2Upgrade" id="H2Upgrade">H2Upgrade</a> <a name="h2upgrade" id="h2upgrade">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>H2 Upgrade Protocol Switch</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2Upgrade on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2Upgrade on for h2c, off for h2 protocol</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive toggles the usage of the HTTP/1.1 Upgrade method + for switching to HTTP/2. This + should be used inside a + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + section to enable Upgrades to HTTP/2 for that virtual host. + </p> + <p> + This method of switching protocols is defined in HTTP/1.1 and + uses the "Upgrade" header (thus the name) to announce willingness + to use another protocol. This may happen on any request of a + HTTP/1.1 connection. + </p> + <p> + This method of protocol switching is enabled by default on cleartext + (potential h2c) connections and disabled on TLS (potential h2), + as mandated by RFC 7540. + </p> + <p> + Please be aware that Upgrades are only accepted for requests + that carry no body. POSTs and PUTs with content will never + trigger an upgrade to HTTP/2. + See <code class="directive"><a href="#h2direct">H2Direct</a></code> for an + alternative to Upgrade. + </p> + <p> + This mode only has an effect when h2 or h2c is enabled via + the <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2Upgrade on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="H2WindowSize" id="H2WindowSize">H2WindowSize</a> <a name="h2windowsize" id="h2windowsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Size of Stream Window for upstream data.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>H2WindowSize <em>bytes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>H2WindowSize 65535</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + This directive sets the size of the window that is used for flow control + from client to server and limits the amount of data the server has to buffer. + The client will stop sending on a stream once the limit has been reached until + the server announces more available space (as it has processed some of the data). + </p><p> + This limit affects only request bodies, not its meta data such as headers. Also, + it has no effect on response bodies as the window size for those are managed + by the clients. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">H2WindowSize 128000</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_http2.html" title="English"> en </a> | +<a href="../fr/mod/mod_http2.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_http2.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_http2.html.fr.utf8 b/docs/manual/mod/mod_http2.html.fr.utf8 new file mode 100644 index 0000000..b447520 --- /dev/null +++ b/docs/manual/mod/mod_http2.html.fr.utf8 @@ -0,0 +1,1101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_http2 - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_http2</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_http2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de la couche transport HTTP/2</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>http2_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_http2.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur + HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module ajoute le support de HTTP/2 (<a href="https://tools.ietf.org/html/rfc7540">RFC 7540</a>) au serveur HTTP + Apache.</p> + + <p>Il s'appuie sur la bibliothèque <a href="http://nghttp2.org/">libnghttp2</a> pour implémenter le + moteur de base http/2.</p> + + <p>Pour mettre en oeuvre les fonctionnalités décrites dans ce + document, vous devez activer HTTP/2 en utilisant la directive + <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>. HTTP/2 <a href="https://http2.github.io/faq/#does-http2-require-encryption">n'imposant + pas</a> de chiffrement, deux protocoles sont disponibles : + <code>h2</code> (HTTP/2 avec TLS) at <code>h2c</code> (HTTP/2 avec TCP).</p> + + <p>Voici deux types de configuration courant :</p> + + <div class="note"><h3>HTTP/2 dans un contexte de serveur virtuel (TLS seulement)</h3> + <pre class="prettyprint lang-config">Protocols h2 http/1.1</pre> + + <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + sécurisé. La vérification du préambule HTTP/2 (mode direct, voir + <code class="directive"><a href="#h2direct">H2Direct</a></code>) est désactivée par + défaut pour <code>h2</code>.</p> + </div> + + <div class="note"><h3>HTTP/2 dans un contexte de serveur (TLS et texte pur)</h3> + <pre class="prettyprint lang-config">Protocols h2 h2c http/1.1</pre> + + <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un + <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + sécurisé. Permet aussi une négociation HTTP/2 en texte pur (h2c) en + effectuant une mise à jour depuis une connexion initiale HTTP/1.1 ou via + une vérification du préambule HTTP/2 (mode direct, voir + <code class="directive"><a href="#h2direct">H2Direct</a></code>).</p> + </div> + + <p>Si vous avez besoin d'informations supplémentaires à propos du + protocole, veuillez vous reporter à la <a href="https://http2.github.io/faq">HTTP/2 FAQ</a>.</p> + + + </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche ?</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#h2copyfiles">H2CopyFiles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2direct">H2Direct</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2earlyhints">H2EarlyHints</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2maxsessionstreams">H2MaxSessionStreams</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2maxworkers">H2MaxWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2minworkers">H2MinWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2moderntlsonly">H2ModernTLSOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2outputbuffering">H2OutputBuffering</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2padding">H2Padding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2push">H2Push</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2pushdiarysize">H2PushDiarySize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2pushpriority">H2PushPriority</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2pushresource">H2PushResource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2serializeheaders">H2SerializeHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2tlswarmupsize">H2TLSWarmUpSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2upgrade">H2Upgrade</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#h2windowsize">H2WindowSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Comment ça marche ?</a></h2> + + <h3><a name="dimensioning" id="dimensioning">Quantification des ressources + supplémentaires nécessaires à HTTP/2</a></h3> + <p> + Activer HTTP/2 sur votre serveur Apache a un impact sur la + consommation de ressources, et si votre site est très actif, il est + conseillé d'en prendre sérieusement en compte les implications. + </p> + <p> + HTTP/2 attribue à chaque requête qu'il reçoit son propre <em>thread + de travail</em> pour son traitement, la collecte des résultats et + l'envoie de ces derniers au client. Pour y parvenir, il lui faut + lancer des threads supplémentaires, et ceci constituera le premier + effet notable de l'activation de HTTP/2. + </p> + <p> + Dans l'implémentation actuelle, ces threads de travail font partie + d'un jeu de threads distinct de celui des threads de travail du MPM + avec lequel vous êtes familié. Il s'agit simplement du mode de + fonctionnement actuel, et il n'en sera pas obligatoirement toujours + ainsi (il est cependant probable que la situation restera inchangée + avec la version 2.4.x). De par ce mode de fonctionnement, les + threads de travail HTTP/2, ou plus simplement H2 ne seront pas + affichés par <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. De même, ils ne seront pas + pris en compte par les directives du style <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>. Par contre, ils + utilisent par défaut la valeur de <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> si vous n'avez pas + spécifié d'autres valeurs via <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code> et <code class="directive"><a href="#h2maxworkers">H2MaxWorkers</a></code>. + </p> + <p> + Autre changement à surveiller : la consommation de mémoire. En + effet, comme HTTP/2 conserve plus d'informations sur le serveur pour + gérer toutes les requêtes en cours, leurs priorités et + interdépendances, il aura toujours besoin de plus de mémoire que + pour un traitement en HTTP/1.1. Trois directives permettent de + limiter l'empreinte mémoire d'une connexion HTTP/2 : <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code>, <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> et <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code>. + </p> + <p> + La directive <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code> permet de limiter + le nombre de requêtes simultanées qu'un client peut envoyer sur une + connexion HTTP/2. La valeur que vous allez définir dépend de votre + site. La valeur par défaut qui est de 100 est largement suffisante, + et à moins que vous ne soyez un peu juste en mémoire, je vous + conseille de ne pas la modifier. La plupart des requêtes qu'envoie + un client sont des requêtes de type GET sans corps qui n'utilisent + que très peu de mémoire en attendant le démarrage du traitement. + + </p> + <p> + La directive <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> + permet de définir la taille maximale que peut avoir le corps d'une + requête que le client envoie avant d'attendre que le serveur + en demande d'avantage. En d'autres termes, il s'agit de la quantité + de données que le serveur peut stocker dans son tampon, valable pour + une requête. + </p> + <p> + En outre, la directive <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code> permet de définir + la quantité de données de la réponse qui doit être mise en tampon. + Chaque requête étant prise en charge par un thread H2Worker et + produisant des données que le serveur tente de transmettre au client + via une connexion HTTP/2, si le client n'est pas en mesure de lire + ces données assez rapidement, la connexion les mettra en tampon et + interrompra l'exécution du thread H2Worker correspondant. + </p> + + + + <h3><a name="misdirected" id="misdirected">Serveurs virtuels et requêtes mal + redirigées</a></h3> + <p> + De nombreux site utilisent le même certificat TLS pour plusieurs + serveurs virtuels. Ce certificat référence un nom de serveur + générique comme '*.example.org' ou plusieurs noms de serveur + différents. Les navigateurs qui utilisent HTTP/2 détectent ce + comportement et réutilisent une connexion déjà ouverte pour ces + serveurs. + </p> + <p> + Ceci améliore considérablement les performances, mais il y a un prix + à payer : il faut accorder un soin tout particulier à la + configuration de tels serveurs virtuels. Le problème réside dans le + fait que plusieurs requêtes pour plusieurs serveurs virtuels vont se + partager la même connexion TLS, et ceci empêche toute renégociation + car le standard HTTP/2 l'interdit. + </p> + <p> + Ainsi, lorsque plusieurs de vos serveurs virtuels utilisent le même + certificat et si vous souhaitez utiliser HTTP/2 pour y accéder, vous + devez vous assurer que tous vos serveurs virtuels possèdent + exactement la même configuration SSL. En particulier, ils doivent + utiliser les mêmes protocole, algorithme de chiffrement et + configuration pour la vérification du client. + </p> + <p> + Dans le cas contraire, Apache httpd le détectera et renverra au + client un code de réponse spécial, 421 Misdirected Request. + </p> + + + <h3><a name="envvars" id="envvars">Variables d'environnement</a></h3> + + <p>Ce module peut être configuré pour fournir des informations en + rapport avec HTTP/2 sous la forme de variables d'environnement + supplémentaires dans l'espace de nommage SSI et CGI, ainsi que dans les + configurations personnalisées de le journalisation (voir + <code>%{VAR_NAME}e</code>). + </p> + + <table class="bordered"> + + <tr> + <th><a name="table3">Nom variable :</a></th> + <th>Type :</th> + <th>Description :</th> + </tr> + <tr><td><code>HTTPe</code></td><td>drapeau</td><td>HTTP/2 est utilisé.</td></tr> + <tr><td><code>H2PUSH</code></td><td>drapeau</td><td>La + fonctionnalité HTTP/2 Server Push est activée pour cette requête et + supportée par le client.</td></tr> + <tr><td><code>H2_PUSH</code></td><td>drapeau</td><td>autre nom pour <code>H2PUSH</code></td></tr> + <tr><td><code>H2_PUSHED</code></td><td>chaîne</td><td>vide ou + <code>PUSHED</code> pour une requête pushée par le serveur.</td></tr> + <tr><td><code>H2_PUSHED_ON</code></td><td>nombre</td><td>numéro du + flux HTTP/2 qui a déclenché le push de cette requête.</td></tr> + <tr><td><code>H2_STREAM_ID</code></td><td>nombre</td><td>numéro du + flux HTTP/2 de cette requête.</td></tr> + <tr><td><code>H2_STREAM_TAG</code></td><td>chaîne</td><td>identifiant + de flux unique du processus HTTP/2 composé de l'identifiant de la + connexion et de l'identifiant du flux séparés par <code>-</code>.</td></tr> + </table> + + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2copyfiles" id="h2copyfiles">Directive</a> <a name="H2CopyFiles" id="H2CopyFiles">H2CopyFiles</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la gestion des fichiers dans les réponses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2CopyFiles on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2CopyFiles off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Cette directive permet de définir la manière de gérer les + contenus de fichiers dans les réponses. Lorsqu'elle est à <code>off</code> + (sa valeur par défaut), les descripteurs de fichiers sont + transmis par le processus de traitement de la requête vers la + connexion principale en utilisant le système habituel de mise en + réserve d'Apache pour gérer le durée de vie du fichier. + </p> + <p> + Lorsqu'elle est à <code>on</code>, le contenu du fichier est + recopier pendant le traitement de la requête et ces données + mises en tampon sont transmises vers la connexion principale, ce + qui s'avère avantageux lorsqu'un module tiers injecte dans la + réponse des fichiers possédant des durées de vie différentes. + </p> + <p> + Un exemple de ces modules tiers : <code>mod_wsgi</code> qui peut + injecter des descripteurs de fichiers dans la réponse. Ces + fichiers sont fermés lorsque Python estime que le traitement est + terminé, alors que <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> est probablement + encore loin d'en avoir fini avec eux. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2direct" id="h2direct">Directive</a> <a name="H2Direct" id="H2Direct">H2Direct</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation du protocole H2 Direct</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Direct on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Direct on pour h2c, off pour le protocole h2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet d'activer/désactiver + l'utilisation du mode HTTP/2 Direct. Elle doit être + située dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la + communication directe HTTP/2 pour le serveur virtuel + considéré. + </p> + <p> + La notion de communication directe signifie que si les + premiers octets reçus par le serveur correspondent à un + en-tête HTTP/2, le protocole HTTP/2 est utilisé sans + négociation supplémentaire. Ce mode est défini pour + les transmissions en clair (h2c) dans la RFC 7540. Son + utilisation avec les connexions TLS n'est pas + officiellement supportée. + </p> + <p> + Lorsque le protocole h2 ou h2c n'est pas activé via la + directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>, la recherche d'un en-tête HTTP/2 n'est + jamais effectuée au sein d'une connexion. La directive + <code class="directive">H2Direct</code> ne produit alors aucun effet. Ceci est + important pour les connexions qui utilisent un protocole + pour lequel une lecture initiale peut entraîner un + blocage définitif comme NNTP. + </p> + <p> + Pour un client qui sait qu'un serveur supporte h2c, la + communication directe HTTP/2 dispense le client d'une + mise à jour HTTP/1.1, ce qui entraîne une amélioration + des performances et évite les restrictions sur les corps + de requête suite à une mise à jour. + </p> + <p> + Cette directive rend aussi h2c plus attractif pour les + communications de serveur à serveur lorsque la connexion + est sure ou peut être sécurisée d'une manière ou d'une + autre. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Direct on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2earlyhints" id="h2earlyhints">Directive</a> <a name="H2EarlyHints" id="H2EarlyHints">H2EarlyHints</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle l'envoi de codes d'état 103</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2EarlyHints on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2EarlyHints off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Cette directive permet de définir si les réponses intermédiaires + contenant un code d'état HTTP 103 doivent être envoyées au + client ou non. Par défaut ce n'est actuellement pas le cas car + certains clients ont encore des problèmes avec les réponses + intermédiaires inattendues. + </p> + <p> + Lorsque cette directive est définie à <code>on</code>, les + ressources PUSHées définie par la directive <code class="directive"><a href="#h2pushresource">H2PushResource</a></code> déclenchent une + réponse intermédiaire 103 avant la réponse finale. Cette réponse + 103 comporte des en-têtes <code>Link</code> qui provoquent le + <code>préchargement</code> des ressources considérées. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2maxsessionstreams" id="h2maxsessionstreams">Directive</a> <a name="H2MaxSessionStreams" id="H2MaxSessionStreams">H2MaxSessionStreams</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de flux actifs par session HTTP/2.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxSessionStreams <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxSessionStreams 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet de définir le nombre maximal de flux + actifs par session (connexion) HTTP/2 accepté par le serveur. + Selon la RFC 7540, un flux est considéré comme actif s'il n'est + ni <code>en attente</code> ni <code>fermé</code>. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxSessionStreams 20</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2maxworkeridleseconds" id="h2maxworkeridleseconds">Directive</a> <a name="H2MaxWorkerIdleSeconds" id="H2MaxWorkerIdleSeconds">H2MaxWorkerIdleSeconds</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de secondes pendant lequel une unité de + traitement h2 pourra rester inactive sans être arrêtée.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxWorkerIdleSeconds <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxWorkerIdleSeconds 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet de définir le nombre maximal de secondes + pendant lequel une unité de traitement h2 pourra rester inactive + avant de s'arrêter elle-même. Cet arrêt ne peut cependant se + produire que si le nombre d'unités de traitement h2 dépasse + <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code>. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxWorkerIdleSeconds 20</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2maxworkers" id="h2maxworkers">Directive</a> <a name="H2MaxWorkers" id="H2MaxWorkers">H2MaxWorkers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de threads à utiliser pour chaque processus + enfant.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxWorkers <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet de définir le nombre maximal de threads à + lancer pour le traitement HTTP/2 de chaque processus enfant. Si + cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> + choisira une valeur appropriée en fonction du module <code>mpm</code> + utilisé. + + This directive sets the maximum number of worker threads to spawn + per child process for HTTP/2 processing. If this directive is not used, + <code>mod_http2</code> will chose a value suitable for the <code>mpm</code> + module loaded. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxWorkers 20</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2minworkers" id="h2minworkers">Directive</a> <a name="H2MinWorkers" id="H2MinWorkers">H2MinWorkers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimal de threads à utiliser pour chaque processus + enfant.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MinWorkers <em>n</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet de définir le nombre minimal de threads à + lancer pour le traitement HTTP/2 de chaque processus enfant. Si + cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> + choisira une valeur appropriée en fonction du module <code>mpm</code> + utilisé. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MinWorkers 10</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2moderntlsonly" id="h2moderntlsonly">Directive</a> <a name="H2ModernTLSOnly" id="H2ModernTLSOnly">H2ModernTLSOnly</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Impose les connexions HTTP/2 en mode "TLS moderne" + seulement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2ModernTLSOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2ModernTLSOnly on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Cette directive permet de définir si les vérifications de + sécurité sur les connexions HTTP/2 doivent être exclusivement en + mode TLS (https:). Elle peut être placée au niveau du serveur + principal ou dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. + </p> + <p> + Les vérifications de sécurité nécessitent TLSv1.2 au minimum et + l'absence de tout algorithme de chiffrement listé dans la RFC + 7540, Appendix A. Ces vérifications seront étendues lorsque de + nouveaux prérequis en matière de sécurité seront mis en place. + </p> + <p> + Le nom provient des définitions Mozilla <a href="https://wiki.mozilla.org/Security/Server_Side_TLS">Security/Server + Side TLS</a> où il est question de "modern compatibility". + Mozilla Firefox et d'autres navigateurs imposent la "modern + compatibility" pour les connexions HTTP/2. Comme toute chose en + matière de sécurité opérationnelle, c'est une cible mouvante + susceptible d'évoluer dans le futur. + </p> + <p> + Un des buts de ces vérifications dans <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> tend à imposer + ce niveau de sécurité pour toutes les connexions, et non + seulement celles en provenance des navigateurs web. Un autre but + est l'interdiction d'utiliser HTTP/2 en tant que protocole dans + les négociations si les prérequis ne sont pas respectés. + </p> + <p> + En fin de compte, la sécurité de la connexion TLS est déterminée + par les directives de configuration du serveur pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2ModernTLSOnly off</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2outputbuffering" id="h2outputbuffering">Directive</a> <a name="H2OutputBuffering" id="H2OutputBuffering">H2OutputBuffering</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la mise en tampon du flux de sortie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2OutputBuffering on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2OutputBuffering on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.48 du serveur HTTP + Apache.</td></tr> +</table> + <p> + La directive <code class="directive">H2OutputBuffering</code> permet de + contrôler la mise en tampon du flux de sortie. La valeur par + défaut est on, ce qui correspond au comportement des versions + précédentes. Lorsqu'elle est à off, chaque octet est + immédiatement disponible pour envoi au client via la connexion + principale. Ceci permet de résoudre les problèmes + d'inter-opérations avec certaines versions de gRPC. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2padding" id="h2padding">Directive</a> <a name="H2Padding" id="H2Padding">H2Padding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un intervalle de nombres d'octets de bourrage à + ajouter aux trames utiles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Padding <em>numbits</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Padding 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.39 du serveur HTTP + Apache.</td></tr> +</table> + <p> + La valeur par défaut 0 indique qu'aucun octet de bourrage ne + sera ajouté aux trames utiles comme HEADERS, DATA et + PUSH_PROMISE. Ceci correspond au comportement des versions + précédentes. Dans ce cas et sous certaines conditions, un + observateur du trafic réseau pourra alors déterminer la longueur + de ces trames dans le flux TLS. + </p> + <p> + Si on attribue à numbits la valeur 1-8, un nombre aléatoire + d'octets entre 0 et 2^numbits sont ajoutés à chaque trame. Une + valeur aléatoire d'octets de bourrage est attribué + indépendamment à chaque trame que le module renvoie au client. + </p> + <p> + Pour améliorer la dissimulation de la longueur des trames, on + peut augmenter le nombre moyen d'octets de bourrage, mais cela + augmente d'autant le trafic réseau. Le nombre optimal d'octets + de bourrage dépend donc du type de trafic web que le serveur + engendre. + </p> + <p> + La valeur par défaut de 0 (aucun octet de bourrage) a été + choisie dans un but de compatibilité ascendante. Il peut en + effet exister des installations où les octets de bourrage ne + sont pas souhaités ou sont néfastes. La cause principale peut + provenir d'un client dont l'implémentation comporte des erreurs. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2push" id="h2push">Directive</a> <a name="H2Push" id="H2Push">H2Push</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/désactivation du server push H2</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Push on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Push on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Cette directive permet d'activer/désactiver + l'utilisation de la fonctionnalité server push du + protocole HTTP/2. + </p> + <p> + Lorsqu'un client demande une ressource particulière, le + protocole HTTP/2 permet au serveur de lui fournir des + ressources supplémentaires. Ceci s'avère utile lorsque + ces ressources sont reliées entre elles, ce qui peut + laisser supposer que le client va probablement les + demander dans un délai plus ou moins long. Le mécanisme + de pushing permet alors au client d'économiser le temps + qu'il lui aurait fallu pour demander ces ressources + supplémentaires lui-même. Par contre, fournir au client + des ressources dont il n'a pas besoin ou qu'il possède + déjà constitue une perte de bande passante. + </p> + <p> + Les server pushes sont détectés en inspectant les + en-têtes <code>Link</code> des réponses (voir + https://tools.ietf.org/html/rfc5988 pour la + spécification). Lorsqu'un lien spécifié de cette manière + possède l'attribut <code>rel=preload</code>, il est + considéré comme devant faire l'objet d'un push. + </p> + <p> + Les en-têtes link des réponses sont soit définis par + l'application, soit configurés via + <code class="directive"><a href="#h2pushresource">H2PushResource</a></code> ou + <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> comme suit : + </p> + <div class="example"><h3>Exemple de configuration d'en-tête link via mod_headers</h3><pre class="prettyprint lang-config"><Location /index.html> + Header add Link "</css/site.css>;rel=preload" + Header add Link "</images/logo.jpg>;rel=preload" +</Location></pre> +</div> + <p> + Comme le montre l'exemple, il est possible d'ajouter + autant d'en-têtes link que l'on souhaite à une réponse, ce qui déclenchera + autant de pushes. Cette fonctionnalité doit donc être + utilisée avec prudence car le module ne vérifie pas si + une ressource n'a pas déjà été "pushée" vers un client. + </p> + <p> + Les PUSH HTTP/2 sont activés par défaut. Vous pouvez + activer/désactiver cette fonctionnalité pour toute connexion au + serveur au niveau global ou serveur virtuel. Vous pouvez en + outre désactiver PUSH pour un jeu de ressources dans une + section Directory/Location. Notez que ceci permet de contrôler + quelles ressources peuvent déclencher un PUSH, mais pas les + ressources qui peuvent être envoyées via PUSH. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Push off</pre> +</div> + <p> + Enfin, il est important de savoir que les pushes ne se + produisent que si le client en manifeste le désir ; la + plupart des navigateurs le font, mais certains, comme + Safari 9, ne le font pas. En outre, les pushes ne se produisent que + pour les ressources de la même <em>autorité</em> que celle de la + réponse originale. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2pushdiarysize" id="h2pushdiarysize">Directive</a> <a name="H2PushDiarySize" id="H2PushDiarySize">H2PushDiarySize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du journal des Pushes H2</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushDiarySize n</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushDiarySize 256</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Cette directive permet de définir le nombre maximum de pushes + qui seront enregistrés pour une connexion HTTP/2. Elle peut être + placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin de définir le nombre + de pushes pour le serveur virtuel considéré. + </p> + <p> + Le journal des pushes enregistre un condensé des ressources + préchargées (leurs URLs) afin d'éviter les duplications de + pushes pour une même connexion. Cependant, ces données ne sont + pas conservées, et les clients qui ouvrent une nouvelle + connexion se verront à nouveau affecter les mêmes pushes. + </p> + <p> + Si la taille maximale est atteinte, les nouvelles entrées + remplacent les plus anciennes. Une entrée du journal nécessitant + 8 octets, un journal de 256 entrées consomme 2 Ko de mémoire. + </p> + <p> + Si cette directive est définie à 0, le journal des pushes est + désactivé. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2pushpriority" id="h2pushpriority">Directive</a> <a name="H2PushPriority" id="H2PushPriority">H2PushPriority</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Priorité des pushes H2</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushPriority * After 16</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP + Apache. Nécessite la bibliothèque nghttp2 version 1.5.0 ou supérieure.</td></tr> +</table> + <p> + Cette directive permet de définir une gestion de priorité des + pushes en fonction du type de contenu de la réponse. Elle est en + général définie au niveau du serveur principal, mais peut aussi + l'être au niveau d'un serveur virtuel. + </p> + <p> + Les pushes HTTP/2 sont toujours liés à une requête client. + Chaque paire requête/réponse de cette sorte, ou <em>flux</em>, + possède une dépendance et un poids qui définissent la + <em>priorité</em> du flux. + </p> + <p> + Lorsqu'un flux <em>dépend</em> d'un autre, disons X dépend de Y, + alors Y reçoit toute la bande passante avant que X n'en reçoive + ne serait-ce qu'une partie. Notez que cela ne signifie en rien + que Y bloque X ; en effet, si Y n'a aucune donnée à envoyer, + toute la bande passante qui lui est allouée peut être utilisée + par X. + </p> + <p> + Lorsque plusieurs flux dépendent d'un même autre flux, disons X1 + et X2 dépendent tous deux de Y, le <em>poids</em> détermine la + bande passante allouée. Ainsi, si X1 et X2 possèdent le même + poids, ils recevront tous deux la moitié de la bande passante + disponible. Si le poids de X1 est égal au double de celui de X2, + X1 recevra une bande passante double de celle de X2. + + </p> + <p> + En fin de compte, tout flux dépend du flux <em>racine</em> qui + reçoit toute la bande passante disponible mais n'envoie jamais + de données. Cette bande passante est ainsi répartie entre les flux + enfants selon leur poids. Ces derniers l'utilisent alors pour + envoyer leurs données ou pour la répartir entre leurs propres + flux enfants, et ainsi de suite. Si aucun des flux enfants n'a + de données à envoyer, la bande passante est attribuée à d'autres + flux selon les mêmes règles. + </p> + <p> + Ce système de priorités a été conçu de façon a toujours pouvoir + utiliser la bande passante disponible tout en définissant des + priorités et en attribuant des poids aux différents flux. Ainsi, + tous les flux sont en général initialisés par le client qui + lui-même définit les priorités. + </p> + <p> + Seul le fait de savoir qu'un flux implique un PUSH permet au + serveur de décider quelle est la priorité <em>initiale</em> d'un + tel flux. Dans les exemples ci-dessous, X est le flux client. Il + dépend de Y et le serveur décide de "PUSHer" les flux P1 et P2 + sur X. + </p> + <p> + La règle de priorité par défaut est : + </p> + <div class="example"><h3>Règle de priorité par défaut</h3><pre class="prettyprint lang-config">H2PushPriority * After 16</pre> +</div> + <p> + Elle peut se traduire par "Envoyer un flux PUSH avec tout type + de contenu et dépendant du flux client avec le poids 16". P1 et + P2 seront alors envoyés après X, et comme leurs poids sont + identiques, il se verront allouer la même quantité de bande + passante. + </p> + <div class="example"><h3>Règle de priorité entrelacée</h3><pre class="prettyprint lang-config">H2PushPriority text/css Interleaved 256</pre> +</div> + <p> + Ce qui peut se traduire par "Envoyer toute ressource CSS dans la + même dépendance et avec le même poids que le flux client". Si le + type de contenu de P1 est "text/css", il dépendra de Y (comme X) + et son poids effectif sera calculé selon la formule : <code>P1ew + = Xw * (P1w / 256)</code>. Si P1w est de 256, Le poids effectif + de P1 sera le même que celui de X. Si X et P1 ont des données à + envoyer, il se verront allouer la même quantité de bande + passante. + </p> + <p> + Avec un Pw de 512, un flux entrelacé et PUSHé aura un poids + double de celui de X. Avec un poids de 128, son poids ne sera + que la moitié de celui de X. Notez que les poids effectifs sont + toujours plafonnés à 256. + + </p> + <div class="example"><h3>Règle de priorité Before</h3><pre class="prettyprint lang-config">H2PushPriority application/json Before</pre> +</div> + <p> + Dans cet exemple, tout flux PUSHé dont le contenu est de type + 'application/json' sera envoyé <em>avant</em> X, ce qui rend P1 + dépendant de Y et X dépendant de P1. Ainsi, X sera mis en + attente aussi longtemps que P1 aura des données à envoyer. Le + poids effectif est hérité du flux client, et l'attribution d'un + poids spécifique n'est pas autorisée. + </p> + <p> + Vous devez garder à l'esprit que les spécifications en matière + de priorités sont limitées par les ressources disponibles du + serveur. Si un serveur ne dispose d'aucun processus/thread de + travail pour les flux PUSHés, les données du flux considéré ne + seront envoyées que lorsque les autres flux auront terminé + l'envoi des leurs. + </p> + <p> + Enfin et surtout, il convient de tenir compte de certaines + particularités de la syntaxe de cette directive : + </p> + <ol> + <li>'*' est la seule expression permettant de remplacer tout + type de contenu. 'image/*' ne fonctionnera pas.</li> + <li>La dépendance par défaut est 'After'.</li> + <li>Il existe aussi des poids par défaut : pour 'After' le poids + est de 16, alors que pour 'interleaved' il est de 256. + </li> + </ol> + <div class="example"><h3>Exemples de règles</h3><pre class="prettyprint lang-config">H2PushPriority application/json 32 # une règle de priorité 'After' +H2PushPriority image/jpeg before # poid hérité +H2PushPriority text/css interleaved # poids de 256 par défaut</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2pushresource" id="h2pushresource">Directive</a> <a name="H2PushResource" id="H2PushResource">H2PushResource</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare des ressources à proposer ("pusher") au client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushResource [add] <em>path</em> [critical]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Lorsqu'il sont activés pour un répertoire, les PUSHes HTTP/2 seront + tentés pour tous les chemins ajoutés via cette directive. Cette + dernière peut être utilisée plusieurs fois pour le même + répertoire. + </p> + <p> + Cette directive propose des ressources beaucoup plus tôt que les + en-têtes <code>Link</code> de <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>. + <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> présente ces ressources au client via + une réponse intermédiaire <code>103 Early Hints</code>. Ceci + implique que les clients qui ne supportent pas PUSH recevront + quand-même rapidement des propositions de préchargement. + </p> + <p> + A la différence de la définition d'en-têtes de réponse + <code>Link</code> via <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, cette + directive n'aura d'effet que pour les connexions HTTP/2. + </p> + <p> + En ajoutant l'option <code>critical</code> à une telle + ressource, le serveur la traitera prioritairement, et une fois + les données disponibles, ces dernières seront envoyées avant les + données de la requête principale. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2serializeheaders" id="h2serializeheaders">Directive</a> <a name="H2SerializeHeaders" id="H2SerializeHeaders">H2SerializeHeaders</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active/désactive la sérialisation du traitement des + requêtes/réponses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2SerializeHeaders on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2SerializeHeaders off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet de définir si les requêtes HTTP/2 doivent + être sérialisées au format HTTP/1.1 pour être traitées par le + noyau de <code>httpd</code>, ou si les données binaires reçues + doivent être passées directement aux <code>request_rec</code>s. + </p> + <p> + La sérialisation dégrade les performances, mais garantit une + meilleure compatibilité ascendante lorsque des filtres ou + programmes accroche personnalisés en ont besoin. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2SerializeHeaders on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2streammaxmemsize" id="h2streammaxmemsize">Directive</a> <a name="H2StreamMaxMemSize" id="H2StreamMaxMemSize">H2StreamMaxMemSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de données en sortie mises en tampon par + flux.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2StreamMaxMemSize <em>bytes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2StreamMaxMemSize 65536</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet de définir la quantité maximale de + données en sortie mises en tampon mémoire pour un flux actif. Ce + tampon mémoire n'est pas alloué pour chaque flux en tant que + tel. Les quantités de mémoire sont définies en fonction de + cette limite lorsqu'elles sont sur le point d'être allouées. Le + flux s'arrête lorsque la limite a été atteinte, et ne reprendra + que lorsque les données du tampon auront été transmises au + client. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2StreamMaxMemSize 128000</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2tlscooldownsecs" id="h2tlscooldownsecs">Directive</a> <a name="H2TLSCoolDownSecs" id="H2TLSCoolDownSecs">H2TLSCoolDownSecs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée d'inactivité d'une connexion TLS avant diminution de + la taille des paquets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2TLSCoolDownSecs <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSCoolDownSecs 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Cette directive permet de spécifier le nombre de secondes avant + lequel une connexion TLS inactive va diminuer + la taille des paquets de données à une valeur inférieure (~1300 + octets). Elle peut être définie au niveau du serveur principal + ou pour un <code class="directive"><a href="../mod/core.html#serveur virtuel"><serveur + virtuel></a></code> spécifique. + </p> + <p> + Voir la directive <code class="directive"><a href="#h2tlswarmupsize">H2TLSWarmUpSize</a></code> pour une description + du "préchauffage" de TLS. La directive <code class="directive">H2TLSCoolDownSecs</code> met en + lumière le fait que les connexions peuvent se détériorer au bout + d'un certain temps (et au fur et à mesure des corrections du + flux TCP), et cela même si elle sont inactives. Pour ne pas + détériorer les performances d'une manière générale, il est par + conséquent préférable de revenir à la phase de préchauffage + lorsqu'aucune donnée n'a été transmise pendant un certain nombre + de secondes. + </p> + <p> + Dans les situations où les connexions peuvent être considérées + comme fiables, ce délai peut être désactivé en définissant cette + directive à 0. + </p> + <p> + Dans l'exemple suivant, la directive est définie à 0, ce qui + désactive tout retour à une phase de préchauffage des connexions + TLS. Les connexions TLS déjà préchauffées conservent donc toujours + leur taille de paquet de données maximale. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2TLSCoolDownSecs 0</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2tlswarmupsize" id="h2tlswarmupsize">Directive</a> <a name="H2TLSWarmUpSize" id="H2TLSWarmUpSize">H2TLSWarmUpSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille des paquets durant la phase initiale de la connexion + TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2TLSWarmUpSize <em>amount</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSWarmUpSize 1048576</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP + Apache.</td></tr> +</table> + <p> + Cette directive permet de définir le nombre d'octets à envoyer + dans les petits enregistrements TLS (~1300 octets) avant + d'atteindre leur taille maximale de 16 ko pour les connexions + https: HTTP/2. Elle peut être définie au niveau du serveur + principal ou pour des <code class="directive"><a href="../mod/core.html#serveurs virtuels"><Serveurs virtuels></a></code> spécifiques. + </p> + <p> + Les mesures effectuées par les <a href="https://www.igvita.com">laboratoires de performances de + Google</a> montrent que les meilleurs performances sont atteintes + pour les connexions TLS si la taille initiale des + enregistrements reste en deça du niveau du MTU afin de permettre + à la totatlité d'un enregistrement d'entrer dans un paquet IP. + </p> + <p> + Comme TCP ajuste son contrôle de flux et sa taille de fenêtre, + des enregistrements TLS trop longs peuvent rester en file + d'attente ou même être perdus et devoir alors être réémis. Ceci + est bien entendu vrai pour tous les paquets ; cependant, TLS a + besoin de la totalité de l'enregistrement pour pouvoir le + déchiffrer. Tout octet manquant rendra impossible l'utilisation + de ceux qui ont été reçus. + </p> + <p> + Lorqu'un nombre suffisant d'octets a été transmis avec succès, + la connexion TCP est stable, et la taille maximale (16 ko) des + enregistrements TLS peut être utilisée pour des performances + optimales. + </p> + <p> + Dans les architectures où les serveurs sont atteints par des + machines locales ou pour les connexions de confiance seulement, + la valeur de cette directive peut être définie à 0, ce qui a + pour effet de désactiver la "phase de chauffage". + </p> + <p> + Dans l'exemple suivant, la phase de chauffage est effectivement + désactivée en définissant la directive à 0. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2TLSWarmUpSize 0</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2upgrade" id="h2upgrade">Directive</a> <a name="H2Upgrade" id="H2Upgrade">H2Upgrade</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation du protocole de mise à jour H2</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Upgrade on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Upgrade on pour h2c, off pour h2</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet d'activer/désactiver l'utilisation de la + méthode de mise à jour pour passer de HTTP/1.1 à HTTP/2. Elle + doit être placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la mise à + jour vers HTTP/2 pour le serveur virtuel considéré. + </p> + <p> + Cette méthode de changement de protocole est définie dans + HTTP/1.1 et utilise l'en-tête "Upgrade" (d'où son nom) pour + indiquer l'intention d'utiliser un autre protocole. Cet en-tête + peut être présent dans toute requête sur une connexion HTTP/1.1. + </p> + <p> + Elle activée par défaut pour les transmissions en clair + (h2c), et désactivée avec TLS (h2), comme préconisé par la RFC + 7540. + </p> + <p> + Sachez cependant que les mises à jour ne sont acceptées que pour + les requêtes qui ne possèdent pas de corps. Le requêtes de type + POST et PUT avec un contenu ne feront jamais l'objet d'une mise + à jour vers HTTP/2. Se référer à la documentation de la + directive <code class="directive"><a href="#h2direct">H2Direct</a></code> pour + envisager une alternative à Upgrade. + </p> + <p> + Cette directive n'a d'effet que si h2 ou h2c est activé via la + directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Upgrade on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="h2windowsize" id="h2windowsize">Directive</a> <a name="H2WindowSize" id="H2WindowSize">H2WindowSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des paquets de données pour les transmissions client + vers serveur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2WindowSize <em>bytes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2WindowSize 65535</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> +</table> + <p> + Cette directive permet de définir la taille maximale des paquets + de données envoyés par le client au serveur, et + limite la quantité de données que le serveur doit mettre en + tampon. Le client arrêtera d'envoyer des données sur un flux + lorsque cette limite sera atteinte jusqu'à ce que le serveur + indique qu'il dispose d'un espace suffisant (car il aura traité + une partie des données). + </p><p> + Cette limite n'affecte que les corps de requêtes, non les + métadonnées comme les en-têtes. Par contre, elle n'affecte pas + les corps de réponses car la taille maximale de ces derniers est + gérée au niveau des clients. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2WindowSize 128000</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_http2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_http2.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html b/docs/manual/mod/mod_ident.html new file mode 100644 index 0000000..f1bee31 --- /dev/null +++ b/docs/manual/mod/mod_ident.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ident.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ident.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_ident.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_ident.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_ident.html.en b/docs/manual/mod/mod_ident.html.en new file mode 100644 index 0000000..a21567a --- /dev/null +++ b/docs/manual/mod/mod_ident.html.en @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ident - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_ident</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ident.html" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>RFC 1413 ident lookups</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>ident_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_ident.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module queries an <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> compatible daemon on a remote host to look up the owner of + a connection.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#identitycheck">IdentityCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#identitychecktimeout">IdentityCheckTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ident">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ident">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IdentityCheck" id="IdentityCheck">IdentityCheck</a> <a name="identitycheck" id="identitycheck">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables logging of the RFC 1413 identity of the remote +user</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IdentityCheck On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>IdentityCheck Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ident</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Moved out of core in Apache 2.1</td></tr> +</table> + <p>This directive enables <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a>-compliant logging of the remote user name for each + connection, where the client machine runs identd or something similar. + This information is logged in the access log using the <code>%...l</code> + <a href="mod_log_config.html#formats">format string</a>.</p> + + <div class="note"> + The information should not be trusted in any way except for + rudimentary usage tracking. + </div> + + <p>Note that this can cause serious latency problems accessing + your server since every request requires one of these lookups + to be performed. When firewalls or proxy servers are involved, + each lookup might possibly fail and add a latency duration as + defined by the <code class="directive"><a href="#identitychecktimeout">IdentityCheckTimeout</a></code> directive to each hit. So in + general this is not very useful on public servers accessible from + the Internet.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IdentityCheckTimeout" id="IdentityCheckTimeout">IdentityCheckTimeout</a> <a name="identitychecktimeout" id="identitychecktimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines the timeout duration for ident requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IdentityCheckTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>IdentityCheckTimeout 30</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ident</td></tr> +</table> + <p>This directive specifies the timeout duration of an ident + request. The default value of 30 seconds is recommended by <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a>, mainly because + of possible network latency. However, you may want to adjust the + timeout value according to your local network speed.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ident.html" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ident.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html.fr.utf8 b/docs/manual/mod/mod_ident.html.fr.utf8 new file mode 100644 index 0000000..3cd139d --- /dev/null +++ b/docs/manual/mod/mod_ident.html.fr.utf8 @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ident - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_ident</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Recherche d'identité conformément à la RFC +1413</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ident_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ident.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module interroge un démon compatible <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> sur un + serveur distant afin de déterminer le propriétaire d'une + connexion.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#identitycheck">IdentityCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#identitychecktimeout">IdentityCheckTimeout</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ident">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ident">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="identitycheck" id="identitycheck">Directive</a> <a name="IdentityCheck" id="IdentityCheck">IdentityCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la journalisation de l'identité RFC 1413 de +l'utilisateur distant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IdentityCheck On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdentityCheck Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ident</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Retiré du serveur de base depuis Apache +2.1</td></tr> +</table> + <p>Cette directive permet d'activer la journalisation compatible <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> du nom de + l'utilisateur distant pour chaque connexion, si la machine du client + exécute identd ou un démon similaire. Cette information est + enregistrée dans le journal des accès en utilisant la <a href="mod_log_config.html#formats">chaîne de formatage</a> + <code>%...l</code>.</p> + + <div class="note"> + Cette information ne doit pas faire l'objet d'une confiance + absolue, et elle ne doit être utilisée que dans le cadre d'un + traçage grossier. + </div> + + <p>Notez que de sérieux problèmes de délais peuvent survenir lors + des accès à votre serveur, car chaque requête nécessite l'exécution + d'un de ces processus de recherche. Lorsque des pare-feu ou des + serveurs mandataires sont impliqués, chaque recherche est + susceptible d'échouer et ajouter un temps de latence conformément + à la directive <code class="directive"><a href="#identitychecktimeout">IdentityCheckTimeout</a></code>. En général, ces + recherches ne se révèlent donc pas très utiles sur des serveurs + publics accessibles depuis l'Internet.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="identitychecktimeout" id="identitychecktimeout">Directive</a> <a name="IdentityCheckTimeout" id="IdentityCheckTimeout">IdentityCheckTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le délai d'attente pour les requêtes +ident</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IdentityCheckTimeout <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdentityCheckTimeout 30</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ident</td></tr> +</table> + <p>Cette directive permet de spécifier le délai d'attente d'une + requête ident. Une valeur par défaut de 30 secondes est recommandée + par la <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a>, + principalement pour prévenir les problèmes qui pourraient être + induits par la charge du réseau. Vous pouvez cependant ajuster la + valeur de ce délai en fonction du débit de votre réseau local.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ident.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html.ja.utf8 b/docs/manual/mod/mod_ident.html.ja.utf8 new file mode 100644 index 0000000..65914f1 --- /dev/null +++ b/docs/manual/mod/mod_ident.html.ja.utf8 @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ident - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_ident</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>RFC 1413 ident lookups</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>ident_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_ident.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 で使用可能</td></tr></table> +<h3>概要</h3> + + <p>このモジュールはリモートホストの <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> 互換デーモン + にコネクションの所有者を訊きます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#identitycheck">IdentityCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#identitychecktimeout">IdentityCheckTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ident">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ident">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IdentityCheck" id="IdentityCheck">IdentityCheck</a> <a name="identitycheck" id="identitycheck">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リモートユーザの RFC 1413 によるアイデンティティのロギングを +有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IdentityCheck On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>IdentityCheck Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_ident</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.1 で core から移動</td></tr> +</table> + <p>このディレクティブは、クライアントマシン上で + identd やそれに類似したデーモンが動作しているときに、 + それぞれの接続に対して <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> に準処したリモートユーザの + 名前のロギングを行なうようにします。 + この情報は、<code>%...l</code> <a href="mod_log_config.html#formats">フォーマット文字列</a>を使ってアクセスログに収集されます。</p> + + <div class="note"> + ここで得られた情報は簡単なユーザ追跡に使う以外は、 + まったく信頼するべきではありません。</div> + + <p>すべてのリクエストに対してルックアップが行なわれますので、 + 深刻な遅延の問題を起こすかもしれないことに注意してください。 + (訳注: 例えばクライアント側に) ファイアウォールやプロキシサーバがあると、 + ルックアップが失敗し、各リクエストに <code class="directive"><a href="#identitychecktimeout">IdentityCheckTimeout</a></code>で定義されている遅延が加わることに + なる可能性があります。 + 従って、一般的にはインターネットからアクセス可能なパブリックなサーバで + 有益なものではありません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IdentityCheckTimeout" id="IdentityCheckTimeout">IdentityCheckTimeout</a> <a name="identitychecktimeout" id="identitychecktimeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Ident リクエストがタイムアウトするまでの期間を決める</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IdentityCheckTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>IdentityCheckTimeout 30</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_ident</td></tr> +</table> + <p>このディレクティブは ident リクエストのタイムアウト時間を決めます。 + デフォルトの値である 30 秒は、主にネットワーク遅延の考慮のために <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> により + 推奨されています。しかし、おそらくローカルネットワークの速度に + 合わせてタイムアウト値を調節するのがよいでしょう。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ident.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ident.html.ko.euc-kr b/docs/manual/mod/mod_ident.html.ko.euc-kr new file mode 100644 index 0000000..5f9921e --- /dev/null +++ b/docs/manual/mod/mod_ident.html.ko.euc-kr @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ident - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_ident</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>RFC 1413 ident ˻</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>ident_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_ident.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> ڸ ã ȣƮ ִ + <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> + ȣȯ ˻Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#identitycheck">IdentityCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#identitychecktimeout">IdentityCheckTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ident">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ident">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IdentityCheck" id="IdentityCheck">IdentityCheck</a> <a name="identitycheck" id="identitycheck">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> RFC 1413 ſ α Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>IdentityCheck On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>IdentityCheck Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_ident</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>ġ 2.1 core Դ</td></tr> +</table> + <p> þ <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC + 1413</a> ̿Ͽ Ŭ̾Ʈ ӽ identd Ѵٸ + ῡ ڸ α Ѵ. <a href="mod_log_config.html#formats">Ĺڿ</a> + <code>%...l</code> Ͽ α Ѵ.</p> + + <div class="note"> + ⺻ 뵵 ŷ . + </div> + + <p>û ˻ ؾ ϱ Ǵ + ϶. ߰ ȭ̳ Ͻü + ִٸ, Ƹ ˻ ̰ û <code class="directive"><a href="#identitychecktimeout">IdentityCheckTimeout</a></code> þ + Ѹŭ Ѵ. ͳ + ʴ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IdentityCheckTimeout" id="IdentityCheckTimeout">IdentityCheckTimeout</a> <a name="identitychecktimeout" id="identitychecktimeout">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ident û ð Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>IdentityCheckTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>IdentityCheckTimeout 30</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_ident</td></tr> +</table> + <p> þ ident û ð Ѵ. ⺻ + Ʈ Ͽ <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> + ϴ 30 ̴. Ʈ ӵ Ȳ ðѰ + ִ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ident.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_ident.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ident.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.html b/docs/manual/mod/mod_imagemap.html new file mode 100644 index 0000000..71855dc --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_imagemap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_imagemap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_imagemap.html.en new file mode 100644 index 0000000..618f9f5 --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.en @@ -0,0 +1,416 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_imagemap - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_imagemap</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_imagemap.html" title="English"> en </a> | +<a href="../fr/mod/mod_imagemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Server-side imagemap processing</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>imagemap_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_imagemap.c</td></tr></table> +<h3>Summary</h3> + + <p>This module processes <code>.map</code> files, thereby + replacing the functionality of the <code>imagemap</code> CGI + program. Any directory or document type configured to use the + handler <code>imap-file</code> (using either + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> or + <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>) + will be processed by this module.</p> + + <p>The following directive will activate files ending with + <code>.map</code> as imagemap files:</p> + + <pre class="prettyprint lang-config">AddHandler imap-file map</pre> + + + <p>Note that the following is still supported:</p> + + <pre class="prettyprint lang-config">AddType application/x-httpd-imap map</pre> + + + <p>However, we are trying to phase out "magic MIME types" so we + are deprecating this method.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#features">New Features</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapfile">Imagemap File</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Example Mapfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#referencing">Referencing your mapfile</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#imapbase">ImapBase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapdefault">ImapDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapmenu">ImapMenu</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_imagemap">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_imagemap">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="features" id="features">New Features</a></h2> + + <p>The imagemap module adds some new features that were not + possible with previously distributed imagemap programs.</p> + + <ul> + <li>URL references relative to the Referer: information.</li> + + <li>Default <code><base></code> assignment through a new map + directive <code>base</code>.</li> + + <li>No need for <code>imagemap.conf</code> file.</li> + + <li>Point references.</li> + + <li>Configurable generation of imagemap menus.</li> + </ul> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="imapfile" id="imapfile">Imagemap File</a></h2> + + <p>The lines in the imagemap files can have one of several + formats:</p> + + <div class="example"><p><code> + directive value [<var>x</var>,<var>y</var> ...]<br /> + directive value "<var>Menu text</var>" [<var>x</var>,<var>y</var> + ...]<br /> + directive value <var>x</var>,<var>y</var> ... "<var>Menu text</var>" + </code></p></div> + + <p>The directive is one of <code>base</code>, + <code>default</code>, <code>poly</code>, <code>circle</code>, + <code>rect</code>, or <code>point</code>. The value is an + absolute or relative URL, or one of the special values listed + below. The coordinates are <code><var>x</var>,<var>y</var></code> + pairs separated by whitespace. The quoted text is used as the text of + the link if a imagemap menu is generated. Lines beginning with '#' are + comments.</p> + + <h3><a name="imapfile.directives" id="imapfile.directives">Imagemap File Directives</a></h3> + <p>There are six directives allowed in the imagemap file. The + directives can come in any order, but are processed in the + order they are found in the imagemap file.</p> + + <dl> + <dt><code>base</code> Directive</dt> + + <dd><p>Has the effect of <code><base href="<var>value</var>"> + </code>. The non-absolute URLs of the map-file are taken relative + to this value. The <code>base</code> directive overrides + <code class="directive"><a href="#imapbase">ImapBase</a></code> as set in a + <code>.htaccess</code> file or in the server configuration files. + In the absence of an <code class="directive">ImapBase</code> configuration + directive, <code>base</code> defaults to + <code>http://server_name/</code>.</p> + <p><code>base_uri</code> is synonymous with <code>base</code>. + Note that a trailing slash on the URL is significant.</p></dd> + + <dt><code>default</code> Directive</dt> + + <dd>The action taken if the coordinates given do not fit any + of the <code>poly</code>, <code>circle</code> or + <code>rect</code> directives, and there are no + <code>point</code> directives. Defaults to <code>nocontent</code> + in the absence of an <code class="directive"><a href="#imapdefault">ImapDefault</a></code> configuration setting, causing a status + code of <code>204 No Content</code> to be returned. The client + should keep the same page displayed.</dd> + + <dt><code>poly</code> Directive</dt> + + <dd>Takes three to one-hundred points, and is obeyed if the + user selected coordinates fall within the polygon defined by + these points.</dd> + + <dt><code>circle</code></dt> + + <dd>Takes the center coordinates of a circle and a point on + the circle. Is obeyed if the user selected point is with the + circle.</dd> + + <dt><code>rect</code> Directive</dt> + + <dd>Takes the coordinates of two opposing corners of a + rectangle. Obeyed if the point selected is within this + rectangle.</dd> + + <dt><code>point</code> Directive</dt> + + <dd>Takes a single point. The point directive closest to the + user selected point is obeyed if no other directives are + satisfied. Note that <code>default</code> will not be + followed if a <code>point</code> directive is present and + valid coordinates are given.</dd> + </dl> + + + <h3><a name="imapfile.values" id="imapfile.values">Values</a></h3> + + <p>The values for each of the directives can be any of the + following:</p> + + <dl> + <dt>a URL</dt> + + <dd><p>The URL can be relative or absolute URL. Relative URLs + can contain '..' syntax and will be resolved relative to the + <code>base</code> value.</p> + <p><code>base</code> itself will not be resolved according to the + current value. A statement <code>base mailto:</code> will + work properly, though.</p></dd> + + <dt><code>map</code></dt> + + <dd>Equivalent to the URL of the imagemap file itself. No + coordinates are sent with this, so a menu will be generated + unless <code class="directive"><a href="#imapmenu">ImapMenu</a></code> is set to + <code>none</code>.</dd> + + <dt><code>menu</code></dt> + <dd>Synonymous with <code>map</code>.</dd> + + <dt><code>referer</code></dt> + + <dd>Equivalent to the URL of the referring document. Defaults + to <code>http://servername/</code> if no <code>Referer:</code> + header was present.</dd> + + <dt><code>nocontent</code></dt> + + <dd>Sends a status code of <code>204 No Content</code>, + telling the client to keep the same page displayed. Valid for + all but <code>base</code>.</dd> + + <dt><code>error</code></dt> + + <dd>Fails with a <code>500 Server Error</code>. Valid for all + but <code>base</code>, but sort of silly for anything but + <code>default</code>.</dd> + </dl> + + + <h3><a name="imapfile.coords" id="imapfile.coords">Coordinates</a></h3> + + <dl> + <dt><code>0,0 200,200</code></dt> + + <dd>A coordinate consists of an <var>x</var> and a <var>y</var> + value separated by a comma. The coordinates are separated + from each other by whitespace. To accommodate the way Lynx + handles imagemaps, should a user select the coordinate + <code>0,0</code>, it is as if no coordinate had been + selected.</dd> + </dl> + + + + <h3><a name="imapfile.quotedtext" id="imapfile.quotedtext">Quoted Text</a></h3> + + <dl> + <dt><code>"<var>Menu Text</var>"</code></dt> + + <dd><p>After the value or after the coordinates, the line + optionally may contain text within double quotes. This string + is used as the text for the link if a menu is + generated:</p> + + <div class="example"><p><code> + <a href="http://example.com/"><var>Menu text</var></a> + </code></p></div> + + <p>If no quoted text is present, the name of the link will be + used as the text:</p> + + <div class="example"><p><code> + <a href="http://example.com/">http://example.com</a> + </code></p></div> + + <p>If you want to use double quotes within this text, you have to + write them as <code>&quot;</code>.</p></dd> + </dl> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Example Mapfile</a></h2> + + <div class="example"><p><code> + #Comments are printed in a 'formatted' or 'semiformatted' menu.<br /> + #And can contain html tags. <hr><br /> + base referer<br /> + poly map "Could I have a menu, please?" 0,0 0,10 10,10 10,0<br /> + rect .. 0,0 77,27 "the directory of the referer"<br /> + circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27<br /> + rect another_file "in same directory as referer" 306,0 419,27<br /> + point http://www.zyzzyva.example.com/ 100,100<br /> + point http://www.tripod.example.com/ 200,200<br /> + rect mailto:nate@tripod.example.com 100,150 200,0 "Bugs?"<br /> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="referencing" id="referencing">Referencing your mapfile</a></h2> + + <div class="example"><h3>HTML example</h3><p><code> + <a href="/maps/imagemap1.map"><br /> + <span class="indent"> + <img ismap src="/images/imagemap1.gif"><br /> + </span> + </a> + </code></p></div> + + <div class="example"><h3>XHTML example</h3><p><code> + <a href="/maps/imagemap1.map"><br /> + <span class="indent"> + <img ismap="ismap" src="/images/imagemap1.gif" /><br /> + </span> + </a> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ImapBase" id="ImapBase">ImapBase</a> <a name="imapbase" id="imapbase">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default <code>base</code> for imagemap files</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ImapBase map|referer|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ImapBase http://servername/</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr> +</table> + <p>The <code class="directive">ImapBase</code> directive sets the default + <code>base</code> used in the imagemap files. Its value is + overridden by a <code>base</code> directive within the imagemap + file. If not present, the <code>base</code> defaults to + <code>http://<var>servername</var>/</code>.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ImapDefault" id="ImapDefault">ImapDefault</a> <a name="imapdefault" id="imapdefault">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ImapDefault error|nocontent|map|referer|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ImapDefault nocontent</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr> +</table> + <p>The <code class="directive">ImapDefault</code> directive sets the default + <code>default</code> used in the imagemap files. Its value is + overridden by a <code>default</code> directive within the + imagemap file. If not present, the <code>default</code> action + is <code>nocontent</code>, which means that a <code>204 No + Content</code> is sent to the client. In this case, the client + should continue to display the original page.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ImapMenu" id="ImapMenu">ImapMenu</a> <a name="imapmenu" id="imapmenu">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action if no coordinates are given when calling +an imagemap</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ImapMenu none|formatted|semiformatted|unformatted</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ImapMenu formatted</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr> +</table> + <p>The <code class="directive">ImapMenu</code> directive determines the + action taken if an imagemap file is called without valid + coordinates.</p> + + <dl> + <dt><code>none</code></dt> + <dd>If ImapMenu is <code>none</code>, no menu is generated, + and the <code>default</code> action is performed.</dd> + + <dt><code>formatted</code></dt> + <dd>A <code>formatted</code> menu is the simplest menu. + Comments in the imagemap file are ignored. A level one header + is printed, then an hrule, then the links each on a separate + line. The menu has a consistent, plain look close to that of + a directory listing.</dd> + + <dt><code>semiformatted</code></dt> + <dd>In the <code>semiformatted</code> menu, comments are + printed where they occur in the imagemap file. Blank lines + are turned into HTML breaks. No header or hrule is printed, + but otherwise the menu is the same as a + <code>formatted</code> menu.</dd> + + <dt><code>unformatted</code></dt> + <dd>Comments are printed, blank lines are ignored. Nothing is + printed that does not appear in the imagemap file. All breaks + and headers must be included as comments in the imagemap + file. This gives you the most flexibility over the appearance + of your menus, but requires you to treat your map files as + HTML instead of plaintext.</dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_imagemap.html" title="English"> en </a> | +<a href="../fr/mod/mod_imagemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_imagemap.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.html.fr.utf8 b/docs/manual/mod/mod_imagemap.html.fr.utf8 new file mode 100644 index 0000000..13be4ff --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.fr.utf8 @@ -0,0 +1,440 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_imagemap - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_imagemap</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>imagemap_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_imagemap.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module traite les fichiers <code>.map</code>, et remplace + ainsi la fonctionnalité du programme CGI <code>imagemap</code>. Tout + répertoire ou type de document configuré pour utiliser le + gestionnaire <code>imap-file</code> (à l'aide des directives + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>), sera traité par ce + module.</p> + + <p>La directive suivante confère aux fichiers possèdant l'extension + <code>.map</code> le statut de fichiers imagemap :</p> + + <pre class="prettyprint lang-config">AddHandler imap-file map</pre> + + + <p>Notez que la syntaxe suivante reste encore supportée :</p> + + <pre class="prettyprint lang-config">AddType application/x-httpd-imap map</pre> + + + <p>Cependant, nous essayons d'abandonner progressivement les "types + MIME magiques", et cette syntaxe est sur le point de devenir + obsolète.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#features">Nouvelles fonctionnalités</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapfile">Fichier imagemap</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de fichier imagemap</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#referencing">Référencement de votre fichier +imagemap</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#imapbase">ImapBase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapdefault">ImapDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapmenu">ImapMenu</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_imagemap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_imagemap">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="features" id="features">Nouvelles fonctionnalités</a></h2> + + <p>Le module imagemap propose quelques nouvelles fonctionnalités qui + n'étaient pas disponibles avec les programmes imagemap précédemment + distribués.</p> + + <ul> + <li>Références d'URLs relatives à l'information contenue dans + l'en-tête Referer: .</li> + + <li>Assignement <code><base></code> par défaut via la + nouvelle directive <code>base</code>.</li> + + <li>Fichier <code>imagemap.conf</code> non requis.</li> + + <li>Références à des points.</li> + + <li>Génération configurable de menus d'images interactives.</li> + </ul> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="imapfile" id="imapfile">Fichier imagemap</a></h2> + + <p>Les lignes d'un fichier imagemap peuvent se présenter sous + plusieurs formats :</p> + + <div class="example"><p><code> + directive valeur [<var>x</var>,<var>y</var> ...]<br /> + directive valeur "<var>Texte de menu</var>" [<var>x</var>,<var>y</var> + ...]<br /> + directive valeur <var>x</var>,<var>y</var> ... "<var>Texte de menu</var>" + </code></p></div> + + <p>Les directives sont <code>base</code>, <code>default</code>, + <code>poly</code>, <code>circle</code>, <code>rect</code>, ou + <code>point</code>. valeur est une URL absolue ou relative, ou une + des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des + paires <code><var>x</var>,<var>y</var></code> 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.</p> + + <h3><a name="imapfile.directives" id="imapfile.directives">Directives d'un fichier + imagemap</a></h3> + <p>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.</p> + + <dl> + <dt>Directive <code>base</code></dt> + + <dd><p>Elle a le même effet que <code><base + href="<var>valeur</var>"></code>. Les URLs non absolues du + fichier imagemap sont considérées comme relatives à cette valeur. + La directive <code>base</code> l'emporte sur une directive + <code class="directive"><a href="#imapbase">ImapBase</a></code> définie dans + un fichier <code>.htaccess</code> ou dans le fichier de + configuration du serveur. En l'absence de directive de + configuration <code class="directive">ImapBase</code>, la valeur par + défaut de <code>base</code> est + <code>http://nom_serveur/</code>.</p> + <p><code>base_uri</code> est un synonyme de <code>base</code>. + Notez que la présence ou l'absence d'un slash de fin dans l'URL + est importante.</p></dd> + + <dt>Directive <code>default</code></dt> + + <dd>La décision à prendre si les coordonnées fournies ne + correspondent à aucune des directives <code>poly</code>, + <code>circle</code>, ou <code>rect</code>, et si aucune directive + <code>point</code> n'est présente. En l'absence de définition + d'une directive de configuration <code class="directive"><a href="#imapdefault">ImapDefault</a></code>, la valeur par défaut est + <code>nocontent</code> et provoque l'envoi d'un code de statut + <code>204 No Content</code>. Le client verra toujours la même + page s'afficher.</dd> + + <dt>Directive <code>poly</code></dt> + + <dd>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.</dd> + + <dt>Directive <code>circle</code></dt> + + <dd>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.</dd> + + <dt>Directive <code>rect</code></dt> + + <dd>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.</dd> + + <dt>Directive <code>point</code></dt> + + <dd>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 + <code>default</code> ne sera pas suivie si une directive + <code>point</code> est présente et si des coordonnées valides sont + fournies.</dd> + </dl> + + + <h3><a name="imapfile.values" id="imapfile.values">Valeurs</a></h3> + + <p>Les valeurs passées aux directives peuvent contenir :</p> + + <dl> + <dt>une URL</dt> + + <dd><p>L'URL peut être absolue ou relative. Les URLs relatives + peuvent contenir '..' et seront considérées comme relatives à la + valeur de <code>base</code>.</p> + <p><code>base</code> en lui-même, ne sera pas résolu en fonction + de la valeur courante. Cependant, une directive <code>base + mailto:</code> fonctionnera correctement.</p></dd> + + <dt><code>map</code></dt> + + <dd>É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 <code class="directive"><a href="#imapmenu">ImapMenu</a></code> n'ait été définie à + <code>none</code>.</dd> + + <dt><code>menu</code></dt> + <dd>Équivalent à <code>map</code>.</dd> + + <dt><code>referer</code></dt> + + <dd>Équivalent à l'URL du document référant. La valeur par défaut + est <code>http://nom_serveur/</code> si aucun en-tête + <code>Referer:</code> n'est présent.</dd> + + <dt><code>nocontent</code></dt> + + <dd>Envoie un code de statut <code>204 No Content</code>, + indiquant au client qu'il doit continuer à afficher la même page. + Valide pour toutes les directives, sauf <code>base</code>.</dd> + + <dt><code>error</code></dt> + + <dd>Envoie un code de statut d'échec <code>500 Server + Error</code>. Valide pour toutes les directives, sauf + <code>base</code>, mais n'a de sens qu'avec la directive + <code>default</code>.</dd> + </dl> + + + <h3><a name="imapfile.coords" id="imapfile.coords">Coordonnées</a></h3> + + <dl> + <dt><code>0,0 200,200</code></dt> + + <dd>Une coordonnée se compose de deux valeurs, <var>x</var> et + <var>y</var>, 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 <code>0,0</code> a le même effet que + si aucune coordonnée n'a été sélectionnée.</dd> + </dl> + + + + <h3><a name="imapfile.quotedtext" id="imapfile.quotedtext">Texte entre + guillemets</a></h3> + + <dl> + <dt><code>"<var>Texte du menu</var>"</code></dt> + + <dd><p>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é :</p> + + <div class="example"><p><code> + <a href="http://example.com/"><var>Texte de + menu</var></a> + </code></p></div> + + <p>Si aucun texte entre guillemets n'est présent, le texte sera + constitué du nom du lien :</p> + + <div class="example"><p><code> + <a href="http://example.com/">http://example.com</a> + </code></p></div> + + <p>Si vous voulez insérer des guillemets dans le texte, vous devez + les inscrire sous la forme <code>&quot;</code>.</p></dd> + </dl> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Exemple de fichier imagemap</a></h2> + + <div class="example"><p><code> + #Les commentaires sont affichés dans un menu 'formaté' ou + #'semi-formaté'.<br /> + #Et peuvent contenir des balises html. <hr><br /> + base referer<br /> + poly map "Puis-je avoir un menu, s'il vous plait ?" 0,0 0,10 10,10 10,0<br /> + rect .. 0,0 77,27 "le répertoire du référant"<br /> + circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27<br /> + rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27<br /> + point http://www.zyzzyva.example.com/ 100,100<br /> + point http://www.tripod.example.com/ 200,200<br /> + rect mailto:nate@tripod.example.com 100,150 200,0 "Bogues?"<br /> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="referencing" id="referencing">Référencement de votre fichier +imagemap</a></h2> + + <div class="example"><h3>Exemple HTML</h3><p><code> + <a href="/maps/imagemap1.map"><br /> + <span class="indent"> + <img ismap src="/images/imagemap1.gif"><br /> + </span> + </a> + </code></p></div> + + <div class="example"><h3>Exemple XHTML</h3><p><code> + <a href="/maps/imagemap1.map"><br /> + <span class="indent"> + <img ismap="ismap" src="/images/imagemap1.gif" /><br /> + </span> + </a> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="imapbase" id="imapbase">Directive</a> <a name="ImapBase" id="ImapBase">ImapBase</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Valeur par défaut de la directive <code>base</code> des +fichiers imagemap</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapBase map|referer|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapBase http://nom_serveur/</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr> +</table> + <p>La directive <code class="directive">ImapBase</code> permet de définir la + valeur par défaut de la directive <code>base</code> des fichiers + imagemap. Sa valeur est écrasée par la présence éventuelle d'une + directive <code>base</code> dans le fichier imagemap. Si cette + directive est absente, la valeur par défaut de la directive + <code>base</code> est + <code>http://<var>nom_serveur</var>/</code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="imapdefault" id="imapdefault">Directive</a> <a name="ImapDefault" id="ImapDefault">ImapDefault</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapDefault error|nocontent|map|referer|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapDefault nocontent</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr> +</table> + <p>La directive <code class="directive">ImapDefault</code> permet de définir + la valeur par défaut de la directive <code>default</code> utilisée + dans les fichiers imagemap. Sa valeur est écrasée par la présence + éventuelle d'une directive <code>default</code> dans le fichier + imagemap. Si cette directive est absente, l'action associée à + <code>default</code> est <code>nocontent</code>, ce qui implique + l'envoi d'un code de statut <code>204 No Content</code> au client. + Dans ce cas, le client doit continuer à afficher la même page.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="imapmenu" id="imapmenu">Directive</a> <a name="ImapMenu" id="ImapMenu">ImapMenu</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapMenu none|formatted|semiformatted|unformatted</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapMenu formatted</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr> +</table> + <p>La directive <code class="directive">ImapMenu</code> permet de spécifier + l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans + coordonnées valides.</p> + + <dl> + <dt><code>none</code></dt> + <dd>Si l'argument d'ImapMenu est <code>none</code>, aucun menu + n'est généré, et l'action <code>default</code> est effectuée.</dd> + + <dt><code>formatted</code></dt> + <dd>Le menu <code>formatted</code> 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.</dd> + + <dt><code>semiformatted</code></dt> + <dd>Dans le menu <code>semiformatted</code>, 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 <code>semiformatted</code> est identique + au menu <code>formatted</code>.</dd> + + <dt><code>unformatted</code></dt> + <dd>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.</dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_imagemap.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.html.ko.euc-kr b/docs/manual/mod/mod_imagemap.html.ko.euc-kr new file mode 100644 index 0000000..482c3e9 --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.ko.euc-kr @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_imagemap - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_imagemap</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_imagemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_imagemap.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ̹(imagemap) ó</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>imagemap_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_imagemap.c</td></tr></table> +<h3></h3> + + <p> <code>imagemap</code> CGI α Ͽ + <code>.map</code> óѴ. (<code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> Ͽ) + <code>imap-file</code> ڵ鷯 ϵ 丮 + óѴ.</p> + + <p>Ʒ þ <code>.map</code> ̹ + Ϸ Ѵ.</p> + + <div class="example"><p><code>AddHandler imap-file map</code></p></div> + + <p> Ʒ Ѵ.</p> + + <div class="example"><p><code>AddType application/x-httpd-imap map</code></p></div> + + <p> 츮 " Ư ǹ̰ ִ MIME + type" Ϸ ϱ ̴.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#features">ο </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapfile">̹ </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example"> </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#referencing"> ϱ</a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#imapbase">ImapBase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapdefault">ImapDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#imapmenu">ImapMenu</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_imagemap">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_imagemap">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="features" id="features">ο </a></h2> + + <p>̹ ̹ α + ο ִ.</p> + + <ul> + <li>Referer: URL .</li> + + <li>ο <code>base</code> þ Ͽ ⺻ + <code><base></code> .</li> + + <li><code>imagemap.conf</code> ʿ.</li> + + <li>(point) .</li> + + <li>̹ .</li> + </ul> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="imapfile" id="imapfile">̹ </a></h2> + + <p>̹ Ʒ ۼѴ.</p> + + <div class="example"><p><code> + directive value [<var>x</var>,<var>y</var> ...]<br /> + directive value "<var>Menu text</var>" [<var>x</var>,<var>y</var> + ...]<br /> + directive value <var>x</var>,<var>y</var> ... "<var>Menu text</var>" + </code></p></div> + + <p>directive <code>base</code>, <code>default</code>, + <code>poly</code>, <code>circle</code>, <code>rect</code>, + <code>point</code> ϳ. value URL̳ + URL Ȥ Ʒ Ư Ѵ. ǥ + <code><var>x</var>,<var>y</var></code> ̴. ǥ + ̹ 鶧 ũ Ѵ. + '#' ϴ ̴ּ.</p> + + <h3><a name="imapfile.directives" id="imapfile.directives">̹ þ</a></h3> + <p>̹ Ͽ 6 þ ִ. þ + Ư , ̹ Ͽ + óѴ.</p> + + <dl> + <dt><code>base</code> þ</dt> + + <dd><p><code><base href="<var>value</var>"></code> + Ѵ. Ͽ URL URL ƴ϶ + URL Ѵ. <code>base</code> þ + <code>.htaccess</code> ̳ Ͽ + <code class="directive"><a href="#imapbase">ImapBase</a></code> + Ѵ. <code class="directive">ImapBase</code> þ + ٸ ⺻ <code>base</code> + <code>http://server_name/</code>̴.</p> + <p><code>base_uri</code> <code>base</code> . URL + .</p></dd> + + <dt><code>default</code> þ</dt> + + <dd>ش ǥ <code>poly</code>, <code>circle</code>, + <code>rect</code> þ ش ʰ <code>point</code> + þ ൿ Ѵ. <code class="directive"><a href="#imapdefault">ImapDefault</a></code> ٸ + ⺻ <code>204 No Content</code> ڵ带 ȯϴ + <code>nocontent</code>̴. Ŭ̾Ʈ + Ѵ.</dd> + + <dt><code>poly</code> þ</dt> + + <dd> 鰳 ִ. ڰ + ̷ ٰ ǥ 쿡 Ѵ.</dd> + + <dt><code>circle</code></dt> + + <dd> ߽ɰ ǥ ´. ڰ + ǥ 쿡 Ѵ.</dd> + + <dt><code>rect</code> þ</dt> + + <dd>簢 ǥ ´. 簢 + ǥ 쿡 Ѵ.</dd> + + <dt><code>point</code> þ</dt> + + <dd> ǥ ´. ٸ þ + ڰ ǥ point þ + Ѵ. <code>point</code> þ ϰ ȿ + ǥ <code>default</code> + ʴ´.</dd> + </dl> + + + <h3><a name="imapfile.values" id="imapfile.values">þ ִ </a></h3> + + <p>þ Ʒ value ִ.</p> + + <dl> + <dt>URL</dt> + + <dd><p> URL̳ URL ִ. URL + '..' , <code>base</code> + ã´.</p> + <p><code>base</code> Ҷ base Ѵ. + , <code>base mailto:</code> ִ.</p></dd> + + <dt><code>map</code></dt> + + <dd>̹ ü URL . ǥ <code class="directive"><a href="#imapmenu">ImapMenu</a></code> <code>none</code> + ƴ϶ .</dd> + + <dt><code>menu</code></dt> + <dd><code>map</code> .</dd> + + <dt><code>referer</code></dt> + + <dd>(ũ ) URL . + <code>Referer:</code> ٸ ⺻ + <code>http://servername/</code>̴.</dd> + + <dt><code>nocontent</code></dt> + + <dd>Ŭ̾Ʈ ״ ֶ + <code>204 No Content</code> ڵ带 . + <code>base</code> þ ִ.</dd> + + <dt><code>error</code></dt> + + <dd>и Ÿ <code>500 Server Error</code> . + <code>base</code> þ , + <code>default</code> ܿ .</dd> + </dl> + + + <h3><a name="imapfile.coords" id="imapfile.coords">ǥ</a></h3> + + <dl> + <dt><code>0,0 200,200</code></dt> + + <dd>ǥ ǥ <var>x</var> <var>y</var> ̴. + ǥ Ѵ. ̹ ٷ Ļ + Lynx Ǹ ڰ <code>0,0</code> ǥ Ͽٸ + ǥ ó Ѵ.</dd> + </dl> + + + + <h3><a name="imapfile.quotedtext" id="imapfile.quotedtext">ǥ </a></h3> + + <dl> + <dt><code>"<var>Menu Text</var>"</code></dt> + + <dd><p>value ڳ ǥ ڿ ֵǥ + ִ. ڿ 鶧 ũ Ѵ.</p> + + <div class="example"><p><code> + <a href="http://foo.com/"><var>Menu text</var></a> + </code></p></div> + + <p>ǥ ٸ ũ ũ + Ѵ.</p> + + <div class="example"><p><code> + <a href="http://foo.com/">http://foo.com</a> + </code></p></div> + + <p> ֵǥ <code>&quot;</code> + Ѵ.</p></dd> + </dl> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example"> </a></h2> + + <div class="example"><p><code> + #'formatted' 'semiformatted' ּ Ѵ.<br /> + # ּ html ± ִ. <hr><br /> + base referer<br /> + poly map " ּ." 0,0 0,10 10,10 10,0<br /> + rect .. 0,0 77,27 " ִ 丮"<br /> + circle http://www.inetnebr.com/lincoln/feedback/ 195,0 305,27<br /> + rect another_file " 丮 ִ" 306,0 419,27<br /> + point http://www.zyzzyva.com/ 100,100<br /> + point http://www.tripod.com/ 200,200<br /> + rect mailto:nate@tripod.com 100,150 200,0 "?"<br /> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="referencing" id="referencing"> ϱ</a></h2> + + <div class="example"><h3>HTML </h3><p><code> + <a href="/maps/imagemap1.map"><br /> + <span class="indent"> + <img ismap src="/images/imagemap1.gif"><br /> + </span> + </a> + </code></p></div> + + <div class="example"><h3>XHTML </h3><p><code> + <a href="/maps/imagemap1.map"><br /> + <span class="indent"> + <img ismap="ismap" src="/images/imagemap1.gif" /><br /> + </span> + </a> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ImapBase" id="ImapBase">ImapBase</a> <a name="imapbase" id="imapbase">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>̹ Ͽ <code>base</code> ⺻</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ImapBase map|referer|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ImapBase http://servername/</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_imagemap</td></tr> +</table> + <p><code class="directive">ImapBase</code> þ ̹ Ͽ + <code>base</code> ⺻ Ѵ. ̹ + ȿ <code>base</code> þ ϸ ⼭ + Ѵ. ٸ, <code>base</code> ⺻ + <code>http://<var>servername</var>/</code>̴.</p> + +<h3></h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ImapDefault" id="ImapDefault">ImapDefault</a> <a name="imapdefault" id="imapdefault">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>̹ʿ ش ʴ ǥ + ⺻ ൿ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ImapDefault error|nocontent|map|referer|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ImapDefault nocontent</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_imagemap</td></tr> +</table> + <p><code class="directive">ImapDefault</code> þ ̹ + Ͽ <code>default</code> ⺻ Ѵ. + ̹ ȿ <code>default</code> þ ϸ + ⼭ Ѵ. ٸ, <code>default</code> + ൿ Ŭ̾Ʈ <code>204 No Content</code> + <code>nocontent</code>̴. Ŭ̾Ʈ + ״ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ImapMenu" id="ImapMenu">ImapMenu</a> <a name="imapmenu" id="imapmenu">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ǥ ̹ û ൿ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ImapMenu none|formatted|semiformatted|unformatted</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Indexes</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_imagemap</td></tr> +</table> + <p><code class="directive">ImapMenu</code> þ ̹ Ͽ + ȿ ǥ ൿ Ѵ.</p> + + <dl> + <dt><code>none</code></dt> + <dd>ImapMenu <code>none</code≯, ʰ + <code>default</code> ൿ Ѵ.</dd> + + <dt><code>formatted</code></dt> + <dd><code>formatted</code> . + ̹ ּ Ѵ. ū ǥ + ϰ, ũ پ Ѵ. ϰǰ ϸ, + 丮 ϰ ϴ.</dd> + + <dt><code>semiformatted</code></dt> + <dd><code>semiformatted</code> ̹ Ͽ + ּ Ѵ. HTML ٲ ȯѴ. + ǥ , <code>formatted</code> + .</dd> + + <dt><code>unformatted</code></dt> + <dd>ּ ϰ, Ѵ. ̹ Ͽ + ִ 븸 Ѵ. ̹ ּ ʿ + ٲް ǥ Ѵ. ܰ + ٹ , ̹ ǻ Ϲ + ƴ HTML Ѵ.</dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_imagemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_imagemap.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_imagemap.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_include.html b/docs/manual/mod/mod_include.html new file mode 100644 index 0000000..d1e9524 --- /dev/null +++ b/docs/manual/mod/mod_include.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_include.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_include.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_include.html.en new file mode 100644 index 0000000..bb6f04a --- /dev/null +++ b/docs/manual/mod/mod_include.html.en @@ -0,0 +1,1150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_include - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_include</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_include.html" title="English"> en </a> | +<a href="../fr/mod/mod_include.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Server-parsed html documents (Server Side Includes)</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>include_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_include.c</td></tr></table> +<h3>Summary</h3> + + <p>This module provides a filter which will process files + before they are sent to the client. The processing is + controlled by specially formatted SGML comments, referred to as + <dfn>elements</dfn>. These elements allow conditional text, the + inclusion of other files or programs, as well as the setting and + printing of environment variables.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enabling">Enabling Server-Side Includes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pathinfo">PATH_INFO with Server Side Includes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elements">Available Elements</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includevars">Include Variables</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substitution">Variable Substitution</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flowctrl">Flow Control Elements</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#legacyexpr">Legacy expression syntax</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ssiendtag">SSIEndTag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssierrormsg">SSIErrorMsg</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssietag">SSIETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssilastmodified">SSILastModified</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssistarttag">SSIStartTag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssitimeformat">SSITimeFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xbithack">XBitHack</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_include">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_include">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +<li><a href="../filter.html">Filters</a></li> +<li><a href="../howto/ssi.html">SSI Tutorial</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enabling" id="enabling">Enabling Server-Side Includes</a></h2> + + + <p>Server Side Includes are implemented by the + <code>INCLUDES</code> <a href="../filter.html">filter</a>. If + documents containing server-side include directives are given + the extension .shtml, the following directives will make Apache + parse them and assign the resulting document the mime type of + <code>text/html</code>:</p> + + <pre class="prettyprint lang-config">AddType text/html .shtml +AddOutputFilter INCLUDES .shtml</pre> + + + <p>The following directive must be given for the directories + containing the shtml files (typically in a + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> section, + but this directive is also valid in <code>.htaccess</code> files if + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> <code>Options</code> + is set):</p> + + <pre class="prettyprint lang-config">Options +Includes</pre> + + + <p>For backwards compatibility, the <code>server-parsed</code> + <a href="../handler.html">handler</a> also activates the + INCLUDES filter. As well, Apache will activate the INCLUDES + filter for any document with mime type + <code>text/x-server-parsed-html</code> or + <code>text/x-server-parsed-html3</code> (and the resulting + output will have the mime type <code>text/html</code>).</p> + + <p>For more information, see our <a href="../howto/ssi.html">Tutorial on Server Side Includes</a>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="pathinfo" id="pathinfo">PATH_INFO with Server Side Includes</a></h2> + + + <p>Files processed for server-side includes no longer accept + requests with <code>PATH_INFO</code> (trailing pathname information) + by default. You can use the <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> directive to + configure the server to accept requests with <code>PATH_INFO</code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="elements" id="elements">Available Elements</a></h2> + <p>The document is parsed as an HTML document, with special + commands embedded as SGML comments. A command has the syntax: </p> + + <div class="example"><p><code> + <!--#<var>element</var> <var>attribute</var>=<var>value</var> + <var>attribute</var>=<var>value</var> ... --> + </code></p></div> + + <p>The value will often be enclosed in double quotes, but single + quotes (<code>'</code>) and backticks (<code>`</code>) are also + possible. Many commands only allow a single attribute-value pair. + Note that the comment terminator (<code>--></code>) should be + preceded by whitespace to ensure that it isn't considered part of + an SSI token. Note that the leading <code><!--#</code> is <em>one</em> + token and may not contain any whitespaces.</p> + + <p>The allowed elements are listed in the following table:</p> + + <table class="bordered"> + <tr><th>Element</th><th>Description</th></tr> + <tr><td><code><a href="#element.comment">comment</a></code></td> + <td>SSI comment</td></tr> + <tr><td><code><a href="#element.config">config</a></code></td> + <td>configure output formats</td></tr> + <tr><td><code><a href="#element.echo">echo</a></code></td> + <td>print variables</td></tr> + <tr><td><code><a href="#element.exec">exec</a></code></td> + <td>execute external programs</td></tr> + <tr><td><code><a href="#element.fsize">fsize</a></code></td> + <td>print size of a file</td></tr> + <tr><td><code><a href="#element.flastmod">flastmod</a></code></td> + <td>print last modification time of a file</td></tr> + <tr><td><code><a href="#element.include">include</a></code></td> + <td>include a file</td></tr> + <tr><td><code><a href="#element.printenv">printenv</a></code></td> + <td>print all available variables</td></tr> + <tr><td><code><a href="#element.set">set</a></code></td> + <td>set a value of a variable</td></tr> + </table> + + <p>SSI elements may be defined by modules other than + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. In fact, the <code><a href="#element.exec">exec</a></code> element is provided by + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, and will only be available if this + module is loaded.</p> + + <h3><a name="element.comment" id="element.comment">The comment Element</a></h3> + <p>This command doesn't output anything. Its only use is to + add comments within a file. These comments are not printed.</p> + + <p>This syntax is available in version 2.4.21 and later.</p> + + <div class="example"><p><code> + <!--#comment Blah Blah Blah --><br /> + or<br /> + <!--#comment text="Blah Blah Blah" --> + </code></p></div> + + + <h3><a name="element.config" id="element.config">The config Element</a></h3> + <p>This command controls various aspects of the parsing. The + valid attributes are:</p> + + <dl> + <dt><code>echomsg</code> (<em>Apache 2.1 and later</em>)</dt> + <dd><p>The value is a message that is sent back to the + client if the <code><a href="#element.echo">echo</a></code> element + attempts to echo an undefined variable. This overrides any <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code> directives.</p> + + <div class="example"><p><code> + <!--#config echomsg="[Value Undefined]" --> + </code></p></div> + </dd> + + <dt><code>errmsg</code></dt> + <dd><p>The value is a message that is sent back to the + client if an error occurs while parsing the + document. This overrides any <code class="directive"><a href="#ssierrormsg">SSIErrorMsg</a></code> directives.</p> + + <div class="example"><p><code> + <!--#config errmsg="[Oops, something broke.]" --> + </code></p></div> + </dd> + + <dt><code>sizefmt</code></dt> + <dd><p>The value sets the format to be used when displaying + the size of a file. Valid values are <code>bytes</code> + for a count in bytes, or <code>abbrev</code> for a count + in Kb or Mb as appropriate, for example a size of 1024 bytes + will be printed as "1K".</p> + + <div class="example"><p><code> + <!--#config sizefmt="abbrev" --> + </code></p></div> + + </dd> + + <dt><code>timefmt</code></dt> + <dd><p>The value is a string to be used by the + <code>strftime(3)</code> library routine when printing + dates.</p> + + <div class="example"><p><code> + <!--#config timefmt=""%R, %B %d, %Y"" --> + </code></p></div> + + </dd> + </dl> + + + <h3><a name="element.echo" id="element.echo">The echo Element</a></h3> + <p>This command prints one of the <a href="#includevars">include + variables</a> defined below. If the variable is unset, the result is + determined by the <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code> directive. Any dates printed are + subject to the currently configured <code>timefmt</code>.</p> + + <p>Attributes:</p> + + <dl> + <dt><code>var</code></dt> + <dd>The value is the name of the variable to print.</dd> + + <dt><code>decoding</code></dt> + <dd><p>Specifies whether Apache should strip an encoding from + the variable before processing the variable further. The default + is <code>none</code>, where no decoding will be done. If set to + <code>url</code>, then URL decoding (also known as %-encoding; + this is appropriate for use within URLs in links, etc.) will be + performed. If set to <code>urlencoded</code>, + application/x-www-form-urlencoded compatible encoding (found in + query strings) will be stripped. If set to <code>base64</code>, + base64 will be decoded, and if set to <code>entity</code>, HTML + entity encoding will be stripped. Decoding is done prior to any + further encoding on the variable. Multiple encodings can be + stripped by specifying more than one comma separated encoding. + The decoding setting will remain in effect until the next decoding + attribute is encountered, or the element ends.</p> + + <p>The <code>decoding</code> attribute must <em>precede</em> the + corresponding <code>var</code> attribute to be effective.</p> + </dd> + + <dt><code>encoding</code></dt> + <dd><p>Specifies how Apache should encode special characters + contained in the variable before outputting them. If set + to <code>none</code>, no encoding will be done. If set to + <code>url</code>, then URL encoding (also known as %-encoding; + this is appropriate for use within URLs in links, etc.) will be + performed. If set to <code>urlencoded</code>, + application/x-www-form-urlencoded compatible encoding will be + performed instead, and should be used with query strings. If set + to <code>base64</code>, base64 encoding will be performed. At + the start of an <code>echo</code> element, the default is set to + <code>entity</code>, resulting in entity encoding (which is + appropriate in the context of a block-level HTML element, + <em>e.g.</em> a paragraph of text). This can be changed by adding + an <code>encoding</code> attribute, which will remain in effect + until the next <code>encoding</code> attribute is encountered or + the element ends, whichever comes first.</p> + + <p>The <code>encoding</code> attribute must <em>precede</em> the + corresponding <code>var</code> attribute to be effective.</p> + + <div class="warning"> + In order to avoid cross-site scripting issues, you should + <em>always</em> encode user supplied data. + </div> + + <div class="example"><h3>Example</h3><p><code> + <!--#echo encoding="entity" var="QUERY_STRING" --> + </code></p></div> + </dd> + </dl> + + + <h3><a name="element.exec" id="element.exec">The exec Element</a></h3> + <p>The <code>exec</code> command executes a given shell command or + CGI script. It requires <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> to be present + in the server. If <code class="directive"><a href="../mod/core.html#options">Options</a></code> + <code>IncludesNOEXEC</code> is set, this command is completely + disabled. The valid attributes are:</p> + + <dl> + <dt><code>cgi</code></dt> + <dd><p>The value specifies a (%-encoded) URL-path to + the CGI script. If the path does not begin with a slash (/), + then it is taken to be relative to the current + document. The document referenced by this path is + invoked as a CGI script, even if the server would not + normally recognize it as such. However, the directory + containing the script must be enabled for CGI scripts + (with <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + or <code class="directive"><a href="../mod/core.html#options">Options</a></code> + <code>ExecCGI</code>).</p> + + <p>The CGI script is given the <code>PATH_INFO</code> and query + string (<code>QUERY_STRING</code>) of the original request from the + client; these <em>cannot</em> be specified in the URL path. The + include variables will be available to the script in addition to + the standard <a href="mod_cgi.html">CGI</a> environment.</p> + + <div class="example"><h3>Example</h3><p><code> + <!--#exec cgi="/cgi-bin/example.cgi" --> + </code></p></div> + + <p>If the script returns a <code>Location:</code> header instead of + output, then this will be translated into an HTML anchor.</p> + + <p>The <code><a href="#includevirtual">include virtual</a></code> + element should be used in preference to <code>exec cgi</code>. In + particular, if you need to pass additional arguments to a CGI program, + using the query string, this cannot be done with <code>exec + cgi</code>, but can be done with <code>include virtual</code>, as + shown here:</p> + + <div class="example"><p><code> + <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> + </code></p></div> + </dd> + + <dt><code>cmd</code></dt> + <dd><p>The server will execute the given string using + <code>/bin/sh</code>. The <a href="#includevars">include variables</a> are available to the command, in addition + to the usual set of CGI variables.</p> + + <p>The use of <code><a href="#includevirtual">#include virtual</a></code> is almost always preferred to using + either <code>#exec cgi</code> or <code>#exec cmd</code>. The former + (<code>#include virtual</code>) uses the standard Apache sub-request + mechanism to include files or scripts. It is much better tested and + maintained.</p> + + <p>In addition, on some platforms, like Win32, and on unix when + using <a href="../suexec.html">suexec</a>, you cannot pass arguments + to a command in an <code>exec</code> directive, or otherwise include + spaces in the command. Thus, while the following will work under a + non-suexec configuration on unix, it will not produce the desired + result under Win32, or when running suexec:</p> + + <div class="example"><p><code> + <!--#exec cmd="perl /path/to/perlscript arg1 arg2" --> + </code></p></div> + </dd> + </dl> + + + <h3><a name="element.fsize" id="element.fsize">The fsize Element</a></h3> + <p>This command prints the size of the specified file, subject + to the <code>sizefmt</code> format specification. Attributes:</p> + + <dl> + <dt><code>file</code></dt> + <dd>The value is a path relative to the directory + containing the current document being parsed. + + <div class="example"><p><code> + This file is <!--#fsize file="mod_include.html" --> bytes. + </code></p></div> + + The value of <code>file</code> cannot start with a slash + (<code>/</code>), nor can it contain <code>../</code> so as to + refer to a file above the current directory or outside of the + document root. Attempting to so will result in the error message: + <code>The given path was above the root path</code>. + </dd> + + <dt><code>virtual</code></dt> + <dd>The value is a (%-encoded) URL-path. If it does not begin with + a slash (/) then it is taken to be relative to the current document. + Note, that this does <em>not</em> print the size of any CGI output, + but the size of the CGI script itself.</dd> + </dl> + + <div class="example"><p><code> + This file is <!--#fsize virtual="/docs/mod/mod_include.html" --> bytes. + </code></p></div> + + <p>Note that in many cases these two are exactly the same thing. + However, the <code>file</code> attribute doesn't respect URL-space + aliases.</p> + + + <h3><a name="element.flastmod" id="element.flastmod">The flastmod Element</a></h3> + <p>This command prints the last modification date of the + specified file, subject to the <code>timefmt</code> format + specification. The attributes are the same as for the + <code><a href="#element.fsize">fsize</a></code> command.</p> + + + <h3><a name="element.include" id="element.include">The include Element</a></h3> + <p>This command inserts the text of another document or file + into the parsed file. Any included file is subject to the usual + access control. If the directory containing the parsed file has + <a href="core.html#options">Options</a> + <code>IncludesNOEXEC</code> set, then only documents with a text + <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME-type</a> (<code>text/plain</code>, + <code>text/html</code> etc.) will be included. Otherwise CGI + scripts are invoked as normal using the complete URL given in + the command, including any query string.</p> + + <p>An attribute defines the location of the document, and may + appear more than once in an include element; an inclusion is + done for each attribute given to the include command in turn. + The valid attributes are:</p> + + <dl> + <dt><code>file</code></dt> + <dd>The value is a path relative to the directory + containing the current document being parsed. It cannot + contain <code>../</code>, nor can it be an absolute path. + Therefore, you cannot include files that are outside of the + document root, or above the current document in the directory + structure. The <code>virtual</code> attribute should always be + used in preference to this one.</dd> + + <dt><code><a id="includevirtual" name="includevirtual">virtual</a></code></dt> + <dd><p>The value is a (%-encoded) URL-path. The URL cannot contain a + scheme or hostname, only a path and an optional query string. If it + does not begin with a slash (/) then it is taken to be relative to the + current document.</p> + + <p>A URL is constructed from the attribute, and the output the + server would return if the URL were accessed by the client is + included in the parsed output. Thus included files can be nested.</p> + + <p>If the specified URL is a CGI program, the program will be + executed and its output inserted in place of the directive in the + parsed file. You may include a query string in a CGI url:</p> + + <div class="example"><p><code> + <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> + </code></p></div> + + <p><code>include virtual</code> should be used in preference + to <code>exec cgi</code> to include the output of CGI programs + into an HTML document.</p> + + <p>If the <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code> + directive is correctly configured and valid for this included + file, attempts to POST requests to the enclosing HTML document + will be passed through to subrequests as POST requests as well. + Without the directive, all subrequests are processed as GET + requests.</p> + + </dd> + + <dt><code>onerror</code></dt> + <dd><p>The value is a (%-encoded) URL-path which is shown should a + previous attempt to include a file or virtual attribute failed. + To be effective, this attribute must be specified after the + file or virtual attributes being covered. If the attempt to + include the onerror path fails, or if onerror is not specified, the + default error message will be included.</p> + + <div class="example"><p><code> + # Simple example<br /> + <!--#include virtual="/not-exist.html" onerror="/error.html" --> + </code></p></div> + + <div class="example"><p><code> + # Dedicated onerror paths<br /> + <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" --> + </code></p></div> + + </dd> + </dl> + + + <h3><a name="element.printenv" id="element.printenv">The printenv Element</a></h3> + <p>This prints out a plain text listing of all existing variables and + their values. Special characters are entity encoded (see the <code><a href="#element.echo">echo</a></code> element for details) + before being output. There are no attributes.</p> + + <div class="example"><h3>Example</h3><p><code> + <pre> + <!--#printenv --> + </pre> + </code></p></div> + + + <h3><a name="element.set" id="element.set">The set Element</a></h3> + <p>This sets the value of a variable. Attributes:</p> + + <dl> + <dt><code>var</code></dt> + <dd>The name of the variable to set.</dd> + + <dt><code>value</code></dt> + <dd>The value to give a variable.</dd> + + <dt><code>decoding</code></dt> + <dd><p>Specifies whether Apache should strip an encoding from + the variable before processing the variable further. The default + is <code>none</code>, where no decoding will be done. If set to + <code>url</code>, <code>urlencoded</code>, <code>base64</code> + or <code>entity</code>, URL decoding, + application/x-www-form-urlencoded decoding, base64 decoding or HTML + entity decoding will be performed respectively. More than one + decoding can be specified by separating with commas. The decoding + setting will remain in effect until the next decoding attribute + is encountered, or the element ends. The <code>decoding</code> + attribute must <em>precede</em> the corresponding + <code>var</code> attribute to be effective.</p> + </dd> + + <dt><code>encoding</code></dt> + <dd><p>Specifies how Apache should encode special characters + contained in the variable before setting them. The default is + <code>none</code>, where no encoding will be done. If set to + <code>url</code>, <code>urlencoding</code>, <code>base64</code> + or <code>entity</code>, URL encoding, + application/x-www-form-urlencoded encoding, base64 encoding or + HTML entity encoding will be performed respectively. More than + one encoding can be specified by separating with commas. The + encoding setting will remain in effect until the next encoding + attribute is encountered, or the element ends. The + <code>encoding</code> attribute must <em>precede</em> the + corresponding <code>var</code> attribute to be effective. + Encodings are applied after all decodings have been + stripped.</p> + </dd> + </dl> + + <div class="example"><h3>Example</h3><p><code> + <!--#set var="category" value="help" --> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="includevars" id="includevars">Include Variables</a></h2> + + + <p>In addition to the variables in the standard CGI environment, + these are available for the <code>echo</code> command, for + <code>if</code> and <code>elif</code>, and to any program + invoked by the document.</p> + + <dl> + <dt><code>DATE_GMT</code></dt> + <dd>The current date in Greenwich Mean Time.</dd> + + <dt><code>DATE_LOCAL</code></dt> + <dd>The current date in the local time zone.</dd> + + <dt><code>DOCUMENT_ARGS</code></dt> + <dd>This variable contains the query string of the active SSI + document, or the empty string if a query string is not + included. For subrequests invoked through the + <code>include</code> SSI directive, <code>QUERY_STRING</code> + will represent the query string of the subrequest and + <code>DOCUMENT_ARGS</code> will represent the query string of + the SSI document. (Available in Apache HTTP Server 2.4.19 and + later.)</dd> + + <dt><code>DOCUMENT_NAME</code></dt> + <dd>The filename (excluding directories) of the document + requested by the user.</dd> + + <dt><code>DOCUMENT_PATH_INFO</code></dt> + <dd>The trailing pathname information. See directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> for more information + about <code>PATH_INFO</code>.</dd> + + <dt><code>DOCUMENT_URI</code></dt> + <dd>The (%-decoded) URL path of the document requested by the + user. Note that in the case of nested include files, this is + <em>not</em> the URL for the current document. Note also that + if the URL is modified internally (e.g. by an <code class="directive"><a href="../mod/mod_alias.html#alias">alias</a></code> or <code class="directive"><a href="../mod/mod_dir.html#directoryindex">directoryindex</a></code>), the modified + URL is shown.</dd> + + <dt><code>LAST_MODIFIED</code></dt> + <dd>The last modification date of the document requested by + the user.</dd> + + <dt><code>QUERY_STRING_UNESCAPED</code></dt> + <dd>If a query string is present in the request for the active + SSI document, this variable contains the (%-decoded) query + string, which is <em>escaped</em> for shell usage (special + characters like <code>&</code> etc. are preceded by + backslashes). It is not set if a query string is not + present. Use <code>DOCUMENT_ARGS</code> if shell escaping + is not desired.</dd> + + <dt><code>USER_NAME</code></dt> + <dd>The user name of the owner of the file.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="substitution" id="substitution">Variable Substitution</a></h2> + + <p>Variable substitution is done within quoted strings in most + cases where they may reasonably occur as an argument to an SSI + directive. This includes the <code>config</code>, + <code>exec</code>, <code>flastmod</code>, <code>fsize</code>, + <code>include</code>, <code>echo</code>, and <code>set</code> + directives. If <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> is set to <code>on</code>, + substitution also occurs in the arguments to conditional operators. + You can insert a literal dollar sign into the string using backslash + quoting:</p> + + <div class="example"><p><code> + <!--#set var="cur" value="\$test" --> + </code></p></div> + + <p>If a variable reference needs to be substituted in the + middle of a character sequence that might otherwise be + considered a valid identifier in its own right, it can be + disambiguated by enclosing the reference in braces, + <em>a la</em> shell substitution:</p> + + <div class="example"><p><code> + <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> + </code></p></div> + + <p>This will result in the <code>Zed</code> variable being set + to "<code>X_Y</code>" if <code>REMOTE_HOST</code> is + "<code>X</code>" and <code>REQUEST_METHOD</code> is + "<code>Y</code>".</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="flowctrl" id="flowctrl">Flow Control Elements</a></h2> + + + <p>The basic flow control elements are:</p> + + <div class="example"><p><code> + <!--#if expr="<var>test_condition</var>" --><br /> + <!--#elif expr="<var>test_condition</var>" --><br /> + <!--#else --><br /> + <!--#endif --> + </code></p></div> + + <p>The <code>if</code> element works like an if statement in a + programming language. The test condition is evaluated and if + the result is true, then the text until the next <code>elif</code>, + <code>else</code> or <code>endif</code> element is included in the + output stream.</p> + + <p>The <code>elif</code> or <code>else</code> statements are used + to put text into the output stream if the original + <var>test_condition</var> was false. These elements are optional.</p> + + <p>The <code>endif</code> element ends the <code>if</code> element + and is required.</p> + + <p><var>test_condition</var> is a boolean expression which follows the + <a href="../expr.html">ap_expr</a> syntax. The syntax can be changed + to be compatible with Apache HTTPD 2.2.x using <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code>.</p> + + <p>The SSI variables set with the <code>var</code> element are exported + into the request environment and can be accessed with the + <code>reqenv</code> function. As a short-cut, the function name + <code>v</code> is also available inside <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p> + + <p>The below example will print "from local net" if client IP address + belongs to the 10.0.0.0/8 subnet.</p> + + <div class="example"><p><code> + <!--#if expr='-R "10.0.0.0/8"' --><br /> + <span class="indent"> + from local net<br /> + </span> + <!--#else --><br /> + <span class="indent"> + from somewhere else<br /> + </span> + <!--#endif --> + </code></p></div> + + <p>The below example will print "foo is bar" if the variable + <code>foo</code> is set to the value "bar".</p> + + <div class="example"><p><code> + <!--#if expr='v("foo") = "bar"' --><br /> + <span class="indent"> + foo is bar<br /> + </span> + <!--#endif --> + </code></p></div> + + <div class="note"><h3>Reference Documentation</h3> + <p>See also: <a href="../expr.html">Expressions in Apache HTTP Server</a>, + for a complete reference and examples. The <em>restricted</em> functions + are not available inside <code class="module"><a href="../mod/mod_include.html">mod_include</a></code></p> + </div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="legacyexpr" id="legacyexpr">Legacy expression syntax</a></h2> + + + <p>This section describes the syntax of the <code>#if expr</code> + element if <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> + is set to <code>on</code>.</p> + + <dl> + <dt><code><var>string</var></code></dt> + <dd>true if <var>string</var> is not empty</dd> + + <dt><code><var>-A string</var></code></dt> + <dd><p>true if the URL represented by the string is accessible by + configuration, false otherwise. This is useful where content on a + page is to be hidden from users who are not authorized to view the + URL, such as a link to that URL. Note that the URL is only tested + for whether access would be granted, not whether the URL exists.</p> + + <div class="example"><h3>Example</h3><p><code> + <!--#if expr="-A /private" --><br /> + <span class="indent"> + Click <a href="/private">here</a> to access private + information.<br /> + </span> + <!--#endif --> + </code></p></div> + </dd> + + <dt><code><var>string1</var> = <var>string2</var><br /> + <var>string1</var> == <var>string2</var><br /> + <var>string1</var> != <var>string2</var></code></dt> + + <dd><p>Compare <var>string1</var> with <var>string2</var>. If + <var>string2</var> has the form <code>/<var>string2</var>/</code> + then it is treated as a regular expression. Regular expressions are + implemented by the <a href="http://www.pcre.org">PCRE</a> engine and + have the same syntax as those in <a href="http://www.perl.com">perl + 5</a>. Note that <code>==</code> is just an alias for <code>=</code> + and behaves exactly the same way.</p> + + <p>If you are matching positive (<code>=</code> or <code>==</code>), you + can capture grouped parts of the regular expression. The captured parts + are stored in the special variables <code>$1</code> .. + <code>$9</code>. The whole string matched by the regular expression is + stored in the special variable <code>$0</code></p> + + <div class="example"><h3>Example</h3><p><code> + <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" --><br /> + <span class="indent"> + <!--#set var="session" value="$1" --><br /> + </span> + <!--#endif --> + </code></p></div> + </dd> + + <dt><code><var>string1</var> < <var>string2</var><br /> + <var>string1</var> <= <var>string2</var><br /> + <var>string1</var> > <var>string2</var><br /> + <var>string1</var> >= <var>string2</var></code></dt> + + <dd>Compare <var>string1</var> with <var>string2</var>. Note, that + strings are compared <em>literally</em> (using + <code>strcmp(3)</code>). Therefore the string "100" is less than + "20".</dd> + + <dt><code>( <var>test_condition</var> )</code></dt> + <dd>true if <var>test_condition</var> is true</dd> + + <dt><code>! <var>test_condition</var></code></dt> + <dd>true if <var>test_condition</var> is false</dd> + + <dt><code><var>test_condition1</var> && + <var>test_condition2</var></code></dt> + <dd>true if both <var>test_condition1</var> and + <var>test_condition2</var> are true</dd> + + <dt><code><var>test_condition1</var> || + <var>test_condition2</var></code></dt> + <dd>true if either <var>test_condition1</var> or + <var>test_condition2</var> is true</dd> + </dl> + + <p>"<code>=</code>" and "<code>!=</code>" bind more tightly than + "<code>&&</code>" and "<code>||</code>". "<code>!</code>" binds + most tightly. Thus, the following are equivalent:</p> + + <div class="example"><p><code> + <!--#if expr="$a = test1 && $b = test2" --><br /> + <!--#if expr="($a = test1) && ($b = test2)" --> + </code></p></div> + + <p>The boolean operators <code>&&</code> and <code>||</code> + share the same priority. So if you want to bind such an operator more + tightly, you should use parentheses.</p> + + <p>Anything that's not recognized as a variable or an operator + is treated as a string. Strings can also be quoted: + <code>'string'</code>. Unquoted strings can't contain whitespace + (blanks and tabs) because it is used to separate tokens such as + variables. If multiple strings are found in a row, they are + concatenated using blanks. So,</p> + + <div class="example"><p><code><var>string1</var> <var>string2</var></code> results in <code><var>string1</var> <var>string2</var></code><br /> + <br /> + and<br /> + <br /> + <code>'<var>string1</var> <var>string2</var>'</code> results in <code><var>string1</var> <var>string2</var></code>.</p></div> + + <div class="note"><h3>Optimization of Boolean Expressions</h3> + <p>If the expressions become more complex and slow down processing + significantly, you can try to optimize them according to the + evaluation rules:</p> + <ul> + <li>Expressions are evaluated from left to right</li> + <li>Binary boolean operators (<code>&&</code> and <code>||</code>) + are short circuited wherever possible. In conclusion with the rule + above that means, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> evaluates at first + the left expression. If the left result is sufficient to determine + the end result, processing stops here. Otherwise it evaluates the + right side and computes the end result from both left and right + results.</li> + <li>Short circuit evaluation is turned off as long as there are regular + expressions to deal with. These must be evaluated to fill in the + backreference variables (<code>$1</code> .. <code>$9</code>).</li> + </ul> + <p>If you want to look how a particular expression is handled, you can + recompile <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> using the + <code>-DDEBUG_INCLUDE</code> compiler option. This inserts for every + parsed expression tokenizer information, the parse tree and how it is + evaluated into the output sent to the client.</p> + </div> + + <div class="note"><h3>Escaping slashes in regex strings</h3> + <p>All slashes which are not intended to act as delimiters in your regex must + be escaped. This is regardless of their meaning to the regex engine.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIEndTag" id="SSIEndTag">SSIEndTag</a> <a name="ssiendtag" id="ssiendtag">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>String that ends an include element</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSIEndTag <var>tag</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSIEndTag "-->"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>This directive changes the string that <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + looks for to mark the end of an include element.</p> + + <pre class="prettyprint lang-config">SSIEndTag "%>"</pre> + + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#ssistarttag">SSIStartTag</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIErrorMsg" id="SSIErrorMsg">SSIErrorMsg</a> <a name="ssierrormsg" id="ssierrormsg">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Error message displayed when there is an SSI +error</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSIErrorMsg <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSIErrorMsg "[an error occurred while processing this +directive]"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>The <code class="directive">SSIErrorMsg</code> directive changes the error + message displayed when <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> encounters an + error. For production servers you may consider changing the default + error message to <code>"<!-- Error -->"</code> so that + the message is not presented to the user.</p> + + <p>This directive has the same effect as the <code><!--#config + errmsg=<var>message</var> --></code> element.</p> + + <pre class="prettyprint lang-config">SSIErrorMsg "<!-- Error -->"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIETag" id="SSIETag">SSIETag</a> <a name="ssietag" id="ssietag">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether ETags are generated by the server.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSIETag on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSIETag off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2.15 and later.</td></tr> +</table> + <p>Under normal circumstances, a file filtered by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + may contain elements that are either dynamically generated, or that may + have changed independently of the original file. As a result, by default + the server is asked not to generate an <code>ETag</code> header for the + response by adding <code>no-etag</code> to the request notes.</p> + + <p>The <code class="directive">SSIETag</code> directive suppresses this + behaviour, and allows the server to generate an <code>ETag</code> header. + This can be used to enable caching of the output. Note that a backend server + or dynamic content generator may generate an ETag of its own, ignoring + <code>no-etag</code>, and this ETag will be passed by + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> regardless of the value of this setting. + <code class="directive">SSIETag</code> can take on the following values:</p> + + <dl> + + <dt><code>off</code></dt> + <dd><code>no-etag</code> will be added to the request notes, and the server + is asked not to generate an ETag. Where a server ignores the value of + <code>no-etag</code> and generates an ETag anyway, the ETag will be + respected.</dd> + + <dt><code>on</code></dt> + <dd>Existing ETags will be respected, and ETags generated by the server will + be passed on in the response.</dd> + + </dl> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSILastModified" id="SSILastModified">SSILastModified</a> <a name="ssilastmodified" id="ssilastmodified">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSILastModified on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSILastModified off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2.15 and later.</td></tr> +</table> + <p>Under normal circumstances, a file filtered by <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + may contain elements that are either dynamically generated, or that may + have changed independently of the original file. As a result, by default + the <code>Last-Modified</code> header is stripped from the response.</p> + + <p>The <code class="directive">SSILastModified</code> directive overrides this + behaviour, and allows the <code>Last-Modified</code> header to be respected + if already present, or set if the header is not already present. This can + be used to enable caching of the output. <code class="directive">SSILastModified</code> + can take on the following values:</p> + + <dl> + + <dt><code>off</code></dt> + <dd>The <code>Last-Modified</code> header will be stripped from responses, + unless the <code class="directive"><a href="#xbithack">XBitHack</a></code> directive + is set to <code>full</code> as described below.</dd> + + <dt><code>on</code></dt> + <dd>The <code>Last-Modified</code> header will be respected if already + present in a response, and added to the response if the response is a + file and the header is missing. The + <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> directive + takes precedence over <code class="directive"><a href="#xbithack">XBitHack</a></code>.</dd> + + </dl> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSILegacyExprParser" id="SSILegacyExprParser">SSILegacyExprParser</a> <a name="ssilegacyexprparser" id="ssilegacyexprparser">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable compatibility mode for conditional expressions.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSILegacyExprParser on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSILegacyExprParser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.13 and later.</td></tr> +</table> + <p>As of version 2.3.13, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> has switched to the + new <a href="../expr.html">ap_expr</a> syntax for conditional expressions + in <code>#if</code> flow control elements. This directive allows to + switch to the <a href="#legacyexpr">old syntax</a> which is compatible + with Apache HTTPD version 2.2.x and earlier. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIStartTag" id="SSIStartTag">SSIStartTag</a> <a name="ssistarttag" id="ssistarttag">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>String that starts an include element</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSIStartTag <var>tag</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSIStartTag "<!--#"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>This directive changes the string that <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + looks for to mark an include element to process.</p> + + <p>You may want to use this option if you have 2 servers parsing the + output of a file each processing different commands (possibly at + different times).</p> + + <pre class="prettyprint lang-config">SSIStartTag "<%" +SSIEndTag "%>"</pre> + + + <p>The example given above, which also specifies a matching + <code class="directive"><a href="#ssiendtag">SSIEndTag</a></code>, will + allow you to use SSI directives as shown in the example + below:</p> + + <div class="example"><h3>SSI directives with alternate start and end tags</h3><p><code> + <%printenv %> + </code></p></div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#ssiendtag">SSIEndTag</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSITimeFormat" id="SSITimeFormat">SSITimeFormat</a> <a name="ssitimeformat" id="ssitimeformat">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the format in which date strings are +displayed</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSITimeFormat <var>formatstring</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> +<p>This directive changes the format in which date strings are displayed + when echoing <code>DATE</code> environment variables. The + <var>formatstring</var> is as in <code>strftime(3)</code> from the + C standard library.</p> + + <p>This directive has the same effect as the <code><!--#config + timefmt=<var>formatstring</var> --></code> element.</p> + + <pre class="prettyprint lang-config">SSITimeFormat "%R, %B %d, %Y"</pre> + + + <p>The above directive would cause times to be displayed in the + format "22:26, June 14, 2002".</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIUndefinedEcho" id="SSIUndefinedEcho">SSIUndefinedEcho</a> <a name="ssiundefinedecho" id="ssiundefinedecho">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>String displayed when an unset variable is echoed</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSIUndefinedEcho <var>string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSIUndefinedEcho "(none)"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>This directive changes the string that <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + displays when a variable is not set and "echoed".</p> + + <pre class="prettyprint lang-config">SSIUndefinedEcho "<!-- undef -->"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="XBitHack" id="XBitHack">XBitHack</a> <a name="xbithack" id="xbithack">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Parse SSI directives in files with the execute bit +set</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>XBitHack on|off|full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>XBitHack off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>The <code class="directive">XBitHack</code> directive controls the parsing + of ordinary html documents. This directive only affects files associated + with the <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME-type</a> <code>text/html</code>. <code class="directive">XBitHack</code> can take on the following values:</p> + + <dl> + <dt><code>off</code></dt> + <dd>No special treatment of executable files.</dd> + + <dt><code>on</code></dt> + <dd>Any <code>text/html</code> file that has the user-execute bit + set will be treated as a server-parsed html document.</dd> + + <dt><code>full</code></dt> + <dd>As for <code>on</code> but also test the group-execute bit. + If it is set, then set the <code>Last-modified</code> date of the + returned file to be the last modified time of the file. If + it is not set, then no last-modified date is sent. Setting + this bit allows clients and proxies to cache the result of + the request. + + <div class="note"><h3>Note</h3> + <p>You would not want to use the full option, unless you assure the + group-execute bit is unset for every SSI script which might <code>#include</code> a CGI or otherwise produces different output on + each hit (or could potentially change on subsequent requests).</p> + + <p>The <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> + directive takes precedence over the + <code class="directive"><a href="#xbithack">XBitHack</a></code> directive when + <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> is set to + <code>on</code>.</p> + </div> + + </dd> + </dl> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_include.html" title="English"> en </a> | +<a href="../fr/mod/mod_include.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_include.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_include.html.fr.utf8 b/docs/manual/mod/mod_include.html.fr.utf8 new file mode 100644 index 0000000..c69ed05 --- /dev/null +++ b/docs/manual/mod/mod_include.html.fr.utf8 @@ -0,0 +1,1234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_include - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_include</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_include.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Documents html interprétés par le serveur (Server Side +Includes ou SSI)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>include_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_include.c</td></tr></table> +<h3>Sommaire</h3> + + <p>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 + <dfn>éléments</dfn>. 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.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enabling">Activation des SSI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pathinfo">PATH_INFO et SSI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elements">Eléments disponibles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includevars">Variables include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substitution">Substitution de variable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flowctrl">Eléments de contrôle d'inclusion conditionnelle</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#legacyexpr">Syntaxe des expressions héritée</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ssiendtag">SSIEndTag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssierrormsg">SSIErrorMsg</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssietag">SSIETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssilastmodified">SSILastModified</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssistarttag">SSIStartTag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssitimeformat">SSITimeFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xbithack">XBitHack</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_include">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_include">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +<li><a href="../filter.html">Les filtres</a></li> +<li><a href="../howto/ssi.html">Tutoriel SSI</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enabling" id="enabling">Activation des SSI</a></h2> + + + <p>Les SSI sont implémentés par le <a href="../filter.html">filtre</a> <code>INCLUDES</code>. 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 + <code>text/html</code> au document obtenu :</p> + + <pre class="prettyprint lang-config">AddType text/html .shtml +AddOutputFilter INCLUDES .shtml</pre> + + + <p>L'option suivante doit être définie pour les répertoires qui + contiennent les fichiers shtml (en général dans une section + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, mais + cette option peut également être définie dans un fichier + <code>.htaccess</code> si <code><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> Options</code> a été défini pour le + répertoire considéré) :</p> + + <pre class="prettyprint lang-config">Options +Includes</pre> + + + <p>Pour des raisons de compatibilité ascendante, le <a href="../handler.html">gestionnaire</a> <code>server-parsed</code> + peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le + filtre INCLUDES pour tout document de type MIME + <code>text/x-server-parsed-html</code> ou + <code>text/x-server-parsed-html3</code> (et le document obtenu aura + pour type MIME <code>text/html</code>).</p> + + <p>Pour plus d'informations, voyez notre <a href="../howto/ssi.html">Tutoriel SSI</a>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="pathinfo" id="pathinfo">PATH_INFO et SSI</a></h2> + + + <p>Les fichiers traités dans le cadre des SSI n'acceptent plus par + défaut les requêtes avec <code>PATH_INFO</code> (les informations + relatives au chemin en fin de requête). La directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> permet de configurer le + serveur de façon à ce qu'il accepte ce genre de requête.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="elements" id="elements">Eléments disponibles</a></h2> + <p>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 : </p> + + <div class="example"><p><code> + <!--#<var>élément</var> <var>attribut</var>=<var>valeur</var> + <var>attribut</var>=<var>valeur</var> ... --> + </code></p></div> + + <p>Les valeurs sont souvent entourées de guillemets, mais on peut + aussi utiliser des apostrophes (<code>'</code>) ou des apostrophes + inverses (<code>`</code>). De nombreuses commandes n'acceptent + qu'une seule paire attribut-valeur. Notez que le terminateur de + commentaire (<code>--></code>) 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 <code><!--#</code> + est <em>un</em> élément de commande et ne doit donc pas contenir + d'espace.</p> + + <p>La table suivante contient la liste des éléments autorisés :</p> + + <table class="bordered"> + <tr><th>Elément</th><th>Description</th></tr> + <tr><td><code><a href="#element.comment">comment</a></code></td> + <td>commentaire SSI</td></tr> + <tr><td><code><a href="#element.config">config</a></code></td> + <td>configure les formats de sortie</td></tr> + <tr><td><code><a href="#element.echo">echo</a></code></td> + <td>affiche le contenu de variables</td></tr> + <tr><td><code><a href="#element.exec">exec</a></code></td> + <td>exécute des programmes externes</td></tr> + <tr><td><code><a href="#element.fsize">fsize</a></code></td> + <td>affiche la taille d'un fichier</td></tr> + <tr><td><code><a href="#element.flastmod">flastmod</a></code></td> + <td>affiche la date de dernière modification d'un fichier</td></tr> + <tr><td><code><a href="#element.include">include</a></code></td> + <td>inclut un fichier</td></tr> + <tr><td><code><a href="#element.printenv">printenv</a></code></td> + <td>affiche toutes les variables disponibles</td></tr> + <tr><td><code><a href="#element.set">set</a></code></td> + <td>définit la valeur d'une variable</td></tr> + </table> + + <p>Les éléments SSI peuvent être définis par d'autres modules que + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. À ce titre, l'élément <code><a href="#element.exec">exec</a></code> est fourni par + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, et ne sera disponible que si ce module est + chargé.</p> + + <h3><a name="element.comment" id="element.comment">L'élément comment</a></h3> + <p>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.</p> + + <p>Cette syntaxe est disponible à partir de la version 2.4.21 du serveur + HTTP Apache.</p> + + <div class="example"><p><code> + <!--#comment Blah Blah Blah --><br /> + or<br /> + <!--#comment text="Blah Blah Blah" --> + </code></p></div> + + + <h3><a name="element.config" id="element.config">L'élément config</a></h3> + <p>Cette commande contrôle divers aspects de l'interprétation. Les + attributs valides sont :</p> + + <dl> + <dt><code>echomsg</code> (<em>Versions 2.1 et supérieures + d'Apache</em>)</dt> + <dd><p>La valeur est un message qui sera envoyé au client si + l'élément <code><a href="#element.echo">echo</a></code> tente + d'afficher le contenu d'une variable non définie. Cet attribut + l'emporte sur toute directive <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code>.</p> + + <div class="example"><p><code> + <!--#config echomsg="[Valeur non définie]" --> + </code></p></div> + + </dd> + + <dt><code>errmsg</code></dt> + <dd><p>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 <code class="directive"><a href="#ssierrormsg">SSIErrorMsg</a></code>.</p> + + <div class="example"><p><code> + <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" --> + </code></p></div> + + </dd> + + <dt><code>sizefmt</code></dt> + <dd><p>La valeur définit l'unité employée lors de l'affichage de la + taille d'un fichier. Les valeurs possibles sont <code>bytes</code> + pour une taille en octets, ou <code>abbrev</code> pour une taille + en Ko ou Mo selon son importance ; par exemple, une taille de 1024 + octets sera affichée sous la forme "1K".</p> + + <div class="example"><p><code> + <!--#config sizefmt="abbrev" --> + </code></p></div> + + </dd> + + <dt><code>timefmt</code></dt> + <dd><p>La valeur est une chaîne que pourra utiliser la fonction de la + bibliothèque standard <code>strftime(3)</code> lors de l'affichage + des dates.</p> + + <div class="example"><p><code> + <!--#config timefmt=""%R, %B %d, %Y"" --> + </code></p></div> + + </dd> + + </dl> + + + <h3><a name="element.echo" id="element.echo">L'élément echo</a></h3> + <p>Cette commande affiche le contenu d'une des <a href="#includevars">variables include</a> définies ci-dessous. Si + la variable n'est pas définie, le résultat est déterminé par la + valeur de la directive <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code>. Le format d'affichage des dates est + défini par l'attribut <code>timefmt</code> de la commande + config.</p> + + <p>Attributs:</p> + + <dl> + <dt><code>var</code></dt> + <dd>La valeur est le nom de la variable à afficher.</dd> + + <dt><code>decoding</code></dt> + <dd><p>Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + <code>none</code>, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est <code>url</code>, 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 <code>urlencoded</code>, + 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 + <code>base64</code>, un + decodage de type base64 sera effectué, et si elle est + <code>entity</code>, 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.</p> + + <p>Pour être pris en compte, l'attribut de <code>décodage</code> + doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p> + </dd> + + <dt><code>encoding</code></dt> + <dd><p>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 à <code>none</code>, aucun codage ne sera effectué. S'il + est défini à <code>url</code>, 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 à + <code>urlencoded</code>, 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 à + <code>base64</code>, c'est un encodage de type base64 qui sera + effectué. Au début d'un élément + <code>echo</code>, la valeur par défaut est définie à + <code>entity</code>, 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 <code>encoding</code>, qui fera effet + jusqu'à la définition d'un nouvel attribut <code>encoding</code> + ou la fin de l'élément echo.</p> + + <p>Pour produire son effet, l'attribut <code>encoding</code> doit + précéder l'attribut <code>var</code> concerné.</p> + + <div class="warning"> + Afin de prévenir les attaques de type cross-site scripting, il + est recommandé de <em>toujours</em> encoder les données fournies + par les utilisateurs. + </div> + + <div class="example"><h3>Example</h3><p><code> + <!--#echo encoding="entity" var="QUERY_STRING" --> + </code></p></div> + </dd> + </dl> + + + <h3><a name="element.exec" id="element.exec">L'élément exec</a></h3> + <p>La commande <code>exec</code> exécute la commande shell ou le + script spécifié. Elle nécessite le chargement du module + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. Si <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>IncludesNOEXEC</code> est + définie, cette commande est désactivée. Les attributs disponibles + sont :</p> + + <dl> + <dt><code>cgi</code></dt> + <dd><p>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 <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ou l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code>).</p> + + <p>Le <code>PATH_INFO</code> et la chaîne d'arguments + (<code>QUERY_STRING</code>) de la requête originale du client sont + fournis au script CGI ; ils <em>ne peuvent pas</em> être spécifiés + dans le chemin de l'URL. Le script disposera des variables include + en plus de l'environnement standard <a href="mod_cgi.html">CGI</a>.</p> + + <div class="example"><h3>Exemple</h3><p><code> + <!--#exec cgi="/cgi-bin/exemple.cgi" --> + </code></p></div> + + <p>Si, à la place d'un flux de sortie, le script renvoie un + en-tête <code>Location:</code>, ce dernier sera traduit en ancrage + HTML.</p> + + <p>L'élément <code><a href="#includevirtual">include + virtual</a></code> doit être préféré à <code>exec cgi</code>. 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 <code>exec + cgi</code>, mais vous pouvez y parvenir avec <code>include + virtual</code> comme suit :</p> + + <div class="example"><p><code> + <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> + </code></p></div> + </dd> + + <dt><code>cmd</code></dt> + <dd><p>Le serveur va exécuter la commande fournie en utilisant + <code>/bin/sh</code>. La commande dispose des <a href="#includevars">variables include</a>, en plus du jeu habituel + de variables CGI.</p> + + <p>Il est toujours préférable d'utiliser <code><a href="#includevirtual">#include virtual</a></code> à la place de + <code>#exec cgi</code> ou <code>#exec cmd</code>. <code>#include + virtual</code> 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.</p> + + <p>De plus, sur certaines plate-formes, comme Win32, et sous unix, + si l'on utilise <a href="../suexec.html">suexec</a>, il est + impossible de transmettre des arguments à une commande dans une + directive <code>exec</code>, à 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 + :</p> + + <div class="example"><p><code> + <!--#exec cmd="perl /chemin/vers/script_perl arg1 arg2" --> + </code></p></div> + </dd> + </dl> + + + <h3><a name="element.fsize" id="element.fsize">L'élément fsize</a></h3> + <p>Cette commande permet d'afficher la taille du fichier spécifié + en fonction des spécifications de format de <code>sizefmt</code>. + Attributs :</p> + + <dl> + <dt><code>file</code></dt> + <dd>La valeur est le chemin du fichier, relatif au répertoire + contenant le document en cours d'interprétation. + + <div class="example"><p><code> + Ce fichier a une taille de <!--#fsize file="mod_include.html" + --> octets. + </code></p></div> + + La valeur de <code>file</code> 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 + <code>../</code>. Si c'est le cas, le message d'erreur <code>The + given path was above the root path</code> sera renvoyé. + </dd> + + <dt><code>virtual</code></dt> + <dd>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 <em>pas</em> + la taille de la sortie d'un programme CGI, mais la taille du + programme CGI lui-même.</dd> + </dl> + + <div class="example"><p><code> + Ce fichier a une taille de <!--#fsize + virtual="/docs/mod/mod_include.html" --> octets. + </code></p></div> + + <p>Notez que dans la plupart des cas, ces deux attributs sont + identiques. Cependant, l'attribut <code>file</code> ne respecte + pas les aliases URL-space.</p> + + + <h3><a name="element.flastmod" id="element.flastmod">L'élément flastmod</a></h3> + <p>Cette commande permet d'afficher la date de dernière + modification du fichier spécifié, en fonction des spécifications + de format de <code>timefmt</code>. Les attributs sont les mêmes + que ceux de la commande <code><a href="#element.fsize">fsize</a></code>.</p> + + + <h3><a name="element.include" id="element.include">L'élément include</a></h3> + <p>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 <a href="core.html#options">Options</a> <code>IncludesNOEXEC</code> + est défini pour le répertoire contenant le fichier + interprété, seuls les documents possèdant un + <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> de type texte + (<code>text/plain</code>, <code>text/html</code>, 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.</p> + + <p>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 :</p> + + <dl> + <dt><code>file</code></dt> + <dd>La valeur est un chemin relatif au répertoire contenant le + fichier en cours d'interprétation. Elle ne peut ni contenir + <code>../</code>, 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 <code>virtual</code>.</dd> + + <dt><code><a id="includevirtual" name="includevirtual">virtual</a></code></dt> + <dd><p>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.</p> + + <p>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.</p> + + <p>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 + :</p> + + <div class="example"><p><code> + <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> + </code></p></div> + + <p><code>include virtual</code> doit être préféré à <code>exec + cgi</code> pour inclure le flux de sortie d'un programme CGI dans + un document HTML.</p> + + <p>Si la directive <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code> 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.</p> + + </dd> + + <dt><code>onerror</code></dt> + <dd><p>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.</p> + + <div class="example"><p><code> + # Exemple simple<br /> + <!--#include virtual="/not-exist.html" onerror="/error.html" --> + </code></p></div> + + <div class="example"><p><code> + # Chemins onerror dédiés<br /> + <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" --> + </code></p></div> + + </dd> + </dl> + + + <h3><a name="element.printenv" id="element.printenv">L'élément printenv</a></h3> + <p>Cette commande affiche la liste en mode texte de toutes les variables et de + leurs valeurs. Les caractères spéciaux sont encodés <code>entity</code> avant + d'être affichés (se reporter à l'élément <code><a href="#element.echo">echo</a></code> pour plus de détails). Cette + commande ne comporte pas d'attributs.</p> + + <div class="example"><h3>Exemple</h3><p><code> + <pre> + <!--#printenv --> + </pre> + </code></p></div> + + + <h3><a name="element.set" id="element.set">L'élément set</a></h3> + <p>Cette commande permet de définir la valeur d'une variable. Les + attributs sont :</p> + + <dl> + <dt><code>var</code></dt> + <dd>Le nom de la variable à définir.</dd> + + <dt><code>value</code></dt> + <dd>La valeur à affecter à la variable.</dd> + <dt><code>decoding</code></dt> + <dd><p>Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + <code>none</code>, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est <code>url</code>, <code>urlencoded</code>, + <code>base64</code> ou + <code>entity</code>, 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 <code>décodage</code> + doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p> + </dd> + + <dt><code>encoding</code></dt> + <dd><p>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 à <code>none</code>, aucun encodage ne sera effectué. Si la + valeur est <code>url</code>, <code>urlencoding</code>, + <code>base64</code> ou + <code>entity</code>, 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 <code>encoding</code> doit + précéder l'attribut <code>var</code> concerné. Les encodages sont + effectués après les opérations de décodage.</p> + </dd> + + </dl> + + <div class="example"><h3>Exemple</h3><p><code> + <!--#set var="category" value="help" --> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="includevars" id="includevars">Variables include</a></h2> + + + <p>À l'instar des variables de l'environnement CGI standard, ces + variables sont mises à la disposition de la commande + <code>echo</code>, des opérateurs conditionnels <code>if</code> et + <code>elif</code>, et de tout programme invoqué par le document.</p> + + <dl> + <dt><code>DATE_GMT</code></dt> + <dd>La date GMT (Greenwich Mean Time) courante.</dd> + + <dt><code>DATE_LOCAL</code></dt> + <dd>La date locale courante.</dd> + + <dt><code>DOCUMENT_ARGS</code></dt> + <dd>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 <code>include</code>, <code>QUERY_STRING</code> contiendra la chaîne + de paramètres de la sous-requête et <code>DOCUMENT_ARGS</code> la chaîne + de paramètres du document SSI (disponible à partir de la version 2.4.19 du + serveur HTTP Apache).</dd> + + <dt><code>DOCUMENT_NAME</code></dt> + <dd>Le nom de base du fichier demandé par l'utilisateur (sans son + chemin).</dd> + + <dt><code>DOCUMENT_PATH_INFO</code></dt> + <dd>La partie terminale du chemin du fichier. Voir la directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> pour plus d'informations à + propos de <code>PATH_INFO</code>.</dd> + + <dt><code>DOCUMENT_URI</code></dt> + <dd>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 <em>pas</em> de l'URL du document + courant. Notez également que si l'URL est modifiée en interne (par + exemple via une directive <code class="directive"><a href="../mod/mod_alias.html#alias">alias</a></code> ou <code class="directive"><a href="../mod/mod_dir.html#directoryindex">directoryindex</a></code>), c'est l'URL modifiée + que contiendra la variable.</dd> + + <dt><code>LAST_MODIFIED</code></dt> + <dd>La date de dernière modification du document demandé par + l'utilisateur.</dd> + + <dt><code>QUERY_STRING_UNESCAPED</code></dt> + <dd>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 + <em>échappés</em> pour qu'ils ne soient pas interprétés par le + shell (les caractères spéciaux comme <code>&</code>,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 <code>DOCUMENT_ARGS</code> si + l'échappement des caractères du shell n'est pas souhaité.</dd> + + <dt><code>USER_NAME</code></dt> + <dd>Le nom d'utilisateur du propriétaire du fichier.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="substitution" id="substitution">Substitution de variable</a></h2> + + <p>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 <code>config</code>, + <code>exec</code>, <code>flastmod</code>, <code>fsize</code>, + <code>include</code>, <code>echo</code>, et <code>set</code>. Si la + directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à + <code>on</code>, 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 :</p> + + <div class="example"><p><code> + <!--#set var="cur" value="\$test" --> + </code></p></div> + + <p>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 :</p> + + <div class="example"><p><code> + <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> + </code></p></div> + + <p>Dans cet exemple, la variable <code>Zed</code> se verra affecter + la valeur "<code>X_Y</code>" si <code>REMOTE_HOST</code> et + <code>REQUEST_METHOD</code> contiennent respectivement + "<code>X</code>" et "<code>Y</code>".</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="flowctrl" id="flowctrl">Eléments de contrôle d'inclusion conditionnelle</a></h2> + + + <p>Les éléments de base du contrôle d'inclusion conditionnelle sont + :</p> + + <div class="example"><p><code> + <!--#if expr="<var>test_condition</var>" --><br /> + <!--#elif expr="<var>test_condition</var>" --><br /> + <!--#else --><br /> + <!--#endif --> + </code></p></div> + + <p>L'élément <code>if</code> 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 <code>elif</code>, <code>else</code> ou + <code>endif</code> sera inclus dans le flux de sortie.</p> + + <p>Les éléments <code>elif</code> ou <code>else</code> permettent + d'insérer du texte dans le flux de sortie si + <var>test_condition</var> s'est révélé faux. Ces éléments sont + optionnels.</p> + + <p>L'élément <code>endif</code> termine le bloc de traitement + conditionnel <code>if</code> et est obligatoire.</p> + + <p><var>test_condition</var> est une expression booléenne qui + emprunte la syntaxe <a href="../expr.html">ap_expr</a>. La directive + <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> + permet de modifier cette syntaxe pour la rendre compatible avec + Apache HTTPD 2.2.x.</p> + + <p>Le jeu de variables SSI avec l'élément <code>var</code> sont + exportées vers l'environnement de la requête et sont accessibles via + la fonction <code>reqenv</code>. Pour faire simple, le nom de + fonction <code>v</code> est aussi disponible dans le module + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p> + + <p>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.</p> + + <div class="example"><p><code> + <!--#if expr='-R "10.0.0.0/8"' --><br /> + <span class="indent"> + depuis le réseau local<br /> + </span> + <!--#else --><br /> + <span class="indent"> + depuis ailleurs<br /> + </span> + <!--#endif --> + </code></p></div> + + <p>Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable + <code>foo</code> contient la valeur "bar".</p> + + <div class="example"><p><code> + <!--#if expr='v("foo") = "bar"' --><br /> + <span class="indent"> + foo vaut bar<br /> + </span> + <!--#endif --> + </code></p></div> + + <div class="note"><h3>Documentation de référence</h3> + <p>Voir aussi <a href="../expr.html">Les expressions dans le serveur + HTTP Apache</a> pour une référence complète et des exemples. Les + fonctions <em>restricted</em> ne sont pas disponibles dans + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p> + </div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="legacyexpr" id="legacyexpr">Syntaxe des expressions héritée</a></h2> + + + <p>Cette section décrit la syntaxe de l'élément <code>#if + expr</code> dans le cas où la directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à + <code>on</code>.</p> + + <dl> + <dt><code><var>chaîne</var></code></dt> + <dd>vrai si <var>chaîne</var> n'est pas vide</dd> + + <dt><code><var>-A string</var></code></dt> + <dd><p>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.</p> + + <div class="example"><h3>Exemple</h3><p><code> + <!--#if expr="-A /prive" --><br /> + <span class="indent"> + Cliquez <a href="/prive">ici</a> pour accéder aux + informations privées.<br /> + </span> + <!--#endif --> + </code></p></div> + </dd> + + <dt><code><var>chaîne1</var> = <var>chaîne2</var><br /> + <var>chaîne1</var> == <var>chaîne2</var><br /> + <var>chaîne1</var> != <var>chaîne2</var></code></dt> + + <dd><p>Compare <var>chaîne1</var> à <var>chaîne2</var>. Si + <var>chaîne2</var> est de la forme + <code>/<var>chaîne2</var>/</code>, elle est traitée comme une + expression rationnelle. Les expressions rationnelles sont + implémentées par le moteur <a href="http://www.pcre.org">PCRE</a> + et possèdent la même syntaxe que celles de <a href="http://www.perl.com">perl 5</a>. Notez que <code>==</code> + n'est qu'un alias pour <code>=</code> et se comporte exactement de + la même manière que ce dernier.</p> + + <p>Si vous faites une comparaison directe (<code>=</code> ou + <code>==</code>), vous pouvez extraire des parties de l'expression + rationnelle. Les parties extraites sont stockées dans les + variables spéciales <code>$1</code> .. <code>$9</code>. L'ensemble + de la chaîne correspondant à l'expression rationnelle est stocké + dans la variable spéciale <code>$0</code>.</p> + + <div class="example"><h3>Exemple</h3><p><code> + <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" --><br /> + <span class="indent"> + <!--#set var="session" value="$1" --><br /> + </span> + <!--#endif --> + </code></p></div> + </dd> + + <dt><code><var>chaîne1</var> < <var>chaîne2</var><br /> + <var>chaîne1</var> <= <var>chaîne2</var><br /> + <var>chaîne1</var> > <var>chaîne2</var><br /> + <var>chaîne1</var> >= <var>chaîne2</var></code></dt> + + <dd>Compare <var>chaîne1</var> à <var>chaîne2</var>. Notez que les + chaînes sont comparées de manière <em>littérale</em> (en utilisant + <code>strcmp(3)</code>). Ainsi, la chaîne "100" est inférieure à + "20".</dd> + + <dt><code>( <var>test_condition</var> )</code></dt> + <dd>vrai si <var>test_condition</var> est vrai</dd> + + <dt><code>! <var>test_condition</var></code></dt> + <dd>vrai si <var>test_condition</var> est faux</dd> + + <dt><code><var>test_condition1</var> && + <var>test_condition2</var></code></dt> + <dd>vrai si <var>test_condition1</var> et + <var>test_condition2</var> sont tous les deux vrais</dd> + + <dt><code><var>test_condition1</var> || + <var>test_condition2</var></code></dt> + <dd>vrai si au moins un des tests <var>test_condition1</var> ou + <var>test_condition2</var> est vrai</dd> + </dl> + + <p>"<code>=</code>" et "<code>!=</code>" ont une priorité supérieure + à "<code>&&</code>" et "<code>||</code>". "<code>!</code>" a + la priorité la plus haute. Ainsi, les deux directives suivantes sont + équivalentes :</p> + + <div class="example"><p><code> + <!--#if expr="$a = test1 && $b = test2" --><br /> + <!--#if expr="($a = test1) && ($b = test2)" --> + </code></p></div> + + <p>Les opérateurs booléens <code>&&</code> et + <code>||</code> ont la même priorité. Ainsi, si vous voulez + augmenter la priorité d'un de ces opérateurs, vous devez utiliser + des parenthèses.</p> + + <p>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 : <code>'chaîne'</code>. 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,</p> + + <div class="example"><p><code><var>chaîne1</var> <var>chaîne2</var></code> devient <code><var>chaîne1</var> <var>chaîne2</var></code><br /> + <br /> + et<br /> + <br /> + <code>'<var>chaîne1</var> <var>chaîne2</var>'</code> devient <code><var>chaîne1</var> <var>chaîne2</var></code>.</p></div> + + <div class="note"><h3>Optimisation des expressions booléennes</h3> + <p>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 :</p> + <ul> + <li>Les expressions sont évaluées de la gauche vers la droite</li> + <li>Les opérateurs booléens binaires (<code>&&</code> et + <code>||</code>) 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, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> é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.</li> + <li>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 (<code>$1</code> .. <code>$9</code>).</li> + </ul> + <p>Si vous voulez déterminer la manière dont une expression est + traitée, vous pouvez recompiler <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en + utilisant l'option de compilation <code>-DDEBUG_INCLUDE</code>. + 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.</p> + </div> + + <div class="note"><h3>Slashes d'échappement dans les expressions + rationnelles</h3> + <p>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.</p> + </div> + + <div class="note"><h3>Documentation de référence</h3> + <p>Voir le document <a href="../expr.html">Les expressions dans le + serveur HTTP Apache</a>, pour une référence complète et des exemples.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssiendtag" id="ssiendtag">Directive</a> <a name="SSIEndTag" id="SSIEndTag">SSIEndTag</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui termine l'élément include</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIEndTag <var>tag</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIEndTag "-->"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>Cette directive permet de modifier la chaîne que + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme la fin d'un élément + include.</p> + + <pre class="prettyprint lang-config">SSIEndTag "%>"</pre> + + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#ssistarttag">SSIStartTag</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssierrormsg" id="ssierrormsg">Directive</a> <a name="SSIErrorMsg" id="SSIErrorMsg">SSIErrorMsg</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Message d'erreur affiché lorsqu'une erreur SSI +survient</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIErrorMsg <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIErrorMsg "[an error occurred while processing this +directive]"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>La directive <code class="directive">SSIErrorMsg</code> 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 <code>"<!-- Error + -->"</code>, de façon à ce que le message ne soit pas + présenté à l'utilisateur.</p> + + <p>Cette directive a le même effet que l'élément + <code><!--#config errmsg=<var>message</var> --></code>.</p> + + <pre class="prettyprint lang-config">SSIErrorMsg "<!-- Error -->"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssietag" id="ssietag">Directive</a> <a name="SSIETag" id="SSIETag">SSIETag</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes ETags sont générés par le serveur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIETag on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIETag off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.2.15 du serveur HTTP +Apache.</td></tr> +</table> + <p>Dans le cas général, un fichier filtré par + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> 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 <code>ETag</code> à la réponse + en ajoutant <code>no-etag</code> aux informations de requête.</p> + + <p>Ce comportement peut être modifié via la directive + <code class="directive">SSIETag</code> qui permet au serveur de générer un + en-tête <code>ETag</code>. 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 + <code>ETag</code>, en ignorant l'information <code>no-etag</code>, + cet en-tête <code>ETag</code> étant transmis par + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sans tenir compte de la définition de + la présente directive. La directive <code class="directive">SSIETag</code> + peut prendre une des valeurs suivantes :</p> + + <dl> + + <dt><code>off</code></dt> + <dd><code>no-etag</code> sera ajouté aux informations de + requête, et il sera demandé au serveur de ne pas générer + d'en-tête <code>ETag</code>. Lorsqu'un serveur ignore la valeur + de <code>no-etag</code> et génère tout de même un en-tête + <code>ETag</code>, ce dernier sera respecté.</dd> + + <dt><code>on</code></dt> + <dd>Les en-têtes <code>ETag</code> existants seront respectés, + et ceux générés par le serveur seront ajoutés à la réponse.</dd> + + </dl> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssilastmodified" id="ssilastmodified">Directive</a> <a name="SSILastModified" id="SSILastModified">SSILastModified</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes <code>Last-Modified</code> sont +générés par le serveur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSILastModified on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSILastModified off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.2.15 du serveur HTTP +Apache.</td></tr> +</table> + <p>Dans le cas général, un fichier filtré par + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> 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 + <code>Last-Modified</code> est supprimé par défaut de la réponse.</p> + + <p>La directive <code class="directive">SSILastModified</code> permet de + modifier ce comportement en faisant en sorte que l'en-tête + <code>Last-Modified</code> 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 + <code class="directive">SSILastModified</code> peut prendre une des + valeurs suivantes :</p> + + <dl> + + <dt><code>off</code></dt> + <dd>L'en-tête <code>Last-Modified</code> sera supprimé des + réponses, à moins que la directive <code class="directive"><a href="#xbithack">XBitHack</a></code> ne soit définie à + <code>full</code> comme décrit plus loin.</dd> + + <dt><code>on</code></dt> + <dd>L'en-tête <code>Last-Modified</code> 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 <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> l'emporte sur + la directive <code class="directive"><a href="#xbithack">XBitHack</a></code>.</dd> + + </dl> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssilegacyexprparser" id="ssilegacyexprparser">Directive</a> <a name="SSILegacyExprParser" id="SSILegacyExprParser">SSILegacyExprParser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le mode de compatibilité pour les expressions +conditionnelles.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSILegacyExprParser on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSILegacyExprParser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13.</td></tr> +</table> + <p>Depuis la version 2.3.13, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> a adopté + la nouvelle syntaxe <a href="../expr.html">ap_expr</a> pour ses + expressions conditionnelles dans les éléments de contrôle de flux + <code>#if</code>. Cette directive permet de réactiver l'<a href="#legacyexpr">ancienne syntaxe</a> qui est compatible avec les + versions 2.2.x et antérieures d'Apache HTTPD. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssistarttag" id="ssistarttag">Directive</a> <a name="SSIStartTag" id="SSIStartTag">SSIStartTag</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui marque le début d'un élément +include</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIStartTag <var>tag</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIStartTag "<!--#"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>Cette directive permet de modifier la chaîne que + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme le début d'un élément + include.</p> + + <p>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).</p> + + <pre class="prettyprint lang-config">SSIStartTag "<%" +SSIEndTag "%>"</pre> + + + <p>Avec l'exemple ci-dessus, qui définit aussi une directive + <code class="directive"><a href="#ssiendtag">SSIEndTag</a></code>, vous pourrez + inscrire des directives SSI comme dans l'exemple suivant :</p> + + <div class="example"><h3>Directives SSI avec marques de début et de fin + personnalisées</h3><p><code> + <%printenv %> + </code></p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#ssiendtag">SSIEndTag</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssitimeformat" id="ssitimeformat">Directive</a> <a name="SSITimeFormat" id="SSITimeFormat">SSITimeFormat</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration du format d'affichage des dates</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSITimeFormat <var>chaîne de formatage</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> +<p>Cette directive permet de modifier le format d'affichage des +variables d'environnement <code>DATE</code>. La <var>chaîne de +formatage</var> est identique à celle de la fonction +<code>strftime(3)</code> de la bibliothèque C standard.</p> + + <p>Cette directive a le même effet que l'élément + <code><!--#config timefmt=<var>chaîne de formatage</var> + --></code>.</p> + + <pre class="prettyprint lang-config">SSITimeFormat "%R, %B %d, %Y"</pre> + + + <p>Avec l'exemple ci-dessus, les dates seront affichées dans le + style "22:26, June 14, 2002".</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssiundefinedecho" id="ssiundefinedecho">Directive</a> <a name="SSIUndefinedEcho" id="SSIUndefinedEcho">SSIUndefinedEcho</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIUndefinedEcho <var>chaîne</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIUndefinedEcho "(none)"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>Cette directive permet de modifier la chaîne affichée par + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> lorsqu'on tente d'extraire le contenu + d'une variable non définie.</p> + + <pre class="prettyprint lang-config">SSIUndefinedEcho "<!-- nondef -->"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="xbithack" id="xbithack">Directive</a> <a name="XBitHack" id="XBitHack">XBitHack</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>XBitHack on|off|full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>XBitHack off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr> +</table> + <p>La directive <code class="directive">XBitHack</code> permet de contrôler + l'interprétation des documents html standards. Elle n'affecte que + les fichiers dont le <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> est + <code>text/html</code>. <code class="directive">XBitHack</code> peut prendre + les valeurs suivantes :</p> + + <dl> + <dt><code>off</code></dt> + <dd>Aucun traitement particulier pour les fichiers + exécutables.</dd> + + <dt><code>on</code></dt> + <dd>Tout fichier <code>text/html</code> dont le bit d'exécution + est positionné pour le propriétaire sera traité en tant que + document html interprété par le serveur.</dd> + + <dt><code>full</code></dt> + <dd>Identique à <code>on</code>, avec test du bit d'exécution pour + le groupe. Si ce dernier est positionné, la date de <code>dernière + modification</code> 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. + + <div class="note"><h3>Note</h3> + <p>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'<code>#include</code> 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).</p> + + <p>Lorsqu'elle est définie à <code>on</code>, la directive + <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> + l'emporte sur la directive <code class="directive"><a href="#xbithack">XBitHack</a></code>.</p> + </div> + + </dd> + </dl> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_include.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_include.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_include.html.ja.utf8 b/docs/manual/mod/mod_include.html.ja.utf8 new file mode 100644 index 0000000..3cee0fd --- /dev/null +++ b/docs/manual/mod/mod_include.html.ja.utf8 @@ -0,0 +1,901 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_include - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_include</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_include.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_include.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーバがパースする html ドキュメント (Server Side Includes)</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>include_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_include.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 から出力フィルタとして実装されました。</td></tr></table> +<h3>概要</h3> + + <p>このモジュールはファイルがクライアントに送られる前に処理するフィルタを + 提供します。処理の内容は<dfn>要素</dfn>と呼ばれる特別な形式の SGML コメントにより + 制御されます。これらの要素は条件分岐や、他のファイルや + プログラムの出力の取り込み、環境変数の設定や表示を行なうことが + できます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enabling">Server-Side Includes を有効にする</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pathinfo">サーバサイドインクルード (SSI) での PATH_INFO</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#elements">基本要素</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#includevars">Include 変数</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substitution">変数置換</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#flowctrl">フロー制御要素</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ssiendtag">SSIEndTag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssierrormsg">SSIErrorMsg</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssietag">SSIETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssilastmodified">SSILastModified</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssilegacyexprparser">SSILegacyExprParser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssistarttag">SSIStartTag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssitimeformat">SSITimeFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssiundefinedecho">SSIUndefinedEcho</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xbithack">XBitHack</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_include">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_include">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +<li><a href="../filter.html">フィルタ</a></li> +<li><a href="../howto/ssi.html">SSI チュートリアル</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enabling" id="enabling">Server-Side Includes を有効にする</a></h2> + + + <p>Server Side Includes は <code>INCLUDES</code> + <a href="../filter.html">フィルタ</a> により実装されています。 + Server-side include のディレクティブを含むドキュメントの拡張子が + .shtml の場合、以下のディレクティブでは Apache がそれらを + パースして、その結果できるドキュメントに <code>text/html</code> の + MIME タイプを割り当てます:</p> + + <div class="example"><p><code> + AddType text/html .shtml<br /> + AddOutputFilter INCLUDES .shtml + </code></p></div> + + <p>以下のディレクティブは shtml ファイルのあるディレクトリで指定されている + 必要があります (通常は <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> セクションで指定しますが、 + <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> <code>Options</code> + が設定されていると、<code>.htaccess</code> ファイルに書くこともできます):</p> + + <div class="example"><p><code> + Options +Includes + </code></p></div> + + <p>互換性を保つために、<code>server-parsed</code> + <a href="../handler.html">ハンドラ</a> も INCLUDES フィルタを + 有効にします。MIME タイプ <code>text/x-server-parsed-html</code> や + <code>text/x-server-parsed-html3</code> のドキュメントに対しても + Apache は INCLUDES フィルタを有効にします (出力されるものは + MIME タイプ <code>text/html</code> になります)。</p> + + <p>詳しい情報は <a href="../howto/ssi.html">Tutorial on Server Side Includes</a>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="pathinfo" id="pathinfo">サーバサイドインクルード (SSI) での PATH_INFO</a></h2> + + + <p>SSI で処理されるファイルはデフォルトでは <code>PATH_INFO</code> + (後続のパス名情報) + 付きのリクエストを受け入れなくなりました。<code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> ディレクティブで + <code>PATH_INFO</code> 付きのリクエストを受け入れるようにサーバを + 設定できます。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="elements" id="elements">基本要素</a></h2> + <p>ドキュメントは、SGML のコメントとして特別なコマンドが埋め込まれた + HTML ドキュメントとしてパースされます。コマンドの構文は次のように + なっています:</p> + + <div class="example"><p><code> + <!--#<var>element</var> <var>attribute</var>=<var>value</var> + <var>attribute</var>=<var>value</var> ... --> + </code></p></div> + + <p>値 <span class="transnote">(<em>訳注:</em> value)</span> は二重引用符で囲むのが一般的ですが、 + シングルクオート (') とバッククオート (`) も使用できます。 + 多くのコマンドは属性-値 <span class="transnote">(<em>訳注:</em> attribute-value)</span> の組を一つだけ指定できます。 + コメントの終わり (<code>--></code>) + の前には、SSI の句の一部だと解釈されないようにするために空白を + 入れてください。最初の <code><!--#</code> はまとめて<em>一つ</em>の + 句で、空白をふくんではいけないこと注意してください。</p> + + <p>要素 <span class="transnote">(<em>訳注:</em> element)</span> を以下の表に示します。</p> + + <table class="bordered"> + <tr><th>要素</th><th>説明</th></tr> + <tr><td><code><a href="#element.config">config</a></code></td> + <td>configure output formats</td></tr> + <tr><td><code><a href="#element.echo">echo</a></code></td> + <td>print variables</td></tr> + <tr><td><code><a href="#element.exec">exec</a></code></td> + <td>execute external programs</td></tr> + <tr><td><code><a href="#element.fsize">fsize</a></code></td> + <td>print size of a file</td></tr> + <tr><td><code><a href="#element.flastmod">flastmod</a></code></td> + <td>print last modification time of a file</td></tr> + <tr><td><code><a href="#element.include">include</a></code></td> + <td>include a file</td></tr> + <tr><td><code><a href="#element.printenv">printenv</a></code></td> + <td>print all available variables</td></tr> + <tr><td><code><a href="#element.set">set</a></code></td> + <td>set a value of a variable</td></tr> + </table> + + <p>SSI 要素は <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> 以外のモジュールで + 定義されることもあります。実際、 + <code><a href="#element.exec">exec</a></code> 要素は + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> で提供されていて、このモジュールが + ロードされる場合にのみ利用可能となります。</p> + + <h3><a name="element.config" id="element.config">config 要素</a></h3> + <p>次のコマンドは解析の様々な側面を制御します。属性は次の通りです。</p> + + <dl> + <dt><code>echomsg</code> (<em>Apache 2.1 以降</em>)</dt> + <dd>指定される値は、<code><a href="#element.echo">echo</a></code> + 要素が未定義の変数をエコーしようとした際に、 + クライアントに送られるメッセージになります。 + <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code> + ディレクティブを上書きします。</dd> + + <dt><code>errmsg</code></dt> + <dd>この値が、ドキュメントの解析中にエラーが発生した時に + クライアントに送信されるメッセージになります。 + <code class="directive"><a href="#ssierrormsg">SSIErrorMsg</a></code> + ディレクティブを上書きします。</dd> + + <dt><code>sizefmt</code></dt> + <dd>この値は、ファイルのサイズを表示する際に使用する + フォーマットを設定します。値は バイトカウントの + <code>bytes</code>か、Kb や Mb を優先的に使用する + <code>abbrec</code> (例えば 1024 バイトは "1K" と表示されます) + です。</dd> + + <dt><code>timefmt</code></dt> + <dd>この値は <code>strftime(3)</code> ライブラリルーチンが + 日時をプリントする際に用いられます。</dd> + </dl> + + + <h3><a name="element.echo" id="element.echo">echo 要素</a></h3> + <p>このコマンドは以下で定義されている <a href="#includevars">include + 変数</a> を表示します。変数が設定されていない場合は <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code> ディレクティブで + 決定される結果となります。日付はその時点での <code>timefmt</code> に従って + 表示されます。属性は次の通りです。</p> + + <dl> + <dt><code>var</code></dt> + <dd>値は表示する変数の名前です。</dd> + + <dt><code>encoding</code></dt> + <dd><p>変数を出力する前に、変数中の特別文字をどのようにエンコードするかを + 指定します。<code>none</code> に設定されていると、エンコードは行なわれません。 + <code>url</code> に設定されていると、URL エンコード (%-エンコードとも + 呼ばれています。これはリンク等の URL の使用に適切です) が + 行なわれます。<code>echo</code> 要素の開始時は、デフォルトは + <code>entity</code> に設定されています。これはエンティティエンコード + (段落やテキストなどのブロックレベルの HTML エレメントのコンテキストに + 適しています) を行ないます。これは <code>encoding</code> 属性 + を加えることで変更できます。変更は次の <code>encoding</code> 属性か、 + 要素の終了まで効力を持ちます。</p> + + <p><code>encoding</code> 属性はエンコードの変更をしたい <code>var</code> + の<em>前に</em> ある必要があることに注意してください。 + また、ISO-8859-1 エンコーディングで + 定義されている特別な文字だけがエンコードされます。 + 別の文字のエンコーディングの場合は、このエンコーディングは + 望みの結果にならないかもしれません。</p> + + <div class="warning"> + クロスサイトスクリプティングの問題を避けるために、 + <em>常に</em>ユーザからのデータをエンコードすべきです。 + </div> + </dd> + </dl> + + + <h3><a name="element.exec" id="element.exec">exec 要素</a></h3> + <p><code>exec</code> コマンドは指定されたシェルコマンドや CGI スクリプトを + 実行します。<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> がサーバに組み込まれているいなければ + なりません。<code class="directive"><a href="../mod/core.html#option">Option</a></code> + <code>IncludesNOEXEC</code> はこのコマンドを無効にします。 + 使用可能な属性は次の通りです。</p> + + <dl> + <dt><code>cgi</code></dt> + <dd><p>値は (%-エンコードされた) URL を指定します。パスが + スラッシュ (/) で始まらないときは、ドキュメントからの + 相対パスとして扱われます。このパスで参照されているドキュメントは + サーバが CGI スクリプトとして扱っていなくても CGI スクリプトとして + 起動されます。ただし、スクリプトのあるディレクトリでは + (<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + や <code class="directive"><a href="../mod/core.html#option">Option</a></code> <code>ExecCGI</code> + によって) CGI スクリプトの使用が許可されている必要があります。</p> + + <p>CGI スクリプトには、クライアントからの元々のリクエストの + <code>PATH_INFO</code> とクエリー文字列 (<code>QUERY_STRING</code>) が渡されます。 + これらは URL パスとして特定<em>できない</em>ものです。 + スクリプトは標準 <a href="mod_cgi.html">CGI</a> 環境に加えて、include 変数を + 使用することができます。</p> + + <div class="example"><h3>例</h3><p><code> + <!--#exec cgi="/cgi-bin/example.cgi" --> + </code></p></div> + + <p>スクリプトが、出力の代わりに <code>Location:</code> ヘッダを返すと、 + HTML のアンカー <span class="transnote">(<em>訳注:</em> リンク)</span> に変換されます。</p> + + <p><code>exec cgi</code> よりも、 + <code><a href="#includevirtual">include virtual</a></code> + の方を使うようにしてください。特に、CGI への追加の引数を + クエリー文字列を使って渡すことは <code>exec cgi</code> は + できませんが、<code>include virtual</code> は以下のようにして + 可能です。</p> + + <div class="example"><p><code> + <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> + </code></p></div> + </dd> + + <dt><code>cmd</code></dt> + <dd><p>サーバは指定された文字列を <code>/bin/sh</code> を使って + 実行します。コマンドは通常の CGI 変数に加えて <a href="#includevars">include 変数</a>も使うことができます。</p> + + <p>ほとんどの場合、<code><a href="#includevirtual">#include + virtual</a></code> を使う方が <code>#exec cgi</code> や <code>#exec + cmd</code> を使うよりも良いです。前者 (<code>#include virtual</code>) + は標準の Apache のサブリクエスト機構を使ってファイルやスクリプトの + 出力を取り込みます。 + こちらの方がよくテストされメンテナンスされた方法です。</p> + + <p>さらに、Win32 のようないくつかのプラットフォームや、<a href="../suexec.html">suexec</a> を使っている unix では、 + <code>exec</code> ディレクティブのコマンドに + 引数を渡したり、コマンドに空白を入れることはできません。 + ですから、以下のものは unix の suexec でない設定では動作しますが、 + Win32 や suexec を使っている unix では期待した結果にはなりません:</p> + + <div class="example"><p><code> + <!--#exec cmd="perl /path/to/perlscript arg1 arg2" --> + </code></p></div> + </dd> + </dl> + + + <h3><a name="element.fsize" id="element.fsize">fsize 要素</a></h3> + <p>このコマンドは指定されたファイルの大きさを <code>sizefmt</code> の + 書式指定に基づいて出力します。属性は次の通りです。</p> + + <dl> + <dt><code>file</code></dt> + <dd>値は解析されているドキュメントの存在するディレクトリからの + 相対パスです。</dd> + + <dt><code>virtual</code></dt> + <dd> 値は (% エンコードされた) URL-path です。スラッシュ (/) で + 始まらないときはドキュメントからの相対パスとして扱われます。 + CGI の出力のサイズはプリント<em>されません</em>。CGI + スクリプト自体のサイズがプリントされることに注意してください。</dd> + </dl> + + + <h3><a name="element.flastmod" id="element.flastmod">flastmod 要素</a></h3> + <p>このコマンドは指定されたファイルの最終修正時刻を + <code>timefmt</code> 書式指定に従って表示します。 + 指定可能な属性は <code>fsize</code> コマンドと同じです。</p> + + + <h3><a name="element.include" id="element.include">include 要素</a></h3> + <p>このコマンドは別の文書やファイルのテキストを解析しているファイルに + 挿入します。挿入されるファイルはアクセス制御の管理下にあります。 + 解析しているファイルの存在するディレクトリに + <a href="core.html#options">Option</a> <code>IncludesNOEXEC</code> + が設定されている場合、text <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> + (<code>text/plain</code>, <code>text/html</code> 等) + のドキュメントのみインクルードが行なわれます。 + その他の場合は、クエリー文字列も含め、コマンドで指定された + 完全な URL を使って普通に CGI スクリプトが呼び出されます。</p> + + <p>属性が文書の位置を指定します。include コマンドに与えられたそれぞれの + 属性に対して挿入作業が行なわれます。有効な属性は次の通りです。</p> + + <dl> + <dt><code>file</code></dt> + <dd>値は解析されているドキュメントの存在するディレクトリからの + 相対パスです。 + <code>../</code> を含んでいたり、絶対パスを指定したりはできません。 + ですから、ドキュメントルートの外にあるファイルや、ディレクトリ構造で + 上位にあるファイルを挿入することはできません。 + 常にこの属性よりは、<code>virtual</code> 属性を使うようにしてください。 + </dd> + + <dt><code><a id="includevirtual" name="includevirtual">virtual</a></code></dt> + <dd><p>値は解析されているドキュメントからの (% エンコードされた) URL + です。URL にはスキームやホスト名を含めることはできません。パスと、 + もしあればクエリー文字列を指定できるだけです。スラッシュ (/) から + 始まらない場合は、ドキュメントからの相対パスとして扱われます。</p> + + <p>URL は属性から作られ、その URL をクライアントがアクセスしたときに + 出力される内容が解析後の出力に含められます。ですから、挿入される + ファイルは入れ子構造にすることができます。</p> + + <p>指定された URL が CGI プログラムであった場合は、 + プログラムが実行され、その出力が解析しているファイル中の + ディレクティブがあった位置に挿入されます。CGI の url に + クエリー URL を入れることもできます。</p> + + <div class="example"><p><code> + <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> + </code></p></div> + + <p>HTML ドキュメントに CGI プログラムの出力を含める方法としては、 + <code>include virtual</code> の方が <code>exec cgi</code> よりも + 好ましい方法です。</p> + + <p><code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code> + ディレクティブが設定されていて、かつ、この対象ファイルが + <span class="transnote">(<em>訳注:</em> POST リクエストを)</span>受け入れできるなら、 + POST リクエストを受け取ってサブリクエストを発行する際にも + POST リクエストが渡されます。 + このディレクティブが設定されていない場合は、 + サブリクエストは GET リクエストとして処理されます。</p> + + </dd> + </dl> + + + <h3><a name="element.printenv" id="element.printenv">printenv 要素</a></h3> + <p>これは、存在するすべての変数とその値を表示します。Apache 1.3.12 から、 + 特別な文字は出力される前にエンティティエンコード (詳細は <a href="#element.echo"><code>echo</code></a> 要素を参照) + されるようになりました。属性はありません。</p> + + <div class="example"><h3>例</h3><p><code> + <!--#printenv --> + </code></p></div> + + + <h3><a name="element.set" id="element.set">set 要素</a></h3> + <p>これは変数の値を設定します。属性は次の通りです。</p> + + <dl> + <dt><code>var</code></dt> + <dd>設定する変数の名前。</dd> + + <dt><code>value</code></dt> + <dd>変数に設定する値。</dd> + </dl> + + <div class="example"><h3>例</h3><p><code> + <!--#set var="category" value="help" --> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="includevars" id="includevars">Include 変数</a></h2> + + + <p>標準 CGI 環境の変数に加えて、<code>echo</code> コマンドや、 + <code>if</code> や <code>elif</code>, それにドキュメントから呼び出される + すべてのプログラムから使用できる変数があります。</p> + + <dl> + <dt><code>DATE_GMT</code></dt> + <dd>グリニッジ標準時による現在時刻。</dd> + + <dt><code>DATE_LOCAL</code></dt> + <dd>ローカルの標準時による現在時刻。</dd> + + <dt><code>DOCUMENT_NAME</code></dt> + <dd>ユーザがリクエストした (ディレクトリを除いた) ファイル名。</dd> + + <dt><code>DOCUMENT_URI</code></dt> + <dd>ユーザがリクエストした (% エンコードされた) URL-path。 + 挿入ファイルが入れ子になっている場合は、解析されている + ドキュメントの URL では<em>ない</em>ことに注意してください。</dd> + + <dt><code>LAST_MODIFIED</code></dt> + <dd>ユーザがリクエストしたドキュメントの最終修正時刻。</dd> + + <dt><code>QUERY_STRING_UNESCAPED</code></dt> + <dd>クエリー文字列がある場合、この変数には (%-デコードされた) + クエリー文字列が代入されていて、shell で使用できるように + <em>エスケープ</em>されています (<code>&</code> + といった特殊文字にはバックスラッシュが直前に置かれます)。</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="substitution" id="substitution">変数置換</a></h2> + + <p>変数置換はたいていの場合 SSI ディレクティブの引数として妥当な場所にある + 引用符で囲まれた文字列中で行なわれます。これに該当するものには、 + <code>config</code>, + <code>exec</code>, <code>flastmod</code>, <code>fsize</code>, + <code>include</code>, <code>echo</code>, <code>set</code> の + 各ディレクティブと、条件分岐用のオペレータへの引数があります。 + ドル記号はバックスラッシュを使うことで使うことができます:</p> + + <div class="example"><p><code> + <!--#if expr="$a = \$test" --> + </code></p></div> + + <p>変数名としてみなされる文字列の中で変数への参照を置換する必要があるときは、 + シェルでの変数置換のように、中括弧で括ることで区別することができます:</p> + + <div class="example"><p><code> + <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> + </code></p></div> + + <p>この例では、<code>REMOTE_HOST</code> が + "<code>X</code>" で <code>REQUEST_METHOD</code> が + "<code>Y</code>" のときに変数 <code>Zed</code> を "<code>X_Y</code>" + に設定します。</p> + + <p>以下の例では、<code>DOCUMENT_URI</code> が <code>/foo/file.html</code> + のときに "in foo" を、<code>/bar/file.html</code> のときに "in bar" を、 + どちらでもないときには "in neither" を表示します。</p> + + <div class="example"><p><code> + <!--#if expr='"$DOCUMENT_URI" = "/foo/file.html"' --><br /> + <span class="indent"> + in foo<br /> + </span> + <!--#elif expr='"$DOCUMENT_URI" = "/bar/file.html"' --><br /> + <span class="indent"> + in bar<br /> + </span> + <!--#else --><br /> + <span class="indent"> + in neither<br /> + </span> + <!--#endif --> + </code></p></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="flowctrl" id="flowctrl">フロー制御要素</a></h2> + + + <p>基本的なフローコントロール要素は次の通りです。</p> + + <div class="example"><p><code> + <!--#if expr="<var>test_condition</var>" --><br /> + <!--#elif expr="<var>test_condition</var>" --><br /> + <!--#else --><br /> + <!--#endif --> + </code></p></div> + + <p><code>if</code> 要素はプログラミング言語の + if 文と同じように動作します。条件が評価され、結果が真であれば次の + <code>elif</code> か <code>else</code> か <code>endif</code> + 要素までの文字列が出力に挿入されます。</p> + + <p><code>elif</code> や <code>else</code> 文は <var>test_condition</var> + が偽のときにテキストを出力に挿入するために使われます。 + これらの要素はあってもなくても構いません。</p> + + <p><code>endif</code> 要素は <code>if</code> + 要素を終了させます。この要素は必須です。</p> + + <p><var>test_condition</var> は以下のどれかです:</p> + + <dl> + <dt><code><var>string</var></code></dt> + <dd><var>string</var> が空でない場合に真です</dd> + + <dt><code><var>-A string</var></code></dt> + <dd><p><span class="transnote">(<em>訳注:</em> httpd の)</span>設定を検査して、 + 文字列で指定した URL にアクセスできる場合 true で、 + そうでなければ false になります。 + <code class="directive">SSIAccessEnable</code> が有効のときにのみ + この検査は行われます。 + 承認されていないユーザからは隠しておきたい URL についての情報、 + たとえば URL へのリンクなどがある場合に、便利です。 + 検査では URL へアクセスできるかの権限のみが行われ、URL + が存在するかどうかについては検査されないことに注意してください。</p> + + <div class="example"><h3>Example</h3><p><code> + <!--#if expr="-A /private" --><br /> + <span class="indent"> + Click <a href="/private">here</a> to access private + information.<br /> + </span> + <!--#endif --> + </code></p></div> + </dd> + + <dt><code><var>string1</var> = <var>string2</var><br /> + <var>string1</var> == <var>string2</var><br /> + <var>string1</var> != <var>string2</var></code></dt> + + <dd><p><var>string1</var> と <var>string2</var> を比較します。 + <var>string2</var> が <code>/<var>string</var>/</code> + という形式であれば、正規表現として比較されます。正規表現は + <a href="http://www.pcre.org">PCRE</a> エンジンで実装されていて、 + <a href="http://www.perl.com">perl 5</a> と同じ構文を使用します。 + <code>==</code> は単に <code>=</code> の別名で、まったく同じ動作を + します。</p> + + <p>正のマッチング (<code>=</code> または <code>==</code>) の場合は、 + 正規表現でグループ分けされたパーツをキャプチャすることができます。 + キャプチャされた部分は特殊変数 <code>$1</code> .. <code>$9</code> + に格納されます。</p> + + <div class="example"><h3>例</h3><p><code> + <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" --><br /> + <span class="indent"> + <!--#set var="session" value="$1" --><br /> + </span> + <!--#endif --> + </code></p></div> + </dd> + + <dt><code><var>string1</var> < <var>string2</var><br /> + <var>string1</var> <= <var>string2</var><br /> + <var>string1</var> > <var>string2</var><br /> + <var>string1</var> >= <var>string2</var></code></dt> + + <dd><var>string1</var> と <var>string2</var> を比較します。 + <em>文字列として</em>比較される (<code>strcmp(3)</code> を使用) + ことに注意してください。ですから、文字列 "100" は "20" + よりも小さいことになります。</dd> + + <dt><code>( <var>test_condition</var> )</code></dt> + <dd><var>test_condition</var> が真のとき、真</dd> + + <dt><code>! <var>test_condition</var></code></dt> + <dd><var>test_condition</var> が偽のとき、真</dd> + + <dt><code><var>test_condition1</var> && + <var>test_condition2</var></code></dt> + <dd><var>test_condition1</var> かつ + <var>test_condition2</var> が真のとき、真</dd> + + <dt><code><var>test_condition1</var> || + <var>test_condition2</var></code></dt> + <dd><var>test_condition1</var> または + <var>test_condition2</var> が真のとき、真</dd> + </dl> + + <p>"<em>=</em>" と "<em>!=</em>" の方が "<em>&&</em>" より + きつく束縛します。"<em>!</em>" の束縛が一番きつくなっています。 + ですから以下の二つは等価です:</p> + + <div class="example"><p><code> + <!--#if expr="$a = test1 && $b = test2" --><br /> + <!--#if expr="($a = test1) && ($b = test2)" --> + </code></p></div> + + <p>真偽値オペレータ <code>&&</code> と <code>||</code> + は同じ優先度です。 + これらのオペレータで一方により強い優先度をつけたい場合には、 + 括弧を使う必要があります。</p> + + <p>変数やオペレータとして認識されないものはすべて文字列として + 扱われます。文字列は引用符で囲むこともできます: <code>'string'</code> + のように。引用符で囲まれていない文字列には空白 (スペースとタブ) + を含めることはできません。それらは変数などの句を分離するために + 使われているからです。複数の文字列が続いているときは、 + 空白を間に入れて一つにくっつけられます。ですから、</p> + + <div class="example"><p><code><var>string1</var> <var>string2</var></code> は <code><var>string1</var> <var>string2</var></code> になります。<br /> + <br /> + また、<br /> + <br /> + <code>'<var>string1</var> <var>string2</var>'</code> は <code><var>string1</var> <var>string2</var></code> + になります。</p></div> + + <div class="note"><h3>真偽値表現の最適化</h3> + <p>式がもっと複雑になり、処理の速度低下が顕著になった場合は、 + 評価ルールに従って最適化してみると良いでしょう。</p> + <ul> + <li>評価は左から右に向かって行われます。</li> + <li>二値真偽値オペレータ (<code>&&</code> と <code>||</code>) + は、出来る限り短絡評価されます。つまり結果として上記のルールは、 + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> が左の評価式を評価します。 + 左側で結果を十分決定できる場合は、評価はそこで停止します。 + そうでない場合は右側を評価して、左と右の両方から結果を計算します。</li> + <li>短絡評価は評価の対象に正規表現が含まれる場合、オフになります。 + 後方参照する変数 (<code>$1</code> .. <code>$9</code>) + を埋めるために、実際に評価する必要があるからです。</li> + </ul> + <p>特定の式がどのように扱われるかを知りたい場合は、 + <code>-DDEBUG_INCLUDE</code> コンパイラオプションを付けて + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> をリコンパイルすると良いでしょう。 + これにより、全てのパースされた式に対して、字句解析情報、 + パースツリーと、 + それがどのようにクライアントに送られた出力まで評価されたかを + 挿入します。</p> + </div> + + <div class="note"><h3>正規表現内での / のエスケープ</h3> + <p>正規表現内でデリミタとして扱いたくない / があれば、それらは全て + エスケープしなければなりません。 + 正規表現の意味がどうであろうとエスケープは必要です。</p> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIEndTag" id="SSIEndTag">SSIEndTag</a> <a name="ssiendtag" id="ssiendtag">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>include 要素を終了させる文字列</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIEndTag <var>tag</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIEndTag "-->"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.30 以降で利用可能</td></tr> +</table> + <p>このディレクティブは <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> が探す、 + include 要素の終了を示す文字列を変更します。</p> + + <div class="example"><h3>例</h3><p><code> + SSIEndTag "%>" + </code></p></div> + + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#ssistarttag">SSIStartTag</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIErrorMsg" id="SSIErrorMsg">SSIErrorMsg</a> <a name="ssierrormsg" id="ssierrormsg">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>SSI のエラーがあったときに表示されるエラーメッセージ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIErrorMsg <var>message</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIErrorMsg "[an error occurred while processing this +directive]"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.30 以降で使用可能</td></tr> +</table> + <p><code class="directive">SSIErrorMsg</code> ディレクティブは <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + がエラーが起こったときに表示するメッセージを変更します。プロダクションサーバでは + メッセージがユーザに表示されないようにするために + デフォルトエラーメッセージを <code>"<!-- Error -->"</code> + に変えるというようなことを考えるかもしれません。</p> + + <p>このディレクティブは <code><!--#config + errmsg=<var>message</var> --></code> 要素と同じ効果になります。</p> + + <div class="example"><h3>例</h3><p><code> + SSIErrorMsg "<!-- Error -->" + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIETag" id="SSIETag">SSIETag</a> <a name="ssietag" id="ssietag">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether ETags are generated by the server.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIETag on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIETag off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.2.15 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSILastModified" id="SSILastModified">SSILastModified</a> <a name="ssilastmodified" id="ssilastmodified">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSILastModified on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSILastModified off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.2.15 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSILegacyExprParser" id="SSILegacyExprParser">SSILegacyExprParser</a> <a name="ssilegacyexprparser" id="ssilegacyexprparser">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable compatibility mode for conditional expressions.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSILegacyExprParser on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSILegacyExprParser off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.3.13 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIStartTag" id="SSIStartTag">SSIStartTag</a> <a name="ssistarttag" id="ssistarttag">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>include 要素を開始する文字列</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIStartTag <var>tag</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIStartTag "<!--#"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.30 以降で使用可能</td></tr> +</table> + + <p>このディレクティブは <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> が探す、include + 要素の開始を示す文字列を変更します。</p> + + <p>二つのサーバで (もしかすると別々の段階で) ファイルの出力を解析していて、 + それぞれに違うコマンドを処理させたい、 + というようなときにこのオプションを使います。</p> + + <div class="example"><h3>例</h3><p><code> + SSIStartTag "<%"<br /> + SSIEndTag "%>" + </code></p></div> + + <p>上の例のように対応する + <code class="directive"><a href="#ssiendtag">SSIEndTag</a></code> を併せて使うと、 + 下に示す例のように SSI ディレクティブを使えます:</p> + + <div class="example"><h3>違う開始と終了のタグを使った SSI ディレクティブ</h3><p><code> + <%printenv %> + </code></p></div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#ssiendtag">SSIEndTag</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSITimeFormat" id="SSITimeFormat">SSITimeFormat</a> <a name="ssitimeformat" id="ssitimeformat">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>日付けを現す文字列の書式を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSITimeFormat <var>formatstring</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.30 以降で使用可能</td></tr> +</table> +<p>このディレクティブは <code>DATE</code> 環境変数を echo して日付を現す文字列が + 表示されるときの書式を変更します。<var>formatstring</var> は + C 標準ライブラリの <code>strftime(3)</code> と同じ形式です。</p> + + <p>このディレクティブは <code><!--#config + timefmt=<var>formatstring</var> --></code> 要素と同じ効果になります。</p> + + <div class="example"><h3>例</h3><p><code> + SSITimeFormat "%R, %B %d, %Y" + </code></p></div> + + <p>上のディレクティブでは、日付は "22:26, June 14, 2002" という + 形式で表示されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSIUndefinedEcho" id="SSIUndefinedEcho">SSIUndefinedEcho</a> <a name="ssiundefinedecho" id="ssiundefinedecho">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>未定義の変数が echo されたときに表示される文字列</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIUndefinedEcho <var>string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIUndefinedEcho "(none)"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.34 以降で利用可能</td></tr> +</table> + <p>このディレクティブは変数が定義されていないにも関わらず + "echo" されたときに <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + が表示する文字列を変更します。</p> + + <div class="example"><h3>例</h3><p><code> + SSIUndefinedEcho "<!-- undef -->" + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="XBitHack" id="XBitHack">XBitHack</a> <a name="xbithack" id="xbithack">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>実行ビットが設定されたファイルの SSI ディレクティブを +解析する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>XBitHack on|off|full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>XBitHack off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> +</table> + <p><code class="directive">XBitHack</code> ディレクティブは通常の HTML + ドキュメントの解析を制御します。このディレクティブは <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> + <code>text/html</code> と関連付けられているファイルにのみ影響します。 + <code class="directive">XBitHack</code> は以下の値をとることができます。</p> + + <dl> + <dt><code>off</code></dt> + <dd>実行可能ファイルに対して特別な扱いをしません。</dd> + + <dt><code>on</code></dt> + <dd>ユーザの実行ビットが設定されている <code>text/html</code> + ファイルは全てサーバで解析する html ドキュメントとして扱われます。</dd> + + <dt><code>full</code></dt> + <dd><code>on</code> と同様ですが、グループ実行ビットもテストします。 + もしそれが設定されていれば、返されるファイルの <code>Last-modified</code> の + 日付をファイルの最終修正時刻にします。それが設定されていないときは、 + last-modified の日付は送られません。このビットを設定すると、 + クライアントやプロキシがリクエストをキャッシュできるようになります。 + + <div class="note"><strong>注意</strong> 他の CGI を <code>#include</code> + するかもしれないものや、各アクセスに対して違う出力を生成する + (もしくは後のリクエストで変わるかもしれないもの) + すべての SSI スクリプトに対してグループ実行ビットが + 設定されていないことを確認できない場合は、full は使わない方が良い + でしょう。</div> + </dd> + </dl> + + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_include.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_include.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_include.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_info.html b/docs/manual/mod/mod_info.html new file mode 100644 index 0000000..058b312 --- /dev/null +++ b/docs/manual/mod/mod_info.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_info.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_info.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_info.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_info.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_info.html.en b/docs/manual/mod/mod_info.html.en new file mode 100644 index 0000000..a276ac3 --- /dev/null +++ b/docs/manual/mod/mod_info.html.en @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_info - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_info</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_info.html" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides a comprehensive overview of the server +configuration</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>info_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_info.c</td></tr></table> +<h3>Summary</h3> + + <p>To configure <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>, add the following to your + <code>httpd.conf</code> file.</p> + + <pre class="prettyprint lang-config"><Location "/server-info"> + SetHandler server-info +</Location></pre> + + + <p>You may wish to use <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> inside the + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> + directive to limit access to your server configuration + information:</p> + + <pre class="prettyprint lang-config"><Location "/server-info"> + SetHandler server-info + Require host example.com +</Location></pre> + + + <p>Once configured, the server information is obtained by + accessing <code>http://your.host.example.com/server-info</code></p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Issues</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#queries">Selecting the information shown</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startup">Dumping the configuration on startup</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitations">Known Limitations</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_info">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_info">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Security Issues</a></h2> + <p>Once <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> is loaded into the server, its + handler capability is available in <em>all</em> configuration + files, including per-directory files (<em>e.g.</em>, + <code>.htaccess</code>). This may have security-related + ramifications for your site.</p> + + <p>In particular, this module can leak sensitive information + from the configuration directives of other Apache modules such as + system paths, usernames/passwords, database names, etc. Therefore, + this module should <strong>only</strong> be + used in a controlled environment and always with caution.</p> + + <p>You will probably want to use <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> + to limit access to your server configuration information.</p> + + <div class="example"><h3>Access control</h3><pre class="prettyprint lang-config"><Location "/server-info"> + SetHandler server-info + # Allow access from server itself + Require ip 127.0.0.1 + + # Additionally, allow access from local workstation + Require ip 192.168.1.17 +</Location></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="queries" id="queries">Selecting the information shown</a></h2> + <p>By default, the server information includes a list of + all enabled modules, and for each module, a description of + the directives understood by that module, the hooks implemented + by that module, and the relevant directives from the current + configuration.</p> + + <p>Other views of the configuration information are available by + appending a query to the <code>server-info</code> request. For + example, <code>http://your.host.example.com/server-info?config</code> + will show all configuration directives.</p> + + <dl> + <dt><code>?<module-name></code></dt> + <dd>Only information relevant to the named module</dd> + <dt><code>?config</code></dt> + <dd>Just the configuration directives, not sorted by module</dd> + <dt><code>?hooks</code></dt> + <dd>Only the list of Hooks each module is attached to</dd> + <dt><code>?list</code></dt> + <dd>Only a simple list of enabled modules</dd> + <dt><code>?server</code></dt> + <dd>Only the basic server information</dd> + <dt><code>?providers</code></dt> + <dd>List the providers that are available on your server</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="startup" id="startup">Dumping the configuration on startup</a></h2> + <p>If the config define <code>-DDUMP_CONFIG</code> is set, + <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> will dump the pre-parsed configuration to + <code>stdout</code> during server startup.</p> + + <pre class="prettyprint lang-sh">httpd -DDUMP_CONFIG -k start</pre> + + + <p>Pre-parsed means that directives like + <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> and + <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> are + evaluated and environment variables are replaced. However it does + not represent the final state of the configuration. In particular, + it does not represent the merging or overriding that may happen + for repeated directives.</p> + + <p>This is roughly equivalent to the <code>?config</code> query.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="limitations" id="limitations">Known Limitations</a></h2> + <p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> provides its information by reading the + parsed configuration, rather than reading the original configuration + file. There are a few limitations as a result of the way the parsed + configuration tree is created:</p> + <ul> + <li>Directives which are executed immediately rather than being + stored in the parsed configuration are not listed. These include + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, and + <code class="directive"><a href="../mod/mod_so.html#loadfile">LoadFile</a></code>.</li> + <li>Directives which control the configuration file itself, such as + <code class="directive"><a href="../mod/core.html#include">Include</a></code>, + <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> and + <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> are not + listed, but the included configuration directives are.</li> + <li>Comments are not listed. (This may be considered a feature.)</li> + <li>Configuration directives from <code>.htaccess</code> files are + not listed (since they do not form part of the permanent server + configuration).</li> + <li>Container directives such as + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + are listed normally, but <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> cannot figure + out the line number for the closing + <code class="directive"><a href="../mod/core.html#directory"></Directory></a></code>.</li> + <li>Directives generated by third party modules such as <a href="http://perl.apache.org">mod_perl</a> + might not be listed.</li> + </ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a> <a name="addmoduleinfo" id="addmoduleinfo">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds additional information to the module +information displayed by the server-info handler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddModuleInfo <var>module-name</var> <var>string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_info</td></tr> +</table> + <p>This allows the content of <var>string</var> to be shown as + HTML interpreted, <strong>Additional Information</strong> for + the module <var>module-name</var>. Example:</p> + + <pre class="prettyprint lang-config">AddModuleInfo mod_deflate.c 'See <a \ + href="http://httpd.apache.org/docs/2.4/mod/mod_deflate.html">\ + http://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_info.html" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_info.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_info.html.fr.utf8 b/docs/manual/mod/mod_info.html.fr.utf8 new file mode 100644 index 0000000..8f1958f --- /dev/null +++ b/docs/manual/mod/mod_info.html.fr.utf8 @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_info - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_info</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Affiche une présentation complète de la configuration du +serveur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>info_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_info.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour activer <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>, ajoutez les lignes + suivantes à votre fichier <code>httpd.conf</code>.</p> + + <pre class="prettyprint lang-config"><Location "/server-info"> + SetHandler server-info +</Location></pre> + + + <p>Il est recommandé d'utiliser <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> à + l'intérieur de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> afin de restreindre l'accès aux + informations de configuration de votre serveur :</p> + + <pre class="prettyprint lang-config"><Location "/server-info"> + SetHandler server-info + Require host example.com +</Location></pre> + + + <p>Une fois cette configuration effectuée, les informations du + serveur sont disponibles à l'adresse + <code>http://votre-serveur.com/infos-serveur</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes liés à la sécurité</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#queries">Filtrage des informations affichées</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startup">Affichage de la configuration au démarrage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitations">Limitations connues</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_info">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_info">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Problèmes liés à la sécurité</a></h2> + <p>Une fois <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> chargé dans le serveur, sa + fonctionnalité de gestionnaire est disponible dans <em>tous</em> les + fichiers de configuration, y compris les fichiers de configuration + des répertoires (par exemple <code>.htaccess</code>). Ceci peut + avoir des répercutions en matière de sécurité pour votre site.</p> + + <p>En particulier, l'utilisation de ce module peut conduire à la + divulgation d'informations sensibles à partir des directives de + configuration d'autres modules Apache comme des chemins systèmes, + des couples nom d'utilisateur/mot de passe, des noms de bases de + données, etc... C'est pourquoi ce module ne doit être utilisé + <strong>que</strong> dans un environnement sous contrôle et toujours + avec les plus grandes précautions.</p> + + <p>Il est recommandé d'utiliser <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour + restreindre l'accès aux informations de configuration de votre + serveur.</p> + + <div class="example"><h3>Contrôle d'accès</h3><pre class="prettyprint lang-config"><Location "/server-info"> + SetHandler server-info + # Autorisation d'accès depuis le serveur lui-même + Require ip 127.0.0.1 + + # Autorisation d'accès depuis une station de travail du réseau +# local + Require ip 192.168.1.17 +</Location></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="queries" id="queries">Filtrage des informations affichées</a></h2> + <p>Par défaut, les informations affichées comprennent une liste de + tous les modules activés, et pour chaque module, une description des + directives qu'il accepte, les branchements (hooks) qu'il + implémente, ainsi que les directives concernées dans la + configuration courante.</p> + + <p>Il est possible d'afficher d'autres vues de la configuration en + ajoutant un argument à la requête <code>infos-serveur</code>. Par + exemple, <code>http://votre-serveur.com/infos-serveur?config</code> + affichera toutes les directives de configuration.</p> + + <dl> + <dt><code>?<module-name></code></dt> + <dd>Uniquement les informations relatives au module + spécifié</dd> + <dt><code>?config</code></dt> + <dd>Uniquement les directives de configuration, non triées + par module</dd> + <dt><code>?hooks</code></dt> + <dd>Uniquement la liste des branchements (hooks) + auxquels le module est attaché</dd> + <dt><code>?list</code></dt> + <dd>Une simple liste des modules activés</dd> + <dt><code>?server</code></dt> + <dd>Uniquement des informations de base sur le serveur</dd> + <dt><code>?providers</code></dt> + <dd>Liste des fournisseurs disponibles sur votre serveur</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="startup" id="startup">Affichage de la configuration au démarrage</a></h2> + <p>Si la directive de configuration define + <code>-DDUMP_CONFIG</code> est utilisée, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> va + envoyer la configuration préinterprétée vers <code>stdout</code> au + cours du démarrage du serveur.</p> + + <pre class="prettyprint lang-sh">httpd -DDUMP_CONFIG -k start</pre> + + + <p>"Préinterprétée" signifie que + les directives telles que <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> et <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> sont évaluées et les variables + d'environnement remplacées par leurs valeurs. Cela ne représente + cependant pas la configuration définitive. En particulier, les + fusions ou écrasementsde définitions en cas de directives multiples ne sont pas + représentés.</p> + + <p>Le résultat est équivalent à celui de la requête + <code>?config</code>.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="limitations" id="limitations">Limitations connues</a></h2> + <p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> tire ses informations de + la configuration interprétée, et non du fichier de configuration + original. La manière dont l'arbre de configuration interprété est + créé induit quelques limitations :</p> + <ul> + <li>Les directives qui sont traitées immédiatement sans être + enregistrées dans l'arbre de configuration interprété ne sont pas + prises en compte. Celles-ci comprennent <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> et <code class="directive"><a href="../mod/mod_so.html#loadfile">LoadFile</a></code>.</li> + <li>Les directives qui contrôlent le fichier de configuration + lui-même, comme <code class="directive"><a href="../mod/core.html#include">Include</a></code>, + <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> et + <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> ne + sont pas prises en compte, mais les directives de configuration + incluses le sont.</li> + <li>Les commentaires ne sont pas pris en compte (Ce qui peut être + considéré comme une fonctionnalité).</li> + <li>Les directives de configuration des fichiers + <code>.htaccess</code> ne sont pas prises en compte (car elles ne + font pas partie de la configuration permanente du serveur).</li> + <li>Les directives de conteneur comme <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sont affichées + normalement, mais <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> est incapable de + déterminer le numéro de ligne de la balise fermante + <code class="directive"><a href="../mod/core.html#directory"></Directory></a></code>.</li> + <li>Les directives générées par des modules tiers comme + <a href="http://perl.apache.org">mod_perl</a> peuvent ne pas être + prises en compte.</li> + </ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addmoduleinfo" id="addmoduleinfo">Directive</a> <a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des données supplémentaires aux informations de +module affichées par le gestionnaire server-info</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddModuleInfo <var>nom-module</var> <var>chaîne</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_info</td></tr> +</table> + <p>Cette directive permet d'afficher le contenu de <var>chaîne</var> + en tant qu'<strong>Information supplémentaire</strong> interprétée + en HTML pour le module <var>nom-module</var>. Exemple :</p> + + <pre class="prettyprint lang-config">AddModuleInfo mod_deflate.c 'See <a \ + href="http://httpd.apache.org/docs/2.4/mod/mod_deflate.html">\ + http://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_info.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_info.html.ja.utf8 b/docs/manual/mod/mod_info.html.ja.utf8 new file mode 100644 index 0000000..1bd3d16 --- /dev/null +++ b/docs/manual/mod/mod_info.html.ja.utf8 @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_info - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_info</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーバの設定の包括的な概観を提供する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>info_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_info.c</td></tr></table> +<h3>概要</h3> + + <p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> を設定するには、以下を <code>httpd.conf</code> + ファイルに加えます。</p> + + <div class="example"><p><code> + <Location /server-info><br /> + <span class="indent"> + SetHandler server-info<br /> + </span> + </Location> + </code></p></div> + + <p><code class="directive"><a href="../mod/core.html#location"><Location></a></code> + の中で <code class="module"><a href="../mod/mod_access.html">mod_access</a></code> を使って、サーバ設定情報への + アクセスを制限したいと思うかもしれません :</p> + + <div class="example"><p><code> + <Location /server-info><br /> + <span class="indent"> + SetHandler server-info<br /> + Order deny,allow<br /> + Deny from all<br /> + Allow from yourcompany.com<br /> + </span> + </Location> + </code></p></div> + + <p>一旦設定すると、<code>http://your.host.example.com/server-info</code> + にアクセスすることでサーバの情報を得られるようになります。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Issues</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#queries">表示される情報の選択</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitations">既知の制限</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_info">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_info">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Security Issues</a></h2> + <p>一旦 <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> がサーバに読み込まれると、 + 提供しているハンドラ機能はディレクトリ毎の設定ファイル (<em>例えば</em> + .htaccess) を含む <em>すべて</em>の設定ファイルで有効になります。 + このモジュールを有効にするときはセキュリティの問題を考慮する必要が + あるでしょう。</p> + + <p>特に、このモジュールはシステムパス、ユーザ名/パスワード、 + データベース名など、他の Apache モジュールの設定ディレクティブから + セキュリティ上微妙な情報を漏らす可能性があります。 + ですから、このモジュールはきちんとアクセス制御された環境で<strong>のみ</strong>、 + 注意して使ってください。</p> + + <p>設定情報へのアクセスを制限するために、<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> を + 使うのが良いでしょう。</p> + + <div class="example"><h3>アクセス制御</h3><p><code> + <Location /server-info><br /> + <span class="indent"> + SetHandler server-info<br /> + Order allow,deny<br /> + # Allow access from server itself<br /> + Allow from 127.0.0.1<br /> + # Additionally, allow access from local workstation<br /> + Allow from 192.168.1.17<br /> + </span> + </Location> + </code></p></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="queries" id="queries">表示される情報の選択</a></h2> + <p>デフォルトでは、サーバ情報はすべての有効なモジュールと、 + 各モジュールについて、モジュールが理解するディレクティブ、 + 実装している、フック、現時点での設定の関連するディレクティブに + なっています。</p> + + <p><code>server-info</code> リクエストへクエリーを追加することで、 + 設定情報の他の表示形式を選ぶことができます。例えば、 + <code>http://your.host.example.com/server-info?config</code> は + すべての設定ディレクティブを表示します。</p> + + <dl> + <dt><code>?<module-name></code></dt> + <dd>指定されたモジュールに関連する情報のみ</dd> + <dt><code>?config</code></dt> + <dd>モジュールでソートせずに、設定ディレクティブのみ</dd> + <dt><code>?hooks</code></dt> + <dd>各モジュールが使用するフックのみ</dd> + <dt><code>?list</code></dt> + <dd>有効なモジュールの簡単なリストのみ</dd> + <dt><code>?server</code></dt> + <dd>基本サーバ情報のみ</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="limitations" id="limitations">既知の制限</a></h2> + <p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> は、元の設定ファイルを読むのではなく、 + 既にパースされた設定を読み込むことで情報を提供します。従って、 + パース済みの設定情報の木が生成される方法による制限がいくつかあります:</p> + <ul> + <li>パースされた設定に保存されずに、すぐに実行されるディレクティブは + 一覧に現れません。これには + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, + <code class="directive"><a href="../mod/mod_so.html#loadfile">LoadFile</a></code> があります。</li> + <li><code class="directive"><a href="../mod/core.html#include">Include</a></code>, + <code class="directive"><a href="../mod/core.html#<ifmodule>"><IfModule></a></code>, + <code class="directive"><a href="../mod/core.html#<ifdefine>"><IfDefine></a></code>, + のような設定ファイル自身を制御するディレクティブは表示されません。 + そのディレクティブの中にあり、有効になっているディレクティブは + 表示されます。</li> + <li>コメントは表示されません。(これは仕様だと思ってください。)</li> + <li><code>.htaccess</code> ファイルの設定ディレクティブは表示されません + (永久的なサーバ設定の一部ではないからです)。</li> + <li><code class="directive"><a href="../mod/core.html#<directory>"><Directory></a></code> + のようなコンテナディレクティブは普通に表示されますが、 + <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> は閉じタグの <code class="directive"><a href="../mod/core.html#</directory>"></Directory></a></code> などの数を知ることはできません。</li> + <li><code class="module"><a href="../mod/mod_perl.html">mod_perl</a></code> のようなサードパーティモジュール + のディレクティブは表示されないかもしれません。</li> + </ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a> <a name="addmoduleinfo" id="addmoduleinfo">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>server-info ハンドラにより表示されるモジュールの情報に +追加の情報を付け加える</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddModuleInfo <var>module-name</var> <var>string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_info</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 1.3 以降</td></tr> +</table> + <p>これは、<var>string</var> の内容がモジュール <var>module-name</var> + の<strong>追加情報</strong> として HTML + として解釈され、表示されるようにします。例:</p> + + <div class="example"><p><code> + AddModuleInfo mod_deflate.c 'See <a \<br /> + <span class="indent"> + href="http://www.apache.org/docs/2.4/mod/mod_deflate.html">\<br /> + http://www.apache.org/docs/2.4/mod/mod_deflate.html</a>' + </span> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_info.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_info.html.ko.euc-kr b/docs/manual/mod/mod_info.html.ko.euc-kr new file mode 100644 index 0000000..82f504a --- /dev/null +++ b/docs/manual/mod/mod_info.html.ko.euc-kr @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_info - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_info</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> ش</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>info_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_info.c</td></tr></table> +<h3></h3> + + <p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> Ϸ <code>httpd.conf</code> + Ͽ ߰Ѵ.</p> + + <div class="example"><p><code> + <Location /server-info><br /> + <span class="indent"> + SetHandler server-info<br /> + </span> + </Location> + </code></p></div> + + <p>̷ ϸ + <code>http://your.host.example.com/server-info</code> + Ͽ ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#security"> </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#queries">ִ ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitations">˷ Ѱ</a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_info">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_info">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security"> </a></h2> + <p>ѹ <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> о̸, 丮 + (<em> </em>, <code>.htaccess</code>) + <em></em> Ͽ ڵ鷯 ִ. + Ʈ Ȱ ִ.</p> + + <p>Ư ý , ڸ/ȣ, ͺ̽ + ̸ ġ þ ΰ + ִ. ؾ ϸ + ȯ濡<strong></strong> ؾ Ѵ.</p> + + <p> <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> Ͽ + ִ.</p> + + <div class="example"><h3> </h3><p><code> + <Location /server-info><br /> + <span class="indent"> + SetHandler server-info<br /> + Order allow,deny<br /> + # ڽ 㰡<br /> + Allow from 127.0.0.1<br /> + # ߰, ó ִ ũ̼ 㰡<br /> + Allow from 192.168.1.17<br /> + </span> + </Location> + </code></p></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="queries" id="queries">ִ ϱ</a></h2> + <p>⺻ ϴ ϰ ⺰ + ϴ þ , (hook), + þ ִ.</p> + + <p><code>server-info</code> û ǹڿ ٿ + ٸ ִ. , + <code>http://your.host.example.com/server-info?config</code> + þ ش.</p> + + <dl> + <dt><code>?<module-name></code></dt> + <dd> </dd> + <dt><code>?config</code></dt> + <dd>⺰ ʰ, þ</dd> + <dt><code>?hooks</code></dt> + <dd> (hook) ϸ</dd> + <dt><code>?list</code></dt> + <dd>ϴ ϸ</dd> + <dt><code>?server</code></dt> + <dd>⺻ </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="limitations" id="limitations">˷ Ѱ</a></h2> + <p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> ʰ + ̹ о Ͽ ش. + Ľϴ Ѱ谡 ִ.</p> + <ul> + <li>Ľ ʰ Ǵ þ + Ѵ. <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, <code class="directive"><a href="../mod/mod_so.html#loadfile">LoadFile</a></code> þ + شѴ.</li> + <li><code class="directive"><a href="../mod/core.html#include">Include</a></code>, <code class="directive"><a href="../mod/core.html#<ifmodule>"><IfModule></a></code>, <code class="directive"><a href="../mod/core.html#<ifdefine>"><IfDefine></a></code> + ü ϴ þ Ѵ. + ȿ ִ þ ش.</li> + <li>ּ Ѵ. (Ѱ ٴ ̶ + ִ.)</li> + <li>( ƴϱ ) <code>.htaccess</code> + Ͽ ִ þ Ѵ.</li> + <li> <code class="directive"><a href="../mod/core.html#<directory>"><Directory></a></code> + þ , + <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> ġ <code class="directive"><a href="../mod/core.html#</directory>"></Directory></a></code> ٹȣ + .</li> + <li><code class="module"><a href="../mod/mod_perl.html">mod_perl</a></code> ڰ + þ ִ.</li> + </ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a> <a name="addmoduleinfo" id="addmoduleinfo">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ߰ server-info ڵ鷯 ֵ +߰Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>AddModuleInfo <var>module-name</var> <var>string</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_info</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>ġ 1.3 </td></tr> +</table> + <p><var>module-name</var> <strong>߰ </strong> + <var>string</var> HTML ش. ,</p> + + <div class="example"><p><code> + AddModuleInfo mod_deflate.c 'See <a \<br /> + <span class="indent"> + href="http://www.apache.org/docs/2.4/mod/mod_deflate.html">\<br /> + http://www.apache.org/docs/docs/2.4/mod/mod_deflate.html</a>' + </span> + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_info.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_info.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.html b/docs/manual/mod/mod_isapi.html new file mode 100644 index 0000000..362298b --- /dev/null +++ b/docs/manual/mod/mod_isapi.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_isapi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_isapi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_isapi.html.en new file mode 100644 index 0000000..a7d2f51 --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.en @@ -0,0 +1,371 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_isapi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_isapi</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_isapi.html" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>ISAPI Extensions within Apache for Windows</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>isapi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_isapi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Win32 only</td></tr></table> +<h3>Summary</h3> + + <p>This module implements the Internet Server extension API. It + allows Internet Server extensions (<em>e.g.</em> ISAPI .dll + modules) to be served by Apache for Windows, subject to the + noted restrictions.</p> + + <p>ISAPI extension modules (.dll files) are written by third + parties. The Apache Group does not author these modules, so we + provide no support for them. Please contact the ISAPI's author + directly if you are experiencing problems running their ISAPI + extension. <strong>Please <em>do not</em> post such problems to + Apache's lists or bug reporting pages.</strong></p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Usage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Additional Notes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#journal">Programmer's Journal</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapicachefile">ISAPICacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapifakeasync">ISAPIFakeAsync</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_isapi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_isapi">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Usage</a></h2> + + <p>In the server configuration file, use + the <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> directive to + associate ISAPI files with the <code>isapi-handler</code> handler, and map + it to them with their file extensions. To enable any .dll file to be + processed as an ISAPI extension, edit the httpd.conf file and add the + following line:</p> + <pre class="prettyprint lang-config">AddHandler isapi-handler .dll</pre> + + + <div class="note">In older versions of the Apache server, + <code>isapi-isa</code> was the proper handler name, rather than + <code>isapi-handler</code>. As of 2.3 development versions of the Apache + server, <code>isapi-isa</code> is no longer valid. You will need to + change your configuration to use <code>isapi-handler</code> + instead.</div> + + <p>There is no capability within the Apache server to leave a + requested module loaded. However, you may preload and keep a + specific module loaded by using the following syntax in your + httpd.conf:</p> + <pre class="prettyprint lang-config">ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll</pre> + + + <p>Whether or not you have preloaded an ISAPI extension, all + ISAPI extensions are governed by the same permissions and + restrictions as CGI scripts. That is, <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code> must be set for the + directory that contains the ISAPI .dll file.</p> + + <p>Review the <a href="#notes">Additional Notes</a> and the <a href="#journal">Programmer's Journal</a> for additional details + and clarification of the specific ISAPI support offered by + <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Additional Notes</a></h2> + + <p>Apache's ISAPI implementation conforms to all of the ISAPI + 2.0 specification, except for some "Microsoft-specific" + extensions dealing with asynchronous I/O. Apache's I/O model + does not allow asynchronous reading and writing in a manner + that the ISAPI could access. If an ISA tries to access + unsupported features, including async I/O, a message is placed + in the error log to help with debugging. Since these messages + can become a flood, the directive <code>ISAPILogNotSupported + Off</code> exists to quiet this noise.</p> + + <p>Some servers, like Microsoft IIS, load the ISAPI extension + into the server and keep it loaded until memory usage is too + high, or unless configuration options are specified. Apache + currently loads and unloads the ISAPI extension each time it is + requested, unless the <code class="directive"><a href="#isapicachefile">ISAPICacheFile</a></code> directive is specified. + This is inefficient, but Apache's memory model makes this the + most effective method. Many ISAPI modules are subtly + incompatible with the Apache server, and unloading these + modules helps to ensure the stability of the server.</p> + + <p>Also, remember that while Apache supports ISAPI Extensions, + it <strong>does not support ISAPI Filters</strong>. Support for + filters may be added at a later date, but no support is planned + at this time.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="journal" id="journal">Programmer's Journal</a></h2> + + <p>If you are programming Apache 2.0 <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> + modules, you must limit your calls to <code>ServerSupportFunction</code> + to the following directives:</p> + + <dl> + <dt><code>HSE_REQ_SEND_URL_REDIRECT_RESP</code></dt> + <dd>Redirect the user to another location.<br /> + This must be a fully qualified URL (<em>e.g.</em> + <code>http://server/location</code>).</dd> + + <dt><code>HSE_REQ_SEND_URL</code></dt> + <dd>Redirect the user to another location.<br /> + This cannot be a fully qualified URL, you are not allowed to + pass the protocol or a server name (<em>e.g.</em> simply + <code>/location</code>).<br /> + This redirection is handled by the server, not the + browser.<br /> + <div class="warning"><h3>Warning</h3> + <p>In their recent documentation, Microsoft appears to have + abandoned the distinction between the two + <code>HSE_REQ_SEND_URL</code> functions. Apache continues to treat + them as two distinct functions with different requirements + and behaviors.</p> + </div></dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER</code></dt> + <dd>Apache accepts a response body following the header if it + follows the blank line (two consecutive newlines) in the + headers string argument. This body cannot contain NULLs, + since the headers argument is NULL terminated.</dd> + + <dt><code>HSE_REQ_DONE_WITH_SESSION</code></dt> + <dd>Apache considers this a no-op, since the session will be + finished when the ISAPI returns from processing.</dd> + + <dt><code>HSE_REQ_MAP_URL_TO_PATH</code></dt> + <dd>Apache will translate a virtual name to a physical + name.</dd> + + <dt><code>HSE_APPEND_LOG_PARAMETER</code></dt> + <dd> + This logged message may be captured in any of the following + logs: + + <ul> + <li>in the <code>\"%{isapi-parameter}n\"</code> component in a + <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> + directive</li> + + <li>in the <code>%q</code> log component with the + <code class="directive"><a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></code> + <code>On</code> directive</li> + + <li>in the error log with the <code class="directive"><a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></code> <code>On</code> directive</li> + </ul> + + <p>The first option, the <code>%{isapi-parameter}n</code> component, + is always available and preferred.</p> + </dd> + + <dt><code>HSE_REQ_IS_KEEP_CONN</code></dt> + <dd>Will return the negotiated Keep-Alive status.</dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER_EX</code></dt> + <dd>Will behave as documented, although the <code>fKeepConn</code> + flag is ignored.</dd> + + <dt><code>HSE_REQ_IS_CONNECTED</code></dt> + <dd>Will report false if the request has been aborted.</dd> + </dl> + + <p>Apache returns <code>FALSE</code> to any unsupported call to + <code>ServerSupportFunction</code>, and sets the + <code>GetLastError</code> value to + <code>ERROR_INVALID_PARAMETER</code>.</p> + + <p><code>ReadClient</code> retrieves the request body exceeding the + initial buffer (defined by <code class="directive"><a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></code>). Based on the + <code class="directive">ISAPIReadAheadBuffer</code> setting (number of bytes + to buffer prior to calling the ISAPI handler) shorter requests are sent + complete to the extension when it is invoked. If the request is + longer, the ISAPI extension must use <code>ReadClient</code> to + retrieve the remaining request body.</p> + + <p><code>WriteClient</code> is supported, but only with the + <code>HSE_IO_SYNC</code> flag or no option flag (value of + <code>0</code>). Any other <code>WriteClient</code> request + will be rejected with a return value of <code>FALSE</code>, and a + <code>GetLastError</code> value of + <code>ERROR_INVALID_PARAMETER</code>.</p> + + <p><code>GetServerVariable</code> is supported, although extended server + variables do not exist (as defined by other servers.) All the + usual Apache CGI environment variables are available from + <code>GetServerVariable</code>, as well as the <code>ALL_HTTP</code> + and <code>ALL_RAW</code> values.</p> + + <p>Since httpd 2.0, <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> supports additional + features introduced in later versions of the ISAPI specification, + as well as limited emulation of async I/O and the + <code>TransmitFile</code> semantics. Apache httpd also supports preloading + ISAPI .dlls for performance.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIAppendLogToErrors" id="ISAPIAppendLogToErrors">ISAPIAppendLogToErrors</a> <a name="isapiappendlogtoerrors" id="isapiappendlogtoerrors">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ISAPIAppendLogToErrors on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ISAPIAppendLogToErrors off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from ISAPI + extensions to the server error log.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIAppendLogToQuery" id="ISAPIAppendLogToQuery">ISAPIAppendLogToQuery</a> <a name="isapiappendlogtoquery" id="isapiappendlogtoquery">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ISAPIAppendLogToQuery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ISAPIAppendLogToQuery on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from ISAPI + extensions to the query field (appended to the <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> <code>%q</code> + component).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPICacheFile" id="ISAPICacheFile">ISAPICacheFile</a> <a name="isapicachefile" id="isapicachefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>ISAPI .dll files to be loaded at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Specifies a space-separated list of file names to be loaded + when the Apache server is launched, and remain loaded until the + server is shut down. This directive may be repeated for every + ISAPI .dll file desired. The full path name of each file should + be specified. If the path name is not absolute, it will be treated + relative to <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIFakeAsync" id="ISAPIFakeAsync">ISAPIFakeAsync</a> <a name="isapifakeasync" id="isapifakeasync">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ISAPIFakeAsync on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ISAPIFakeAsync off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>While set to on, asynchronous support for ISAPI callbacks is + simulated.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPILogNotSupported" id="ISAPILogNotSupported">ISAPILogNotSupported</a> <a name="isapilognotsupported" id="isapilognotsupported">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ISAPILogNotSupported on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ISAPILogNotSupported off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Logs all requests for unsupported features from ISAPI + extensions in the server error log. This may help administrators + to track down problems. Once set to on and all desired ISAPI modules + are functioning, it should be set back to off.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIReadAheadBuffer" id="ISAPIReadAheadBuffer">ISAPIReadAheadBuffer</a> <a name="isapireadaheadbuffer" id="isapireadaheadbuffer">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ISAPIReadAheadBuffer <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ISAPIReadAheadBuffer 49152</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Defines the maximum size of the Read Ahead Buffer sent to + ISAPI extensions when they are initially invoked. All remaining + data must be retrieved using the <code>ReadClient</code> callback; some + ISAPI extensions may not support the <code>ReadClient</code> function. + Refer questions to the ISAPI extension's author.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_isapi.html" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_isapi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.html.fr.utf8 b/docs/manual/mod/mod_isapi.html.fr.utf8 new file mode 100644 index 0000000..7155c99 --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.fr.utf8 @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_isapi - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_isapi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extensions ISAPI dans Apache pour Windows</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>isapi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_isapi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 only</td></tr></table> +<h3>Sommaire</h3> + + <p>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.</p> + + <p>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. <strong>Merci de <em>ne pas</em> soumettre ce genre + de problème dans les listes d'Apache ou dans les pages de rapports + de bogues.</strong></p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Notes additionnelles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#journal">Journal du programmeur</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapicachefile">ISAPICacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapifakeasync">ISAPIFakeAsync</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_isapi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_isapi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Utilisation</a></h2> + + <p>Dans le fichier de configuration du serveur, utilisez la + directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> pour + associer les fichiers ISAPI au gestionnaire + <code>isapi-handler</code> à 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 :</p> + <pre class="prettyprint lang-config">AddHandler isapi-handler .dll</pre> + + + <div class="note">Dans les versions plus anciennes du serveur Apache, le nom du + gestionnaire était <code>isapi-isa</code> au lieu de + <code>isapi-handler</code>. Depuis les versions de développement 2.3 + du serveur Apache, <code>isapi-isa</code> n'est plus valide, et vous + devrez éventuellement modifier votre configuration pour utiliser + <code>isapi-handler</code> à la place.</div> + + <p>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 :</p> + <pre class="prettyprint lang-config">ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll</pre> + + + <p>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, <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code> doit être + défini pour le répertoire qui contient le fichier .dll ISAPI.</p> + + <p>Reportez-vous aux <a href="#notes">Notes additionnelles</a> et au + <a href="#journal">Journal du programmeur</a> pour plus de détails + et une clarification à propos du support spécifique ISAPI fourni par + le module <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Notes additionnelles</a></h2> + + <p>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 + <code>ISAPILogNotSupported Off</code> permet de filter ce bruit de + fond.</p> + + <p>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 <code class="directive"><a href="#isapicachefile">ISAPICacheFile</a></code> 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.</p> + + <p>En outre, gardez à l'esprit que si Apache supporte les extensions + ISAPI, il <strong>ne supporte pas les filtres ISAPI</strong>. Le + support des filtres sera peut-être ajouté dans le futur, mais n'a + pas encore été planifié.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="journal" id="journal">Journal du programmeur</a></h2> + + <p>Si vous écrivez des modules <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> Apache + 2.0, vous devez limiter vos appels à + <code>ServerSupportFunction</code> aux directives suivantes :</p> + + <dl> + <dt><code>HSE_REQ_SEND_URL_REDIRECT_RESP</code></dt> + <dd>Redirige l'utilisateur vers une autre adresse.<br /> + Il doit s'agir d'une URL pleinement qualifiée (comme + <code>http://serveur/chemin</code>).</dd> + + <dt><code>HSE_REQ_SEND_URL</code></dt> + <dd>Redirige l'utilisateur vers une autre adresse.<br /> + 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 <code>/chemin</code>).<br /> + La redirection n'est pas assurée par le navigateur mais par le + serveur lui-même.<br /> + <div class="warning"><h3>Avertissement</h3> + <p>Dans sa documentation récente, Microsoft semble avoir + abandonné la distinction entre les deux fonctions + <code>HSE_REQ_SEND_URL</code>. Apache, quant à lui, continue de + les traiter comme deux fonctions distinctes avec des contraintes + et des comportements spécifiques.</p> + </div></dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER</code></dt> + <dd>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.</dd> + + <dt><code>HSE_REQ_DONE_WITH_SESSION</code></dt> + <dd>Apache considère ceci comme sans objet, car la session est + fermée lorsque l'extension ISAPI termine son traitement.</dd> + + <dt><code>HSE_REQ_MAP_URL_TO_PATH</code></dt> + <dd>Apache va traduire un nom virtuel en nom physique.</dd> + + <dt><code>HSE_APPEND_LOG_PARAMETER</code></dt> + <dd> + Ce paramètre peut intervenir dans un de ces journaux : + + <ul> + <li>dans le composant <code>\"%{isapi-parameter}n\"</code> + d'une directive <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code></li> + + <li>dans le composant <code>%q</code> avec la directive + <code class="directive"><a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></code> + <code>On</code></li> + + <li>dans le journal des erreurs avec la directive <code class="directive"><a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></code> + <code>On</code></li> + </ul> + + <p>La première option, le composant + <code>%{isapi-parameter}n</code>, est préférable et toujours + disponible.</p> + </dd> + + <dt><code>HSE_REQ_IS_KEEP_CONN</code></dt> + <dd>retourne le statut négocié Keep-Alive.</dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER_EX</code></dt> + <dd>se comportera comme indiqué dans le documentation, bien que le + drapeau <code>fKeepConn</code> soit ignoré.</dd> + + <dt><code>HSE_REQ_IS_CONNECTED</code></dt> + <dd>renverra faux si la requête a été abandonnée.</dd> + </dl> + + <p>Apache renvoie <code>FALSE</code> pour tout appel non supporté à + <code>ServerSupportFunction</code>, et <code>GetLastError</code> + renverra la valeur <code>ERROR_INVALID_PARAMETER</code>.</p> + + <p><code>ReadClient</code> extrait la partie du corps de la requête + qui dépasse le tampon initial (défini par la directive <code class="directive"><a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></code>). En fonction de + la définition de la directive + <code class="directive">ISAPIReadAheadBuffer</code> (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 à + <code>ReadClient</code> pour extraire la totalité du corps de la + requête.</p> + + <p><code>WriteClient</code> est supporté, mais seulement avec le + drapeau <code>HSE_IO_SYNC</code> ou le drapeau "aucune option" + (valeur <code>0</code>). Toute autre requête + <code>WriteClient</code> sera rejetée avec une valeur de retour + <code>FALSE</code>, et <code>GetLastError</code> renverra la valeur + <code>ERROR_INVALID_PARAMETER</code></p> + + <p><code>GetServerVariable</code> 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 + <code>GetServerVariable</code>, ainsi que les valeurs + <code>ALL_HTTP</code> et <code>ALL_RAW</code>.</p> + + <p>Depuis httpd 2.0, <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> 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 + <code>TransmitFile</code>. Apache httpd supporte aussi le préchargement + des .dlls ISAPI à des fins de performances.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="isapiappendlogtoerrors" id="isapiappendlogtoerrors">Directive</a> <a name="ISAPIAppendLogToErrors" id="ISAPIAppendLogToErrors">ISAPIAppendLogToErrors</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement des requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans le journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIAppendLogToErrors on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIAppendLogToErrors off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Cette directive permet d'enregistrer les requêtes + <code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions + ISAPI dans le journal des erreurs.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="isapiappendlogtoquery" id="isapiappendlogtoquery">Directive</a> <a name="ISAPIAppendLogToQuery" id="ISAPIAppendLogToQuery">ISAPIAppendLogToQuery</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans la partie arguments de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIAppendLogToQuery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIAppendLogToQuery on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Cette directive permet d'enregistrer les requêtes + <code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions + ISAPI dans la partie arguments de la requête (ajouté au composant + <code>%q</code> de la directive <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code>).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="isapicachefile" id="isapicachefile">Directive</a> <a name="ISAPICacheFile" id="ISAPICacheFile">ISAPICacheFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichiers .dll ISAPI devant être chargés au +démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPICacheFile <var>chemin-fichier</var> +[<var>chemin-fichier</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>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 <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="isapifakeasync" id="isapifakeasync">Directive</a> <a name="ISAPIFakeAsync" id="ISAPIFakeAsync">ISAPIFakeAsync</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIFakeAsync on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIFakeAsync off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>Lorsquelle est définie à "on", cette directive permet d'émuler le + support des entrées/sorties asynchrones pour les appels ISAPI.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="isapilognotsupported" id="isapilognotsupported">Directive</a> <a name="ISAPILogNotSupported" id="ISAPILogNotSupported">ISAPILogNotSupported</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPILogNotSupported on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPILogNotSupported off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>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".</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="isapireadaheadbuffer" id="isapireadaheadbuffer">Directive</a> <a name="ISAPIReadAheadBuffer" id="ISAPIReadAheadBuffer">ISAPIReadAheadBuffer</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIReadAheadBuffer <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIReadAheadBuffer 49152</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_isapi</td></tr> +</table> + <p>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 à <code>ReadClient</code> ; certaines extensions ISAPI + peuvent ne pas supporter la fonction <code>ReadClient</code>. + Pour plus de détails, veuillez vous adresser à l'auteur de + l'extension ISAPI.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_isapi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.html.ko.euc-kr b/docs/manual/mod/mod_isapi.html.ko.euc-kr new file mode 100644 index 0000000..6bf0cb9 --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.ko.euc-kr @@ -0,0 +1,349 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_isapi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_isapi</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>Windows ġ ISAPI Extension </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>isapi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_isapi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>Win32 only</td></tr></table> +<h3></h3> + + <p> Internet Server extension API Ѵ. + Windows ġ Internet Server extension + (<em>,</em> ISAPI .dll ) ִ.</p> + + <p>ISAPI extension (.dll ) ڰ ۼѴ. + Apache Group ̵ ʾ, + ʴ´. ISAPI extension 뿡 ISAPI ڿ + ϱ ٶ. <strong> ̷ ġ + ϸƮ ø <em></em>.</strong></p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage"></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">߰ </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#journal"> </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapicachefile">ISAPICacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapifakeasync">ISAPIFakeAsync</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_isapi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_isapi">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage"></a></h2> + + <p>Ͽ <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> þ Ͽ + ISAPI Ȯڿ <code>isapi-handler</code> ڵ鷯 Ѵ. + .dll ISAPI extension óϷ httpd.conf Ͽ + ߰Ѵ.</p> + <div class="example"><p><code> + AddHandler isapi-handler .dll + </code></p></div> + + <p>ġ û . + httpd.conf Ư ̸ + о ִ.</p> + <div class="example"><p><code> + ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll + </code></p></div> + + <p>ISAPI extension ̸ о̴ ̸ о ʴ + ISAPI extension CGI ũƮ Ѱ + . , ISAPI .dll ִ 丮 <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code> + ʿϴ.</p> + + <p><code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> ISAPI ڼ + <a href="#notes">߰ </a> <a href="#journal"> </a> ϶.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">߰ </a></h2> + + <p>ġ ISAPI ¿ "ũμƮ + Ư" Ȯ ISAPI 2.0 Ծ Ѵ. + ġ δ ISAPI ִ + . ISA ° + ʴ Ϸ Ѵٸ, 뿡 ֱ + α . αװ ſ Ŀ ֱ + <code>ISAPILogNotSupported Off</code> þ ϸ + α ʴ´.</p> + + <p>Microsoft IIS ISAPI extension + о鿩 뷮 ſ ʰų Ư + ʴ ״ д. ġ <code class="directive"><a href="#isapicachefile">ISAPICacheFile</a></code> þ + ʴ´ٸ û ISAPI extension о̰ + . ȿ, ġ ̰ + ȿ ̴. ISAPI ġ ణ + ȣȯ ȸ± + .</p> + + <p>, ġ ISAPI Extension , <strong>ISAPI + Filter </strong> ϶. ߿ + , ȹ .</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="journal" id="journal"> </a></h2> + + <p>ġ 2.0 <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> αѴٸ, + <code>ServerSupportFunction</code> ȣ þ + ؾ Ѵ.</p> + + <dl> + <dt><code>HSE_REQ_SEND_URL_REDIRECT_RESP</code></dt> + <dd>ڸ ٸ ġ ̷Ѵ.<br /> + URL ؾ Ѵ (<em> ,</em> + <code>http://server/location</code>).</dd> + + <dt><code>HSE_REQ_SEND_URL</code></dt> + <dd>ڸ ٸ ġ ̷Ѵ.<br /> + URL ƴϸ, ݰ ѱ + (<em> ,</em> <code>/location</code> ).<br /> + ƴ϶ ̷ óѴ.<br /> + <div class="warning"><h3></h3> + <p>ֱ Microsoft <code>HSE_REQ_SEND_URL</code> + ɰ ̸ ó δ. ġ + ƱԸƮ ǰ ൿ ٸ ó ̴.</p> + </div></dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER</code></dt> + <dd>headers ڿ ƱԸƮ (ٹٲڰ ι + ) ִٸ ġ Ѵ. + headers ƱԸƮ NULL , 뿡 NULL + .</dd> + + <dt><code>HSE_REQ_DONE_WITH_SESSION</code></dt> + <dd>ISAPI ó ġ ġ + ƹ ϵ ʴ´.</dd> + + <dt><code>HSE_REQ_MAP_URL_TO_PATH</code></dt> + <dd>ġ ̸ () ̸ ȯѴ.</dd> + + <dt><code>HSE_APPEND_LOG_PARAMETER</code></dt> + <dd> + Ʒ α Ѱ . + + <ul> + <li><code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> + þ <code>\"%{isapi-parameter}n\"</code> </li> + + <li><code class="directive"><a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></code> + <code>On</code> þ Ͽ <code>%q</code> + α </li> + + <li><code class="directive"><a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></code> + <code>On</code> þ Ͽ α</li> + </ul> + + <p>ù° <code>%{isapi-parameter}n</code> + Ѵ.</p> + </dd> + + <dt><code>HSE_REQ_IS_KEEP_CONN</code></dt> + <dd> Keep-Alive ¸ ȯѴ.</dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER_EX</code></dt> + <dd><code>fKeepConn</code> ɼ ϴ ϰ + µ Ѵ.</dd> + + <dt><code>HSE_REQ_IS_CONNECTED</code></dt> + <dd>û ߰ ٸ false ȯѴ.</dd> + </dl> + + <p> ʴ <code>ServerSupportFunction</code> ȣ + ϸ ġ <code>FALSE</code> ȯϰ + <code>GetLastError</code> + <code>ERROR_INVALID_PARAMETER</code> Ѵ.</p> + + <p><code>ReadClient</code> (<code class="directive"><a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></code> ) + ʱũ⸦ Ѿ û ´. + <code class="directive">ISAPIReadAheadBuffer</code> (ISAPI + ڵ鷯 θ Ʈ) ª û extension + θ ȴ. û , ISAPI extension + <code>ReadClient</code> û ; Ѵ.</p> + + <p><code>WriteClient</code> , + <code>HSE_IO_SYNC</code> ɼǸ ϰų (<code>0</code> + ) ƹ ɼǵ ʾƾ Ѵ. ٸ + <code>WriteClient</code> û <code>FALSE</code> ȯϸ + ϰ, <code>GetLastError</code> + <code>ERROR_INVALID_PARAMETER</code> ȴ.</p> + + <p><code>GetServerVariable</code> , (ٸ + ϴ) Ȯ . + <code>GetServerVariable</code> Ϲ ġ + CGI ȯ溯 <code>ALL_HTTP</code>, <code>ALL_RAW</code> + ִ.</p> + + <p>ġ 2.0 <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> ISAPI Ծ + ߰ ϰ, ° + <code>TransmitFile</code> 䳻. , ISAPI + .dll ̸ о鿩 ̴ ġ 1.3 + <code>mod_isapi</code> Ѵ.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIAppendLogToErrors" id="ISAPIAppendLogToErrors">ISAPIAppendLogToErrors</a> <a name="isapiappendlogtoerrors" id="isapiappendlogtoerrors">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ISAPI exntension <code>HSE_APPEND_LOG_PARAMETER</code> +û α Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ISAPIAppendLogToErrors on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ISAPIAppendLogToErrors off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_isapi</td></tr> +</table> + <p>ISAPI exntension <code>HSE_APPEND_LOG_PARAMETER</code> + û α Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIAppendLogToQuery" id="ISAPIAppendLogToQuery">ISAPIAppendLogToQuery</a> <a name="isapiappendlogtoquery" id="isapiappendlogtoquery">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ISAPI exntension <code>HSE_APPEND_LOG_PARAMETER</code> +û ǹڿ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ISAPIAppendLogToQuery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ISAPIAppendLogToQuery on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_isapi</td></tr> +</table> + <p>ISAPI exntension <code>HSE_APPEND_LOG_PARAMETER</code> + û ǹڿ Ѵ (<code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> <code>%q</code> + δ).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPICacheFile" id="ISAPICacheFile">ISAPICacheFile</a> <a name="isapicachefile" id="isapicachefile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> Ҷ о ISAPI .dll ϵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_isapi</td></tr> +</table> + <p>ġ Ҷ о鿩 Ҷ + ϸ Ͽ Ѵ. + þ ISAPI .dll Ϻ ִ. + ü θ ´. ΰ ƴϸ <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> η Ƶδ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIFakeAsync" id="ISAPIFakeAsync">ISAPIFakeAsync</a> <a name="isapifakeasync" id="isapifakeasync">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ISAPI ݹ ϴ ôѴ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ISAPIFakeAsync on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ISAPIFakeAsync off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_isapi</td></tr> +</table> + <p>on ϸ ISAPI ݹ 䳻.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPILogNotSupported" id="ISAPILogNotSupported">ISAPILogNotSupported</a> <a name="isapilognotsupported" id="isapilognotsupported">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ISAPI extension ʴ ûϸ +α Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ISAPILogNotSupported on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ISAPILogNotSupported off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_isapi</td></tr> +</table> + <p>ISAPI extension ʴ ûϸ + α Ѵ. ߿ ڰ ϴµ + ȴ. ϴ ISAPI ϸ + ٽ off ǵ Ѵ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ISAPIReadAheadBuffer" id="ISAPIReadAheadBuffer">ISAPIReadAheadBuffer</a> <a name="isapireadaheadbuffer" id="isapireadaheadbuffer">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ISAPI extension ̸б(read ahead buffer) +ũ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>ISAPIReadAheadBuffer <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>ISAPIReadAheadBuffer 49152</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_isapi</td></tr> +</table> + <p>ISAPI extension ó ȣҶ ̸б ִ ũ⸦ + Ѵ. ( ũ⺸ ū) ڷ <code>ReadClient</code> + ݹ Ͽ о Ѵ. ISAPI extension + <code>ReadClient</code> ʴ´. + ISAPI extension ڿ ϶.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_isapi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html b/docs/manual/mod/mod_lbmethod_bybusyness.html new file mode 100644 index 0000000..7aa3f70 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_bybusyness.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_bybusyness.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html.en b/docs/manual/mod/mod_lbmethod_bybusyness.html.en new file mode 100644 index 0000000..b4f70bc --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html.en @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_bybusyness - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_lbmethod_bybusyness</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bybusyness.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>lbmethod_bybusyness_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_lbmethod_bybusyness.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Split off from <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> in 2.3</td></tr></table> +<h3>Summary</h3> + +<p>This module does not provide any configuration directives of its own. +It requires the services of <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, and +provides the <code>bybusyness</code> load balancing method.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#busyness">Pending Request Counting Algorithm</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bybusyness">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bybusyness">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="busyness" id="busyness">Pending Request Counting Algorithm</a></h2> + + + + <p>Enabled via <code>lbmethod=bybusyness</code>, this scheduler keeps + track of how many requests each worker is currently assigned at present. A new + request is automatically assigned to the worker with the lowest + number of active requests. This is useful in the case of workers + that queue incoming requests independently of Apache, to ensure that + queue length stays even and a request is always given to the worker + most likely to service it the fastest and reduce latency.</p> + + <p>In the case of multiple least-busy workers, the statistics (and + weightings) used by the Request Counting method are used to break the + tie. Over time, the distribution of work will come to resemble that + characteristic of <code>byrequests</code> (as implemented + by <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>).</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bybusyness.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_bybusyness.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr.utf8 new file mode 100644 index 0000000..cbc479f --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr.utf8 @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_bybusyness - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_bybusyness</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bybusyness.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_bybusyness_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bybusyness.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la +version 2.3</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et +fournit la méthode de répartition de charge <code>bybusyness</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#busyness">Algorithme d'attribution des requêtes en attente</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bybusyness">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bybusyness">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="busyness" id="busyness">Algorithme d'attribution des requêtes en attente</a></h2> + + + + <p>Activé via <code>lbmethod=bybusyness</code>, 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.</p> + + <p>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 <code>byrequests</code> (tel qu'implémenté par + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>).</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bybusyness.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_bybusyness.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html b/docs/manual/mod/mod_lbmethod_byrequests.html new file mode 100644 index 0000000..7a28548 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_byrequests.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_byrequests.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html.en b/docs/manual/mod/mod_lbmethod_byrequests.html.en new file mode 100644 index 0000000..52fd1f1 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html.en @@ -0,0 +1,255 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_byrequests - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_lbmethod_byrequests</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_byrequests.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_byrequests.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>lbmethod_byrequests_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_lbmethod_byrequests.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Split off from <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> in 2.3</td></tr></table> +<h3>Summary</h3> + +<p>This module does not provide any configuration directives of its own. +It requires the services of <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, and +provides the <code>byrequests</code> load balancing method.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requests">Request Counting Algorithm</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_byrequests">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_byrequests">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requests" id="requests">Request Counting Algorithm</a></h2> + + <p>Enabled via <code>lbmethod=byrequests</code>, the idea behind this + scheduler is that we distribute the requests among the + various workers to ensure that each gets their configured share + of the number of requests. It works as follows:</p> + + <p><dfn>lbfactor</dfn> is <em>how much we expect this worker + to work</em>, or <em>the workers' work quota</em>. This is + a normalized value representing their "share" of the amount of + work to be done.</p> + + <p><dfn>lbstatus</dfn> is <em>how urgent this worker has to work + to fulfill its quota of work</em>.</p> + + <p>The <dfn>worker</dfn> is a member of the load balancer, + usually a remote host serving one of the supported protocols.</p> + + <p>We distribute each worker's work quota to the worker, and then look + which of them needs to work most urgently (biggest lbstatus). This + worker is then selected for work, and its lbstatus reduced by the + total work quota we distributed to all workers. Thus the sum of all + lbstatus does not change(*) and we distribute the requests + as desired.</p> + + <p>If some workers are disabled, the others will + still be scheduled correctly.</p> + + <div class="example"><pre><code>for each worker in workers + worker lbstatus += worker lbfactor + total factor += worker lbfactor + if worker lbstatus > candidate lbstatus + candidate = worker + +candidate lbstatus -= total factor</code></pre></div> + + <p>If a balancer is configured as follows:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td></tr> +</table> + + <p>And <var>b</var> gets disabled, the following schedule is produced:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">0</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">-25</td> + <td class="data">0</td> + <td class="data"><em>-25</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data"><em>0</em></td></tr> +<tr><td class="data" colspan="5">(repeat)</td></tr> +</table> + + <p>That is it schedules: <var>a</var> <var>c</var> <var>d</var> + <var>a</var> <var>c</var> <var>d</var> <var>a</var> <var>c</var> + <var>d</var> ... Please note that:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +</table> + + <p>Has the exact same behavior as:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td></tr> +</table> + + <p>This is because all values of <dfn>lbfactor</dfn> are normalized + with respect to the others. For:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">4</td> + <td class="data">1</td></tr> +</table> + + <p>worker <var>b</var> will, on average, get 4 times the requests + that <var>a</var> and <var>c</var> will.</p> + + <p>The following asymmetric configuration works as one would expect:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th></tr> +<tr><th>lbfactor</th> + <td class="data">70</td> + <td class="data">30</td></tr> +<tr><td class="data" colspan="2"> </td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-30</em></td> + <td class="data">30</td></tr> +<tr><th>lbstatus</th> + <td class="data">40</td> + <td class="data"><em>-40</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>10</em></td> + <td class="data">-10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-20</em></td> + <td class="data">20</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">20</td> + <td class="data"><em>-20</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-10</em></td> + <td class="data">10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-40</em></td> + <td class="data">40</td></tr> +<tr><th>lbstatus</th> + <td class="data">30</td> + <td class="data"><em>-30</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>0</em></td> + <td class="data">0</td></tr> +<tr><td class="data" colspan="3">(repeat)</td></tr> +</table> + + <p>That is after 10 schedules, the schedule repeats and 7 <var>a</var> + are selected with 3 <var>b</var> interspersed.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_byrequests.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_byrequests.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_byrequests.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_byrequests.html.fr.utf8 new file mode 100644 index 0000000..9b7458f --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html.fr.utf8 @@ -0,0 +1,264 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_byrequests - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_byrequests</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_byrequests_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_byrequests.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> dans la +version 2.3</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et +fournit la méthode de répartition de charge <code>byrequests</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requests">Algorithme d'attribution des requêtes</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_byrequests">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_byrequests">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requests" id="requests">Algorithme d'attribution des requêtes</a></h2> + + <p>Activé via <code>lbmethod=byrequests</code>, ce planificateur a + é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 : </p> + + <p><dfn>lbfactor</dfn> correspond à la <em>quantité de travail que + nous attendons de ce processus worker</em>, ou en d'autres termes + son <em>quota de travail</em>. C'est une valeur normalisée + représentant leur part du travail à accomplir.</p> + + <p><dfn>lbstatus</dfn> représente <em>combien il est urgent que + ce processus worker travaille pour remplir son quota de + travail</em>.</p> + + <p>Le <dfn>worker</dfn> est un membre du dispositif de répartition + de charge, en général un serveur distant traitant un des protocoles + supportés.</p> + + <p>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.</p> + + <p>Si certains processus workers sont désactivés, les autres feront + l'objet d'une planification normale.</p> + + <div class="example"><pre><code>for each worker in workers + worker lbstatus += worker lbfactor + total factor += worker lbfactor + if worker lbstatus > candidate lbstatus + candidate = worker + +candidate lbstatus -= total factor</code></pre></div> + + <p>Si un répartiteur de charge est configuré comme suit :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td></tr> +</table> + + <p>Et si <var>b</var> est désactivé, la planification suivante est + mise en oeuvre :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">0</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">-25</td> + <td class="data">0</td> + <td class="data"><em>-25</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data"><em>0</em></td></tr> +<tr><td class="data" colspan="5">(repeat)</td></tr> +</table> + + <p>C'est à dire la chronologie suivante : <var>a</var> <var>c</var> + <var>d</var> + <var>a</var> <var>c</var> <var>d</var> <var>a</var> <var>c</var> + <var>d</var> ... Veuillez noter que :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +</table> + + <p>A le même effet que :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td></tr> +</table> + + <p>Ceci est dû au fait que toutes les valeurs de <dfn>lbfactor</dfn> + sont normalisées et évaluées en fonction des autres. Avec :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">4</td> + <td class="data">1</td></tr> +</table> + + <p>le processus <var>b</var> va, en moyenne, se voir assigner 4 fois + plus de requêtes que <var>a</var> et <var>c</var>.</p> + + <p>La configuration suivante, asymétrique, fonctionne comme on peut + s'y attendre :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th></tr> +<tr><th>lbfactor</th> + <td class="data">70</td> + <td class="data">30</td></tr> +<tr><td class="data" colspan="2"> </td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-30</em></td> + <td class="data">30</td></tr> +<tr><th>lbstatus</th> + <td class="data">40</td> + <td class="data"><em>-40</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>10</em></td> + <td class="data">-10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-20</em></td> + <td class="data">20</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">20</td> + <td class="data"><em>-20</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-10</em></td> + <td class="data">10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-40</em></td> + <td class="data">40</td></tr> +<tr><th>lbstatus</th> + <td class="data">30</td> + <td class="data"><em>-30</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>0</em></td> + <td class="data">0</td></tr> +<tr><td class="data" colspan="3">(repeat)</td></tr> +</table> + + <p>Après 10 distributions, la planification se répète et 7 + <var>a</var> sont sélectionnés avec 3 <var>b</var> intercalés.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_byrequests.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html b/docs/manual/mod/mod_lbmethod_bytraffic.html new file mode 100644 index 0000000..31560d5 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_bytraffic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_bytraffic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html.en b/docs/manual/mod/mod_lbmethod_bytraffic.html.en new file mode 100644 index 0000000..353c461 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html.en @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_bytraffic - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_lbmethod_bytraffic</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bytraffic.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>lbmethod_bytraffic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_lbmethod_bytraffic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Split off from <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> in 2.3</td></tr></table> +<h3>Summary</h3> + +<p>This module does not provide any configuration directives of its own. +It requires the services of <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, and +provides the <code>bytraffic</code> load balancing method.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#traffic">Weighted Traffic Counting Algorithm</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bytraffic">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bytraffic">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="traffic" id="traffic">Weighted Traffic Counting Algorithm</a></h2> + + <p>Enabled via <code>lbmethod=bytraffic</code>, the idea behind this + scheduler is very similar to the Request Counting method, with + the following changes:</p> + + <p><dfn>lbfactor</dfn> is <em>how much traffic, in bytes, we want + this worker to handle</em>. This is also a normalized value + representing their "share" of the amount of work to be done, + but instead of simply counting the number of requests, we take + into account the amount of traffic this worker has either seen + or produced.</p> + + <p>If a balancer is configured as follows:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">2</td> + <td class="data">1</td></tr> +</table> + + <p>Then we mean that we want <var>b</var> to process twice the + amount of bytes than <var>a</var> or <var>c</var> should. It does + not necessarily mean that <var>b</var> would handle twice as + many requests, but it would process twice the I/O. Thus, the + size of the request and response are applied to the weighting + and selection algorithm.</p> + + <p>Note: input and output bytes are weighted the same.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bytraffic.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_bytraffic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 new file mode 100644 index 0000000..1058035 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr.utf8 @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_bytraffic - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_bytraffic</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bytraffic.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_bytraffic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bytraffic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la +version 2.3</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et +fournit la méthode de répartition de charge <code>bytraffic</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#traffic">Algorithme de répartition en fonction d'un certain + trafic</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bytraffic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bytraffic">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="traffic" id="traffic">Algorithme de répartition en fonction d'un certain + trafic</a></h2> + + <p>Activé via <code>lbmethod=bytraffic</code>, 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 :</p> + + <p><dfn>lbfactor</dfn> représente la <em>quantité de trafic, en + octets, que nous voulons voir traitée par le processus</em>. 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é.</p> + + <p>Si un répartiteur est configuré comme suit :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">2</td> + <td class="data">1</td></tr> +</table> + + <p>Cela signifie que nous souhaitons que <var>b</var> traite 2 fois + plus d'octets que <var>a</var> ou <var>c</var>. Cela n'entraîne pas + nécessairement que <var>b</var> 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.</p> + + <p>Note : les octets en entrée sont évalués avec la même pondération + que les octets en sortie.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bytraffic.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_bytraffic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html b/docs/manual/mod/mod_lbmethod_heartbeat.html new file mode 100644 index 0000000..9f5a855 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lbmethod_heartbeat.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lbmethod_heartbeat.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html.en b/docs/manual/mod/mod_lbmethod_heartbeat.html.en new file mode 100644 index 0000000..b06c58b --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html.en @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_heartbeat - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_lbmethod_heartbeat</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_heartbeat.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_heartbeat.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>lbmethod_heartbeat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_lbmethod_heartbeat.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3 and later</td></tr></table> +<h3>Summary</h3> + +<p><code>lbmethod=heartbeat</code> uses the services of <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> to balance between origin servers that are providing +heartbeat info via the <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> module.</p> + +<p> This modules load balancing algorithm favors servers with more ready (idle) +capacity over time, but does not select the server with the most ready capacity +every time. Servers that have 0 active clients are penalized, with the +assumption that they are not fully initialized.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_heartbeat">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_heartbeat">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code></li> +<li><code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a> <a name="heartbeatstorage" id="heartbeatstorage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Path to read heartbeat data</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HeartbeatStorage <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>HeartbeatStorage logs/hb.dat</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lbmethod_heartbeat</td></tr> +</table> + <p>The <code class="directive">HeartbeatStorage</code> directive specifies the + path to read heartbeat data. This flat-file is used only when + <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> is not loaded.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lbmethod_heartbeat.html" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_heartbeat.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_heartbeat.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 new file mode 100644 index 0000000..3dfe6ce --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr.utf8 @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_heartbeat - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_heartbeat</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_heartbeat.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme d'ordonnancement de répartition de charge pour +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic Heartbeat</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_heartbeat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_heartbeat.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p><code>lbmethod=heartbeat</code> utilise les services du module + <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> pour répartir la charge entre les + serveurs d'origine qui fournissent des données heartbeat via le + module <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>.</p> + +<p>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.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code></li> +<li><code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="heartbeatstorage" id="heartbeatstorage">Directive</a> <a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique le chemin permettant de lire les données +heartbeat</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatStorage <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatStorage logs/hb.dat</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lbmethod_heartbeat</td></tr> +</table> + <p>La directive <code class="directive">HeartbeatStorage</code> permet de + spécifier le chemin d'accès aux données heartbeat. Ce fichier texte + n'est utilisé que si le module <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> + n'est pas chargé.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_heartbeat.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lbmethod_heartbeat.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ldap.html b/docs/manual/mod/mod_ldap.html new file mode 100644 index 0000000..074fa07 --- /dev/null +++ b/docs/manual/mod/mod_ldap.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ldap.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ldap.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_ldap.html.en b/docs/manual/mod/mod_ldap.html.en new file mode 100644 index 0000000..b8536a6 --- /dev/null +++ b/docs/manual/mod/mod_ldap.html.en @@ -0,0 +1,878 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ldap - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_ldap</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ldap.html" title="English"> en </a> | +<a href="../fr/mod/mod_ldap.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>LDAP connection pooling and result caching services for use +by other LDAP modules</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>ldap_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>util_ldap.c</td></tr></table> +<h3>Summary</h3> + + <p>This module was created to improve the performance of + websites relying on backend connections to LDAP servers. In + addition to the functions provided by the standard LDAP + libraries, this module adds an LDAP connection pool and an LDAP + shared memory cache.</p> + + <p>To enable this module, LDAP support must be compiled into + apr-util. This is achieved by adding the <code>--with-ldap</code> + flag to the <code class="program"><a href="../programs/configure.html">configure</a></code> script when building + Apache.</p> + + <p>SSL/TLS support is dependent on which LDAP toolkit has been + linked to <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>. As of this writing, APR-util supports: + <a href="http://www.openldap.org/">OpenLDAP SDK</a> (2.x or later), + <a href="http://developer.novell.com/ndk/cldap.htm">Novell LDAP + SDK</a>, <a href="https://wiki.mozilla.org/LDAP_C_SDK"> + Mozilla LDAP SDK</a>, native Solaris LDAP SDK (Mozilla based) or the + native Microsoft LDAP SDK. See the <a href="http://apr.apache.org">APR</a> + website for details.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#exampleconfig">Example Configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pool">LDAP Connection Pool</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cache">LDAP Cache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usingssltls">Using SSL/TLS</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#settingcerts">SSL/TLS Certificates</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapcacheentries">LDAPCacheEntries</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapcachettl">LDAPCacheTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapreferrals">LDAPReferrals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapretries">LDAPRetries</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapretrydelay">LDAPRetryDelay</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptimeout">LDAPTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapverifyservercert">LDAPVerifyServerCert</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ldap">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ldap">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exampleconfig" id="exampleconfig">Example Configuration</a></h2> + <p>The following is an example configuration that uses + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> to increase the performance of HTTP Basic + authentication provided by <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</p> + + <pre class="prettyprint lang-config"># Enable the LDAP connection pool and shared +# memory cache. Enable the LDAP cache status +# handler. Requires that mod_ldap and mod_authnz_ldap +# be loaded. Change the "yourdomain.example.com" to +# match your domain. + +LDAPSharedCacheSize 500000 +LDAPCacheEntries 1024 +LDAPCacheTTL 600 +LDAPOpCacheEntries 1024 +LDAPOpCacheTTL 600 + +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="pool" id="pool">LDAP Connection Pool</a></h2> + + <p>LDAP connections are pooled from request to request. This + allows the LDAP server to remain connected and bound ready for + the next request, without the need to unbind/connect/rebind. + The performance advantages are similar to the effect of HTTP + keepalives.</p> + + <p>On a busy server it is possible that many requests will try + and access the same LDAP server connection simultaneously. + Where an LDAP connection is in use, Apache will create a new + connection alongside the original one. This ensures that the + connection pool does not become a bottleneck.</p> + + <p>There is no need to manually enable connection pooling in + the Apache configuration. Any module using this module for + access to LDAP services will share the connection pool.</p> + + <p>LDAP connections can keep track of the ldap client + credentials used when binding to an LDAP server. These + credentials can be provided to LDAP servers that do not + allow anonymous binds during referral chasing. To control + this feature, see the + <code class="directive"><a href="#ldapreferrals">LDAPReferrals</a></code> and + <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code> + directives. By default, this feature is enabled.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cache" id="cache">LDAP Cache</a></h2> + + <p>For improved performance, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> uses an aggressive + caching strategy to minimize the number of times that the LDAP + server must be contacted. Caching can easily double or triple + the throughput of Apache when it is serving pages protected + with <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>. In addition, the load on the LDAP server + will be significantly decreased.</p> + + <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> supports two types of LDAP caching during + the search/bind phase with a <em>search/bind cache</em> and + during the compare phase with two <em>operation + caches</em>. Each LDAP URL that is used by the server has + its own set of these three caches.</p> + + <h3><a name="search-bind" id="search-bind">The Search/Bind Cache</a></h3> + <p>The process of doing a search and then a bind is the + most time-consuming aspect of LDAP operation, especially if + the directory is large. The search/bind cache is used to + cache all searches that resulted in successful binds. + Negative results (<em>i.e.</em>, unsuccessful searches, or searches + that did not result in a successful bind) are not cached. + The rationale behind this decision is that connections with + invalid credentials are only a tiny percentage of the total + number of connections, so by not caching invalid + credentials, the size of the cache is reduced.</p> + + <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> stores the username, the DN + retrieved, the password used to bind, and the time of the bind + in the cache. Whenever a new connection is initiated with the + same username, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> compares the password + of the new connection with the password in the cache. If the + passwords match, and if the cached entry is not too old, + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> bypasses the search/bind phase.</p> + + <p>The search and bind cache is controlled with the <code class="directive"><a href="#ldapcacheentries">LDAPCacheEntries</a></code> and <code class="directive"><a href="#ldapcachettl">LDAPCacheTTL</a></code> directives.</p> + + + <h3><a name="opcaches" id="opcaches">Operation Caches</a></h3> + <p>During attribute and distinguished name comparison + functions, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> uses two operation caches + to cache the compare operations. The first compare cache is + used to cache the results of compares done to test for LDAP + group membership. The second compare cache is used to cache + the results of comparisons done between distinguished + names.</p> + + <p>Note that, when group membership is being checked, any sub-group + comparison results are cached to speed future sub-group comparisons.</p> + + <p>The behavior of both of these caches is controlled with + the <code class="directive"><a href="#ldapopcacheentries">LDAPOpCacheEntries</a></code> + and <code class="directive"><a href="#ldapopcachettl">LDAPOpCacheTTL</a></code> + directives.</p> + + + <h3><a name="monitoring" id="monitoring">Monitoring the Cache</a></h3> + <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> has a content handler that allows + administrators to monitor the cache performance. The name of + the content handler is <code>ldap-status</code>, so the + following directives could be used to access the + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> cache information:</p> + + <pre class="prettyprint lang-config"><Location "/server/cache-info"> + SetHandler ldap-status +</Location></pre> + + + <p>By fetching the URL <code>http://servername/cache-info</code>, + the administrator can get a status report of every cache that is used + by <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> cache. Note that if Apache does not + support shared memory, then each <code class="program"><a href="../programs/httpd.html">httpd</a></code> instance has its + own cache, so reloading the URL will result in different + information each time, depending on which <code class="program"><a href="../programs/httpd.html">httpd</a></code> + instance processes the request.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usingssltls" id="usingssltls">Using SSL/TLS</a></h2> + + <p>The ability to create an SSL and TLS connections to an LDAP server + is defined by the directives + <code class="directive"><a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code>, + <code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> + and <code class="directive"><a href="#ldaptrustedmode">LDAPTrustedMode</a></code>. + These directives specify the CA and optional client certificates to be used, + as well as the type of encryption to be used on the connection (none, SSL or + TLS/STARTTLS).</p> + + <pre class="prettyprint lang-config"># Establish an SSL LDAP connection on port 636. Requires that +# mod_ldap and mod_authnz_ldap be loaded. Change the +# "yourdomain.example.com" to match your domain. + +LDAPTrustedGlobalCert CA_DER "/certs/certfile.der" + +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + + + <pre class="prettyprint lang-config"># Establish a TLS LDAP connection on port 389. Requires that +# mod_ldap and mod_authnz_ldap be loaded. Change the +# "yourdomain.example.com" to match your domain. + +LDAPTrustedGlobalCert CA_DER "/certs/certfile.der" + +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" TLS + Require valid-user +</Location></pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="settingcerts" id="settingcerts">SSL/TLS Certificates</a></h2> + + <p>The different LDAP SDKs have widely different methods of setting + and handling both CA and client side certificates.</p> + + <p>If you intend to use SSL or TLS, read this section CAREFULLY so as to + understand the differences between configurations on the different LDAP + toolkits supported.</p> + + <h3><a name="settingcerts-netscape" id="settingcerts-netscape">Netscape/Mozilla/iPlanet SDK</a></h3> + <p>CA certificates are specified within a file called cert7.db. + The SDK will not talk to any LDAP server whose certificate was + not signed by a CA specified in this file. If + client certificates are required, an optional key3.db file may + be specified with an optional password. The secmod file can be + specified if required. These files are in the same format as + used by the Netscape Communicator or Mozilla web browsers. The easiest + way to obtain these files is to grab them from your browser + installation.</p> + + <p>Client certificates are specified per connection using the + <code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> + directive by referring + to the certificate "nickname". An optional password may be + specified to unlock the certificate's private key.</p> + + <p>The SDK supports SSL only. An attempt to use STARTTLS will cause + an error when an attempt is made to contact the LDAP server at + runtime.</p> + + <pre class="prettyprint lang-config"># Specify a Netscape CA certificate file +LDAPTrustedGlobalCert CA_CERT7_DB "/certs/cert7.db" +# Specify an optional key3.db file for client certificate support +LDAPTrustedGlobalCert CERT_KEY3_DB "/certs/key3.db" +# Specify the secmod file if required +LDAPTrustedGlobalCert CA_SECMOD "/certs/secmod" +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + LDAPTrustedClientCert CERT_NICKNAME <nickname> [password] + AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + + + + + <h3><a name="settingcerts-novell" id="settingcerts-novell">Novell SDK</a></h3> + + <p>One or more CA certificates must be specified for the Novell + SDK to work correctly. These certificates can be specified as + binary DER or Base64 (PEM) encoded files.</p> + + <p>Note: Client certificates are specified globally rather than per + connection, and so must be specified with the <code class="directive"><a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> + directive as below. Trying to set client certificates via the + <code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> + directive will cause an error to be logged + when an attempt is made to connect to the LDAP server.</p> + + <p>The SDK supports both SSL and STARTTLS, set using the + <code class="directive"><a href="#ldaptrustedmode">LDAPTrustedMode</a></code> parameter. + If an ldaps:// URL is specified, + SSL mode is forced, override this directive.</p> + + <pre class="prettyprint lang-config"># Specify two CA certificate files +LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der" +LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem" +# Specify a client certificate file and key +LDAPTrustedGlobalCert CERT_BASE64 "/certs/cert1.pem" +LDAPTrustedGlobalCert KEY_BASE64 "/certs/key1.pem" [password] +# Do not use this directive, as it will throw an error +#LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"</pre> + + + + + <h3><a name="settingcerts-openldap" id="settingcerts-openldap">OpenLDAP SDK</a></h3> + + <p>One or more CA certificates must be specified for the OpenLDAP + SDK to work correctly. These certificates can be specified as + binary DER or Base64 (PEM) encoded files.</p> + + <p>Both CA and client certificates may be specified globally + (<code class="directive"><a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code>) or + per-connection (<code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>). + When any settings are specified per-connection, the global + settings are superseded.</p> + + <p>The documentation for the SDK claims to support both SSL and + STARTTLS, however STARTTLS does not seem to work on all versions + of the SDK. The SSL/TLS mode can be set using the + LDAPTrustedMode parameter. If an ldaps:// URL is specified, + SSL mode is forced. The OpenLDAP documentation notes that SSL + (ldaps://) support has been deprecated to be replaced with TLS, + although the SSL functionality still works.</p> + + <pre class="prettyprint lang-config"># Specify two CA certificate files +LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der" +LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem" +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem" + LDAPTrustedClientCert KEY_BASE64 "/certs/key1.pem" + # CA certs respecified due to per-directory client certs + LDAPTrustedClientCert CA_DER "/certs/cacert1.der" + LDAPTrustedClientCert CA_BASE64 "/certs/cacert2.pem" + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + + + + + <h3><a name="settingcerts-solaris" id="settingcerts-solaris">Solaris SDK</a></h3> + + <p>SSL/TLS for the native Solaris LDAP libraries is not yet + supported. If required, install and use the OpenLDAP libraries + instead.</p> + + + + <h3><a name="settingcerts-microsoft" id="settingcerts-microsoft">Microsoft SDK</a></h3> + + <p>SSL/TLS certificate configuration for the native Microsoft + LDAP libraries is done inside the system registry, and no + configuration directives are required.</p> + + <p>Both SSL and TLS are supported by using the ldaps:// URL + format, or by using the <code class="directive"><a href="#ldaptrustedmode">LDAPTrustedMode</a></code> directive accordingly.</p> + + <p>Note: The status of support for client certificates is not yet known + for this toolkit.</p> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPCacheEntries" id="LDAPCacheEntries">LDAPCacheEntries</a> <a name="ldapcacheentries" id="ldapcacheentries">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of entries in the primary LDAP cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPCacheEntries <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPCacheEntries 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Specifies the maximum size of the primary LDAP cache. This + cache contains successful search/binds. Set it to 0 to turn off + search/bind caching. The default size is 1024 cached + searches.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPCacheTTL" id="LDAPCacheTTL">LDAPCacheTTL</a> <a name="ldapcachettl" id="ldapcachettl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Time that cached items remain valid</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPCacheTTL <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPCacheTTL 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Specifies the time (in seconds) that an item in the + search/bind cache remains valid. The default is 600 seconds (10 + minutes).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPConnectionPoolTTL" id="LDAPConnectionPoolTTL">LDAPConnectionPoolTTL</a> <a name="ldapconnectionpoolttl" id="ldapconnectionpoolttl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPConnectionPoolTTL <var>n</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPConnectionPoolTTL -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.3.12 and later</td></tr> +</table> + <p>Specifies the maximum age, in seconds, that a pooled LDAP connection can remain idle + and still be available for use. Connections are cleaned up when they are next needed, + not asynchronously.</p> + + <p>A setting of 0 causes connections to never be saved in the backend + connection pool. The default value of -1, and any other negative value, + allows connections of any age to be reused.</p> + + <p>For performance reasons, the reference time used by this directive is + based on when the LDAP connection is returned to the pool, not the time + of the last successful I/O with the LDAP server. </p> + + <p>Since 2.4.10, new measures are in place to avoid the reference time + from being inflated by cache hits or slow requests. First, the reference + time is not updated if no backend LDAP conncetions were needed. Second, + the reference time uses the time the HTTP request was received instead + of the time the request is completed.</p> + + <div class="note"><p>This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), minutes (min), and hours (h). + </p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPConnectionTimeout" id="LDAPConnectionTimeout">LDAPConnectionTimeout</a> <a name="ldapconnectiontimeout" id="ldapconnectiontimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the socket connection timeout in seconds</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPConnectionTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>This directive configures the LDAP_OPT_NETWORK_TIMEOUT (or LDAP_OPT_CONNECT_TIMEOUT) + option in the underlying LDAP client library, when available. This value + typically controls how long the LDAP client library will wait for the TCP + connection to the LDAP server to complete.</p> + + <p> If a connection is not successful with the timeout period, either an error will be + returned or the LDAP client library will attempt to connect to a secondary LDAP + server if one is specified (via a space-separated list of hostnames in the + <code class="directive"><a href="../mod/mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></code>).</p> + + <p>The default is 10 seconds, if the LDAP client library linked with the + server supports the LDAP_OPT_NETWORK_TIMEOUT option.</p> + + <div class="note">LDAPConnectionTimeout is only available when the LDAP client library linked + with the server supports the LDAP_OPT_NETWORK_TIMEOUT + (or LDAP_OPT_CONNECT_TIMEOUT) option, and the ultimate behavior is + dictated entirely by the LDAP client library. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPLibraryDebug" id="LDAPLibraryDebug">LDAPLibraryDebug</a> <a name="ldaplibrarydebug" id="ldaplibrarydebug">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable debugging in the LDAP SDK</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPLibraryDebug <var>7</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>disabled</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Turns on SDK-specific LDAP debug options that generally cause the LDAP + SDK to log verbose trace information to the main Apache error log. + The trace messages from the LDAP SDK provide gory details that + can be useful during debugging of connectivity problems with backend LDAP servers</p> + + <p>This option is only configurable when Apache HTTP Server is linked with + an LDAP SDK that implements <code>LDAP_OPT_DEBUG</code> or + <code>LDAP_OPT_DEBUG_LEVEL</code>, such as OpenLDAP (a value of 7 is verbose) + or Tivoli Directory Server (a value of 65535 is verbose).</p> + + <div class="warning"> + <p>The logged information will likely contain plaintext credentials being used or + validated by LDAP authentication, so care should be taken in protecting and purging + the error log when this directive is used.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPOpCacheEntries" id="LDAPOpCacheEntries">LDAPOpCacheEntries</a> <a name="ldapopcacheentries" id="ldapopcacheentries">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of entries used to cache LDAP compare +operations</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPOpCacheEntries <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPOpCacheEntries 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>This specifies the number of entries <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> + will use to cache LDAP compare operations. The default is 1024 + entries. Setting it to 0 disables operation caching.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPOpCacheTTL" id="LDAPOpCacheTTL">LDAPOpCacheTTL</a> <a name="ldapopcachettl" id="ldapopcachettl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Time that entries in the operation cache remain +valid</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPOpCacheTTL <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPOpCacheTTL 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Specifies the time (in seconds) that entries in the + operation cache remain valid. The default is 600 seconds.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPReferralHopLimit" id="LDAPReferralHopLimit">LDAPReferralHopLimit</a> <a name="ldapreferralhoplimit" id="ldapreferralhoplimit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPReferralHopLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SDK dependent, typically between 5 and 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>This directive, if enabled by the <code class="directive"><a href="#ldapreferrals">LDAPReferrals</a></code> directive, + limits the number of referral hops that are followed before terminating an + LDAP query.</p> + +<div class="warning"> +<p> Support for this tunable is uncommon in LDAP SDKs.</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPReferrals" id="LDAPReferrals">LDAPReferrals</a> <a name="ldapreferrals" id="ldapreferrals">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable referral chasing during queries to the LDAP server.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPReferrals On|Off|default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPReferrals On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The <var>default</var> parameter is available in Apache 2.4.7 and later</td></tr> +</table> + <p>Some LDAP servers divide their directory among multiple domains and use referrals + to direct a client when a domain boundary is crossed. This is similar to a HTTP redirect. + LDAP client libraries may or may not chase referrals by default. This directive + explicitly configures the referral chasing in the underlying SDK.</p> + + + <p><code class="directive">LDAPReferrals</code> takes the following values:</p> + <dl> + <dt>"on"</dt> + <dd> <p> When set to "on", the underlying SDK's referral chasing state + is enabled, <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code> is used to + override the SDK's hop limit, and an LDAP rebind callback is + registered.</p></dd> + <dt>"off"</dt> + <dd> <p> When set to "off", the underlying SDK's referral chasing state + is disabled completely.</p></dd> + <dt>"default"</dt> + <dd> <p> When set to "default", the underlying SDK's referral chasing state + is not changed, <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code> is not + used to override the SDK's hop limit, and no LDAP rebind callback is + registered.</p></dd> + </dl> + + <p>The directive <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code> works in conjunction with + this directive to limit the number of referral hops to follow before terminating the LDAP query. + When referral processing is enabled by a value of "On", client credentials will be provided, + via a rebind callback, for any LDAP server requiring them.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPRetries" id="LDAPRetries">LDAPRetries</a> <a name="ldapretries" id="ldapretries">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the number of LDAP server retries.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPRetries <var>number-of-retries</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPRetries 3</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>The server will retry failed LDAP requests up to + <code class="directive">LDAPRetries</code> times. Setting this + directive to 0 disables retries.</p> + <p>LDAP errors such as timeouts and refused connections are retryable.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPRetryDelay" id="LDAPRetryDelay">LDAPRetryDelay</a> <a name="ldapretrydelay" id="ldapretrydelay">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the delay between LDAP server retries.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPRetryDelay <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPRetryDelay 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>If <code class="directive">LDAPRetryDelay</code> is set to a non-zero + value, the server will delay retrying an LDAP request for the + specified amount of time. Setting this directive to 0 will + result in any retry to occur without delay.</p> + + <p>LDAP errors such as timeouts and refused connections are retryable.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPSharedCacheFile" id="LDAPSharedCacheFile">LDAPSharedCacheFile</a> <a name="ldapsharedcachefile" id="ldapsharedcachefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the shared memory cache file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPSharedCacheFile <var>directory-path/filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Specifies the directory path and file name of the shared memory + cache file. If not set, anonymous shared memory will be used if the + platform supports it.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPSharedCacheSize" id="LDAPSharedCacheSize">LDAPSharedCacheSize</a> <a name="ldapsharedcachesize" id="ldapsharedcachesize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Size in bytes of the shared-memory cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPSharedCacheSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPSharedCacheSize 500000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Specifies the number of bytes to allocate for the shared + memory cache. The default is 500kb. If set to 0, shared memory + caching will not be used and every HTTPD process will create its + own cache.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPTimeout" id="LDAPTimeout">LDAPTimeout</a> <a name="ldaptimeout" id="ldaptimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPTimeout 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.3.5 and later</td></tr> +</table> + <p>This directive configures the timeout for bind and search operations, as well as + the LDAP_OPT_TIMEOUT option in the underlying LDAP client library, when available.</p> + + <p> If the timeout expires, httpd will retry in case an existing connection has + been silently dropped by a firewall. However, performance will be much better if + the firewall is configured to send TCP RST packets instead of silently dropping + packets.</p> + + <div class="note"> + <p>Timeouts for ldap compare operations requires an SDK with LDAP_OPT_TIMEOUT, such as OpenLDAP >= 2.4.4.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPTrustedClientCert" id="LDAPTrustedClientCert">LDAPTrustedClientCert</a> <a name="ldaptrustedclientcert" id="ldaptrustedclientcert">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>It specifies the directory path, file name or nickname of a + per connection client certificate used when establishing an SSL + or TLS connection to an LDAP server. Different locations or + directories may have their own independent client certificate + settings. Some LDAP toolkits (notably Novell) + do not support per connection client certificates, and will throw an + error on LDAP server connection if you try to use this directive + (Use the <code class="directive"><a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> + directive instead for Novell client + certificates - See the SSL/TLS certificate guide above for details). + The type specifies the kind of certificate parameter being + set, depending on the LDAP toolkit being used. Supported types are:</p> + <ul> + <li>CA_DER - binary DER encoded CA certificate</li> + <li>CA_BASE64 - PEM encoded CA certificate</li> + <li>CERT_DER - binary DER encoded client certificate</li> + <li>CERT_BASE64 - PEM encoded client certificate</li> + <li>CERT_NICKNAME - Client certificate "nickname" (Netscape SDK)</li> + <li>KEY_DER - binary DER encoded private key</li> + <li>KEY_BASE64 - PEM encoded private key</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPTrustedGlobalCert" id="LDAPTrustedGlobalCert">LDAPTrustedGlobalCert</a> <a name="ldaptrustedglobalcert" id="ldaptrustedglobalcert">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>It specifies the directory path and file name of the trusted CA + certificates and/or system wide client certificates <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> + should use when establishing an SSL or TLS connection to an LDAP + server. Note that all certificate information specified using this directive + is applied globally to the entire server installation. Some LDAP toolkits + (notably Novell) require all client certificates to be set globally using + this directive. Most other toolkits require clients certificates to be set + per Directory or per Location using <code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>. If you get this + wrong, an error may be logged when an attempt is made to contact the LDAP + server, or the connection may silently fail (See the SSL/TLS certificate + guide above for details). + The type specifies the kind of certificate parameter being + set, depending on the LDAP toolkit being used. Supported types are:</p> + <ul> + <li>CA_DER - binary DER encoded CA certificate</li> + <li>CA_BASE64 - PEM encoded CA certificate</li> + <li>CA_CERT7_DB - Netscape cert7.db CA certificate database file</li> + <li>CA_SECMOD - Netscape secmod database file</li> + <li>CERT_DER - binary DER encoded client certificate</li> + <li>CERT_BASE64 - PEM encoded client certificate</li> + <li>CERT_KEY3_DB - Netscape key3.db client certificate database file</li> + <li>CERT_NICKNAME - Client certificate "nickname" (Netscape SDK)</li> + <li>CERT_PFX - PKCS#12 encoded client certificate (Novell SDK)</li> + <li>KEY_DER - binary DER encoded private key</li> + <li>KEY_BASE64 - PEM encoded private key</li> + <li>KEY_PFX - PKCS#12 encoded private key (Novell SDK)</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPTrustedMode" id="LDAPTrustedMode">LDAPTrustedMode</a> <a name="ldaptrustedmode" id="ldaptrustedmode">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPTrustedMode <var>type</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>The following modes are supported:</p> + <ul> + <li>NONE - no encryption</li> + <li>SSL - ldaps:// encryption on default port 636</li> + <li>TLS - STARTTLS encryption on default port 389</li> + </ul> + + <p>Not all LDAP toolkits support all the above modes. An error message + will be logged at runtime if a mode is not supported, and the + connection to the LDAP server will fail. + </p> + + <p>If an ldaps:// URL is specified, the mode becomes SSL and the setting + of <code class="directive">LDAPTrustedMode</code> is ignored.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LDAPVerifyServerCert" id="LDAPVerifyServerCert">LDAPVerifyServerCert</a> <a name="ldapverifyservercert" id="ldapverifyservercert">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force server certificate verification</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LDAPVerifyServerCert On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LDAPVerifyServerCert On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Specifies whether to force the verification of a + server certificate when establishing an SSL connection to the + LDAP server.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ldap.html" title="English"> en </a> | +<a href="../fr/mod/mod_ldap.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ldap.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ldap.html.fr.utf8 b/docs/manual/mod/mod_ldap.html.fr.utf8 new file mode 100644 index 0000000..7505bf9 --- /dev/null +++ b/docs/manual/mod/mod_ldap.html.fr.utf8 @@ -0,0 +1,958 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ldap - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_ldap</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ldap.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Conservation des connexions LDAP et services de mise en +cache du résultat à destination des autres modules LDAP</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ldap_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>util_ldap.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module a été conçu dans le but d'améliorer les performances + des sites web s'appuyant sur des connexions en arrière-plan vers des + serveurs LDAP. Il ajoute aux fonctions fournies par les + bibliothèques standards LDAP la conservation des connexions LDAP + ainsi qu'un cache LDAP partagé en mémoire.</p> + + <p>Pour activer ce module, le support LDAP doit être compilé dans + apr-util. Pour ce faire, on ajoute l'option <code>--with-ldap</code> + au script <code class="program"><a href="../programs/configure.html">configure</a></code> lorsqu'on construit + Apache.</p> + + <p>Le support SSL/TLS est conditionné par le kit de développement + LDAP qui a été lié à <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. Au moment où ces + lignes sont écrites, APR-util supporte <a href="http://www.openldap.org/">OpenLDAP SDK</a> (version 2.x ou + supérieure), <a href="http://developer.novell.com/ndk/cldap.htm">Novell LDAP + SDK</a>, <a href="https://wiki.mozilla.org/LDAP_C_SDK"> + Mozilla LDAP SDK</a>, le SDK LDAP Solaris natif (basé sur Mozilla) + ou le SDK LDAP Microsoft natif. Voir le site web <a href="http://apr.apache.org">APR</a> pour plus de détails.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#exampleconfig">Exemple de configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pool">Conservation des connexions LDAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cache">Cache LDAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usingssltls">Utiliser SSL/TLS</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#settingcerts">Certificats SSL/TLS</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapcacheentries">LDAPCacheEntries</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapcachettl">LDAPCacheTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapconnectiontimeout">LDAPConnectionTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaplibrarydebug">LDAPLibraryDebug</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapopcacheentries">LDAPOpCacheEntries</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapopcachettl">LDAPOpCacheTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapreferrals">LDAPReferrals</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapretries">LDAPRetries</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapretrydelay">LDAPRetryDelay</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapsharedcachefile">LDAPSharedCacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapsharedcachesize">LDAPSharedCacheSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptimeout">LDAPTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldaptrustedmode">LDAPTrustedMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ldapverifyservercert">LDAPVerifyServerCert</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ldap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ldap">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="exampleconfig" id="exampleconfig">Exemple de configuration</a></h2> + <p>Ce qui suit est un exemple de configuration qui utilise + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> pour améliorer les performances de + l'authentification HTTP de base fournie par + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</p> + + <pre class="prettyprint lang-config"># Active la conservation des connexions LDAP et le cache partagé en +# mémoire. Active le gestionnaire de statut du cache LDAP. +# Nécessite le chargement de mod_ldap et de mod_authnz_ldap. +# Remplacez "votre-domaine.example.com" par le nom de votre +# domaine. + +LDAPSharedCacheSize 500000 +LDAPCacheEntries 1024 +LDAPCacheTTL 600 +LDAPOpCacheEntries 1024 +LDAPOpCacheTTL 600 + +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="pool" id="pool">Conservation des connexions LDAP</a></h2> + + <p>Les connexions LDAP sont conservées de requête en requête. Ceci + permet de rester connecté et identifié au serveur LDAP, ce dernier + étant ainsi prêt pour la prochaine requête, sans avoir à se + déconnecter, reconnecter et réidentifier. Le gain en performances + est similaire à celui des connexions persistantes (keepalives) + HTTP.</p> + + <p>Sur un serveur très sollicité, il est possible que de nombreuses + requêtes tentent d'accéder simultanément à la même connexion au + serveur LDAP. Lorsqu'une connexion LDAP est utilisée, Apache en crée + une deuxième en parallèle à la première, ce qui permet d'éviter que + le système de conservation des connexions ne devienne un goulot + d'étranglement.</p> + + <p>Il n'est pas nécessaire d'activer explicitement la conservation + des connexions dans la configuration d'Apache. Tout module utilisant + le module ldap pour accéder aux services LDAP partagera le jeu de + connexions.</p> + + <p>Les connexions LDAP peuvent garder la trace des données + d'identification du client ldap utilisées pour l'identification + auprès du serveur LDAP. Ces données peuvent être fournies aux + serveurs LDAP qui ne permettent pas les connexions anonymes au cours + lors des tentatives de sauts vers des serveurs alternatifs. Pour + contrôler cette fonctionnalité, voir les directives <code class="directive"><a href="#ldapreferrals">LDAPReferrals</a></code> et <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code>. Cette + fonctionnalité est activée par défaut.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cache" id="cache">Cache LDAP</a></h2> + + <p>Pour améliorer les performances, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> met en oeuvre + une stratégie de mise en cache agressive visant à minimiser le nombre de + fois que le serveur LDAP doit être contacté. La mise en cache peut + facilement doubler et même tripler le débit d'Apache lorsqu'il sert des + pages protégées par <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>. De plus, le serveur + LDAP verra lui-même sa charge sensiblement diminuée.</p> + + <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> supporte deux types de mise en cache + LDAP : un <em>cache recherche/identification</em> durant la phase + de recherche/identification et deux <em>caches d'opérations</em> + durant la phase de comparaison. Chaque URL LDAP utilisée par le + serveur a son propre jeu d'instances dans ces trois caches.</p> + + <h3><a name="search-bind" id="search-bind">Le cache + recherche/identification</a></h3> + <p>Les processus de recherche et d'identification sont les + opérations LDAP les plus consommatrices en temps, en particulier + si l'annuaire est de grande taille. Le cache de + recherche/identification met en cache toutes les recherches qui + ont abouti à une identification positive. Les résultats négatifs + (c'est à dire les recherches sans succès, ou les recherches qui + n'ont pas abouti à une identification positive) ne sont pas mis en + cache. La raison de cette décision réside dans le fait que les + connexions avec des données d'identification invalides ne + représentent qu'un faible pourcentage du nombre total de + connexions, et ainsi, le fait de ne pas mettre en cache les + données d'identification invalides réduira d'autant la taille du + cache.</p> + + <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> met en cache le nom d'utilisateur, le + DN extrait, le mot de passe utilisé pour l'identification, ainsi + que l'heure de l'identification. Chaque fois qu'une nouvelle + connexion est initialisée avec le même nom d'utilisateur, + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> compare le mot de passe de la nouvelle + connexion avec le mot de passe enregistré dans le cache. Si les + mots de passe correspondent, et si l'entrée du cache n'est pas + trop ancienne, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> court-circuite la phase + de recherche/identification.</p> + + <p>Le cache de recherche/identification est contrôlé par les + directives <code class="directive"><a href="#ldapcacheentries">LDAPCacheEntries</a></code> et <code class="directive"><a href="#ldapcachettl">LDAPCacheTTL</a></code>.</p> + + + <h3><a name="opcaches" id="opcaches">Les caches d'opérations</a></h3> + <p>Au cours des opérations de comparaison d'attributs et de noms + distinctifs (DN), <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> utilise deux caches + d'opérations pour mettre en cache les opérations de comparaison. + Le premier cache de comparaison sert à mettre en cache les + résultats de comparaisons effectuées pour vérifier l'appartenance + à un groupe LDAP. Le second cache de comparaison sert à mettre en + cache les résultats de comparaisons entre DNs.</p> + + <p>Notez que, lorsque l'appartenance à un groupe est vérifiée, + toute comparaison de sous-groupes est mise en cache afin + d'accélérer les comparaisons de sous-groupes ultérieures.</p> + + <p>Le comportement de ces deux caches est contrôlé par les + directives <code class="directive"><a href="#ldapopcacheentries">LDAPOpCacheEntries</a></code> et <code class="directive"><a href="#ldapopcachettl">LDAPOpCacheTTL</a></code>.</p> + + + <h3><a name="monitoring" id="monitoring">Superviser le cache</a></h3> + <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> possède un gestionnaire de contenu + qui permet aux administrateurs de superviser les performances du + cache. Le nom du gestionnaire de contenu est + <code>ldap-status</code>, et on peut utiliser les directives + suivantes pour accéder aux informations du cache de + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> :</p> + + <pre class="prettyprint lang-config"><Location "/server/cache-info"> + SetHandler ldap-status +</Location></pre> + + + <p>En se connectant à l'URL + <code>http://nom-serveur/infos-cache</code>, l'administrateur peut + obtenir un rapport sur le statut de chaque cache qu'utilise + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Notez que si Apache ne supporte pas la + mémoire partagée, chaque instance de <code class="program"><a href="../programs/httpd.html">httpd</a></code> + possèdera son propre cache, et chaque fois que l'URL sera + rechargée, un résultat différent pourra être affiché, en fonction + de l'instance de <code class="program"><a href="../programs/httpd.html">httpd</a></code> qui traitera la + requête.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usingssltls" id="usingssltls">Utiliser SSL/TLS</a></h2> + + <p>La possibilité de créer des connexions SSL et TLS avec un serveur + LDAP est définie par les directives <code class="directive"><a href="#ldaptrustedglobalcert"> + LDAPTrustedGlobalCert</a></code>, <code class="directive"><a href="#ldaptrustedclientcert"> + LDAPTrustedClientCert</a></code> et <code class="directive"><a href="#ldaptrustedmode"> + LDAPTrustedMode</a></code>. Ces directives permettent de spécifier + l'autorité de certification (CA), les certificats clients éventuels, + ainsi que le type de chiffrement à utiliser pour la connexion (none, + SSL ou TLS/STARTTLS).</p> + + <pre class="prettyprint lang-config"># Etablissement d'une connexion SSL LDAP sur le port 636. +# Nécessite le chargement de mod_ldap et mod_authnz_ldap. +# Remplacez "votre-domaine.example.com" par le nom de votre +# domaine. + +LDAPTrustedGlobalCert CA_DER "/certs/certfile.der" + +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + + + <pre class="prettyprint lang-config"># Etablissement d'une connexion TLS LDAP sur le port 389. +# Nécessite le chargement de mod_ldap et mod_authnz_ldap. +# Remplacez "votre-domaine.example.com" par le nom de votre +# domaine. + +LDAPTrustedGlobalCert CA_DER "/certs/certfile.der" + +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" TLS + Require valid-user +</Location></pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="settingcerts" id="settingcerts">Certificats SSL/TLS</a></h2> + + <p>Les différents SDKs LDAP disposent de nombreuses méthodes pour + définir et gérer les certificats des clients et des autorités de + certification (CA).</p> + + <p>Si vous avez l'intention d'utiliser SSL ou TLS, lisez cette + section ATTENTIVEMENT de façon à bien comprendre les différences de + configurations entre les différents SDKs LDAP supportés.</p> + + <h3><a name="settingcerts-netscape" id="settingcerts-netscape">SDK Netscape/Mozilla/iPlanet</a></h3> + <p>Les certificat de CA sont enregistrés dans un fichier nommé + cert7.db. Le SDK ne dialoguera avec aucun serveur LDAP dont le + certificat n'a pas été signé par une CA spécifiée dans ce + fichier. Si des certificats clients sont requis, un fichier + key3.db ainsi qu'un mot de passe optionnels peuvent être + spécifiés. On peut aussi spécifier le fichier secmod si + nécessaire. Ces fichiers sont du même format que celui utilisé + par les navigateurs web Netscape Communicator ou Mozilla. Le + moyen le plus simple pour obtenir ces fichiers consiste à les + extraire de l'installation de votre navigateur.</p> + + <p>Les certificats clients sont spécifiés pour chaque connexion en + utilisant la directive <code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> et en se référant au + certificat "nickname". On peut éventuellement spécifier un mot de passe + pour déverrouiller la clé privée du certificat.</p> + + <p>Le SDK supporte seulement SSL. Toute tentative d'utilisation + de STARTTLS engendrera une erreur lors des tentatives de + contacter le serveur LDAP pendant l'exécution.</p> + + <pre class="prettyprint lang-config"># Spécifie un fichier de certificats de CA Netscape +LDAPTrustedGlobalCert CA_CERT7_DB "/certs/cert7.db" +# Spécifie un fichier key3db optionnel pour le support des +# certificats clients +LDAPTrustedGlobalCert CERT_KEY3_DB "/certs/key3.db" +# Spécifie le fichier secmod si nécessaire +LDAPTrustedGlobalCert CA_SECMOD "/certs/secmod" +<Location "/ldap-status"> + SetHandler ldap-status + + Require host yourdomain.example.com + + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + LDAPTrustedClientCert CERT_NICKNAME <nickname> [password] + AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + + + + + <h3><a name="settingcerts-novell" id="settingcerts-novell">SDK Novell</a></h3> + + <p>Un ou plusieurs certificats de CA doivent être spécifiés pour + que le SDK Novell fonctionne correctement. Ces certificats + peuvent être spécifiés sous forme de fichiers au format binaire + DER ou codés en Base64 (PEM).</p> + + <p>Note: Les certificats clients sont spécifiés globalement plutôt qu'à + chaque connexion, et doivent être spécifiés à l'aide de la directive + <code class="directive"><a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> comme + ci-dessous. Définir des certificats clients via la directive <code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> engendrera une + erreur qui sera journalisée, au moment de la tentative de connexion avec + le serveur LDAP.</p> + + <p>Le SDK supporte SSL et STARTTLS, le choix étant défini par le + paramètre de la directive <code class="directive"><a href="#ldaptrustedmode">LDAPTrustedMode</a></code>. Si une URL de type + ldaps:// est spécifiée, le mode SSL est forcé, et l'emporte sur cette + directive.</p> + + <pre class="prettyprint lang-config"># Spécifie deux fichiers contenant des certificats de CA +LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der" +LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem" +# Spécifie un fichier contenant des certificats clients +# ainsi qu'une clé +LDAPTrustedGlobalCert CERT_BASE64 "/certs/cert1.pem" +LDAPTrustedGlobalCert KEY_BASE64 "/certs/key1.pem" [password] +# N'utilisez pas cette directive, sous peine de provoquer +# une erreur +#LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"</pre> + + + + + <h3><a name="settingcerts-openldap" id="settingcerts-openldap">SDK OpenLDAP</a></h3> + + <p>Un ou plusieurs certificats de CA doivent être spécifiés pour + que le SDK OpenLDAP fonctionne correctement. Ces certificats + peuvent être spécifiés sous forme de fichiers au format binaire + DER ou codés en Base64 (PEM).</p> + + <p>Les certificats clients et CA peuvent être spécifiés globalement + (<code class="directive"><a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code>) ou pour + chaque connexion (<code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>). Les définitions au + niveau d'une connexion l'emportent sur les définitions globales.</p> + + <p>La documentation du SDK prétend que SSL et STARTTLS sont + supportés ; cependant, STARTTLS semble ne pas fonctionner avec + toutes les versions du SDK. Le mode SSL/TLS peut être défini en + utilisant le paramètre de la directive LDAPTrustedMode. Si une + URL de type + ldaps:// est spécifiée, le mode SSL est forcé. La documentation + OpenLDAP indique que le support SSL (ldaps://) tend à être + remplacé par TLS, bien que le mode SSL fonctionne toujours.</p> + + <pre class="prettyprint lang-config"># Spécifie deux fichiers contenant des certificats de CA +LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der" +LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem" +<Location /ldap-status> + SetHandler ldap-status + + Require host yourdomain.example.com + + LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem" + LDAPTrustedClientCert KEY_BASE64 "/certs/key1.pem" + # CA certs respecified due to per-directory client certs + LDAPTrustedClientCert CA_DER "/certs/cacert1.der" + LDAPTrustedClientCert CA_BASE64 "/certs/cacert2.pem" + Satisfy any + AuthType Basic + AuthName "LDAP Protected" + AuthBasicProvider ldap + AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" + Require valid-user +</Location></pre> + + + + + <h3><a name="settingcerts-solaris" id="settingcerts-solaris">SDK Solaris</a></h3> + + <p>SSL/TLS pour les bibliothèques LDAP propres à Solaris n'est + pas encore supporté. Si nécessaire, installez et utilisez plutôt + les bibliothèques OpenLDAP.</p> + + + + <h3><a name="settingcerts-microsoft" id="settingcerts-microsoft">SDK Microsoft</a></h3> + + <p>La configuration des certificats SSL/TLS pour les + bibliothèques LDAP propres à Microsoft s'effectue à l'intérieur + du registre système, et aucune directive de configuration n'est + requise.</p> + + <p>SSL et TLS sont tous deux supportés en utilisant des URLs de type + ldaps://, ou en définissant la directive <code class="directive"><a href="#ldaptrustedmode">LDAPTrustedMode</a></code> à cet effet.</p> + + <p>Note: L'état du support des certificats clients n'est pas + encore connu pour ce SDK.</p> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapcacheentries" id="ldapcacheentries">Directive</a> <a name="LDAPCacheEntries" id="LDAPCacheEntries">LDAPCacheEntries</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum d'entrées dans le cache LDAP +primaire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPCacheEntries <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPCacheEntries 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier la taille maximale du cache + LDAP primaire. Ce cache contient les résultats de + recherche/identification positifs. Définissez-la à 0 pour désactiver + la mise en cache des résultats de recherche/identification positifs. + La taille par défaut est de 1024 recherches en cache.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapcachettl" id="ldapcachettl">Directive</a> <a name="LDAPCacheTTL" id="LDAPCacheTTL">LDAPCacheTTL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle les entrées du cache restent +valides.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPCacheTTL <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPCacheTTL 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier la durée (en secondes) + pendant laquelle une entrée du cache de recherche/identification + reste valide. La valeur par défaut est de 600 secondes (10 + minutes).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapconnectionpoolttl" id="ldapconnectionpoolttl">Directive</a> <a name="LDAPConnectionPoolTTL" id="LDAPConnectionPoolTTL">LDAPConnectionPoolTTL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive les connexions d'arrière-plan qui sont restées +inactives trop longtemps au sein du jeu de connexions.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPConnectionPoolTTL <var>n</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPConnectionPoolTTL -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.12 du serveur HTTP +Apache</td></tr> +</table> + <p>Cette directive permet de spécifier la durée maximale, en + secondes, pendant laquelle une connexion LDAP du jeu de connexions + peut demeurer inactive, mais rester quand-même disponible pour une + utilisation éventuelle. Le jeu de connexions est nettoyé au fur et à + mesure des besoins, de manière non asynchrone.</p> + + <p>Si cette directive est définie à 0, les connexions ne sont jamais + sauvegardées dans le jeu de connexions d'arrière-plan. Avec la + valeur par défaut -1, ou toute autre valeur négative, les connexions + peuvent être réutilisées sans limite de durée.</p> + + <p>Dans le but d'améliorer les performances, le temps de référence + qu'utilise cette directive correspond au moment où la connexion LDAP + est enregistrée ou remise dans le jeu de connexions, et non au + moment du dernier échange réussi avec le serveur LDAP.</p> + + <p>La version 2.4.10 a introduit de nouvelles mesures permettant + d'éviter une augmentation excessive du temps de référence due à des + correspondances positives dans le cache ou des requêtes lentes. A + cet effet, le temps de référence n'est pas réactualisé si aucune + connexion LDAP d'arrière-plan n'est requise ; d'autre part, le temps + de référence se base sur le moment où la requête HTTP est reçue, et + non sur le moment où la requête a été traitée.</p> + + <div class="note"><p>Cette durée de vie s'exprime par défaut en secondes, mais + il est possible d'utiliser d'autres unités en ajoutant un suffixe : + millisecondes (ms), minutes (min), ou heures (h). + </p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapconnectiontimeout" id="ldapconnectiontimeout">Directive</a> <a name="LDAPConnectionTimeout" id="LDAPConnectionTimeout">LDAPConnectionTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai d'attente en secondes de la socket de +connexion</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPConnectionTimeout <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive configure l'option LDAP_OPT_NETWORK_TIMEOUT (ou + LDAP_OPT_CONNECT_TIMEOUT) dans la bibliothèque client LDAP + sous-jacente, si elle est disponible. Cette valeur représente la + durée pendant laquelle la bibliothèque client LDAP va attendre que + le processus de connexion TCP au serveur LDAP soit achevé.</p> + + <p>Si la connexion n'a pas réussi avant ce délai, une erreur sera + renvoyée, ou la bibliothèque client LDAP tentera de se connecter à + un second serveur LDAP, s'il en a été défini un (via une liste de + noms d'hôtes séparés par des espaces dans la directive <code class="directive"><a href="../mod/mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></code>).</p> + + <p>La valeur par défaut est 10 secondes, si la bibliothèque client + LDAP liée avec le serveur supporte l'option + LDAP_OPT_NETWORK_TIMEOUT.</p> + + <div class="note">LDAPConnectionTimeout n'est disponible que si la bibliothèque client + LDAP liée avec le serveur supporte l'option + LDAP_OPT_NETWORK_TIMEOUT (ou LDAP_OPT_CONNECT_TIMEOUT), et le + comportement final est entièrement dicté par la bibliothèque client + LDAP. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldaplibrarydebug" id="ldaplibrarydebug">Directive</a> <a name="LDAPLibraryDebug" id="LDAPLibraryDebug">LDAPLibraryDebug</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le débogage dans le SDK LDAP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPLibraryDebug <var>7</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Active les options de débogage LDAP spécifiques au SDK, qui + entraînent en général une journalisation d'informations verbeuses du + SDK LDAP dans le journal principal des erreurs d'Apache. Les + messages de traces en provenance du SDK LDAP fournissent des + informations très détaillées qui peuvent s'avérer utiles lors du + débogage des problèmes de connexion avec des serveurs LDAP + d'arrière-plan.</p> + + <p>Cette option n'est configurable que lorsque le serveur HTTP + Apache est lié avec un SDK LDAP qui implémente + <code>LDAP_OPT_DEBUG</code> ou <code>LDAP_OPT_DEBUG_LEVEL</code>, + comme OpenLDAP (une valeur de 7 est verbeuse) ou Tivoli Directory + Server (une valeur de 65535 est verbeuse).</p> + + <div class="warning"> + <p>Les informations journalisées peuvent contenir des données + d'authentification en clair utilisées ou validées lors de + l'authentification LDAP ; vous devez donc prendre soin de protéger + et de purger le journal des erreurs lorsque cette directive est + utilisée.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapopcacheentries" id="ldapopcacheentries">Directive</a> <a name="LDAPOpCacheEntries" id="LDAPOpCacheEntries">LDAPOpCacheEntries</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre d'entrées utilisées pour mettre en cache les +opérations de comparaison LDAP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPOpCacheEntries <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPOpCacheEntries 1024</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier le nombre d'entrées que + <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> va utiliser pour mettre en cache les + opérations de comparaison LDAP. La valeur par défaut est de 1024 + entrées. Si elle est définie à 0, la mise en cache des opérations de + comparaison LDAP est désactivée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapopcachettl" id="ldapopcachettl">Directive</a> <a name="LDAPOpCacheTTL" id="LDAPOpCacheTTL">LDAPOpCacheTTL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle les entrées du cache d'opérations +restent valides</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPOpCacheTTL <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPOpCacheTTL 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier la durée (en secondes) + pendant laquelle les entrées du cache d'opérations restent valides. + La valeur par défaut est de 600 secondes.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapreferralhoplimit" id="ldapreferralhoplimit">Directive</a> <a name="LDAPReferralHopLimit" id="LDAPReferralHopLimit">LDAPReferralHopLimit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre maximum de redirections vers des serveurs +alternatifs (referrals) avant l'abandon de la requête +LDAP.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPReferralHopLimit <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dépend du SDK, en général entre 5 et 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Si elle est activée par la directive <code class="directive"><a href="#ldapreferrals">LDAPReferrals</a></code>, cette directive permet de + définir le nombre maximum de sauts vers des serveurs alternatifs (referrals) + avant l'abandon de la requête LDAP.</p> + +<div class="warning"> +<p>L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapreferrals" id="ldapreferrals">Directive</a> <a name="LDAPReferrals" id="LDAPReferrals">LDAPReferrals</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la redirection vers des serveurs alternatifs au +cours des requêtes vers le serveur LDAP.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPReferrals On|Off|default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPReferrals On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre <var>default</var> est disponible depuis la +version 2.4.7 du serveur HTTP Apache.</td></tr> +</table> + <p>Certains serveurs LDAP partagent leur annuaire en plusieurs + domaines et utilisent le système des redirections (referrals) pour + aiguiller un client lorsque les limites d'un domaine doivent être + franchies. Ce processus est similaire à une redirection HTTP. Les + bibliothèques client LDAP ne respectent pas forcément ces + redirections par défaut. Cette directive permet de configurer + explicitement les redirections LDAP dans le SDK sous-jacent.</p> + + <p>La directive <code class="directive">LDAPReferrals</code> accepte les + valeurs suivantes :</p> + + <dl> + <dt>"on"</dt> + <dd> <p>Avec la valeur "on", la prise en compte des redirections LDAP par + le SDK sous-jacent est activée, la directive <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code> permet de surcharger la + "hop limit" du SDK, et un "LDAP rebind callback" est enregistré.</p></dd> + <dt>"off"</dt> + <dd> <p>Avec la valeur "off", la prise en compte des redirections + LDAP par le SDK sous-jacent est complètement désactivée.</p></dd> + <dt>"default"</dt> + <dd> <p>Avec la valeur "default", la prise en compte des redirections LDAP + par le SDK sous-jacent n'est pas modifiée, la directive <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code> ne permet pas de + surcharger la "hop limit" du SDK, et aucun "LDAP rebind callback" n'est + enregistré.</p></dd> + </dl> + + <p>La directive <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code> travaille en conjonction + avec cette directive pour limiter le nombre de redirections à suivre pour + achever le traitement de la requête LDAP. Lorsque le processus de + redirection est activé par la valeur "On", les données d'authentification du + client sont transmises via un "rebind callback" à tout serveur LDAP qui en + fait la demande.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapretries" id="ldapretries">Directive</a> <a name="LDAPRetries" id="LDAPRetries">LDAPRetries</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre maximum de tentatives de connexions au +serveur LDAP.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPRetries <var>nombre d'essais</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPRetries 3</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Suite à des échecs de connexion au serveur LDAP, le serveur + tentera de se connecter autant de fois qu'indiqué par la directive + <code class="directive">LDAPRetries</code>. Si cette directive est définie à + 0, le serveur ne tentera pas d'autre connexion après un échec.</p> + <p>Il est possible d'effectuer une autre tentative de connexion en + cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapretrydelay" id="ldapretrydelay">Directive</a> <a name="LDAPRetryDelay" id="LDAPRetryDelay">LDAPRetryDelay</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le temps d'attente avant un autre essai de connexion au +serveur LDAP.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPRetryDelay <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPRetryDelay 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Si la directive <code class="directive">LDAPRetryDelay</code> est définie + à une valeur différente de 0, le serveur attendra pendant la durée + spécifiée pour envoyer à nouveau sa requête LDAP. Une valeur de 0 + implique une absence de délai pour les essais successifs.</p> + + <p>Il est possible d'effectuer une autre tentative de connexion en + cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapsharedcachefile" id="ldapsharedcachefile">Directive</a> <a name="LDAPSharedCacheFile" id="LDAPSharedCacheFile">LDAPSharedCacheFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le fichier du cache en mémoire +partagée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPSharedCacheFile <var>chemin/fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier le chemin du + fichier du cache en mémoire partagée. Si elle n'est pas définie, la + mémoire partagée anonyme sera utilisée si la plate-forme la + supporte.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapsharedcachesize" id="ldapsharedcachesize">Directive</a> <a name="LDAPSharedCacheSize" id="LDAPSharedCacheSize">LDAPSharedCacheSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille en octets du cache en mémoire partagée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPSharedCacheSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPSharedCacheSize 500000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier le nombre d'octets à allouer + pour le cache en mémoire partagée. La valeur par + défaut est 500kb. + Si elle est définie à 0, le cache en mémoire partagée ne sera pas + utilisé et chaque processus HTTPD va créer son propre cache.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldaptimeout" id="ldaptimeout">Directive</a> <a name="LDAPTimeout" id="LDAPTimeout">LDAPTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai d'attente pour les opérations de +recherche et d'identification LDAP en secondes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTimeout <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPTimeout 60</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.5 du serveur HTTP +Apache</td></tr> +</table> + <p>Cette directive permet de spécifier le délai d'attente pour les + opérations de recherche et d'identification, ainsi que l'option + LDAP_OPT_TIMEOUT dans la bibliothèque LDAP client sous-jacente, + lorsqu'elle est disponible.</p> + + <p>Lorsque le délai est atteint, httpd va refaire un essai dans le + cas où une connexion existante a été silencieusement fermée par un + pare-feu. Les performances seront cependant bien meilleures si le + pare-feu est configuré pour envoyer des paquets TCP RST au lieu de + rejeter silencieusement les paquets.</p> + + <div class="note"> + <p>Les délais pour les opérations de comparaison LDAP nécessitent un + SDK avec LDAP_OPT_TIMEOUT, comme OpenLDAP >= 2.4.4.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldaptrustedclientcert" id="ldaptrustedclientcert">Directive</a> <a name="LDAPTrustedClientCert" id="LDAPTrustedClientCert">LDAPTrustedClientCert</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom de fichier contenant un certificat client ou +un alias renvoyant vers un certificat client spécifique à une connexion. +Tous les SDK LDAP ne supportent pas les certificats clients par +connexion.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTrustedClientCert <var>type</var> +<var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier le chemin et le nom de fichier ou + l'alias d'un certificat client par connexion utilisé lors de l'établissement + d'une connexion SSL ou TLS avec un serveur LDAP. Les sections directory ou + location peuvent posséder leurs propres configurations de certificats + clients. Certains SDK LDAP (en particulier Novell) ne supportent pas les + certificats clients par connexion, et renvoient une erreur lors de la + connexion au serveur LDAP si vous tenter d'utiliser cette directive + (Utilisez à la place la directive <code class="directive"><a href="#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> pour les certificats + clients sous Novell - Voir plus haut le guide des certificats SSL/TLS pour + plus de détails). Le paramètre type spécifie le type du certificat en cours + de définition, en fonction du SDK LDAP utilisé. Les types supportés sont + :</p> + <ul> + <li>CA_DER - certificat de CA codé en binaire DER</li> + <li>CA_BASE64 - certificat de CA codé en PEM</li> + <li>CERT_DER - certificat client codé en binaire DER</li> + <li>CERT_BASE64 - certificat client codé en PEM</li> + <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li> + <li>KEY_DER - clé privée codée en binaire DER</li> + <li>KEY_BASE64 - clé privée codée en PEM</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldaptrustedglobalcert" id="ldaptrustedglobalcert">Directive</a> <a name="LDAPTrustedGlobalCert" id="LDAPTrustedGlobalCert">LDAPTrustedGlobalCert</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom de fichier ou la base de données contenant +les Autorités de Certification de confiance globales ou les certificats +clients globaux</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTrustedGlobalCert <var>type</var> +<var>chemin/nom-fichier</var> <var>[mot de passe]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier le chemin et le nom du fichier + contenant les certificats des CA de confiance et/ou les certificats clients + du système global que <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> utilisera pour établir une + connexion SSL ou TLS avec un serveur LDAP. Notez que toute information + relative aux certificats spécifiée en utilisant cette directive s'applique + globalement à l'ensemble de l'installation du serveur. Certains SDK LDAP (en + particulier Novell) nécessitent la définition globale de tous les + certificats clients en utilisant cette directive. La plupart des autres SDK + nécessitent la définition des certificats clients dans une section Directory + ou Location en utilisant la directive <code class="directive"><a href="#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>. Si vous ne définissez + pas ces directives correctement, une erreur sera générée lors des tentatives + de contact avec un serveur LDAP, ou la connexion échouera silencieusement + (Voir plus haut le guide des certificats SSL/TLS pour plus de détails). Le + paramètre type spécifie le type de certificat en cours de définition, en + fonction du SDK LDAP utilisé. Les types supportés sont :</p> + <ul> + <li>CA_DER - certificat de CA codé en binaire DER</li> + <li>CA_BASE64 - certificat de CA codé en PEM</li> + <li>CA_CERT7_DB - fichier de base de données des certificats de CA + de Netscape cert7.db</li> + <li>CA_SECMOD - fichier de base de données secmod de Netscape</li> + <li>CERT_DER - certificat client codé en binaire DER</li> + <li>CERT_BASE64 - certificat client codé en PEM</li> + <li>CERT_KEY3_DB - fichier de base de données des certificats + clients de Netscape key3.db</li> + <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li> + <li>CERT_PFX - certificat client codé en PKCS#12 (SDK Novell)</li> + <li>KEY_DER - clé privée codée en binaire DER</li> + <li>KEY_BASE64 - clé privée codée en PEM</li> + <li>KEY_PFX - clé privée codée en PKCS#12 (SDK Novell)</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldaptrustedmode" id="ldaptrustedmode">Directive</a> <a name="LDAPTrustedMode" id="LDAPTrustedMode">LDAPTrustedMode</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le mode (SSL ou TLS) à utiliser lors de la +connexion à un serveur LDAP.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTrustedMode <var>type</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Les modes suivants sont supportés :</p> + <ul> + <li>NONE - aucun chiffrement</li> + <li>SSL - chiffrement ldaps:// sur le port par défaut 636</li> + <li>TLS - chiffrement STARTTLS sur le port par défaut 389</li> + </ul> + + <p>Les modes ci-dessus ne sont pas supportés par tous les SDK LDAP. + Un message d'erreur sera généré à l'exécution si un mode n'est pas + supporté, et la connexion au serveur LDAP échouera. + </p> + + <p>Si une URL de type ldaps:// est spécifiée, le mode est forcé à SSL et la + définition de <code class="directive">LDAPTrustedMode</code> est ignorée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ldapverifyservercert" id="ldapverifyservercert">Directive</a> <a name="LDAPVerifyServerCert" id="LDAPVerifyServerCert">LDAPVerifyServerCert</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force la vérification du certificat du +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPVerifyServerCert On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPVerifyServerCert On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ldap</td></tr> +</table> + <p>Cette directive permet de spécifier s'il faut forcer la + vérification d'un certificat de serveur lors de l'établissement + d'une connexion SSL avec un serveur LDAP.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ldap.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ldap.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html b/docs/manual/mod/mod_log_config.html new file mode 100644 index 0000000..98ae674 --- /dev/null +++ b/docs/manual/mod/mod_log_config.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_log_config.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_log_config.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_log_config.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_log_config.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_log_config.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_config.html.en b/docs/manual/mod/mod_log_config.html.en new file mode 100644 index 0000000..e0ac24c --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.en @@ -0,0 +1,606 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_config - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_log_config</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_log_config.html" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Logging of the requests made to the server</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>log_config_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_log_config.c</td></tr></table> +<h3>Summary</h3> + + <p>This module provides for flexible logging of client + requests. Logs are written in a customizable format, and may be + written directly to a file, or to an external program. + Conditional logging is provided so that individual requests may + be included or excluded from the logs based on characteristics + of the request.</p> + + <p>Three directives are provided by this module: + <code class="directive"><a href="#transferlog">TransferLog</a></code> to create + a log file, <code class="directive"><a href="#logformat">LogFormat</a></code> + to set a custom format, and <code class="directive"><a href="#customlog">CustomLog</a></code> to define a log file and format in one + step. The <code class="directive">TransferLog</code> and <code class="directive">CustomLog</code> directives can be used multiple times in each + server to cause each request to be logged to multiple files.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Custom Log Formats</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Considerations</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache Log Files</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Custom Log Formats</a></h2> + + <p>The format argument to the <code class="directive"><a href="#logformat">LogFormat</a></code> and <code class="directive"><a href="#customlog">CustomLog</a></code> directives is a string. This string is + used to log each request to the log file. It can contain literal + characters copied into the log files and the C-style control + characters "\n" and "\t" to represent new-lines and tabs. + Literal quotes and backslashes should be escaped with + backslashes.</p> + + <p>The characteristics of the request itself are logged by + placing "<code>%</code>" directives in the format string, which are + replaced in the log file by the values as follows:</p> + + <table class="bordered"><tr class="header"><th>Format String</th> + <th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>The percent sign.</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>Client IP address of the request (see the + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> module).</td></tr> +<tr><td><code>%{c}a</code></td> + <td>Underlying peer IP address of the connection (see the + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> module).</td></tr> +<tr class="odd"><td><code>%A</code></td> + <td>Local IP-address.</td></tr> +<tr><td><code>%B</code></td> + <td>Size of response in bytes, excluding HTTP headers.</td></tr> +<tr class="odd"><td><code>%b</code></td> + <td>Size of response in bytes, excluding HTTP headers. In CLF format, <em>i.e.</em> + a '<code>-</code>' rather than a 0 when no bytes are sent.</td></tr> +<tr><td><code>%{<var>VARNAME</var>}C</code></td> + <td>The contents of cookie <var>VARNAME</var> in the request sent + to the server. Only version 0 cookies are fully supported.</td></tr> +<tr class="odd"><td><code>%D</code></td> + <td>The time taken to serve the request, in microseconds.</td></tr> +<tr><td><code>%{<var>VARNAME</var>}e</code></td> + <td>The contents of the environment variable + <var>VARNAME</var>.</td></tr> +<tr class="odd"><td><code>%f</code></td> + <td>Filename.</td></tr> +<tr><td><code>%h</code></td> + <td>Remote hostname. Will log the IP address if <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> is set to + <code>Off</code>, which is the default. If it logs the hostname + for only a few hosts, you probably have access control + directives mentioning them by name. See <a href="mod_authz_host.html#reqhost">the Require host + documentation</a>.</td></tr> +<tr class="odd"><td><code>%{c}h</code></td> + <td>Like <code>%h</code>, but always reports on the hostname of the + underlying TCP connection and not any modifications to the + remote hostname by modules like <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>.</td></tr> +<tr><td><code>%H</code></td> + <td>The request protocol.</td></tr> +<tr class="odd"><td><code>%{<var>VARNAME</var>}i</code></td> + <td>The contents of <code><var>VARNAME</var>:</code> header line(s) + in the request sent to the server. Changes made by other + modules (e.g. <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>) affect this. If you're + interested in what the request header was prior to when most + modules would have modified it, use <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> + to copy the header into an internal environment variable and log + that value with the <code>%{<var>VARNAME</var>}e</code> described + above. + </td></tr> +<tr><td><code>%k</code></td> + <td>Number of keepalive requests handled on this connection. Interesting if + <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> is being used, so that, + for example, a '1' means the first keepalive request after the initial + one, '2' the second, etc...; + otherwise this is always 0 (indicating the initial request).</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>Remote logname (from identd, if supplied). This will return a + dash unless <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> is present and <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> is set + <code>On</code>.</td></tr> +<tr><td><code>%L</code></td> + <td>The request log ID from the error log (or '-' if nothing has been + logged to the error log for this request). Look for the + matching error log line to see what request caused what error.</td></tr> +<tr class="odd"><td><code>%m</code></td> + <td>The request method.</td></tr> +<tr><td><code>%{<var>VARNAME</var>}n</code></td> + <td>The contents of note <var>VARNAME</var> from another + module.</td></tr> +<tr class="odd"><td><code>%{<var>VARNAME</var>}o</code></td> + <td>The contents of <code><var>VARNAME</var>:</code> header line(s) + in the reply.</td></tr> +<tr><td><code>%p</code></td> + <td>The canonical port of the server serving the request.</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}p</code></td> + <td>The canonical port of the server serving the request, or the + server's actual port, or the client's actual port. Valid formats + are <code>canonical</code>, <code>local</code>, or <code>remote</code>. + </td></tr> +<tr><td><code>%P</code></td> + <td>The process ID of the child that serviced the request.</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}P</code></td> + <td>The process ID or thread ID of the child that serviced the + request. Valid formats are <code>pid</code>, <code>tid</code>, + and <code>hextid</code>. + </td></tr> +<tr><td><code>%q</code></td> + <td>The query string (prepended with a <code>?</code> if a query + string exists, otherwise an empty string).</td></tr> +<tr class="odd"><td><code>%r</code></td> + <td>First line of request.</td></tr> +<tr><td><code>%R</code></td> + <td>The handler generating the response (if any).</td></tr> +<tr class="odd"><td><code>%s</code></td> + <td>Status. For requests that have been internally redirected, this is + the status of the <em>original</em> request. Use <code>%>s</code> + for the final status.</td></tr> +<tr><td><code>%t</code></td> + <td>Time the request was received, in the format <code>[18/Sep/2011:19:18:28 -0400]</code>. + The last number indicates the timezone offset from GMT</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}t</code></td> + <td>The time, in the form given by format, which should be in + an extended <code>strftime(3)</code> format (potentially localized). + If the format starts with <code>begin:</code> (default) the time is taken + at the beginning of the request processing. If it starts with + <code>end:</code> it is the time when the log entry gets written, + close to the end of the request processing. In addition to the formats + supported by <code>strftime(3)</code>, the following format tokens are + supported: + <table> + <tr><td><code>sec</code></td><td>number of seconds since the Epoch</td></tr> + <tr><td><code>msec</code></td><td>number of milliseconds since the Epoch</td></tr> + <tr><td><code>usec</code></td><td>number of microseconds since the Epoch</td></tr> + <tr><td><code>msec_frac</code></td><td>millisecond fraction</td></tr> + <tr><td><code>usec_frac</code></td><td>microsecond fraction</td></tr> + </table> + These tokens can not be combined with each other or <code>strftime(3)</code> + formatting in the same format string. You can use multiple + <code>%{<var>format</var>}t</code> tokens instead. + </td></tr> +<tr><td><code>%T</code></td> + <td>The time taken to serve the request, in seconds.</td></tr> +<tr class="odd"><td><code>%{<var>UNIT</var>}T</code></td> + <td>The time taken to serve the request, in a time unit given by + <code>UNIT</code>. Valid units are <code>ms</code> for milliseconds, + <code>us</code> for microseconds, and <code>s</code> for seconds. + Using <code>s</code> gives the same result as <code>%T</code> + without any format; using <code>us</code> gives the same result + as <code>%D</code>. Combining <code>%T</code> with a unit is + available in 2.4.13 and later.</td></tr> +<tr><td><code>%u</code></td> + <td>Remote user if the request was authenticated. May be bogus if return status + (<code>%s</code>) is 401 (unauthorized).</td></tr> +<tr class="odd"><td><code>%U</code></td> + <td>The URL path requested, not including any query string.</td></tr> +<tr><td><code>%v</code></td> + <td>The canonical <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> + of the server serving the request.</td></tr> +<tr class="odd"><td><code>%V</code></td> + <td>The server name according to the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> setting.</td></tr> +<tr><td><code>%X</code></td> + <td>Connection status when response is completed: + + <table> + + <tr><td><code>X</code> =</td> + <td>Connection aborted before the response completed.</td></tr> + <tr><td><code>+</code> =</td> + <td>Connection may be kept alive after the response is + sent.</td></tr> + <tr><td><code>-</code> = </td> + <td>Connection will be closed after the response is + sent.</td></tr> + </table> + + </td></tr> +<tr class="odd"><td><code>%I</code></td> + <td>Bytes received, including request and headers. Cannot be zero. + You need to enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr> +<tr><td><code>%O</code></td> + <td>Bytes sent, including headers. May be zero in rare cases + such as when a request is aborted before a response is sent. + You need to enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr> +<tr class="odd"><td><code>%S</code></td> + <td>Bytes transferred (received and sent), including request and headers, + cannot be zero. This is the combination of %I and %O. You need to + enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr> +<tr><td><code>%{<var>VARNAME</var>}^ti</code></td> + <td>The contents of <code><var>VARNAME</var>:</code> trailer line(s) + in the request sent to the server. </td></tr> +<tr class="odd"><td><code>%{<var>VARNAME</var>}^to</code></td> + <td>The contents of <code><var>VARNAME</var>:</code> trailer line(s) + in the response sent from the server. </td></tr> +</table> + + <h3><a name="modifiers" id="modifiers">Modifiers</a></h3> + + <p>Particular items can be restricted to print only for + responses with specific HTTP status codes by placing a + comma-separated list of status codes immediately following the + "%". The status code list may be preceded by a "<code>!</code>" to + indicate negation.</p> + + <table class="bordered"><tr class="header"><th>Format String</th> + <th>Meaning</th></tr> +<tr> + <td><code>%400,501{User-agent}i</code></td> + <td>Logs <code>User-agent</code> on 400 errors and 501 errors only. For + other status codes, the literal string <code>"-"</code> will be + logged.</td></tr> +<tr class="odd"><td><code>%!200,304,302{Referer}i</code></td> + <td>Logs <code>Referer</code> on all requests that do + <em>not</em> return one of the three specified codes, + "<code>-</code>" otherwise. + </td></tr> +</table> + + <p>The modifiers "<" and ">" can be used for requests that + have been internally redirected to choose whether the original + or final (respectively) request should be consulted. By + default, the <code>%</code> directives <code>%s, %U, %T, + %D,</code> and <code>%r</code> look at the original request + while all others look at the final request. So for example, + <code>%>s</code> can be used to record the final status of + the request and <code>%<u</code> can be used to record the + original authenticated user on a request that is internally + redirected to an unauthenticated resource.</p> + + + + <h3><a name="format-notes" id="format-notes">Format Notes</a></h3> + + <p>For security reasons, starting with version 2.0.46, + non-printable and other special characters in <code>%r</code>, + <code>%i</code> and <code>%o</code> are escaped using + <code>\x<var>hh</var></code> sequences, where <var>hh</var> + stands for the hexadecimal representation of the raw + byte. Exceptions from this rule are <code>"</code> and + <code>\</code>, which are escaped by prepending a backslash, and + all whitespace characters, which are written in their C-style + notation (<code>\n</code>, <code>\t</code>, etc). In versions + prior to 2.0.46, no escaping was performed on these strings so + you had to be quite careful when dealing with raw log files.</p> + + <p>Since httpd 2.0, unlike 1.3, the <code>%b</code> and + <code>%B</code> format strings do not represent the number of + bytes sent to the client, but simply the size in bytes of the + HTTP response (which will differ, for instance, if the + connection is aborted, or if SSL is used). The <code>%O</code> + format provided by <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> will log the + actual number of bytes sent over the network.</p> + + <div class="note"> + <p>Note: <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> is implemented as a + quick-handler and not as a standard handler. Therefore, the + <code>%R</code> format string will not return any handler + information when content caching is involved.</p> + </div> + + + + <h3><a name="examples" id="examples">Examples</a></h3> + + <p>Some commonly used log format strings are:</p> + + <dl> + <dt>Common Log Format (CLF)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Common Log Format with Virtual Host</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA extended/combined log format</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer log format</dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Agent (Browser) log format</dt> + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p>You can use the <code>%{format}t</code> directive multiple + times to build up a time format using the extended format tokens + like <code>msec_frac</code>:</p> + <dl> +<dt>Timestamp including milliseconds</dt> +<dd><code>"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"</code></dd> + + </dl> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Security Considerations</a></h2> + <p>See the <a href="../misc/security_tips.html#serverroot">security tips</a> + document for details on why your security could be compromised + if the directory where logfiles are stored is writable by + anyone other than the user that starts the server.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Buffer log entries in memory before writing to disk</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BufferedLogs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BufferedLogs Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>The <code class="directive">BufferedLogs</code> directive causes + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> to store several log entries in + memory and write them together to disk, rather than writing them + after each request. On some systems, this may result in more + efficient disk access and hence higher performance. It may be + set only once for the entire server; it cannot be configured + per virtual-host.</p> + + <div class="note">This directive should be used with caution as a crash might + cause loss of logging data.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CustomLog" id="CustomLog">CustomLog</a> <a name="customlog" id="customlog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets filename and format of log file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>The <code class="directive">CustomLog</code> directive is used to + log requests to the server. A log format is specified, and the + logging can optionally be made conditional on request + characteristics using environment variables.</p> + + <p>The first argument, which specifies the location to which + the logs will be written, can take one of the following two + types of values:</p> + + <dl> + <dt><var>file</var></dt> + <dd>A filename, relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> + + <dt><var>pipe</var></dt> + <dd>The pipe character "<code>|</code>", followed by the path + to a program to receive the log information on its standard + input. See the notes on <a href="../logs.html#piped">piped logs</a> + for more information. + + <div class="warning"><h3>Security:</h3> + <p>If a program is used, then it will be run as the user who + started <code class="program"><a href="../programs/httpd.html">httpd</a></code>. This will be root if the server was + started by root; be sure that the program is secure.</p> + </div> + <div class="warning"><h3>Note</h3> + <p>When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashed are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.</p> + </div></dd> + </dl> + + <p>The second argument specifies what will be written to the + log file. It can specify either a <var>nickname</var> defined by + a previous <code class="directive"><a href="#logformat">LogFormat</a></code> + directive, or it can be an explicit <var>format</var> string as + described in the <a href="#formats">log formats</a> section.</p> + + <p>For example, the following two sets of directives have + exactly the same effect:</p> + + <pre class="prettyprint lang-config"># CustomLog with format nickname +LogFormat "%h %l %u %t \"%r\" %>s %b" common +CustomLog "logs/access_log" common + +# CustomLog with explicit format string +CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"</pre> + + + <p>The third argument is optional and controls whether or + not to log a particular request. The condition can be the + presence or absence (in the case of a '<code>env=!<var>name</var></code>' + clause) of a particular variable in the server + <a href="../env.html">environment</a>. Alternatively, the condition + can be expressed as arbitrary boolean <a href="../expr.html">expression</a>. If the condition is not satisfied, the request + will not be logged. References to HTTP headers in the expression + will not cause the header names to be added to the Vary header.</p> + + <p>Environment variables can be set on a per-request + basis using the <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> + and/or <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modules. For + example, if you want to record requests for all GIF + images on your server in a separate logfile but not in your main + log, you can use:</p> + + <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif$ gif-image +CustomLog "gif-requests.log" common env=gif-image +CustomLog "nongif-requests.log" common env=!gif-image</pre> + + + <p>Or, to reproduce the behavior of the old RefererIgnore + directive, you might use the following:</p> + + <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer +CustomLog "referer.log" referer env=!localreferer</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GlobalLog" id="GlobalLog">GlobalLog</a> <a name="globallog" id="globallog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets filename and format of log file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.19 and later</td></tr> +</table> + + <p>The <code class="directive">GlobalLog</code> directive defines a log shared + by the main server configuration and all defined virtual hosts.</p> + + <p>The <code class="directive">GlobalLog</code> directive is identical to + the <code class="directive">CustomLog</code> directive, apart from the following + differences:</p> + <ul> + <li><code class="directive">GlobalLog</code> is not valid in virtual host + context.</li> + <li><code class="directive">GlobalLog</code> is used by virtual hosts that + define their own <code class="directive">CustomLog</code>, unlike a + globally specified <code class="directive">CustomLog</code>.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogFormat" id="LogFormat">LogFormat</a> <a name="logformat" id="logformat">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Describes a format for use in a log file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>This directive specifies the format of the access log + file.</p> + + <p>The <code class="directive">LogFormat</code> directive can take one of two + forms. In the first form, where only one argument is specified, + this directive sets the log format which will be used by logs + specified in subsequent <code class="directive">TransferLog</code> + directives. The single argument can specify an explicit + <var>format</var> as discussed in the <a href="#formats">custom log + formats</a> section above. Alternatively, it can use a + <var>nickname</var> to refer to a log format defined in a + previous <code class="directive">LogFormat</code> directive as described + below.</p> + + <p>The second form of the <code class="directive">LogFormat</code> + directive associates an explicit <var>format</var> with a + <var>nickname</var>. This <var>nickname</var> can then be used in + subsequent <code class="directive">LogFormat</code> or + <code class="directive"><a href="#customlog">CustomLog</a></code> directives + rather than repeating the entire format string. A + <code class="directive">LogFormat</code> directive that defines a nickname + <strong>does nothing else</strong> -- that is, it <em>only</em> + defines the nickname, it doesn't actually apply the format and make + it the default. Therefore, it will not affect subsequent + <code class="directive"><a href="#transferlog">TransferLog</a></code> directives. + In addition, <code class="directive">LogFormat</code> cannot use one nickname + to define another nickname. Note that the nickname should not contain + percent signs (<code>%</code>).</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TransferLog" id="TransferLog">TransferLog</a> <a name="transferlog" id="transferlog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify location of a log file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TransferLog <var>file</var>|<var>pipe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>This directive has exactly the same arguments and effect as + the <code class="directive"><a href="#customlog">CustomLog</a></code> + directive, with the exception that it does not allow the log format + to be specified explicitly or for conditional logging of requests. + Instead, the log format is determined by the most recently specified + <code class="directive"><a href="#logformat">LogFormat</a></code> directive + which does not define a nickname. Common Log Format is used if no + other format has been specified.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" +TransferLog logs/access_log</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_log_config.html" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.fr.utf8 b/docs/manual/mod/mod_log_config.html.fr.utf8 new file mode 100644 index 0000000..5590aaa --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.fr.utf8 @@ -0,0 +1,645 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_config - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_log_config</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des requêtes envoyées au +serveur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_config_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_config.c</td></tr></table> +<h3>Sommaire</h3> + + <p>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.</p> + + <p>Ce module fournit trois directives : <code class="directive"><a href="#transferlog">TransferLog</a></code> crée un fichier + journal, <code class="directive"><a href="#logformat">LogFormat</a></code> + définit un format personnalisé, et <code class="directive"><a href="#customlog">CustomLog</a></code> 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 + <code class="directive">TransferLog</code> et + <code class="directive">CustomLog</code> dans chaque serveur.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations concernant la +sécurité</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../logs.html">Les fichiers journaux +d'Apache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Formats de journaux personnalisés</a></h2> + + <p>L'argument format des directives <code class="directive"><a href="#logformat">LogFormat</a></code> et <code class="directive"><a href="#customlog">CustomLog</a></code> 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.</p> + + <p>Les caractéristiques de la requête en elle-même sont journalisées + en insérant des directives "<code>%</code>" dans la chaîne de + format, celles-ci étant remplacées dans le fichier journal par + certaines valeurs comme suit :</p> + + <table class="bordered"><tr class="header"><th>Chaîne de format</th> + <th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>Le signe "pourcentage"</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>L'adresse IP distante (voir le module + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>).</td></tr> +<tr><td><code>%{c}a</code></td> + <td>Adresse IP distante de la connexion(voir le module + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>)</td></tr> +<tr class="odd"><td><code>%A</code></td> + <td>L'adresse IP locale</td></tr> +<tr><td><code>%B</code></td> + <td>La taille de la réponse en octets, en excluant les en-têtes + HTTP.</td></tr> +<tr class="odd"><td><code>%b</code></td> + <td>La taille de la réponse en octets, en excluant les en-têtes + HTTP. Au format CLF , c'est à dire un '<code>-</code>' à la + place d'un 0 lorsqu'aucun octet n'est renvoyé.</td></tr> +<tr><td><code>%{<var>NOMVAR</var>}C</code></td> + <td>Le contenu du cookie <var>NOMVAR</var> dans la requête + envoyée au serveur. Seuls les cookies version 0 sont pleinement + supportés.</td></tr> +<tr class="odd"><td><code>%D</code></td> + <td>Le temps mis à servir la requête, en + microsecondes.</td></tr> +<tr><td><code>%{<var>NOMVAR</var>}e</code></td> + <td>Le contenu de la variable d'environnement + <var>NOMVAR</var></td></tr> +<tr class="odd"><td><code>%f</code></td> + <td>Nom de fichier</td></tr> +<tr><td><code>%h</code></td> + <td>Serveur distant. Contiendra l'adresse IP si la directive + <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie + à <code>Off</code>, 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 <a href="mod_authz_host.html#reqhost">documentation de Require + host</a>.</td></tr> +<tr class="odd"><td><code>%{c}h</code></td> + <td>Semblable à <code>%h</code>, mais exploite toujours le nom d'hôte de + la connection TCP sous-jacente, en ignorant toute modification réalisée + sur le nom d'hôte distant par des modules tels que + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>.</td></tr> +<tr><td><code>%H</code></td> + <td>Le protocole de la requête</td></tr> +<tr class="odd"><td><code>%{<var>NOMVAR</var>}i</code></td> + <td>Le contenu des lignes d'en-tête + <code><var>NOMVAR</var>:</code> dans la requête envoyée au + serveur. Ces en-têtes sont ajoutés par d'autres modules (par + exemple <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>). 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 + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> pour copier l'en-tête dans une + variable d'environnement interne et journaliser sa valeur via + le champ <code>%{<var>VARNAME</var>}e</code> décrit plus haut. + + </td></tr> +<tr><td><code>%k</code></td> + <td>Nombre de requêtes persistantes en cours pour cette + connexion. Interessant si la directive <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> 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).</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>Le nom de connexion distant (en provenance d'identd, si + disponible). Affiche un tiret, sauf si + <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> est présent et si <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est à + <code>On</code>.</td></tr> +<tr><td><code>%L</code></td> + <td>L'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)</td></tr> +<tr class="odd"><td><code>%m</code></td> + <td>La méthode de la requête</td></tr> +<tr><td><code>%{<var>NOMVAR</var>}n</code></td> + <td>Le contenu de la note <var>NOMVAR</var> en provenance d'un + autre module.</td></tr> +<tr class="odd"><td><code>%{<var>NOMVAR</var>}o</code></td> + <td>Le contenu de la ligne d'en-tête + <code><var>NOMVAR</var>:</code> de la réponse.</td></tr> +<tr><td><code>%p</code></td> + <td>Le port canonique du serveur servant la requête</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}p</code></td> + <td>Le 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 <code>canonical</code>, <code>local</code>, + ou <code>remote</code>. + </td></tr> +<tr><td><code>%P</code></td> + <td>Le numéro de processus du processus enfant qui a servi la + requête.</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}P</code></td> + <td>Le numéro de processus ou le numéro de thread du processus + enfant qui a servi la requête. Les formats valides sont + <code>pid</code>, <code>tid</code>, et <code>hextid</code>. + </td></tr> +<tr><td><code>%q</code></td> + <td>La chaîne d'arguments (préfixée par un <code>?</code> si une + chaîne d'arguments existe, sinon une chaîne vide)</td></tr> +<tr class="odd"><td><code>%r</code></td> + <td>La première ligne de la requête</td></tr> +<tr><td><code>%R</code></td> + <td>Le gestionnaire qui génère la réponse (s'il y en a un).</td></tr> +<tr class="odd"><td><code>%s</code></td> + <td>Statut. Pour les requêtes redirigées en interne, il s'agit + du statut de la requête *originale* --- <code>%>s</code> pour + la dernière.</td></tr> +<tr><td><code>%t</code></td> + <td>Date à laquelle la requête a été reçue (au format anglais + standard)</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}t</code></td> + <td>La date, sous la forme spécifiée par format, qui devrait + être au format étendu <code>strftime(3)</code> (éventuellement + localisé). Si le format commence par <code>begin:</code> (valeur + par défaut), la date est extraite au début du traitement de la + requête ; s'il commence par <code>end:</code>, 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 <code>strftime(3)</code>, les formats + suivants sont aussi disponibles : + <table> + <tr><td><code>sec</code></td><td>nombre de secondes depuis Epoch</td></tr> + <tr><td><code>msec</code></td><td>nombre de millisecondes depuis Epoch</td></tr> + <tr><td><code>usec</code></td><td>nombre de microsecondes depuis Epoch</td></tr> + <tr><td><code>msec_frac</code></td><td>fraction de milliseconde</td></tr> + <tr><td><code>usec_frac</code></td><td>fraction de microseconde</td></tr> + </table> + Ces symboles ne peuvent pas être combinés entre eux ou avec un + formatage <code>strftime(3)</code> dans la même chaîne de + format. Par contre, vous pouvez utiliser plusieurs symboles + <code>%{<var>format</var>}t</code>.</td></tr> +<tr><td><code>%T</code></td> + <td>Le temps mis pour servir la requête, en secondes.</td></tr> +<tr class="odd"><td><code>%{<var>UNIT</var>}T</code></td> + <td>Le temps mis pour traiter la requête dans une unité définie + par <code>UNIT</code>. Les valeurs d'unité valides sont + <code>ms</code> pour millisecondes, <code>us</code> pour + microsecondes et <code>s</code> pour secondes. Si + <code>UNIT</code> est omis, la valeur de l'unité par défaut est + la seconde ; spécifier la valeur d'unité <code>us</code> revient + à utiliser le format <code>%D</code>. La possibilité de + spécifier une valeur d'unité avec le format <code>%T</code> est + disponible depuis la version 2.4.13 du serveur HTTP Apache.</td></tr> +<tr><td><code>%u</code></td> + <td>L'utilisateur distant (en provenance d'auth ; peut être faux + si le statut de retour (<code>%s</code>) est 401).</td></tr> +<tr class="odd"><td><code>%U</code></td> + <td>Le chemin de la requête, à l'exclusion de toute chaîne + d'arguments.</td></tr> +<tr><td><code>%v</code></td> + <td>Le nom canonique du serveur qui a servi la requête, défini + par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</td></tr> +<tr class="odd"><td><code>%V</code></td> + <td>La nom du serveur en tenant compte de la définition de la + directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</td></tr> +<tr><td><code>%X</code></td> + <td>Statut de la connexion lorsque la réponse a été renvoyée + : + + <table> + + <tr><td><code>X</code> =</td> + <td>connexion abandonnée avant l'envoi de la réponse.</td></tr> + <tr><td><code>+</code> =</td> + <td>la connexion peut rester ouverte après l'envoi de la + réponse.</td></tr> + <tr><td><code>-</code> = </td> + <td>la connexion sera fermée après l'envoi de la + réponse.</td></tr> + </table> + + </td></tr> +<tr class="odd"><td><code>%I</code></td> + <td>Le nombre d'octets reçus, en comptant la requête et les + en-têtes, ne peut être nul. Nécessite l'activation de + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr> +<tr><td><code>%O</code></td> + <td>Nombre 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 + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr> +<tr class="odd"><td><code>%S</code></td> + <td>Nombre d'octets transmis (en émission et réception), y + compris corps et en-têtes de requête. Ce nombre ne peut pas être + nul, et il correspond à la combinaison des formats %I et %O. + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> doit être chargé pour pouvoir + utiliser ce format.</td></tr> +<tr><td><code>%{<var>VARNAME</var>}^ti</code></td> + <td>Le contenu de <code><var>VARNAME</var>:</code> dans les + paramètres de la requête envoyée au serveur.</td></tr> +<tr class="odd"><td><code>%{<var>VARNAME</var>}^to</code></td> + <td>Le contenu de <code><var>VARNAME</var>:</code> dans les + paramètres de la réponse envoyée par le serveur.</td></tr> +</table> + + <h3><a name="modifiers" id="modifiers">Modificateurs</a></h3> + + <p>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, <code>"%400,501{User-agent}i"</code> + n'enregistrera l'en-tête <code>User-agent</code> que dans le cas + d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la + chaîne littérale <code>"-"</code> qui sera enregistrée. La liste + de codes peut être précédée d'un "<code>!</code>" pour inverser la + condition : <code>"%!200,304,302{Referer}i"</code> enregistre + l'en-tête <code>Referer</code> pour toutes les requêtes qui + <em>ne</em> renvoient <em>pas</em> un des trois codes spécifiés.</p> + + <p>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 <code>%s, %U, %T, %D,</code> + et <code>%r</code> consultent la requête originale, alors que + toutes les autres consultent la requête finale. Ainsi, par + exemple, on peut utiliser <code>%>s</code> pour enregistrer le + statut final de la requête, et <code>%<u</code> pour + enregistrer l'utilisateur authentifié à l'origine pour une requête + redirigée en interne vers une ressource sans authentification.</p> + + + + <h3><a name="format-notes" id="format-notes">Quelques Notes</a></h3> + + <p>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 <code>%r</code>, <code>%i</code> et <code>%o</code> + doivent être échappés à l'aide des séquences + <code>\x<var>hh</var></code>, + où <var>hh</var> est le code hexadécimal du caractère spécial. + Comme exceptions à cette règle, les caractères <code>"</code> et + <code>\</code> doivent être échappés par un anti-slash, et tous + les "blancs" doivent être écrits selon leur notation de style C + (<code>\n</code>, <code>\t</code>, 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.</p> + + <p>A la différence de la version 1.3, depuis httpd 2.0, les chaînes + de format <code>%b</code> et <code>%B</code> 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 + <code>%O</code> fourni par <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>, + enregistrera le nombre réel d'octets envoyés sur le réseau.</p> + + <p>Note : <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> est implémenté en tant que + gestionnaire basique et non en tant que gestionnaire standard. + C'est pourquoi la chaîne de format <code>%R</code> ne renverra pas + d'information à propos du gestionnaire lorsqu'une mise en cache de + contenu entre en jeu.</p> + + + + <h3><a name="examples" id="examples">Exemples</a></h3> + + <p>Quelques chaînes de format couramment utilisées :</p> + + <dl> + <dt>Format de journal courant (CLF)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Format de journal courant avec un serveur virtuel</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Format de journal NCSA étandu/combiné</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Format de journal de la page qui contient le lien vers la + page concernée (Referer)</dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Format de journal de l'agent (Navigateur)</dt> + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p>Vous pouvez utiliser plusieurs fois la directive + <code>%{format}t</code> pour construire un format de temps + utilisant les symboles de format étendus tels que + <code>msec_frac</code> :</p> + <dl> +<dt>Format de temps prenant en compte les milisecondes</dt> +<dd><code>"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"</code></dd> + + </dl> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Considérations concernant la +sécurité</a></h2> + <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils à matière de + sécurité</a> 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.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="bufferedlogs" id="bufferedlogs">Directive</a> <a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferedLogs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferedLogs Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>Lorsque la directive <code class="directive">BufferedLogs</code> est à + "on", <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> 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.</p> + + <div class="note">Cette directive doit être utilisée avec + précautions car un crash peut provoquer la perte de données de + journalisation.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="customlog" id="customlog">Directive</a> <a name="CustomLog" id="CustomLog">CustomLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier +journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CustomLog <var>fichier</var>|<var>pipe</var> +<var>format</var>|<var>alias</var> +[env=[!]<var>variable-environnement</var>| +expr=<var>expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>La directive <code class="directive">CustomLog</code> 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.</p> + + <p>Le premier argument, qui spécifie l'emplacement où les journaux + seront écrits, accepte deux types de valeurs :</p> + + <dl> + <dt><var>fichier</var></dt> + <dd>Un nom de fichier, relatif au répertoire défini par la + directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> + + <dt><var>pipe</var></dt> + <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Voir les notes à propos de la <a href="../logs.html#piped">journalisation redirigée</a> pour plus + d'informations. + + <div class="warning"><h3>Sécurité :</h3> + <p>Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé.</p> + </div> + <div class="warning"><h3>Note</h3> + <p>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.</p> + </div></dd> + </dl> + + <p>Le second argument permet de définir ce qui va être écrit dans le + fichier journal. Il peut contenir soit un <var>alias</var> prédéfini + par une directive <code class="directive"><a href="#logformat">LogFormat</a></code>, soit une chaîne de + <var>format</var> explicite comme décrit dans la section <a href="#formats">formats de journaux</a>.</p> + + <p>Par exemple, les deux blocs de directives suivants produisent le + même effet :</p> + + <pre class="prettyprint lang-config"># 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"</pre> + + + <p>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 + '<code>env=!<var>nom</var></code>', la condition peut être la + présence ou l'absence d'une variable particulière dans + l'<a href="../env.html">environnement du serveur</a>. Dans le cas + d'une clause 'expr=<var>expression</var>', la condition consiste + en une <a href="../expr.html">expression</a> 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.</p> + + <p>Les variables d'environnement peuvent être définies au niveau de + chaque requête en utilisant les modules + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> et/ou <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. + 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 :</p> + + <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif$ gif-image +CustomLog "gif-requests.log" common env=gif-image +CustomLog "nongif-requests.log" common env=!gif-image</pre> + + + <p>Ou, pour reproduire le comportement de l'ancienne directive + RefererIgnore, vous pouvez utiliser :</p> + + <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer +CustomLog "referer.log" referer env=!localreferer</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="globallog" id="globallog">Directive</a> <a name="GlobalLog" id="GlobalLog">GlobalLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr> +</table> + + <p>La directive <code class="directive">GlobalLog</code> permet de spécifier un + journal partagé entre le serveur principal et tous les serveurs virtuels + définis.</p> + + <p>Elle est identique à la directive <code class="directive">CustomLog</code> à ces + différences près : </p> + <ul> + <li>Elle n'est pas valide dans un contexte de serveur virtuel.</li> + <li>A la différence d'une directive <code class="directive">CustomLog</code> + définie globalement, elle est prise en compte par les serveurs virtuels + qui définissent leur propre directive <code class="directive">CustomLog</code>.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="logformat" id="logformat">Directive</a> <a name="LogFormat" id="LogFormat">LogFormat</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Décrit un format utilisable dans un fichier +journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogFormat <var>format</var>|<var>alias</var> +[<var>alias</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>Cette directive permet de spécifier le format du fichier journal + des accès.</p> + + <p>La directive <code class="directive">LogFormat</code> 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 + <code class="directive">TransferLog</code> ultérieures. L'argument unique + peut contenir un <var>format</var> explicite comme décrit dans la + section <a href="#formats">formats de journaux personnalisés</a> + ci-dessus. Il peut aussi contenir un <var>alias</var> faisant + référence à un format de journal prédéfini par une directive + <code class="directive">LogFormat</code> comme décrit plus loin.</p> + + <p>Sous sa seconde forme, la directive + <code class="directive">LogFormat</code> associe un <var>format</var> + explicite à un <var>alias</var>. Cet <var>alias</var> peut + ensuite s'utiliser dans les directives + <code class="directive">LogFormat</code> ou <code class="directive"><a href="#customlog">CustomLog</a></code> ultérieures, ce qui + évite d'avoir à répéter l'ensemble de la chaîne de format. Une + directive <code class="directive">LogFormat</code> qui définit un alias + <strong>ne fait rien d'autre</strong> -- c'est à dire qu'<em>elle ne + fait que</em> 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 <code class="directive"><a href="#transferlog">TransferLog</a></code> ultérieures. En + outre, la directive <code class="directive">LogFormat</code> ne peut pas + utiliser un alias pour en définir un autre. Notez que l'alias ne + doit pas contenir de caractère pourcent (<code>%</code>).</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="transferlog" id="transferlog">Directive</a> <a name="TransferLog" id="TransferLog">TransferLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'emplacement d'un fichier journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TransferLog <var>fichier</var>|<var>pipe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>Cette directive possède exactement les mêmes arguments et produit + les mêmes effets que la directive <code class="directive"><a href="#customlog">CustomLog</a></code>, à 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 <code class="directive"><a href="#logformat">LogFormat</a></code> + 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é.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" +TransferLog logs/access_log</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.ja.utf8 b/docs/manual/mod/mod_log_config.html.ja.utf8 new file mode 100644 index 0000000..0e9ea2a --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.ja.utf8 @@ -0,0 +1,510 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_config - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_log_config</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーバへのリクエストのロギング</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>log_config_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_log_config.c</td></tr></table> +<h3>概要</h3> + + <p> + このモジュールはクライアントのリクエストを柔軟にログ収集する機能を + 提供します。ログはカスタマイズ可能な書式で書かれ、ファイルに直接 + 書いたり、外部プログラムに渡したりすることができます。個々のリクエストを + 特徴に応じてログに書いたり書かなかったりできるように、条件による + ログ収集も提供されています。</p> + + <p>このモジュールは三つのディレクティブ提供します: + ログファイルを作成するための <code class="directive"><a href="#transferlog">TransferLog</a></code>, + 新しい書式を 定義する <code class="directive"><a href="#logformat">LogFormat</a></code>, + ログファイルと 書式を一度に定義する <code class="directive"><a href="#customlog">CustomLog</a></code> です。 + 各リクエストが複数回ログ収集されるようにするために + <code class="directive">TransferLog</code> ディレクティブと + <code class="directive">CustomLog</code> + ディレクティブは複数回使用することができます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">カスタムログ書式</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">セキュリティに関して</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache ログファイル</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">カスタムログ書式</a></h2> + + <p><code class="directive"><a href="#logformat">LogFormat</a></code> ディレクティブと + <code class="directive"><a href="#customlog">CustomLog</a></code> + ディレクティブの書式を指定する引数は文字列です。この文字列を使ってそれぞれの + リクエストがログファイルにログ収集されます。その文字列には + ログファイルにそのまま + 書かれる文字列や、それぞれ改行とタブを表す C 言語 + 形式の制御文字 "\n" と "\t" + とを含めることができます。そのまま出力させたい引用符とバックスラッシュは + バックスラッシュでエスケープする必要があります。</p> + + <p>リクエストの特徴そのものは "<code>%</code>" + ディレクティブを書式の文字列に書くことで + ログ収集されます。"%" + ディレクティブはログファイル中では以下のような + 値で置換されます:</p> + + <table class="bordered"><tr class="header"><th>フォーマット文字列</th> + <th>説明</th></tr> +<tr><td><code>%%</code></td> + <td>パーセント記号</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>リモート IP アドレス</td></tr> +<tr><td><code>%A</code></td> + <td>ローカル IP アドレス</td></tr> +<tr class="odd"><td><code>%B</code></td> + <td>レスポンスのバイト数。HTTP ヘッダは除く。</td></tr> +<tr><td><code>%b</code></td> + <td>レスポンスのバイト数。HTTP ヘッダは除く。CLF 書式。 + <em>すなわち</em>、1 バイトも送られなかったときは 0 ではなく、 + '<code>-</code>' になる</td></tr> +<tr class="odd"><td><code>%{<var>Foobar</var>}C</code></td> + <td>サーバに送られたリクエスト中のクッキー <var>Foobar</var> の値</td></tr> +<tr><td><code>%D</code></td> + <td>リクエストを処理するのにかかった時間、マイクロ秒単位</td></tr> +<tr class="odd"><td><code>%{<var>FOOBAR</var>}e</code></td> + <td>環境変数 <var>FOOBAR</var> の内容</td></tr> +<tr><td><code>%f</code></td> + <td>ファイル名</td></tr> +<tr class="odd"><td><code>%h</code></td> + <td>リモートホスト</td></tr> +<tr><td><code>%H</code></td> + <td>リクエストプロトコル</td></tr> +<tr class="odd"><td><code>%{<var>Foobar</var>}i</code></td> + <td>サーバに送られたリクエストの <code><var>Foobar</var>:</code> + ヘッダの内容</td></tr> +<tr><td><code>%l</code></td> + <td>(identd からもし提供されていれば) リモートログ名。 + これは <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> がサーバに存在して、 + <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> + ディレクティブが <code>On</code> に設定されていない限り、 + <code>-</code> になります。</td></tr> +<tr class="odd"><td><code>%m</code></td> + <td>リクエストメソッド</td></tr> +<tr><td><code>%{<var>Foobar</var>}n</code></td> + <td>他のモジュールからのメモ <var>Foobar</var> の内容</td></tr> +<tr class="odd"><td><code>%{<var>Foobar</var>}o</code></td> + <td>応答の <code><var>Foobar</var>:</code> ヘッダの内容</td></tr> +<tr><td><code>%p</code></td> + <td>リクエストを扱っているサーバの正式なポート</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}p</code></td> + <td>サーバがリクエストを処理しているポートの公式 + <span class="transnote">(<em>訳注:</em> canonical)</span> のポート番号か、 + サーバの実際のポート番号か、クライアント側の実際のポート番号かです。 + format に使える文字列は <code>canonical</code>, <code>local</code>, + <code>remote</code> になります。 + </td></tr> +<tr><td><code>%P</code></td> + <td>リクエストを扱った子プロセスのプロセス ID</td></tr> +<tr class="odd"><td><code>%{<var>format</var>}P</code></td> + <td>リクエストを扱ったワーカーのプロセス ID かスレッド ID。 + <var>format</var> として有効な値は <code>pid</code>, <code>tid</code>, + <code>hextid</code> です。<code>hextid</code> を使うには + APR 1.2.0 以降が必要です。 + </td></tr> +<tr><td><code>%q</code></td> + <td>問い合せ文字列 (存在する場合は前に <code>?</code> が追加される。 + そうでない場合は空文字列)</td></tr> +<tr class="odd"><td><code>%r</code></td> + <td>リクエストの最初の行</td></tr> +<tr><td><code>%s</code></td> + <td>ステータス。内部でリダイレクトされたリクエストは、元々の + リクエストのステータス --- 最後のステータスは <code>%>s</code> + </td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>リクエストを受付けた時刻。 + CLF の時刻の書式 (標準の英語の書式)</td></tr> +<tr><td><code>%{<var>format</var>}t</code></td> + <td><var>format</var> で与えられた書式による時刻。format は + <code>strftime (3)</code> の + 書式である必要がある。(地域化されている可能性がある)</td></tr> +<tr class="odd"><td><code>%T</code></td> + <td>リクエストを扱うのにかかった時間、秒単位</td></tr> +<tr><td><code>%u</code></td> + <td>リモートユーザ (認証によるもの。ステータス (<code>%s</code>) が + 401 のときは意味がないものである可能性がある) + </td></tr> +<tr class="odd"><td><code>%U</code></td> + <td>リクエストされた URL パス。クエリ文字列は含まない</td></tr> +<tr><td><code>%v</code></td> + <td>リクエストを扱っているサーバの正式な <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></td></tr> +<tr class="odd"><td><code>%V</code></td> + <td><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> の設定によるサーバ名</td></tr> +<tr><td><code>%X</code></td> + <td>応答が完了したときの接続ステータス: + + <table> + + <tr><td><code>X</code> =</td> + <td>応答が完了する前に接続が異常終了</td></tr> + <tr><td><code>+</code> =</td> + <td>応答が送られた後に接続を持続することが可能</td></tr> + <tr><td><code>-</code> = </td> + <td>応答が送られた後に接続が切られる</td></tr> + </table> + + <p>(このディレクティブは Apache + 1.3 の後期のバージョンでは <code>%c</code> に割り当てられて + いましたが、これは歴史的に ssl が使用している + <code>%{<var>var</var>}c</code> + 構文と衝突していました。)</p></td></tr> +<tr class="odd"><td><code>%I</code></td> + <td>リクエストとヘッダを含む、受け取ったバイト数。 + 0 にはならない。 + これを使用するためには <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> が必要</td></tr> +<tr><td><code>%O</code></td> + <td>ヘッダを含む、送信したバイト数。0 にはならない。 + これを使用するためには <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> が必要</td></tr> +</table> + + <h3><a name="modifiers" id="modifiers">修飾子</a></h3> + + <p>特定の要素は "%" の直後に HTTP ステータスコードをカンマ区切りで + 指定することで、表示を制限することができます。例えば + <code>"%400,501{User-agent}i"</code> では、 + 400 と 500 番エラーでのみ <code>User-agent</code> をログします。 + 他のステータスコードでは <code>"-"</code> という文字列が + ログされます。ステータスコードのリストは "<code>!</code>" + で否定を指定することができます : + <code>"%!200,304,302{Referer}i"</code> は、指定された + 3 つのコードの<em>どれにも該当しない</em>リクエスト全てで + <code>Referer</code> をログします。</p> + + <p>修飾子 "<" と ">" は内部リダイレクトされたリクエストのログに + 元のリクエストか最終的なリクエストのどちらを使用するかを + 指定するために使います。デフォルトでは、<code>%</code> ディレクティブの + <code>%s, %U, %T, %D, %r</code> は元のリクエストを、他は最終的なリクエストを + 使用します。例えば、リクエストの最終ステータスを記録するには + <code>%>s</code> を、内部的に認証されていないリソースへリダイレクトされた + リクエストで元のリクエストで認証されたユーザを記録するためには + <code>%<u</code> を使うことができます。</p> + + + + <h3><a name="format-notes" id="format-notes">その他注意点</a></h3> + + <p>セキュリティ上の理由により 2.0.46 より、 + <code>%r</code>, <code>%i</code>, <code>%o</code> に入っている、 + 印字不可能な文字と他の特別な文字は、<code>\x<var>hh</var></code> + という形式の文字列でエスケープされるようになりました。<var>hh</var> は + そのままのバイトの値の 16 進での値です。この規則の例外には、 + バックスラッシュを使ってエスケープされる <code>"</code> と <code>\</code> と、 + C 形式の表記法が使われる空白文字 (<code>\n</code>, <code>\t</code> など) + があります。2.0.46 以前のバージョンではエスケープ処理は行われませんので、 + 生ログファイルを扱う際に注意が必要です。</p> + + <p>httpd 2.0 では 1.3 とは異なり、<code>%b</code> と <code>%B</code> + フォーマット文字列はクライアントに送信されたバイト数そのものではなく、 + HTTP レスポンスのバイト数です (これらは異なるもので、たとえば、 + コネクションが途中で破棄された場合や、SSL 使用時に一致しません) 。 + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> で提供されている <code>%O</code> + フォーマット文字列で、ネットワーク経由で実際に転送されたバイト数を + 記録できます。</p> + + + + <h3><a name="examples" id="examples">例</a></h3> + + <p>よく使われるフォーマット文字列は:</p> + + <dl> + <dt>Common Log Format (CLF)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>バーチャルホスト付き Common Log Format</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA extended/combined ログ書式</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer ログ書式</dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Agent (ブラウザ) ログ書式</dt> + <dd><code>"%{User-agent}i"</code></dd> + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">セキュリティに関して</a></h2> + <p>ログファイルが保存されているディレクトリがサーバを起動した以外のユーザで + 書き込み可能なときにセキュリティの問題が発生する理由の詳細は<a href="../misc/security_tips.html#serverroot">セキュリティのこつ</a> + を参照してください。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディスクに書き出す前にメモリにログエントリをバッファする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BufferedLogs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BufferedLogs Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.41 以降</td></tr> +</table> + <p><code class="directive">BufferedLogs</code> ディレクティブを使うと + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> の挙動が変化して、 + 複数のログを書き出す際に、それぞれのリクエスト処理後毎に + 書き出すのではなく、いったんメモリに蓄えてから、 + まとめてディスクに書き出すようになります。 + この結果ディスクアクセスがより効率的になり、 + 高いパフォーマンスの得られるシステムもあるでしょう。 + このディレクティブはサーバ全体で一度だけ設定できます; + バーチャルホストごとに設定することはできません。</p> + + <div class="note">このディレクティブは実験的なものですので、 + 使用する際は注意してください。</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CustomLog" id="CustomLog">CustomLog</a> <a name="customlog" id="customlog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ログファイルの名前と書式を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr> +</table> + <p><code class="directive">CustomLog</code> ディレクティブはサーバへのリクエストを + ログ収集するために使われます。ログの書式が指定され、 + 環境変数を使ってロギングが条件に応じて行なわれるようにすることもできます。</p> + + <p>ログが書かれる場所を指定する最初の引数は以下の二つの形式の値を + とることができます:</p> + + <dl> + <dt><var>file</var></dt> + <dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + からの相対パスで表されるファイル名。</dd> + + <dt><var>pipe</var></dt> + <dd>パイプ文字 "<code>|</code>" と、その後に標準入力からログの + 情報を受けとるプログラムへのパスが続いたもの。 + + <div class="warning"><h3>セキュリティ</h3> + <p>もしプログラムが使用された場合、 + <code class="program"><a href="../programs/httpd.html">httpd</a></code> が起動されたユーザとして実行されます。これはサーバが + root によって起動された場合は root になります。プログラムが + 安全であるように留意してください。</p> + </div> + <div class="warning"><h3>注</h3> + <p>Unix でないプラットフォームでファイルのパスを入力しているときは、 + 使用しているプラットフォームがバックスラッシュの使用を許可していた + として、通常のスラッシュだけを使うように気をつけてください。 + 一般的に、設定ファイル中では常に普通のスラッシュのみを使うようにする + 方が良いです。</p> + </div></dd> + </dl> + + <p>二つめの引数はログファイルに何が書かれるかを指定します。 + 前にある <code class="directive"><a href="#logformat">LogFormat</a></code> ディレクティブにより + 定義された <var>nickname</var> か、<a href="#formats">ログの書式</a> + のところで説明されている、明示的な <var>format</var> 文字列の + どちらかを指定することができます。</p> + + <p>例えば、以下の二つのディレクティブ群は全く同じ効果をもたらします:</p> + + <div class="example"><p><code> + # CustomLog with format nickname<br /> + LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> + CustomLog logs/access_log common<br /> + <br /> + # CustomLog with explicit format string<br /> + CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" + </code></p></div> + + <p>三つ目の引数は省略可能で、サーバの環境にある変数があるかないかに + 応じてリクエストをログ収集するかどうかを制御するために使うことができます。 + 指定された<a href="../env.html">環境変数</a>がリクエストに対して + 設定されていた場合 ('<code>env=!<var>name</var></code>' 文が使われたときは + 設定されていない場合)、リクエストがログ収集されます。</p> + + <p>環境変数は <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> モジュールと + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> モジュールの両方もしくは + 片方を用いてリクエストごとに設定することができます。 + 例えば、サーバにあるすべての GIF 画像へのリクエストを別のログファイル + には記録したいけれど、メインログには記録したくない、というときは + 以下のものを使うことができます:</p> + + <div class="example"><p><code> + SetEnvIf Request_URI \.gif$ gif-image<br /> + CustomLog gif-requests.log common env=gif-image<br /> + CustomLog nongif-requests.log common env=!gif-image + </code></p></div> + + <p>古い RefererIgnore ディレクティブと同じ挙動をさせたい場合は、 + 次のようにします:</p> + + <div class="example"><p><code> + SetEnvIf Referer example\.com localreferer<br /> + CustomLog referer.log referer env=!localreferer + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GlobalLog" id="GlobalLog">GlobalLog</a> <a name="globallog" id="globallog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Sets filename and format of log file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.4.19 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogFormat" id="LogFormat">LogFormat</a> <a name="logformat" id="logformat">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ログファイルで使用する書式を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr> +</table> + <p>このディレクティブはアクセスログファイルの書式を指定します。</p> + + <p><code class="directive">LogFormat</code> ディレクティブは二つの形式のどちらかを + とることができます。最初の形式では一つの引数のみが指定され、 + 続く <code class="directive">TransferLog</code> + で指定されたログで使われるログの書式を設定します。この単独の引数では + 上の<a href="#formats">カスタムログ書式</a>で説明されているように + <var>format</var> を明示的に指定することができます。 + もしくは、下で説明されているように前に <code class="directive">LogFormat</code> + ディレクティブで定義されたログの書式を <var>nickname</var>を使って + 参照することもできます。</p> + + <p><code class="directive">LogFormat</code> ディレクティブの二つめの形式は + <var>format</var> に <var>nickname</var> を与えます。 + フォーマット文字列全体を再び書くかわりに、 + この <var>nickname</var> を続きの <code class="directive">LogFormat</code> ディレクティブや + <code class="directive">CustomLog</code> ディレクティブで使うことができます。 + Nickname を定義する <code class="directive">LogFormat</code> ディレクティブは + <strong>他には何もしません</strong> -- すなわち、ニックネームを定義 + する<em>だけ</em>で、実際に書式を適用してデフォルトにするということは行ないません。 + ですから、これは続く <code class="directive"><a href="#transferlog">TransferLog</a></code> + ディレクティブには影響を与えません。 + さらに、<code class="directive">LogFormat</code> ディレクティブは既存の nickname を + 使って別の nickname を定義することはできません。Nickname には + パーセント記号 (<code>%</code>) が含まれていてはいけないことにも注意 + してください。</p> + + <div class="example"><h3>例</h3><p><code> + LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TransferLog" id="TransferLog">TransferLog</a> <a name="transferlog" id="transferlog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ログファイルの位置を指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>TransferLog <var>file</var>|<var>pipe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr> +</table> + <p>このディレクティブは、ログ書式を直接指定できないことと、 + 条件付きロギングが無いことを除くと、<code class="directive"><a href="#customlog">CustomLog</a></code> と全く同じ引数と効果があります。 + 直接ログ書式を指定する代わりに、ログの書式はそこまでで一番最後に指定された + ニックネームを定義しない + <code class="directive"><a href="#logformat">LogFormat</a></code> ディレクティブ + で定義されたものを使います。 + もし他の書式が全く指定されていないときは Common Log Format + が使われます。</p> + + <div class="example"><h3>例</h3><p><code> + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""<br /> + TransferLog logs/access_log + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.ko.euc-kr b/docs/manual/mod/mod_log_config.html.ko.euc-kr new file mode 100644 index 0000000..c344687 --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.ko.euc-kr @@ -0,0 +1,441 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_config - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_log_config</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> û α Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>log_config_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_log_config.c</td></tr></table> +<h3></h3> + + <p> Ŭ̾Ʈ û α Ӱ Ѵ. + ڽ ϴ α ְ, ̳ ܺ + α α ִ. α ϸ + û ݿ û α ߰ϰų ִ.</p> + + <p> þ Ѵ. <code class="directive"><a href="#transferlog">TransferLog</a></code> α + , <code class="directive"><a href="#logformat">LogFormat</a></code> + ϴ ϰ, <code class="directive"><a href="#customlog">CustomLog</a></code> ѹ αϰ + Ѵ. <code class="directive">TransferLog</code> + <code class="directive">CustomLog</code> þ ϸ + û Ͽ ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">α ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Ȼ </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../logs.html">ġ α</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">α ϱ</a></h2> + + <p><code class="directive"><a href="#logformat">LogFormat</a></code> + <code class="directive"><a href="#customlog">CustomLog</a></code> + þ ƱԸƮ ڿ̴. ڿ û + αϿ Ѵ. ڿ αϿ ״ Ǵ + ڿ ٲް Ÿ C "\n" "\t" ڸ + ִ. αϿ ǥ 齽 տ + ݵ 齽 Ѵ.</p> + + <p>û Ư¡ ڿ "<code>%</code>" þ + Ͽ Ѵ. þ αϿ + ȴ.</p> + + <table class="bordered"><tr class="header"><th> ڿ</th> + <th></th></tr> +<tr><td><code>%%</code></td> + <td>ۼƮ ȣ</td></tr> +<tr class="odd"><td><code>%...a</code></td> + <td> IP-ּ</td></tr> +<tr><td><code>%...A</code></td> + <td>() IP-ּ</td></tr> +<tr class="odd"><td><code>%...B</code></td> + <td>HTTP Ʈ.</td></tr> +<tr><td><code>%...b</code></td> + <td>HTTP Ʈ. CLF İ + 0 '<code>-</code>' ´.</td></tr> +<tr class="odd"><td><code>%...{<var>Foobar</var>}C</code></td> + <td> û <var>Foobar</var> Ű + .</td></tr> +<tr><td><code>%...D</code></td> + <td>û óϴµ ɸ ð (ũ ).</td></tr> +<tr class="odd"><td><code>%...{<var>FOOBAR</var>}e</code></td> + <td>ȯ溯 <var>FOOBAR</var> </td></tr> +<tr><td><code>%...f</code></td> + <td>ϸ</td></tr> +<tr class="odd"><td><code>%...h</code></td> + <td> ȣƮ</td></tr> +<tr><td><code>%...H</code></td> + <td>û </td></tr> +<tr class="odd"><td><code>%...{<var>Foobar</var>}i</code></td> + <td> û <code><var>Foobar</var>:</code> + .</td></tr> +<tr><td><code>%...l</code></td> + <td>(ִٸ identd ) αθ. + <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> ְ <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> + <code>On</code> ƴϸ ȣ Ѵ.</td></tr> +<tr class="odd"><td><code>%...m</code></td> + <td>û </td></tr> +<tr><td><code>%...{<var>Foobar</var>}n</code></td> + <td>ٸ <var>Foobar</var> Ʈ(note) + .</td></tr> +<tr class="odd"><td><code>%...{<var>Foobar</var>}o</code></td> + <td> <code><var>Foobar</var>:</code> .</td></tr> +<tr><td><code>%...p</code></td> + <td>û ϴ Ʈ</td></tr> +<tr class="odd"><td><code>%...P</code></td> + <td>û ϴ ڽ μ ID.</td></tr> +<tr><td><code>%...{<var>format</var>}P</code></td> + <td>û ϴ ڽ μ ID Ȥ + ID. format <code>pid</code> <code>tid</code> + ϴ. + </td></tr> +<tr class="odd"><td><code>%...q</code></td> + <td>ǹڿ (ǹڿ ִٸ տ <code>?</code> + ̰, ٸ ڿ)</td></tr> +<tr><td><code>%...r</code></td> + <td>û ù° </td></tr> +<tr class="odd"><td><code>%...s</code></td> + <td>(status). ̷ǵ û ** + û ̴. û ´ <code>%...>s</code>.</td></tr> +<tr><td><code>%...t</code></td> + <td>common log format ð (ǥ ) ð</td></tr> +<tr class="odd"><td><code>%...{<var>format</var>}t</code></td> + <td><code>strftime(3)</code> format ð. (ð + )</td></tr> +<tr><td><code>%...T</code></td> + <td>û óϴµ ɸ ð ( ).</td></tr> +<tr class="odd"><td><code>%...u</code></td> + <td> (auth ϸ, (<code>%s</code>) + 401 ̻ )</td></tr> +<tr><td><code>%...U</code></td> + <td>ǹڿ û URL .</td></tr> +<tr class="odd"><td><code>%...v</code></td> + <td>û <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</td></tr> +<tr><td><code>%...V</code></td> + <td><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> + .</td></tr> +<tr class="odd"><td><code>%...X</code></td> + <td> . + + <table> + + <tr><td><code>X</code> =</td> + <td> ġ .</td></tr> + <tr><td><code>+</code> =</td> + <td> Ŀ ִ(keep alive).</td></tr> + <tr><td><code>-</code> = </td> + <td> .</td></tr> + </table> + + <p>(ġ 1.3 Ĺ þ + <code>%...c</code>, ssl + <code>%...{<var>var</var>}c</code> ļ + ߴ.)</p></td></tr> +<tr><td><code>%...I</code></td> + <td>û Ʈ 0 . + ̸ Ϸ <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> ʿϴ.</td></tr> +<tr class="odd"><td><code>%...O</code></td> + <td> ۽ Ʈ 0 . ̸ + Ϸ <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> ʿϴ.</td></tr> +</table> + + <p>"<var>...</var>" (<em> </em>, + <code>"%h %u %r %s %b"</code>) ƹ͵ ų, + ´ ( ڸ "-" Ѵ). + տ "!" ̰ų Ⱥ HTTP ڵ + ۼѴ. , "%400,501{User-agent}i" 400 (Bad + Request) 501 (Not Implemented) ϶ + <code>User-agent:</code> α , + "%!200,304,302{Referer}i" ° <em>ƴ</em> + û <code>Referer:</code> α .</p> + + <p> "<" ">" ̷ǵ û + ó û û Ѵ. ⺻ + <code>%s, %U, %T, %D, %r</code> ó û , + <code>%</code> þ û . + <code>%>s</code> û (status) ϰ, + <code>%<u</code> ȣ ʴ ڿ + ̷ǵ 쿡 ó ڸ Ѵ.</p> + + <p>2.0.46 httpd 2.0 <code>%...r</code>, + <code>%...i</code>, <code>%...o</code> ڿ ״ + ξ. Common Log Format 䱸 ؼ. + , Ŭ̾Ʈ ڸ α ֱ + α ״ ٷ ؾ Ѵ.</p> + + <p>Ȼ 2.0.46 ڳ ٸ Ưڸ + <code>\x<var>hh</var></code> ǥѴ. ⼭ <var>hh</var> + ش Ʈ 16 ǥ Ÿ. Ģ ܴ 齽 + տ ̴ <code>"</code> <code>\</code>, C + 鹮ڵ(<code>\n</code>, <code>\t</code> )̴.</p> + + <p>Ϲ ϴ α .</p> + + <dl> + <dt>Common Log Format (CLF)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>ȣƮ Common Log Format</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA extended/combined α </dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer α </dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Agent () α </dt> + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p>û ϴ <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> <code>%v</code> + <code>%p</code> Ѵ. αм α û + ϴ ȣƮ ˱ ȣƮ ã ˰ + ʿ ̵ <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> ϴ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Ȼ </a></h2> + <p> ϴ ڿܿ ٸ ڰ α ϴ + 丮 ȿ + <a href="../misc/security_tips.html#serverroot"> </a> + ϶.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Buffer log entries in memory before writing to disk</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_log_config</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CustomLog" id="CustomLog">CustomLog</a> <a name="customlog" id="customlog">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>α ̸ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_log_config</td></tr> +</table> + <p> û α 涧 <code class="directive">CustomLog</code> + þ Ѵ. α ϰ, ȯ溯 Ͽ + û Ư¡ α ִ.</p> + + <p>α Ҹ ϴ ù° ƱԸƮ + ϳ Ѵ.</p> + + <dl> + <dt><var>file</var></dt> + <dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + ϸ.</dd> + + <dt><var>pipe</var></dt> + <dd> "<code>|</code>"ڿ α ǥԷ + α θ ´. + + <div class="warning"><h3>:</h3> + <p>α Ѵٸ α + ȴ. root Ѵٸ α + root ϹǷ α Ȯ϶.</p> + </div> + <div class="warning"><h3></h3> + <p>н ƴ ÷ ϰθ ԷҶ ÷ + 齽 ϴ ݵ ؾ Ѵ. + Ϲ Ͽ ϴ + .</p> + </div></dd> + </dl> + + <p>ι° ƱԸƮ αϿ Ѵ. + <code class="directive"><a href="#logformat">LogFormat</a></code> + <var>nickname</var> ϰų <a href="#formats">α </a> <var>format</var> + ڿ ִ.</p> + + <p> , þ Ȱ Ѵ.</p> + + <div class="example"><p><code> + # Ī CustomLog<br /> + LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> + CustomLog logs/access_log common<br /> + <br /> + # ڿ CustomLog<br /> + CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" + </code></p></div> + + <p>° ƱԸƮ Ǹ, Ư ȯ溯 + û α θ Ѵ. û + <a href="../env.html">ȯ溯</a> ǵִٸ (Ȥ + '<code>env=!<var>name</var></code>' ٸ) + û α Ѵ.</p> + + <p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + Ͽ û ȯ溯 ִ. + , GIF û ּ αװ ƴ + ٸ αϿ Ϸ,</p> + + <div class="example"><p><code> + SetEnvIf Request_URI \.gif$ gif-image<br /> + CustomLog gif-requests.log common env=gif-image<br /> + CustomLog nongif-requests.log common env=!gif-image + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GlobalLog" id="GlobalLog">GlobalLog</a> <a name="globallog" id="globallog">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Sets filename and format of log file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Available in Apache HTTP Server 2.4.19 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogFormat" id="LogFormat">LogFormat</a> <a name="logformat" id="logformat">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>αϿ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_log_config</td></tr> +</table> + <p> þ α Ѵ.</p> + + <p><code class="directive">LogFormat</code> þ ΰ + Ѵ. ù° ƱԸƮ Ѱ Ͽ + <code class="directive">TransferLog</code> þ α + Ѵ. ƱԸƮ <a href="#formats">α + ϱ</a> <var>format</var> + ϰų, <code class="directive">LogFormat</code> + þ ̸ (α Īϴ) <var>nickname</var> + ִ.</p> + + <p><code class="directive">LogFormat</code> þ ι° + <var>format</var> <var>nickname</var> Ѵ. + ڿ ϴ <code class="directive">LogFormat</code>̳ <code class="directive"><a href="#customlog">CustomLog</a></code> þ ݺؼ + ڿ Էϴ <var>nickname</var> + ִ. Ī ϴ <code class="directive">LogFormat</code> + þ <strong> ܿ ƹ ʴ´</strong>. + , Ī<em></em> ϸ, ϰų + ⺻ ʴ´. Ƿ + <code class="directive"><a href="#transferlog">TransferLog</a></code> + þ ʴ´. , + <code class="directive">LogFormat</code> Ī ٸ Ī + ִ. Ī ̸ ۼƮ ȣ(<code>%</code>) + ϶.</p> + + <div class="example"><h3></h3><p><code> + LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TransferLog" id="TransferLog">TransferLog</a> <a name="transferlog" id="transferlog">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>α ġ Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>TransferLog <var>file</var>|<var>pipe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_log_config</td></tr> +</table> + <p> þ <code class="directive"><a href="#customlog">CustomLog</a></code> þ ƱԸƮ + , α ϰų û ǿ + α . ֱ (Ī + ) <code class="directive"><a href="#logformat">LogFormat</a></code> þ + α Ѵ. ̸ ʾҴٸ Common + Log Format Ѵ.</p> + + <div class="example"><h3></h3><p><code> + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""<br /> + TransferLog logs/access_log + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.html.tr.utf8 b/docs/manual/mod/mod_log_config.html.tr.utf8 new file mode 100644 index 0000000..0fc980a --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.tr.utf8 @@ -0,0 +1,586 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_config - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_log_config</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Sunucuya yapılan isteklerin günlük kayıtlarının tutulması +</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>log_config_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_log_config.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül istemci isteklerinin esnek şekilde günlüklenmesi ile + ilgilidir. Günlükler kişiselleştirilebilir biçemdedir ve doğrudan bir + dosyaya yazılabileceği gibi boru üzerinden harici bir sürece de + yazılabilir. İsteğin özelliklerine bağlı olarak bazı isteklerin + günlüklere kaydedilmesi veya kaydedilmemesi mümkün kılınmıştır.</p> + + <p>Bu modül üç yönerge içermektedir: Bir günlük dosyası oluşturmak için + <code class="directive"><a href="#transferlog">TransferLog</a></code>, günlük + biçemini kişiselleştirmek için <code class="directive"><a href="#logformat">LogFormat</a></code> ve tek başına bir günlük + dosyasını hem tanımlayıp hem de biçemleyen <code class="directive"><a href="#customlog">CustomLog</a></code> yönergesi. Her isteğin + çok sayıda dosyaya günlüklenmesini sağlamak için yapılandırma dosyasında + her sunucu için birden fazla <code class="directive">TransferLog</code> ve + <code class="directive">CustomLog</code> yönergesi belirtilebilir.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Günlük Girdilerinin Kişiselleştirilmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Güvenlik Kaygıları</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache Günlük Dosyaları</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Günlük Girdilerinin Kişiselleştirilmesi</a></h2> + + <p><code class="directive"><a href="#logformat">LogFormat</a></code> ve <code class="directive"><a href="#customlog">CustomLog</a></code> yönergelerinin biçem + argümanı bir dizgedir. Bu dizge her isteği günlük dosyasına günlüklemek + için kullanılır. Doğrudan günlük dosyalarına kopyalanmak üzere dizgesel + sabitler içerebileceği gibi satırsonu ve sekme karakterleri olarak C + tarzı "\n" ve "\t" denetim karakterlerini de içerebilir. Dizgesel sabit + olarak kullanılan tırnak ve tersbölü imlerinin tersbölü ile öncelenmesi + gerekir.</p> + + <p>İstek özellikleri biçem dizgesine “<code>%</code>” imli belirteçler + yerleştirilerek günlüklenir. Bu belirteçler ve anlamları:</p> + + <table class="bordered"><tr class="header"><th>Belirteç</th> + <th>Açıklama</th></tr> +<tr><td><code>%%</code></td> + <td>Yüzde imi.</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>Uzak IP adresi ve isteğin portu + (<code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> modülüne bakın).</td></tr> +<tr><td><code>%{c}a</code></td> + <td>bağlantının emsal IP adresi and portu + (<code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> modülüne bakın).</td></tr> +<tr class="odd"><td><code>%A</code></td> + <td>Yerel IP adresi.</td></tr> +<tr><td><code>%B</code></td> + <td>HTTP başlıkları hariç, yanıtın bayt cinsinden uzunluğu.</td></tr> +<tr class="odd"><td><code>%b</code></td> + <td>HTTP başlıkları hariç, yanıtın bayt cinsinden uzunluğu. OGB + biçeminde hiç bayt gönderilmemişse günlüğe '<code>-</code>' yerine + '<code>0</code>' çıktılanır.</td></tr> +<tr><td><code>%{<var>DEĞİŞKEN</var>}C</code></td> + <td>İstek içinde sunucuya gönderilen <var>DEĞİŞKEN</var> çerezinin + içeriği. Sadece 0 sürümlü çerezler tam olarak desteklenir.</td></tr> +<tr class="odd"><td><code>%D</code></td> + <td>Mikrosaniye cinsinden isteği sunmak için harcanan zaman.</td></tr> +<tr><td><code>%{<var>DEĞİŞKEN</var>}e</code></td> + <td><var>DEĞİŞKEN</var> ortam değişkeninin içeriği.</td></tr> +<tr class="odd"><td><code>%f</code></td> + <td>Dosya ismi.</td></tr> +<tr><td><code>%h</code></td> + <td>Uzak konak ismi. <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> yönergesine öntanımlı olan + <code>Off</code> değeri atanmışsa, IP adresi günlüğe kaydedilir. Bir + kaç konak için konak ismi de günlüğe kaydoluyorsa muhtemelen onların + isimlerini içeren erişim denetim yönergelerine sahipsinizdir. Bak: <a href="mod_authz_host.html#reqhost">Require host</a>.</td></tr> +<tr class="odd"><td><code>%{c}h</code></td> + <td><code>%h</code> gibi, ancak her zaman, temel TCP bağlantısının + konak adı kaydedilir, ancak <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> gibi modüller + tarafından uzak konak adında yapılan değişiklikler kaydedilmez.</td></tr> +<tr><td><code>%H</code></td> + <td>İstek Protokolü.</td></tr> +<tr class="odd"><td><code>%{<var>DEĞİŞKEN</var>}i</code></td> + <td>İstekle birlikte sunucuya gönderilen + <code><var>DEĞİŞKEN</var>:</code> başlık satır(lar)ının + içeriği. Diğer modüllerde (örn. <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>) + yapılan değişikliklerden etkilenir. Modüllerin çoğu bunu + değiştirdiğinde önceki istek başlık isminin ne olduğuyla + ilgileniyorsanız, başlığı bir ortam değişkenine kaydetmek için + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> modülünü kullanın ve yukarıda + açıklandığı gibi bu değeri <code>%{<var>DEĞİŞKEN</var>}e</code> ile + günlüğe kaydedin.</td></tr> +<tr><td><code>%k</code></td> + <td>Bu bağlantıda işlenen isteklerin sayısı; yani örneğin, + '1' değeri bağlantı kurulduktan sonraki ilk kalıcı bağlantıyı, + '2', ikinci bağlantıyı, ..., vb. gösterir; + <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> kullanılmışsa + değer anlamlıdır; aksi takdirde değer daima 0’dır.</td></tr> +<tr class="odd"><td><code>%l</code></td> + <td>Uzak kullanıcı kimliği (sağlanmışsa, identd üzerinden). + <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> modülü mevcut ve <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> yönergesine değer + olarak <code>On</code> atanmış olmadıkça bu belirteç için günlüğe + tire imi yazılır.</td></tr> +<tr><td><code>%L</code></td> + <td>Hata günlüğündeki istek günlük kimliği (veya bu istek için hata + günlüğüne hiçbir şey kaydedilmemise '-'). Bu hataya neyin sebep + olduğunu öğrenmek için ilgili hata günlüğü satırına bakın.</td></tr> +<tr class="odd"><td><code>%m</code></td> + <td>İstek yöntemi.</td></tr> +<tr><td><code>%{<var>DEĞİŞKEN</var>}n</code></td> + <td>Diğer modüldeki <var>DEĞİŞKEN</var> bilgisinin içeriği.</td></tr> +<tr class="odd"><td><code>%{<var>DEĞİŞKEN</var>}o</code></td> + <td>Yanıttaki <code><var>DEĞİŞKEN</var>:</code> başlık satır(lar)ının + içeriği.</td></tr> +<tr><td><code>%p</code></td> + <td>Sunucunun isteği sunduğu meşru port.</td></tr> +<tr class="odd"><td><code>%{<var>biçem</var>}p</code></td> + <td>Sunucunun veya istemcinin gerçek portu veya sunucunun isteği + sunduğu meşru port. Geçerli biçemler: <code>canonical</code>, + <code>local</code> ve <code>remote</code> (anlamları sırasıyla: + meşru, yerel ve uzak).</td></tr> +<tr><td><code>%P</code></td> + <td>İsteği sunan çocuk sürecin süreç kimliği.</td></tr> +<tr class="odd"><td><code>%{<var>biçem</var>}P</code></td> + <td>İsteği sunan çocuk sürecin süreç kimliği (<code>pid</code>) veya + evre kimliği (<code>tid</code>). Geçerli biçemler: <code>pid</code>, + <code>tid</code>, <code>hextid</code>.</td></tr> +<tr><td><code>%q</code></td> + <td>Sorgu dizgesi (bir sorgu dizgesi mevcutsa önüne bir <code>?</code> + eklenir yoksa hiçbir şey eklenmez).</td></tr> +<tr class="odd"><td><code>%r</code></td> + <td>İsteğin ilk satırı.</td></tr> +<tr><td><code>%s</code></td> + <td>Durum. Dahili olarak yönlendirilmiş istekler için isteğin + <em>özgün</em> durumudur. İsteğin son durumu için + <code>%>s</code> kullanınız.</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td><code>[18/Sep/2011:19:18:28 -0400]</code> biçeminde isteğin + alındığı tarih ve saat. Sondaki sayı zaman diliminin GMT'ye + uzaklığıdır.</td></tr> +<tr><td><code>%{<var>biçem</var>}t</code></td> + <td>İsteğin alındığı tarih ve saat; <var>biçem</var> + uzatılmış <code>strftime(3)</code> biçeminde belirtilmelidir (genelde + yerelleştirme amaçlı). <code>begin:</code> (öntanımlı) ile başlayan + biçemlerde süre isteğin başlangıcına göredir. <code>end:</code> ile + başlayan biçemlerde ise süre isteğin işlenmesinin bi,tmesine yakın, + günlük girdisinin yazılmaya başladığı ana göredir. + <code>strftime(3)</code> tarafından desteklenen biçemlere ek olarak + aşağıdaki biçem dizgecikleri de desteklenmektedir: + <table> + <tr><td><code>sec</code></td><td>Mutlak zaman başlangıcından (epoch) + beri geçen saniye sayısı</td></tr> + <tr><td><code>msec</code></td><td>Mutlak zaman başlangıcından beri + geçen milisaniye sayısı</td></tr> + <tr><td><code>usec</code></td><td>Mutlak zaman başlangıcından beri + geçen mikrosaniye sayısı</td></tr> + <tr><td><code>msec_frac</code></td><td>milisaniyelik kesir</td></tr> + <tr><td><code>usec_frac</code></td><td>mikrosaniyelik kesir</td></tr> + </table> + Bu dizgecikler, aynı biçem dizgesi içinde bir diğeriyle birlikte veya + <code>strftime(3)</code> biçemlemesiyle birlikte yer alamazlar fakat + çok sayıda <code>%{<var>biçem</var>}t</code> kullanılabilir. + </td></tr> +<tr class="odd"><td><code>%T</code></td> + <td>Saniye cinsinden, isteği sunmak için harcanan zaman.</td></tr> +<tr><td><code>%{<var>BİRİM</var>}T</code></td> + <td><var>BİRİM</var> ile belirtilen zaman birimi cinsinden, isteği + sunmak için harcanan zaman. Geçerli birimler: milisaniye için + <code>ms</code>, mikrosaniye için <code>us</code>, saniye için + <code>s</code>. <code>s</code> kullanımı birimsiz <code>%T</code> ile + aynı sonucu verir; <code>us</code> kullanımı <code>%D</code> ile aynı + sonucu verir. Birimli <code>%T</code> kullanımı 2.4.13 ve sonrasında + geçerlidir.</td></tr> +<tr class="odd"><td><code>%u</code></td> + <td>Uzak kullanıcı (kimlik doğrulaması istenmişse vardır; durum kodu + (<code>%s</code>) 401 ise yanlış olabilir).</td></tr> +<tr><td><code>%U</code></td> + <td>Herhangi bir sorgu dizgesi içermeksizin istenen URL yolu.</td></tr> +<tr class="odd"><td><code>%v</code></td> + <td>İsteği sunan sunucunun meşru sunucu ismi (<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>).</td></tr> +<tr><td><code>%V</code></td> + <td><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> ayarı ile + ilgili sunucu ismi.</td></tr> +<tr class="odd"><td><code>%X</code></td> + <td>Yanıt tamamlandığında bağlantı durumu: + + <table> + + <tr><td><code>X</code> =</td> + <td>Yanıt tamamlanmadan bağlantı koptu.</td></tr> + <tr><td><code>+</code> =</td> + <td>Yanıt gönderildikten sonra bağlantı canlı kalabilir.</td></tr> + <tr><td><code>-</code> = </td> + <td>Yanıt gönderildikten sonra bağlantı kapatılacak.</td></tr> + </table></td></tr> +<tr><td><code>%I</code></td> + <td>İstek ve başlıklar dahil alınan bayt sayısı. Sıfır olamaz. Bunu + kullanmak için <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> etkin olmalıdır.</td></tr> +<tr class="odd"><td><code>%O</code></td> + <td>Başlıklar dahil gönderilen bayt sayısı. Bir yanıtın + gönderilmesinden önce istekten vazgeçilmesi gibi nadir durumlarda + sıfır olabilir. Bunu kullanmak için <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> etkin + olmalıdır.</td></tr> +<tr><td><code>%S</code></td> + <td>Aktarılan bayt sayısı (alınan ve gönderilen), istekler ve başlıklar + dahil; sıfır olamaz. %I ve %O'nun birleşimidir. Bunu kullanmak için + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> etkinleştirilmelidir.</td></tr> +<tr class="odd"><td><code>%{<var>ALANADI</var>}^ti</code></td> + <td>Sunucuya gönderilen istekteki <code><var>ALANADI</var>:</code> + Trailer satır(lar)ının içeriği.</td></tr> +<tr><td><code>%{<var>VARNAME</var>}^to</code></td> + <td>Sunucudan gönderilen yanıttaki <code><var>ALANADI</var>:</code> + Trailer satır(lar)ının içeriği.</td></tr> +</table> + + <h3><a name="modifiers" id="modifiers">Değiştiriciler</a></h3> + + <p>Belli öğelerin sadece belli durum kodlarıyla ilgili yanıtlarla + basılabilmesi için bu durum kodları % iminden hemen sonra virgüllerle + ayrılmış olarak yazılabilir. Olumsuzlama belirtmek için durum kodu listesinin önüne bir "<code>!</code>" konabilir.</p> + + <table class="bordered"><tr class="header"><th>Biçem Dizgesi</th> + <th>Anlamı</th></tr> +<tr><td><code>%400,501{User-agent}i</code></td> + <td>Sadece 400 ve 501 hatalarında <code>User-agent</code> günlüğe + kaydedilir. Diğer durum kodları için günlüğe <code>"-"</code> yazılır. + </td></tr> +<tr class="odd"><td><code>%!200,304,302{Referer}i</code></td> + <td>200,304,302 durum kodlarından biriyle dönmeyen tüm istekler için + <code>Referer</code> başlığı durum koduyla birlikte günlüğe + kaydedilir. Aksi takdirde günlüğe "<code>-</code>" yazılır. + </td></tr> +</table> + + <p>İsteğin dahili olarak yönlendirilmesinde özgün durumunun mu yoksa son + durumunun mu hesaba katılacağı "<" ve ">" değiştiricileri ile + belirtilebilir. Öntanımlı olarak <code>%s, %U, %T, %D,</code> ve + <code>%r</code> belirteçleri isteğin özgün durumuna bakarken diğerleri + son durumuna bakarlar. Bu bakımdan örneğin, <code>%>s</code> + belirteci, özgün istekteki kimliği doğrulanmış kullanıcının, dahili + olarak kimlik doğrulaması gerekmeyen bir özkaynağa yönlendirilmesi + halinde isteğin son durumunu kaydetmekte kullanılabilir.</p> + + + + <h3><a name="format-notes" id="format-notes">Bazı Bilgiler</a></h3> + + <p>Güvenlik nedeniyle, 2.0.46 sürümünden itibaren <code>%r</code>, + <code>%i</code> ve <code>%o</code> belirteçlerinde basılamayan + karakterler ve diğer özel karakterler <code>\x<var>hh</var></code> + dizilimleri biçeminde öncelenmektedir. Burada <var>hh</var> yerine + karakter numarasının onaltılık gösterimi yazılır. Bir tersbölü ile + öncelenmesi gereken <code>"</code> ve <code>\</code> ile + <code>\n</code>, <code>\t</code> gibi C tarzı gösterimler bu kuralın + dışındadır. 2.0.46 sürümünün öncesinde bu dizgeler öncelenmezdi ve ham + günlük dosyalarıyla çalışırken dikkatli olmak gerekirdi.</p> + + <p>2.0 sürümünden beri 1.3 sürümünün aksine <code>%b</code> ve + <code>%B</code> biçem belirteçleri, istemciye gönderilen bayt sayısını + değil, HTTP yanıtının bayt sayısını ifade ederdi (bu yanıt, örneğin, + SSL kullanıldığında veya bağlantı koptuğunda farklı uzunlukta olur). + Artık, ağa gönderilen gerçek bayt sayısını günlüğe kaydetmek için + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> modülü tarafından sağlanan <code>%O</code> + biçem belirteci kullanılmaktadır.</p> + + <div class="note"> + <p>Ek bilgi: <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> standat bir eylemci olarak değil + hızlı bir eylemci olarak gerçeklenmiştir. Bu nedenle, içerik + arabelleklemesi sözkonusu olduğunda <code>%R</code> biçem dizgesi + herhangi bir eylemci bilgisi döndürmeyecektir.</p> + </div> + + + + <h3><a name="examples" id="examples">Örnekler</a></h3> + + <p>Genelde herkesçe kullanılan günlük kaydı biçemleme dizgelerinden + bazıları:</p> + + <dl> + <dt>Ortak Günlük Biçemi (OGB)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Sanal Konaklı Ortak Günlük Biçemi</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA uzun/birleşik günlük biçemi</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer başlığını içeren günlük biçemi</dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>User-agent başlığını içeren günlük biçemi</dt> + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p><code>msec_frac</code> gibi ek biçem dizgeciklerini kullanan bir zaman + biçemi belirtmek isterseniz <code>%{format}t</code> biçem dizgesini + defalarca kullanabilirsiniz:</p> + <dl> + <dt>Milisaniyeleri de içeren bir zaman damgası</dt> + <dd><code>"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"</code></dd> + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Güvenlik Kaygıları</a></h2> + <p>Günlük dosyarının kaydedildiği dizine sunucuyu başlatan kullanıcı + dışında diğer kullanıcılar tarafından yazılabiliyor olması halinde + güvenliğinizden nasıl feragat etmiş olacağınız <a href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a> + belgesinde açıklanmıştır.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Günlük girdilerini diske yazmadan önce bellekte tamponlar +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>BufferedLogs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>BufferedLogs Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>2.0.41 ve sonrasında mevcuttur.</td></tr> +</table> + <p><code class="directive">BufferedLogs</code> yönergesi, + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> modülünün çeşitli günlük girdilerini her + isteğin hemen ardından tek tek değil, bir bütün halinde diske yazılmak + üzere bellekte saklanmasını sağlar. Bu, bazı sistemlerde daha verimli + disk erişimi, dolayısıyla daha yüksek başarım sağlayabilir. Sadece + sunucu geneli için belirtilebilir, sanal konaklar için ayrı ayrı + yapılandırılamaz.</p> + + <div class="note">Bir çökme günlük verisi kaybına sebep olacağından bu yönerge + dikkatli kullanılmalıdır.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CustomLog" id="CustomLog">CustomLog</a> <a name="customlog" id="customlog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Günlük dosyasın ismini ve girdi biçemini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CustomLog <var>dosya</var>|<var>borulu-süreç</var> +<var>biçem</var>|<var>takma-ad</var> +[env=[!]<var>ortam-değişkeni</var>]| +expr=<var>ifade</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +</table> + <p><code class="directive">CustomLog</code> yönergesi istekleri günlüğe kaydetmek + için kullanılır. Yönerge ile bir günlük biçemi belirtilebilir ve günlük + kaydı isteğin özelliklerine bağlı olarak ortam değişkenleri vasıtasıyla + şarta bağlı kılınabilir.</p> + + <p>İlk argümanda günlüğün yazılacağı yer belirtilir. İki tür yer + belirtilebilir:</p> + + <dl> + <dt><var>dosya</var></dt> + <dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesinin + değerine göreli bir dosya ismi.</dd> + + <dt><var>borulu-süreç</var></dt> + <dd>"<code>|</code>" boru karakteri ile öncelenmiş olarak günlük + bilgisini standart girdisinden kabul edecek sürecin ismi (veya komut + satırı) Daha fazla bilgi için <a href="../logs.html#piped">borulu + günlükler</a>e bakınız. + + <div class="warning"><h3>Güvenlik:</h3> + <p>Bir borulu süreç kullanılmışsa, süreç <code class="program"><a href="../programs/httpd.html">httpd</a></code>’yi + başlatan kullanıcı tarafından başlatılacaktır. Sunucu root tarafından + başlatılıyorsa bu root olacaktır; bu bakımdan günlük kaydını alacak + programın güvenilir olması önemlidir.</p> + </div> + <div class="warning"><h3>Bilginize</h3> + <p>Dosya yolunu belirtirken tersbölü çizgisi kullanılan Unix dışı + platformlarda bile yapılandırma dosyasında bu amaçla normal bölü + çizgilerini kullanmaya özen gösterilmelidir.</p> + </div></dd> + </dl> + + <p>İkinci argümanda günlüğe ne yazılacağı belirtilir. Ya evvelce + <code class="directive"><a href="#logformat">LogFormat</a></code> yönergesi ile + tanımlanmış bir <var>takma-ad</var> ya da içeriği <a href="#formats">Günlük Girdilerinin Kişiselleştirilmesi</a> bölümünde + açıklanmış bir <var>biçem</var> dizgesi olabilir.</p> + + <p>Örneğin, aşağıdaki iki yönerge kümesi aynı etkiye sahiptir:</p> + + <pre class="prettyprint lang-config"># Biçem dizgesi yerine takma ad içeren CustomLog +LogFormat "%h %l %u %t \"%r\" %>s %b" common +CustomLog "logs/access_log" common + +# Biçem dizgesinin kendisini içeren CustomLog +CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"</pre> + + + <p>Üçüncü argüman isteğe bağlı olup,belli bir isteğin günlüğe kaydedilip + kaydedilmeyeceğini belirler. Koşul, sunucu <a href="../env.html">ortamında</a> belli bir değişkenin varlığı veya + yokluğu olabilir (bir '<code>env=!<var>isim</var></code>' durumu). + İstenirse koşul keyfi bir mantıksal <a href="../expr.html">ifade</a> + olarak da belirtilebilir. Eğer koşul sağlanmazsa istek günlüğe + kaydedilmez. İfadede bulunan HTTP başlıklarına başvurular bu başlık + isimlerinin Vary başlığına eklenmesine sebep olmaz.</p> + + <p>Ortam değişkenleri <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> + ve/veya <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülleri kullanılarak her istek + için ayrı ayrı atanabilir. Örneğin, GIF biçemli resimler için yapılan + istekleri ana günlük dosyasına değil de başka bir dosyaya kaydetmek + isterseniz:</p> + + <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif$ gif-image +CustomLog "gif-requests.log" common env=gif-image +CustomLog "nongif-requests.log" common env=!gif-image</pre> + + + <p>Veya eski <code>RefererIgnore</code> yönergesinin davranışını taklit + etmek isterseniz:</p> + + <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer +CustomLog "referer.log" referer env=!localreferer</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GlobalLog" id="GlobalLog">GlobalLog</a> <a name="globallog" id="globallog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Günlük dosyasının ismini ve biçemini belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>GlobalLog <var>dosya</var>|<var>boru</var>|<var>sağlayıcı</var> +<var>biçem</var>|<var>takma_ad</var> +[env=[!]<var>ortam_değişkeni</var>| +expr=<var>ifade</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.4.19 ve sonraki sürümlerinde kullanılabilir.</td></tr> +</table> + + <p><code class="directive">GlobalLog</code> yönergesi ana sunucu yapılandırması ve + tüm tanımlı sanal konaklarca paylaşılan bir günlük tanımlar.</p> + + <p><code class="directive">GlobalLog</code> yönergesi aşağıdaki farklar dışında + <code class="directive">CustomLog</code> yönergesine eşdeğerdir:</p> + <ul> + <li><code class="directive">GlobalLog</code> sanal konak bağlamında belirtilirse + geçersizdir.</li> + <li>Sanal konaklar küresel bağlamda belirtilmiş bir + <code class="directive">CustomLog</code> yönergesinin tersine + <code class="directive">GlobalLog</code> yönergesini kendi + <code class="directive">CustomLog</code> yönergesiymiş gibi kullanır.</li> + </ul> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogFormat" id="LogFormat">LogFormat</a> <a name="logformat" id="logformat">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir günlük dosyasında kullanılmak üzere girdi biçemi tanımlar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LogFormat <var>biçem</var>|<var>takma-ad</var> +[<var>takma-ad</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +</table> + <p>Bu yönerge erişim günlüğü dosyasının girdi biçemini belirler.</p> + + <p><code class="directive">LogFormat</code> yönergesi iki şekilde kullanılabilir. + Tek argüman belirtilebilen ilkinde daha sonra + <code class="directive">TransferLog</code> yönergelerinde belirtilen günlüklerde + kullanılmak üzere günlük biçemini belirler. Bu günlük biçemi yukarıda + açıklanan <a href="#formats"><var>biçem</var></a> belirteçlerinden + oluşur. Bu tek argüman yerine aşağıda açıklandığı gibi önceki bir + <code class="directive">LogFormat</code> yönergesinde tanımlanmış bir günlük + biçemine atıf yapan bir <var>takma-ad</var> da belirtilebilir.</p> + + <p><code class="directive">LogFormat</code> yönergesinin ikinci kullanım şeklinde + <var>biçem</var> bir <var>takma-ad</var> için tanımlanır. Bu takma ad + daha sonraki <code class="directive">LogFormat</code> veya <code class="directive"><a href="#customlog">CustomLog</a></code> yönergelerinde aynı biçem + dizgesini uzun uzadıya yazmamak için <var>takma-ad</var> olarak + kullanılır. Bir <code class="directive">LogFormat</code> yönergesi bir takma ad + tanımlamaktan <strong>başka bir şey yapmaz</strong>; yani, yaptığı iş + sadece bir takma ad tanımlamaktan ibarettir, biçemi uygulamaz veya + biçemi öntanımlı hale getirmez. Bu bakımdan sonraki <code class="directive"><a href="#transferlog">TransferLog</a></code> yönergelerini de + etkilemeyecektir. Ayrıca, <code class="directive">LogFormat</code> yönergesi bir + takma ada başka bir takma ad tanımlamakta da kullanılamaz. Bir takma + adın yüzde imi (<code>%</code>) içeremeyeceğine de dikkat ediniz.</p> + + <pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TransferLog" id="TransferLog">TransferLog</a> <a name="transferlog" id="transferlog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir günlük dosyasının yerini belirtir.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>TransferLog <var>dosya</var>|<var>borulu-süreç</var> +[<var>takma-ad</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_config</td></tr> +</table> + <p>Bir günlük biçemi tanımlanmasını ve şarta bağlı günlük kaydını mümkün + kılmaması haricinde <code class="directive"><a href="#customlog">CustomLog</a></code> yönergesi gibidir. Günlük biçemi yerine kendinden + önce yer alan bir <code class="directive"><a href="#logformat">LogFormat</a></code> yönergesinde tanımlanan + bir takma ad kullanılır. Açıkça bir günlük biçemi takma adı + belirtilmedikçe Ortak Günlük Biçemi öntanımlıdır.</p> + + <pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" +TransferLog "logs/access_log"</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_debug.html b/docs/manual/mod/mod_log_debug.html new file mode 100644 index 0000000..e57e8a9 --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_log_debug.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_log_debug.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_debug.html.en b/docs/manual/mod/mod_log_debug.html.en new file mode 100644 index 0000000..a97cf5f --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html.en @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_debug - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_log_debug</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_log_debug.html" title="English"> en </a> | +<a href="../fr/mod/mod_log_debug.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Additional configurable debug logging</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>log_debug_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_log_debug.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.14 and later</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logmessage">LogMessage</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_debug">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_debug">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + + <ol> + <li> + Log message after request to /foo/* is processed: + + <pre class="prettyprint lang-config"><Location "/foo/"> + LogMessage "/foo/ has been requested" +</Location></pre> + + </li> + + <li> + Log message if request to /foo/* is processed in a sub-request: + <pre class="prettyprint lang-config"><Location "/foo/"> + LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}" +</Location></pre> + + + The default log_transaction hook is not executed for sub-requests, + therefore we have to use a different hook. + </li> + + + <li> + Log message if an IPv6 client causes a request timeout: + <pre class="prettyprint lang-config">LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"</pre> + + Note the placing of the double quotes for the <code>expr=</code> argument. + </li> + + <li> + Log the value of the "X-Foo" request environment variable in each + stage of the request: + <pre class="prettyprint lang-config"><Location "/"> + LogMessage "%{reqenv:X-Foo}" hook=all +</Location></pre> + + Together with microsecond time stamps in the error log, + <code>hook=all</code> also lets you determine the times spent + in the different parts of the request processing. + </li> + + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogMessage" id="LogMessage">LogMessage</a> <a name="logmessage" id="logmessage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Log user-defined message to error log +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_debug</td></tr> +</table> + <p>This directive causes a user defined message to be logged to the + error log. The message can use variables and functions from the + <a href="../expr.html">ap_expr syntax</a>. References to HTTP headers + will not cause header names to be added to the Vary header. The + messages are logged at loglevel info.</p> + + <p>The hook specifies before which phase of request processing the message + will be logged. The following hooks are supported:</p> + + <table class="bordered"><tr class="header"><th>Name</th></tr> +<tr><td><code>pre_translate_name</code></td></tr> +<tr class="odd"><td><code>translate_name</code></td></tr> +<tr><td><code>type_checker</code></td></tr> +<tr class="odd"><td><code>quick_handler</code></td></tr> +<tr><td><code>map_to_storage</code></td></tr> +<tr class="odd"><td><code>check_access</code></td></tr> +<tr><td><code>check_access_ex</code></td></tr> +<tr class="odd"><td><code>insert_filter</code></td></tr> +<tr><td><code>check_authn</code></td></tr> +<tr class="odd"><td><code>check_authz</code></td></tr> +<tr><td><code>fixups</code></td></tr> +<tr class="odd"><td><code>handler</code></td></tr> +<tr><td><code>log_transaction</code></td></tr> +</table> + + <p>The default is <code>log_transaction</code>. The special value + <code>all</code> is also supported, causing a message to be logged at each + phase. Not all hooks are executed for every request.</p> + + <p>The optional expression allows to restrict the message if a + condition is met. The details of the expression syntax are described in + the <a href="../expr.html">ap_expr documentation</a>. References to HTTP + headers will not cause the header names to be added to the Vary header.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_log_debug.html" title="English"> en </a> | +<a href="../fr/mod/mod_log_debug.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_debug.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_debug.html.fr.utf8 b/docs/manual/mod/mod_log_debug.html.fr.utf8 new file mode 100644 index 0000000..6ba3fc7 --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html.fr.utf8 @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_debug - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_log_debug</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_debug.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_debug.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation supplémentaire à des fins de débogage</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_debug_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_debug.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14 d'Apache</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logmessage">LogMessage</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_debug">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_debug">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + + <ol> + <li> + Enregistre un message après le traitement d'une requête pour + /foo/* : + + <pre class="prettyprint lang-config"><Location "/foo/"> + LogMessage "/foo/ has been requested" +</Location></pre> + + </li> + + <li> + Enregistre un message si une requête pour /foo/* est traitée + dans une sous-requête : + <pre class="prettyprint lang-config"><Location "/foo/"> + LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}" +</Location></pre> + + + 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. + </li> + + + <li> + Enregistre un message si un client IPv6 est à l'origine d'un + dépassement de délai pour une requête : + <pre class="prettyprint lang-config">LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"</pre> + + Notez l'emplacement des guillemets pour l'argument + <code>expr=</code>. + </li> + + <li> + Enregistre la valeur de la variable d'environnement de requête + "X-Foo" à chaque étape du traitement : + <pre class="prettyprint lang-config"><Location "/"> + LogMessage "%{reqenv:X-Foo}" hook=all +</Location></pre> + + En association avec les repères de temps en microsecondes du journal des erreurs, + <code>hook=all</code> permet aussi de déterminer la durée d'exécution des + différentes phases du traitement de la requête. + </li> + + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="logmessage" id="logmessage">Directive</a> <a name="LogMessage" id="LogMessage">LogMessage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre des messages personnalisés dans le journal des +erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_debug</td></tr> +</table> + <p>Cette directive permet d'enregistrer un message personnalisé dans + le journal des erreurs. Ce message peut utiliser des variables et + des fonctions dans la <a href="../expr.html">syntaxe ap_expr</a>. + 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.</p> + + <p>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 :</p> + + <table class="bordered"><tr class="header"><th>Nom</th></tr> +<tr><td><code>pre_translate_name</code></td></tr> +<tr class="odd"><td><code>translate_name</code></td></tr> +<tr><td><code>type_checker</code></td></tr> +<tr class="odd"><td><code>quick_handler</code></td></tr> +<tr><td><code>map_to_storage</code></td></tr> +<tr class="odd"><td><code>check_access</code></td></tr> +<tr><td><code>check_access_ex</code></td></tr> +<tr class="odd"><td><code>insert_filter</code></td></tr> +<tr><td><code>check_authn</code></td></tr> +<tr class="odd"><td><code>check_authz</code></td></tr> +<tr><td><code>fixups</code></td></tr> +<tr class="odd"><td><code>handler</code></td></tr> +<tr><td><code>log_transaction</code></td></tr> +</table> + + <p>Le branchement par défaut est <code>log_transaction</code>. La + valeur spéciale <code>all</code> est également supportée ; dans ce cas, + le message sera enregistré à chaque phase. Tous les branchements ne + sont pas exécutés pour chaque requête.</p> + + <p>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 <a href="../expr.html">documentation ap_expr</a>. 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.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_debug.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_debug.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_debug.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html b/docs/manual/mod/mod_log_forensic.html new file mode 100644 index 0000000..a94d451 --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_log_forensic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_log_forensic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_log_forensic.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_log_forensic.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_forensic.html.en b/docs/manual/mod/mod_log_forensic.html.en new file mode 100644 index 0000000..c7b535b --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.en @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_forensic - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_log_forensic</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_log_forensic.html" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Forensic Logging of the requests made to the server</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>log_forensic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_log_forensic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td><code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> is no longer required since +version 2.1</td></tr></table> +<h3>Summary</h3> + + <p>This module provides for forensic logging of client + requests. Logging is done before and after processing a request, so the + forensic log contains two log lines for each request. + The forensic logger is very strict, which means:</p> + + <ul> + <li>The format is fixed. You cannot modify the logging format at + runtime.</li> + <li>If it cannot write its data, the child process + exits immediately and may dump core (depending on your + <code class="directive"><a href="../mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code> + configuration).</li> + </ul> + + <p>The <code>check_forensic</code> script, which can be found in the + distribution's support directory, may be helpful in evaluating the + forensic log output.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Forensic Log Format</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Considerations</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#forensiclog">ForensicLog</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_forensic">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_forensic">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache Log Files</a></li> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Forensic Log Format</a></h2> + <p>Each request is logged two times. The first time is <em>before</em> it's + processed further (that is, after receiving the headers). The second log + entry is written <em>after</em> the request processing at the same time + where normal logging occurs.</p> + + <p>In order to identify each request, a unique request ID is assigned. + This forensic ID can be cross logged in the normal transfer log using the + <code>%{forensic-id}n</code> format string. If you're using + <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code>, its generated ID will be used.</p> + + <p>The first line logs the forensic ID, the request line and all received + headers, separated by pipe characters (<code>|</code>). A sample line + looks like the following (all on one line):</p> + + <div class="example"><p><code> + +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, <var>etc...</var> + </code></p></div> + + <p>The plus character at the beginning indicates that this is the first log + line of this request. The second line just contains a minus character and + the ID again:</p> + + <div class="example"><p><code> + -yQtJf8CoAB4AAFNXBIEAAAAA + </code></p></div> + + <p>The <code>check_forensic</code> script takes as its argument the name + of the logfile. It looks for those <code>+</code>/<code>-</code> ID pairs + and complains if a request was not completed.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Security Considerations</a></h2> + <p>See the <a href="../misc/security_tips.html#serverroot">security tips</a> + document for details on why your security could be compromised + if the directory where logfiles are stored is writable by + anyone other than the user that starts the server.</p> + <p>The log files may contain sensitive data such as the contents of + <code>Authorization:</code> headers (which can contain passwords), so + they should not be readable by anyone except the user that starts the + server.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForensicLog" id="ForensicLog">ForensicLog</a> <a name="forensiclog" id="forensiclog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets filename of the forensic log</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ForensicLog <var>filename</var>|<var>pipe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_forensic</td></tr> +</table> + <p>The <code class="directive">ForensicLog</code> directive is used to + log requests to the server for forensic analysis. Each log entry + is assigned a unique ID which can be associated with the request + using the normal <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> + directive. <code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code> creates a token called + <code>forensic-id</code>, which can be added to the transfer log + using the <code>%{forensic-id}n</code> format string.</p> + + <p>The argument, which specifies the location to which + the logs will be written, can take one of the following two + types of values:</p> + + <dl> + <dt><var>filename</var></dt> + <dd>A filename, relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> + + <dt><var>pipe</var></dt> + <dd>The pipe character "<code>|</code>", followed by the path + to a program to receive the log information on its standard + input. The program name can be specified relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> directive. + + <div class="warning"><h3>Security:</h3> + <p>If a program is used, then it will be run as the user who + started <code class="program"><a href="../programs/httpd.html">httpd</a></code>. This will be root if the server was + started by root; be sure that the program is secure or switches to a + less privileged user.</p> + </div> + + <div class="note"><h3>Note</h3> + <p>When entering a file path on non-Unix platforms, care should be taken + to make sure that only forward slashes are used even though the platform + may allow the use of back slashes. In general it is a good idea to always + use forward slashes throughout the configuration files.</p> + </div></dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_log_forensic.html" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_forensic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html.fr.utf8 b/docs/manual/mod/mod_log_forensic.html.fr.utf8 new file mode 100644 index 0000000..a4eb8c8 --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.fr.utf8 @@ -0,0 +1,218 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_forensic - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_log_forensic</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation légale des requêtes envoyées au +serveur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_forensic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_forensic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td><code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> n'est plus obligatoire +depuis la version 2.1</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet la journalisation légale des requêtes client. La + journalisation s'effectuant avant et après le traitement de la + requête, le journal légal contient deux lignes pour chaque requête. + Le processus de journalisation légale est très strict, à savoir + :</p> + + <ul> + <li>Le format est figé. Vous ne pouvez pas modifier le format du + journal à l'exécution.</li> + <li>S'il ne peut pas enregistrer ses données, le processus enfant se + termine aussitôt, et peut éventuellement enregistrer un vidage + mémoire (selon la définition de la directive <code class="directive"><a href="../mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code>).</li> + </ul> + + <p>Pour interpréter les données du journal légal, vous pouvez vous + aider du script <code>check_forensic</code> qui se trouve dans le + répertoire support de la distribution.</p> + <div class="note">Note de traduction : le terme "légal" utilisé dans le présent document ne suggère aucunement que + ce module apporte une valeur juridique aux journaux. Il est à comprendre dans le contexte + similaire à ce que l'on trouve en analyse medico-légale. En d'autres termes, la finalité de ce module + est de simplifier les opérations d'investigation autour du traitement des requêtes par le serveur.</div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Format du journal Forensic</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations à propos de +sécurité</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#forensiclog">ForensicLog</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_forensic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_forensic">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../logs.html">Les fichiers journaux +d'Apache</a></li> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Format du journal Forensic</a></h2> + <p>Chaque requête fait l'objet d'une double journalisation. La + requête est journalisée une première fois avant son traitement + (c'est à dire après la réception des en-têtes). La deuxième entrée + du journal est écrite <em>après</em> le traitement de la requête, en + fait au moment de la journalisation habituelle.</p> + + <p>Un identifiant unique est attribué à chaque requête afin de + pouvoir l'identifier. Cette identifiant légal peut faire l'objet + d'un enregistrement dans le journal standard en utilisant l'élément + de chaîne de format <code>%{forensic-id}n</code>. Si vous utilisez + <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code>, c'est l'identifiant qu'il génère qui + sera utilisé.</p> + + <p>La première partie de la journalisation de la requête enregistre + l'identifiant légal, la ligne de la requête et tous les en-têtes + reçus séparés par des caractères pipe (<code>|</code>). Voici à + titre d'exemple à quoi pourrait ressembler une telle entrée (tout + étant rassemblé sur une seule ligne) :</p> + + <div class="example"><p><code> + +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, <var>etc...</var> + </code></p></div> + + <p>Le caractère plus ('+') de début indique qu'il s'agit de la + première entrée de journal pour cette requête. La seconde entrée ne + contiendra qu'un caractère moins ('-') suivi de l'identifiant :</p> + + <div class="example"><p><code> + -yQtJf8CoAB4AAFNXBIEAAAAA + </code></p></div> + + <p>Le script <code>check_forensic</code> prend comme argument le nom + du fichier journal. Il recherche ces paires d'identifiants + <code>+</code>/<code>-</code> et affiche un message d'erreur si la + journalisation d'une requête n'est pas complète.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Considérations à propos de +sécurité</a></h2> + <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils en matière de + sécurité</a> pour des détails sur les raisons pour lesquelles votre + sécurité pourrait être compromise si le répertoire dans lequel les + fichiers journaux sont stockés sont inscriptibles par tout autre + utilisateur que celui qui démarre le serveur.</p> + <p>Les fichiers journaux peuvent contenir des données sensibles + comme le contenu des en-têtes <code>Authorization:</code> (qui + peuvent contenir des mots de passe) ; ils ne doivent donc être + lisibles que par l'utilisateur qui démarre le serveur.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="forensiclog" id="forensiclog">Directive</a> <a name="ForensicLog" id="ForensicLog">ForensicLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom de fichier du journal légal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForensicLog <var>nom-fichier</var>|<var>pipe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_forensic</td></tr> +</table> + <p>La directive <code class="directive">ForensicLog</code> permet de + contrôler la journalisation des requêtes à des fins d'analyse + légale. Chaque entrée du journal se voit assigner un identifiant + unique qui peut être associé à la requête en utilisant la directive + <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> habituelle. + <code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code> crée un élément nommé + <code>forensic-id</code>, qui peut être ajouté au journal standard + en utilisant l'élément de format <code>%{forensic-id}n</code>.</p> + + <p>L'argument, qui permet de spécifier l'emplacement vers lequel le + journal légal sera écrit, peut contenir les deux types de valeurs + suivants :</p> + + <dl> + <dt><var>nom-fichier</var></dt> + <dd>Un nom de fichier relatif au répertoire défini par la + directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> + + <dt><var>pipe</var></dt> + <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Le nom du programme peut être relatif au + répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. + + <div class="warning"><h3>Sécurité :</h3> + <p>Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé ou passe sous le contrôle d'un utilisateur possédant des + droits restreints.</p> + </div> + + <div class="note"><h3>Note</h3> + <p>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.</p> + </div></dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_forensic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html.ja.utf8 b/docs/manual/mod/mod_log_forensic.html.ja.utf8 new file mode 100644 index 0000000..6d4117b --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.ja.utf8 @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_forensic - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_log_forensic</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーバに送られたリクエストの forensic ロギング</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>log_forensic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_log_forensic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td><code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> はバージョン 2.1 からは必須では +なくなった</td></tr></table> +<h3>概要</h3> + + <p>このモジュールはクライアントリクエストの forensic ロギングを + 行ないます。ログ収集はリクエストの処理の前と後に行なわれますので、 + forensic ログは各リクエストに対して二行ログ収集します。 + Forensic ロガーは非常に厳密です。これは以下のことを意味します:</p> + + <ul> + <li>フォーマットは固定です。実行時にロギングフォーマットを変更することは + できません。</li> + <li>データを書けない場合は子プロセスはその場で終了し、さらにコアを + ダンプするかもしれません (<code class="directive"><a href="../mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code> ディレクティブの設定に依ります)。</li> + </ul> + + <p>Forensic ログの出力を検査するためには、 + 配布物の support ディレクトリにある <code>check_forensic</code> + スクリプトが役に立つでしょう。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Forensic ログフォーマット</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">セキュリティの問題</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#forensiclog">ForensicLog</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_forensic">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_forensic">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache ログファイル</a></li> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Forensic ログフォーマット</a></h2> + <p>各リクエストは2回ログ収集されます。最初はリクエストが処理される + <em>前</em> (つまり、ヘッダを受け取った後) です。2度目のログは + リクエストが処理された<em>後</em>、通常のログ収集と同じときに + 行なわれます。</p> + + <p>各リクエストを識別するために、リクエストには + 一意なリクエスト ID が割り当てられます。この forensic ID は + フォーマット文字列 <code>%{forensic-id}n</code> を使うことで + 通常の transfer ログにログ収集することもできます。 + <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> を使っている場合は、それが生成する + ID が使われます。</p> + + <p>最初の行は forensic ID、リクエスト行と受け取ったすべてのヘッダを + パイプ文字 (<code>|</code>) で分離してログ収集します。 + 例えば以下のようになります (実際はすべて同じ行になります):</p> + + <div class="example"><p><code> + +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, <var>etc...</var> + </code></p></div> + + <p>最初のプラス文字がこのログは最初のログであることを示します。 + 二番目の行はマイナス文字と ID のみです:</p> + + <div class="example"><p><code> + -yQtJf8CoAB4AAFNXBIEAAAAA + </code></p></div> + + <p><code>check_forensic</code> スクリプトは引数としてログファイルの名前を + 取ります。<code>+</code>/<code>-</code> の ID の組を調べ、完了していない + リクエストがある場合は警告を発します。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">セキュリティの問題</a></h2> + <p>ログファイルが保存されるディレクトリがサーバを起動したユーザ + 以外で書き込み可能になっているときにセキュリティが破られる可能性が + あることについての詳細は<a href="../misc/security_tips.html#serverroot">セキュリティのこつ</a>を + 参照してください。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForensicLog" id="ForensicLog">ForensicLog</a> <a name="forensiclog" id="forensiclog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Forensic ログのファイル名を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ForensicLog <var>filename</var>|<var>pipe</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_forensic</td></tr> +</table> + <p><code class="directive">ForensicLog</code> ディレクティブは forensic 解析のための + サーバへのリクエストをログ収集に使います。 + 各ログエントリには、普通の <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> ディレクティブを使ってリクエストと関連付けることの + できる + 一意な ID が割り当てられます。<code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code> は + <code>forensic-id</code> というトークンを作成し、フォーマット文字列 + <code>%{forensic-id}n</code> を使うことでそのトークンを transfer ログに + 追加することができます。</p> + + <p>引数はログが書き出される位置を指定し、以下の 2種類の値のどちらかを + 取ることができます:</p> + + <dl> + <dt><var>filename</var></dt> + <dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> からの + 相対ファイル名</dd> + + <dt><var>pipe</var></dt> + <dd>パイプ文字 "<code>|</code>" と、その後にログ情報を標準入力から + 受け取るプログラム。プログラム名は <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> からの相対パスとしても + 指定できます。 + + <div class="warning"><h3>セキュリティ:</h3> + <p>プログラムを使う場合、そのプログラムは <code class="program"><a href="../programs/httpd.html">httpd</a></code> を起動したユーザで + 実行されます。つまり、サーバが root で実行された場合は root で + 実行されるということです。プログラムが安全であるか、より権限の少ない + ユーザに切り替えるようになっていることを確かめてください。</p> + </div> + + <div class="note"><h3>注</h3> + <p>Unix 以外のプラットフォームでファイル名を入力するときは、 + プラットフォームがバックスラッシュの使用を許可している場合でも、 + スラッシュのみが使われるように気をつけてください。 + 普通は設定ファイルすべてにおいて、スラッシュの方を使用するように + してください。</p> + </div></dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_forensic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_forensic.html.tr.utf8 b/docs/manual/mod/mod_log_forensic.html.tr.utf8 new file mode 100644 index 0000000..fdd1c9b --- /dev/null +++ b/docs/manual/mod/mod_log_forensic.html.tr.utf8 @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_forensic - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_log_forensic</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Sunucuya yapılan isteklerin adli günlük kayıtlarının tutulması</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>log_forensic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_log_forensic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Uyumluluk:</a></th><td>2.1 sürümünden beri <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> gerekmemektedir.</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül istemci isteklerinin adli günlük kayıtlarının tutulmasını + sağlar. Günlük kaydı bir istek işlenmeden önce ve sonra olmak üzere iki + kere yapılır, böylece günlükte her istek için iki girdi bulunur. Adli + günlükleyici çok sıkı kurallara tabidir, yani:</p> + + <ul> + <li>Biçem sabittir. Günlük kayıt biçemi çalışma anında değiştirilemez.</li> + <li>Veriyi yazamadığı takdirde çocuk süreç beklemeksizin çıkar ve + (<code class="directive"><a href="../mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code> + yapılandırmasına bağlı olarak) bir core dosyası dökümler.</li> + </ul> + + <p>Dağıtımın <code>support</code> dizininde bulunan + <code>check_forensic</code> betiği adli günlük dosyalarının + değerlendirilmesinde yardımcı olabilir.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Adli Günlük Biçemi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Güvenlik Kaygıları</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#forensiclog">ForensicLog</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_forensic">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_forensic">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../logs.html">Apache Günlük Dosyaları</a></li> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Adli Günlük Biçemi</a></h2> + <p>Her istek günlüğe iki defa kaydedilir. İlki, işlemin başlangıcında + (yani, başlıklar alındıktan hemen sonra), ikincisi ise istek işlem + gördükten sonra normal günlüklemenin yapıldığı sırada yapılır.</p> + + <p>Her isteği betimlemek için eşsiz bir istek kimliği atanır. Bu adli + kimliğin normal günlüğe de yazılması istenirse bu + <code>%{forensic-id}n</code> biçem dizgesi ile yapılabilir. + <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> kullanılıyorsa, onun ürettiği kimlik + kullanılır.</p> + + <p>İlk satır günlüğe, adli kimliği, istek satırını ve alınan tüm + başlıkları boru karakterleri (<code>|</code>) ile ayrılmış olarak + kaydeder. Aşağıda bir örneğe yer verilmiştir (hepsi bir satırdadır):</p> + + <div class="example"><p><code> + +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif + HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; + U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 + Firefox/0.8|Accept:image/png, <var>etc...</var> + </code></p></div> + + <p>Başlangıçtaki artı imi bu günlük satırının istekle ilgili ilk günlük + kaydı olduğunu belirtir. İkinci satırda bunun yerini bir eksi imi + alır:</p> + + <div class="example"><p><code> + -yQtJf8CoAB4AAFNXBIEAAAAA + </code></p></div> + + <p><code>check_forensic</code> betiği komut satırı argümanı olarak günlük + dosyasının ismini alır. Bu <code>+</code>/<code>-</code> kimlik + çiftlerine bakarak tamamlanmamış istekler varsa bunlar hakkında + uyarır.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Güvenlik Kaygıları</a></h2> + <p>Günlük dosyarının kaydedildiği dizine sunucuyu başlatan kullanıcı + dışında diğer kullanıcılar tarafından yazılabiliyor olması halinde + güvenliğinizden nasıl feragat etmiş olacağınız <a href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a> + belgesinde açıklanmıştır.</p> + <p>Günlük dosyaları, <code>Authorization:</code> başlıklarının (parola + içerebilen) içerikleri gibi hassas veriler içerebileceğinden bunların + sunucuyu başlatan kullanıcıdan başkası tarafından okunamaması sağlanmış + olmalıdır.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForensicLog" id="ForensicLog">ForensicLog</a> <a name="forensiclog" id="forensiclog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Adli günlük için dosya ismini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ForensicLog <var>dosya-adı</var>|<var>borulu-süreç</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_log_forensic</td></tr> +</table> + <p><code class="directive">ForensicLog</code> yönergesi adli inceleme için + sunucuya yapılan istekleri günlüğe kaydetmekte kullanılır. Her günlük + girdisine, normal <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinde kullanılarak istekle + ilişkilendirilebilen eşsiz bir kimlik atanır. + <code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code> modülü, aktarım günlüğünün biçem + dizgesinde <code>%{forensic-id}n</code> şeklinde kullanılmak üzere + <code>forensic-id</code> adı verilen bir dizgecik oluşturur.</p> + + <p>Günlüğün yazılacağı yeri belirleyen argüman şu iki değerden birini + alabilir:</p> + + <dl> + <dt><var>dosya-adı</var></dt> + <dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesinin + değerine göreli bir dosya ismi.</dd> + + <dt><var>borulu-süreç</var></dt> + <dd>"<code>|</code>" boru karakteri ile öncelenmiş olarak günlük + bilgisini standart girdisinden kabul edecek sürecin ismi (veya komut + satırı). Program adının <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> yönergesinin değerine göre belirtildiği + varsayılır. + + <div class="warning"><h3>Güvenlik:</h3> + <p>Bir borulu süreç kullanılmışsa, süreç <code class="program"><a href="../programs/httpd.html">httpd</a></code>’yi + başlatan kullanıcı tarafından başlatılacaktır. Sunucu root tarafından + başlatılıyorsa bu root olacaktır; bu bakımdan günlük kaydını alacak + programın güvenilir olması veya daha az yetkili bir kullanıcıya geçiş + yapması önemlidir.</p> + </div> + + <div class="warning"><h3>Bilginize</h3> + <p>Dosya yolunu belirtirken tersbölü çizgisi kullanılan Unix dışı + platformlarda bile yapılandırma dosyasında bu amaçla normal bölü + çizgilerini kullanmaya özen gösterilmelidir.</p> + </div></dd> + </dl> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_forensic.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mod_log_forensic.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_forensic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html b/docs/manual/mod/mod_logio.html new file mode 100644 index 0000000..e30458a --- /dev/null +++ b/docs/manual/mod/mod_logio.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_logio.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_logio.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_logio.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_logio.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_logio.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_logio.html.en b/docs/manual/mod/mod_logio.html.en new file mode 100644 index 0000000..36ebb04 --- /dev/null +++ b/docs/manual/mod/mod_logio.html.en @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_logio - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_logio</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_logio.html" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Logging of input and output bytes per request</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>logio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_logio.c</td></tr></table> +<h3>Summary</h3> + + + <p>This module provides the logging of input and output number of + bytes received/sent per request. The numbers reflect the actual bytes + as received on the network, which then takes into account the + headers and bodies of requests and responses. The counting is done + before SSL/TLS on input and after SSL/TLS on output, so the numbers + will correctly reflect any changes made by encryption.</p> + + <p>This module requires <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> + + <div class="note">When KeepAlive connections are used with SSL, the overhead of the SSL + handshake is reflected in the byte count of the first request on the + connection. When per-directory SSL renegotiation occurs, the bytes are associated + with the request that triggered the renegotiation.</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Custom Log Formats</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfb">LogIOTrackTTFB</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="../logs.html">Apache Log Files</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Custom Log Formats</a></h2> + + + <p>This module adds three new logging directives. The characteristics of the + request itself are logged by placing "<code>%</code>" directives in + the format string, which are replaced in the log file by the values as + follows:</p> + + <table class="bordered"><tr class="header"><th>Format String</th> + <th>Description</th></tr> +<tr><td><code>%I</code></td> + <td>Bytes received, including request and headers, cannot be + zero.</td></tr> +<tr class="odd"><td><code>%O</code></td> + <td>Bytes sent, including headers, cannot be zero.</td></tr> +<tr><td><code>%S</code></td> + <td>Bytes transferred (received and sent), including request and headers, + cannot be zero. This is the combination of %I and %O.<br /> + Available in Apache 2.4.7 and later</td></tr> +<tr class="odd"><td><code>%^FB</code></td> + <td>Delay in microseconds between when the request arrived and the + first byte of the response headers are written. Only available if + <code class="directive">LogIOTrackTTFB</code> is set to ON.<br /> + Available in Apache 2.4.13 and later</td></tr> +</table> + + <p>Usually, the functionality is used like this:</p> + + <dl> + <dt>Combined I/O log format:</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</code></dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogIOTrackTTFB" id="LogIOTrackTTFB">LogIOTrackTTFB</a> <a name="logiotrackttfb" id="logiotrackttfb">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable tracking of time to first byte (TTFB)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogIOTrackTTFB ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LogIOTrackTTFB OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_logio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.4.13 and later</td></tr> +</table> + <p>This directive configures whether this module tracks the delay + between the request being read and the first byte of the response + headers being written. The resulting value may be logged with the + <code>%^FB</code> format.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_logio.html" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_logio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.fr.utf8 b/docs/manual/mod/mod_logio.html.fr.utf8 new file mode 100644 index 0000000..193aa11 --- /dev/null +++ b/docs/manual/mod/mod_logio.html.fr.utf8 @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_logio - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_logio</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des octets en entrée et en sortie pour +chaque requête</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>logio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_logio.c</td></tr></table> +<h3>Sommaire</h3> + + + <p>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.</p> + + <p>Pour fonctionner, ce module requiert le chargement du module + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> + + <div class="note">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.</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfb">LogIOTrackTTFB</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="../logs.html">Les fichiers journaux +d'Apache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Formats de journaux personnalisés</a></h2> + + + <p>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 "<code>%</code>" dans la chaîne de format, + qui seront remplacées comme suit dans le fichier journal :</p> + + <table class="bordered"><tr class="header"><th>Chaîne de Format</th> + <th>Description</th></tr> +<tr><td><code>%I</code></td> + <td>Octets reçus, en-têtes et corps de requête inclus ; ne peut + pas être nul.</td></tr> +<tr class="odd"><td><code>%O</code></td> + <td>Octets envoyés, en-têtes inclus ; ne peut + pas être nul.</td></tr> +<tr><td><code>%S</code></td> + <td>Nombre d'octets transmis (en émission et réception), y + compris corps et en-têtes de requête. Ce nombre ne peut pas être + nul, et il correspond à la combinaison des formats %I et %O.<br /> + Disponible depuis la version 2.4.7 du serveur HTTP Apache.</td></tr> +<tr class="odd"><td><code>%^FB</code></td> + <td>Dé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 + <code class="directive">LogIOTrackTTFB</code> a été définie à ON.<br /> + Disponible à partir de la version 2.4.13 du serveur HTTP Apache + </td></tr> +</table> + + <p>En général, cette fonctionnalité s'utilise comme suit :</p> + + <dl> + <dt>Format de journal d'entrées/sorties combiné :</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</code></dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="logiotrackttfb" id="logiotrackttfb">Directive</a> <a name="LogIOTrackTTFB" id="LogIOTrackTTFB">LogIOTrackTTFB</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogIOTrackTTFB ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogIOTrackTTFB OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_logio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP +Apache</td></tr> +</table> + <p>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 <code>%^FB</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_logio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.ja.utf8 b/docs/manual/mod/mod_logio.html.ja.utf8 new file mode 100644 index 0000000..5ebc56d --- /dev/null +++ b/docs/manual/mod/mod_logio.html.ja.utf8 @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_logio - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_logio</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>リクエスト毎に入力バイト数と出力バイト数とをロギング</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>logio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_logio.c</td></tr></table> +<h3>概要</h3> + + + <p>このモジュールはリクエストごとに受け取ったバイト数と + 送信したバイト数のロギングを行なう機能を提供します。 + 記録される数字はリクエストのヘッダとレスポンスの本体を + 反映した、実際にネットワークで受け取ったバイト値です。 + 入力では SSL/TLS の前に、出力では SSL/TLS の後に数えるので、 + 数字は暗号による変化も正しく反映したものになります。</p> + + <p>このモジュールの使用には <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> モジュールが + 必要です。</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">カスタムログ書式</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfb">LogIOTrackTTFB</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="../logs.html">Apache ログファイル</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">カスタムログ書式</a></h2> + + + <p>このモジュールは新しいロギング用ディレクティブを加えます。 + リクエスト自身の特徴はフォーマット文字列に、以下の様に置換される + "<code>%</code>" ディレクティブを + 入れることでログ収集されます:</p> + + <table class="bordered"><tr class="header"><th>フォーマット文字列</th> + <th>説明</th></tr> +<tr><td><code>%...I</code></td> + <td>リクエストとヘッダを含む、受け取ったバイト数。 + 0 にはならない。</td></tr> +<tr class="odd"><td><code>%...O</code></td> + <td>ヘッダを含む、送信したバイト数。0 にはならない。</td></tr> +</table> + + <p>通常、この機能は以下の様に使用されます:</p> + + <dl> + <dt>結合 I/O ログ書式:</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</code></dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogIOTrackTTFB" id="LogIOTrackTTFB">LogIOTrackTTFB</a> <a name="logiotrackttfb" id="logiotrackttfb">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable tracking of time to first byte (TTFB)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LogIOTrackTTFB ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LogIOTrackTTFB OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_logio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache HTTP Server 2.4.13 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_logio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.ko.euc-kr b/docs/manual/mod/mod_logio.html.ko.euc-kr new file mode 100644 index 0000000..9d25b05 --- /dev/null +++ b/docs/manual/mod/mod_logio.html.ko.euc-kr @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_logio - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_logio</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>û Ʈ </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>logio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_logio.c</td></tr></table> +<h3></h3> + + + <p> û Ʈ Ѵ. ڴ + Ʈ ְ Ʈ Ÿ, û + Ѵ. Է SSL/TLS , + SSL/TLS Ŀ ȣȭ + ùٷ ݿȴ.</p> + + <p> Ϸ <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> + ʿϴ.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats"> α </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfb">LogIOTrackTTFB</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="../logs.html">ġ α</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats"> α </a></h2> + + + <p> ΰ ο αþ ߰Ѵ. ûü + Ư Ĺڿ "<code>%</code>" þ Ͽ Ѵ. + þ αϿ Ѵ:</p> + + <table class="bordered"><tr class="header"><th>Ĺڿ</th> + <th></th></tr> +<tr><td><code>%...I</code></td> + <td>û Ͽ Ʈ. 0 .</td></tr> +<tr class="odd"><td><code>%...O</code></td> + <td> Ͽ Ʈ. 0 .</td></tr> +</table> + + <p> Ѵ:</p> + + <dl> + + <dt>յ α :</dt> + + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</code></dd> + + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogIOTrackTTFB" id="LogIOTrackTTFB">LogIOTrackTTFB</a> <a name="logiotrackttfb" id="logiotrackttfb">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Enable tracking of time to first byte (TTFB)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>LogIOTrackTTFB ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>LogIOTrackTTFB OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_logio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Apache HTTP Server 2.4.13 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_logio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_logio.html.tr.utf8 b/docs/manual/mod/mod_logio.html.tr.utf8 new file mode 100644 index 0000000..a6fe95f --- /dev/null +++ b/docs/manual/mod/mod_logio.html.tr.utf8 @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_logio - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_logio</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Her isteğin girdi ve çıktı uzunluklarının günlüklenmesi. +</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>logio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_logio.c</td></tr></table> +<h3>Özet</h3> + + + <p>Bu modül her istekte alınan ve gönderilen bayt sayısının günlüklenmesini + sağlar. Sayılar, istekte ve yanıtta yer alan başlıklar ve gövdeleri + hesaba dahil ederek ağ üzerinde gerçekte gidip gelen bayt sayısını + gösterir. Bayt sayımı, girdide SSL/TLS öncesinde ve çıktıda SSL/TLS + sonrasında yapılır, böylece sayıların, şifrelemeyle herhangi bir + değişikliği doğru olarak yansıtması sağlanmış olur.</p> + + <p>Bu modül <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> modülünü gerektirir.</p> + + <div class="note">SSL ile <code>KeepAlive</code> bağlantılar kullanıldığında, SSL + uzlaşımının ek yükü, bağlantı üzerinden yapılan ilk isteğin bayt sayısını + yansıtır. Her dizin için yeniden uzlaşım gerektiği takdirde bayt sayısı + yeniden uzlaşımı tetikleyen istekle ilişkilendirilir.</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Özel Günlük Biçemleri</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfb">LogIOTrackTTFB</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="../logs.html">Apache Günlük Dosyaları</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="formats" id="formats">Özel Günlük Biçemleri</a></h2> + + + <p>İsteğin belirgin özellikleri için, biçem dizgesinde yer alan % imli + biçem belirteçlerinin yerine günlük dosyasında değerleri yazılır. Bu + modül üç yeni biçem belirteci ekler:</p> + + <table class="bordered"><tr class="header"><th>Biçem Belirteci</th> + <th>Açıklama</th></tr> +<tr><td><code>%I</code></td> + <td>İstek gövdesi ve başlıklar dahil alınan bayt sayısı; sıfır + olamaz.</td></tr> +<tr class="odd"><td><code>%O</code></td> + <td>Başlıklar dahil gönderilen bayt sayısı; sıfır olamaz.</td></tr> +<tr><td><code>%S</code></td> + <td>Aktarılan bayt sayısı (alınan ve gönderilen), istekler ve başlıklar + dahil; sıfır olamaz. %I ve %O'nun birleşimidir.<br /> + Apache 2.4.7 ve sonrasında kullanılabilmektedir.</td></tr> +<tr class="odd"><td><code>%^FB</code></td> + <td>İstek gelip yanıt başlıklarının ilk baytı yazılana kadar mikrosaniye cinsinden geçen zaman. Sadece <code class="directive">LogIOTrackTTFB</code> yönergesine ON atanmışsa kullanılabilir.<br /> + Apache 2.4.13 ve sonrasında kullanılabilir.</td></tr> +</table> + + <p>Genel olarak, işlevsellik şöyle kullanılır:</p> + + <dl> + <dt>Birleşik G/Ç günlükleme biçemi:</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</code></dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogIOTrackTTFB" id="LogIOTrackTTFB">LogIOTrackTTFB</a> <a name="logiotrackttfb" id="logiotrackttfb">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İlk baytın yazılmasına kadar geçen süreyi izler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LogIOTrackTTFB ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>LogIOTrackTTFB OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_logio</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.4.13 ve sonrasında kullanılabilir</td></tr> +</table> + <p>Bu yönerge isteğin okunmasından yanıt başlığının ilk baytının + yazılmasına kadar geçen sürenin izlenmesini yapılandırır. Sonuçlanan + değeri <code>%^FB</code> biçemi ile günlüğe kaydettirebilirsiniz.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_logio.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lua.html b/docs/manual/mod/mod_lua.html new file mode 100644 index 0000000..634a9a7 --- /dev/null +++ b/docs/manual/mod/mod_lua.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_lua.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_lua.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_lua.html.en b/docs/manual/mod/mod_lua.html.en new file mode 100644 index 0000000..52cdcf8 --- /dev/null +++ b/docs/manual/mod/mod_lua.html.en @@ -0,0 +1,1922 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lua - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_lua</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lua.html" title="English"> en </a> | +<a href="../fr/mod/mod_lua.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides Lua hooks into various portions of the httpd +request processing</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>lua_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_lua.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>2.3 and later</td></tr></table> +<h3>Summary</h3> + +<p>This module allows the server to be extended with scripts written in the +Lua programming language. The extension points (hooks) available with +<code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code> include many of the hooks available to +natively compiled Apache HTTP Server modules, such as mapping requests to +files, generating dynamic responses, access control, authentication, and +authorization</p> + +<p>More information on the Lua programming language can be found at the +<a href="http://www.lua.org/">the Lua website</a>.</p> + +<div class="warning"><h3>Warning</h3> +<p>This module holds a great deal of power over httpd, which is both a +strength and a potential security risk. It is <strong>not</strong> recommended +that you use this module on a server that is shared with users you do not +trust, as it can be abused to change the internal workings of httpd.</p> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicconf">Basic Configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writinghandlers">Writing Handlers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writingauthzproviders">Writing Authorization Providers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writinghooks">Writing Hooks</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#datastructures">Data Structures</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#functions">Built in functions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Logging Functions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#apache2">apache2 Package</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#modifying_buckets">Modifying contents with Lua filters</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#databases">Database connectivity</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#luaauthzprovider">LuaAuthzProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luacodecache">LuaCodeCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookfixups">LuaHookFixups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahooklog">LuaHookLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahooktranslatename">LuaHookTranslateName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luainherit">LuaInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luainputfilter">LuaInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luamaphandler">LuaMapHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luaoutputfilter">LuaOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luapackagecpath">LuaPackageCPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luapackagepath">LuaPackagePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luaquickhandler">LuaQuickHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luaroot">LuaRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luascope">LuaScope</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lua">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lua">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicconf" id="basicconf">Basic Configuration</a></h2> + +<p>The basic module loading directive is</p> + +<pre class="prettyprint lang-config">LoadModule lua_module modules/mod_lua.so</pre> + + +<p> +<code>mod_lua</code> provides a handler named <code>lua-script</code>, +which can be used with a <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> or +<code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> directive:</p> + +<pre class="prettyprint lang-config"><Files "*.lua"> + SetHandler lua-script +</Files></pre> + + +<p> +This will cause <code>mod_lua</code> to handle requests for files +ending in <code>.lua</code> by invoking that file's +<code>handle</code> function. +</p> + +<p>For more flexibility, see <code class="directive">LuaMapHandler</code>. +</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writinghandlers" id="writinghandlers">Writing Handlers</a></h2> +<p> In the Apache HTTP Server API, the handler is a specific kind of hook +responsible for generating the response. Examples of modules that include a +handler are <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, +and <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p> + +<p><code>mod_lua</code> always looks to invoke a Lua function for the handler, rather than +just evaluating a script body CGI style. A handler function looks +something like this:</p> + + +<pre class="prettyprint lang-lua"> +<strong>example.lua</strong><br /> +-- example handler + +require "string" + +--[[ + This is the default method name for Lua handlers, see the optional + function-name in the LuaMapHandler directive to choose a different + entry point. +--]] +function handle(r) + r.content_type = "text/plain" + + if r.method == 'GET' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parseargs() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + elseif r.method == 'POST' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parsebody() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + elseif r.method == 'PUT' then +-- use our own Error contents + r:puts("Unsupported HTTP method " .. r.method) + r.status = 405 + return apache2.OK + else +-- use the ErrorDocument + return 501 + end + return apache2.OK +end</pre> + + +<p> +This handler function just prints out the uri or form encoded +arguments to a plaintext page. +</p> + +<p> +This means (and in fact encourages) that you can have multiple +handlers (or hooks, or filters) in the same script. +</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writingauthzproviders" id="writingauthzproviders">Writing Authorization Providers</a></h2> + + +<p><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> provides a high-level interface to +authorization that is much easier to use than using into the relevant +hooks directly. The first argument to the +<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive gives +the name of the responsible authorization provider. For any +<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> line, +<code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> will call the authorization provider +of the given name, passing the rest of the line as parameters. The +provider will then check authorization and pass the result as return +value.</p> + +<p>The authz provider is normally called before authentication. If it needs to +know the authenticated user name (or if the user will be authenticated at +all), the provider must return <code>apache2.AUTHZ_DENIED_NO_USER</code>. +This will cause authentication to proceed and the authz provider to be +called a second time.</p> + +<p>The following authz provider function takes two arguments, one ip +address and one user name. It will allow access from the given ip address +without authentication, or if the authenticated user matches the second +argument:</p> + +<pre class="prettyprint lang-lua"> +<strong>authz_provider.lua</strong><br /> + +require 'apache2' + +function authz_check_foo(r, ip, user) + if r.useragent_ip == ip then + return apache2.AUTHZ_GRANTED + elseif r.user == nil then + return apache2.AUTHZ_DENIED_NO_USER + elseif r.user == user then + return apache2.AUTHZ_GRANTED + else + return apache2.AUTHZ_DENIED + end +end</pre> + + +<p>The following configuration registers this function as provider +<code>foo</code> and configures it for URL <code>/</code>:</p> +<pre class="prettyprint lang-config">LuaAuthzProvider foo authz_provider.lua authz_check_foo +<Location "/"> + Require foo 10.1.2.3 john_doe +</Location></pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writinghooks" id="writinghooks">Writing Hooks</a></h2> + +<p>Hook functions are how modules (and Lua scripts) participate in the +processing of requests. Each type of hook exposed by the server exists for +a specific purpose, such as mapping requests to the file system, +performing access control, or setting mime types:</p> + +<table class="bordered"><tr class="header"> + <th>Hook phase</th> + <th>mod_lua directive</th> + <th>Description</th> + </tr> +<tr> + <td>Quick handler</td> + <td><code class="directive"><a href="#luaquickhandler">LuaQuickHandler</a></code></td> + <td>This is the first hook that will be called after a request has + been mapped to a host or virtual host</td> + </tr> +<tr class="odd"> + <td>Pre-Translate name</td> + <td><code class="directive"><a href="#luahookpretranslatename">LuaHookPreTranslateName</a></code></td> + <td>This phase translates the requested URI into a filename on the + system, before decoding occurs. Modules such as <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> + can operate in this phase.</td> + </tr> +<tr> + <td>Translate name</td> + <td><code class="directive"><a href="#luahooktranslatename">LuaHookTranslateName</a></code></td> + <td>This phase translates the requested URI into a filename on the + system. Modules such as <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> and + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> operate in this phase.</td> + </tr> +<tr class="odd"> + <td>Map to storage</td> + <td><code class="directive"><a href="#luahookmaptostorage">LuaHookMapToStorage</a></code></td> + <td>This phase maps files to their physical, cached or external/proxied storage. + It can be used by proxy or caching modules</td> + </tr> +<tr> + <td>Check Access</td> + <td><code class="directive"><a href="#luahookaccesschecker">LuaHookAccessChecker</a></code></td> + <td>This phase checks whether a client has access to a resource. This + phase is run before the user is authenticated, so beware. + </td> + </tr> +<tr class="odd"> + <td>Check User ID</td> + <td><code class="directive"><a href="#luahookcheckuserid">LuaHookCheckUserID</a></code></td> + <td>This phase it used to check the negotiated user ID</td> + </tr> +<tr> + <td>Check Authorization</td> + <td><code class="directive"><a href="#luahookauthchecker">LuaHookAuthChecker</a></code> or + <code class="directive"><a href="#luaauthzprovider">LuaAuthzProvider</a></code></td> + <td>This phase authorizes a user based on the negotiated credentials, such as + user ID, client certificate etc. + </td> + </tr> +<tr class="odd"> + <td>Check Type</td> + <td><code class="directive"><a href="#luahooktypechecker">LuaHookTypeChecker</a></code></td> + <td>This phase checks the requested file and assigns a content type and + a handler to it</td> + </tr> +<tr> + <td>Fixups</td> + <td><code class="directive"><a href="#luahookfixups">LuaHookFixups</a></code></td> + <td>This is the final "fix anything" phase before the content handlers + are run. Any last-minute changes to the request should be made here.</td> + </tr> +<tr class="odd"> + <td>Content handler</td> + <td>fx. <code>.lua</code> files or through <code class="directive"><a href="#luamaphandler">LuaMapHandler</a></code></td> + <td>This is where the content is handled. Files are read, parsed, some are run, + and the result is sent to the client</td> + </tr> +<tr> + <td>Logging</td> + <td><code class="directive"><a href="#luahooklog">LuaHookLog</a></code></td> + <td>Once a request has been handled, it enters several logging phases, + which logs the request in either the error or access log. Mod_lua + is able to hook into the start of this and control logging output.</td> + </tr> +</table> + +<p>Hook functions are passed the request object as their only argument +(except for LuaAuthzProvider, which also gets passed the arguments from +the Require directive). +They can return any value, depending on the hook, but most commonly +they'll return OK, DONE, or DECLINED, which you can write in Lua as +<code>apache2.OK</code>, <code>apache2.DONE</code>, or +<code>apache2.DECLINED</code>, or else an HTTP status code.</p> + + +<pre class="prettyprint lang-lua"> +<strong>translate_name.lua</strong><br /> +-- example hook that rewrites the URI to a filesystem path. + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.filename = r.document_root .. "/find_me.txt" + return apache2.OK + end + -- we don't care about this URL, give another module a chance + return apache2.DECLINED +end</pre> + + + +<pre class="prettyprint lang-lua"> +<strong>translate_name2.lua</strong><br /> +--[[ example hook that rewrites one URI to another URI. It returns a + apache2.DECLINED to give other URL mappers a chance to work on the + substitution, including the core translate_name hook which maps based + on the DocumentRoot. + + Note: Use the early/late flags in the directive to make it run before + or after mod_alias. +--]] + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.uri = "/find_me.txt" + return apache2.DECLINED + end + return apache2.DECLINED +end</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="datastructures" id="datastructures">Data Structures</a></h2> + +<dl> +<dt>request_rec</dt> + <dd> + <p>The request_rec is mapped in as a userdata. It has a metatable + which lets you do useful things with it. For the most part it + has the same fields as the request_rec struct, many of which are writable as + well as readable. (The table fields' content can be changed, but the + fields themselves cannot be set to different tables.)</p> + + <table class="bordered"><tr class="header"> + <th><strong>Name</strong></th> + <th><strong>Lua type</strong></th> + <th><strong>Writable</strong></th> + <th><strong>Description</strong></th> + </tr> +<tr> + <td><code>allowoverrides</code></td> + <td>string</td> + <td>no</td> + <td>The AllowOverride options applied to the current request.</td> + </tr> +<tr class="odd"> + <td><code>ap_auth_type</code></td> + <td>string</td> + <td>no</td> + <td>If an authentication check was made, this is set to the type + of authentication (f.x. <code>basic</code>)</td> + </tr> +<tr> + <td><code>args</code></td> + <td>string</td> + <td>yes</td> + <td>The query string arguments extracted from the request + (f.x. <code>foo=bar&name=johnsmith</code>)</td> + </tr> +<tr class="odd"> + <td><code>assbackwards</code></td> + <td>boolean</td> + <td>no</td> + <td>Set to true if this is an HTTP/0.9 style request + (e.g. <code>GET /foo</code> (with no headers) )</td> + </tr> +<tr> + <td><code>auth_name</code></td> + <td>string</td> + <td>no</td> + <td>The realm name used for authorization (if applicable).</td> + </tr> +<tr class="odd"> + <td><code>banner</code></td> + <td>string</td> + <td>no</td> + <td>The server banner, f.x. <code>Apache HTTP Server/2.4.3 openssl/0.9.8c</code></td> + </tr> +<tr> + <td><code>basic_auth_pw</code></td> + <td>string</td> + <td>no</td> + <td>The basic auth password sent with this request, if any</td> + </tr> +<tr class="odd"> + <td><code>canonical_filename</code></td> + <td>string</td> + <td>no</td> + <td>The canonical filename of the request</td> + </tr> +<tr> + <td><code>content_encoding</code></td> + <td>string</td> + <td>no</td> + <td>The content encoding of the current request</td> + </tr> +<tr class="odd"> + <td><code>content_type</code></td> + <td>string</td> + <td>yes</td> + <td>The content type of the current request, as determined in the + type_check phase (f.x. <code>image/gif</code> or <code>text/html</code>)</td> + </tr> +<tr> + <td><code>context_prefix</code></td> + <td>string</td> + <td>no</td> + <td /> + </tr> +<tr class="odd"> + <td><code>context_document_root</code></td> + <td>string</td> + <td>no</td> + <td /> + </tr> +<tr> + <td><code>document_root</code></td> + <td>string</td> + <td>no</td> + <td>The document root of the host</td> + </tr> +<tr class="odd"> + <td><code>err_headers_out</code></td> + <td>table</td> + <td>no</td> + <td>MIME header environment for the response, printed even on errors and + persist across internal redirects. A read-only lua table suitable for iteration is available as r:err_headers_out_table().</td> + </tr> +<tr> + <td><code>filename</code></td> + <td>string</td> + <td>yes</td> + <td>The file name that the request maps to, f.x. /www/example.com/foo.txt. This can be + changed in the pre-translate-name, translate-name or map-to-storage phases of a request to allow the + default handler (or script handlers) to serve a different file than what was requested.</td> + </tr> +<tr class="odd"> + <td><code>handler</code></td> + <td>string</td> + <td>yes</td> + <td>The name of the <a href="../handler.html">handler</a> that should serve this request, f.x. + <code>lua-script</code> if it is to be served by mod_lua. This is typically set by the + <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> or <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> + directives, but could also be set via mod_lua to allow another handler to serve up a specific request + that would otherwise not be served by it. + </td> + </tr> +<tr> + <td><code>headers_in</code></td> + <td>table</td> + <td>yes</td> + <td>MIME header environment from the request. This contains headers such as <code>Host, + User-Agent, Referer</code> and so on. A read-only lua table suitable for iteration is available as r:headers_in_table().</td> + </tr> +<tr class="odd"> + <td><code>headers_out</code></td> + <td>table</td> + <td>yes</td> + <td>MIME header environment for the response. A read-only lua table suitable for iteration is available as r:headers_out_table().</td> + </tr> +<tr> + <td><code>hostname</code></td> + <td>string</td> + <td>no</td> + <td>The host name, as set by the <code>Host:</code> header or by a full URI.</td> + </tr> +<tr class="odd"> + <td><code>is_https</code></td> + <td>boolean</td> + <td>no</td> + <td>Whether or not this request is done via HTTPS</td> + </tr> +<tr> + <td><code>is_initial_req</code></td> + <td>boolean</td> + <td>no</td> + <td>Whether this request is the initial request or a sub-request</td> + </tr> +<tr class="odd"> + <td><code>limit_req_body</code></td> + <td>number</td> + <td>no</td> + <td>The size limit of the request body for this request, or 0 if no limit.</td> + </tr> +<tr> + <td><code>log_id</code></td> + <td>string</td> + <td>no</td> + <td>The ID to identify request in access and error log.</td> + </tr> +<tr class="odd"> + <td><code>method</code></td> + <td>string</td> + <td>no</td> + <td>The request method, f.x. <code>GET</code> or <code>POST</code>.</td> + </tr> +<tr> + <td><code>notes</code></td> + <td>table</td> + <td>yes</td> + <td>A list of notes that can be passed on from one module to another. A read-only lua table suitable for iteration is available as r:notes_table().</td> + </tr> +<tr class="odd"> + <td><code>options</code></td> + <td>string</td> + <td>no</td> + <td>The Options directive applied to the current request.</td> + </tr> +<tr> + <td><code>path_info</code></td> + <td>string</td> + <td>no</td> + <td>The PATH_INFO extracted from this request.</td> + </tr> +<tr class="odd"> + <td><code>port</code></td> + <td>number</td> + <td>no</td> + <td>The server port used by the request.</td> + </tr> +<tr> + <td><code>protocol</code></td> + <td>string</td> + <td>no</td> + <td>The protocol used, f.x. <code>HTTP/1.1</code></td> + </tr> +<tr class="odd"> + <td><code>proxyreq</code></td> + <td>string</td> + <td>yes</td> + <td>Denotes whether this is a proxy request or not. This value is generally set in + the post_read_request/pre_translate_name/translate_name phase of a request.</td> + </tr> +<tr> + <td><code>range</code></td> + <td>string</td> + <td>no</td> + <td>The contents of the <code>Range:</code> header.</td> + </tr> +<tr class="odd"> + <td><code>remaining</code></td> + <td>number</td> + <td>no</td> + <td>The number of bytes remaining to be read from the request body.</td> + </tr> +<tr> + <td><code>server_built</code></td> + <td>string</td> + <td>no</td> + <td>The time the server executable was built.</td> + </tr> +<tr class="odd"> + <td><code>server_name</code></td> + <td>string</td> + <td>no</td> + <td>The server name for this request.</td> + </tr> +<tr> + <td><code>some_auth_required</code></td> + <td>boolean</td> + <td>no</td> + <td>Whether some authorization is/was required for this request.</td> + </tr> +<tr class="odd"> + <td><code>subprocess_env</code></td> + <td>table</td> + <td>yes</td> + <td>The environment variables set for this request. A read-only lua table suitable for iteration is available as r:subprocess_env_table().</td> + </tr> +<tr> + <td><code>started</code></td> + <td>number</td> + <td>no</td> + <td>The time the server was (re)started, in seconds since the epoch (Jan 1st, 1970)</td> + </tr> +<tr class="odd"> + <td><code>status</code></td> + <td>number</td> + <td>yes</td> + <td>The (current) HTTP return code for this request, f.x. <code>200</code> or <code>404</code>.</td> + </tr> +<tr> + <td><code>the_request</code></td> + <td>string</td> + <td>no</td> + <td>The request string as sent by the client, f.x. <code>GET /foo/bar HTTP/1.1</code>.</td> + </tr> +<tr class="odd"> + <td><code>unparsed_uri</code></td> + <td>string</td> + <td>no</td> + <td>The unparsed URI of the request</td> + </tr> +<tr> + <td><code>uri</code></td> + <td>string</td> + <td>yes</td> + <td>The URI after it has been parsed by httpd</td> + </tr> +<tr class="odd"> + <td><code>user</code></td> + <td>string</td> + <td>yes</td> + <td>If an authentication check has been made, this is set to the name of the authenticated user.</td> + </tr> +<tr> + <td><code>useragent_ip</code></td> + <td>string</td> + <td>no</td> + <td>The IP of the user agent making the request</td> + </tr> +</table> + </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="functions" id="functions">Built in functions</a></h2> + +<p>The request_rec object has (at least) the following methods:</p> + +<pre class="prettyprint lang-lua">r:flush() -- flushes the output buffer. + -- Returns true if the flush was successful, false otherwise. + +while we_have_stuff_to_send do + r:puts("Bla bla bla\n") -- print something to client + r:flush() -- flush the buffer (send to client) + r.usleep(500000) -- fake processing time for 0.5 sec. and repeat +end</pre> + + +<pre class="prettyprint lang-lua">r:add_output_filter(filter_name) -- add an output filter: + +r:add_output_filter("fooFilter") -- add the fooFilter to the output stream</pre> + + +<pre class="prettyprint lang-lua">r:sendfile(filename) -- sends an entire file to the client, using sendfile if supported by the current platform: + +if use_sendfile_thing then + r:sendfile("/var/www/large_file.img") +end</pre> + + +<pre class="prettyprint lang-lua">r:parseargs() -- returns two tables; one standard key/value table for regular GET data, + -- and one for multi-value data (fx. foo=1&foo=2&foo=3): + +local GET, GETMULTI = r:parseargs() +r:puts("Your name is: " .. GET['name'] or "Unknown")</pre> + + +<pre class="prettyprint lang-lua">r:parsebody([sizeLimit]) -- parse the request body as a POST and return two lua tables, + -- just like r:parseargs(). + -- An optional number may be passed to specify the maximum number + -- of bytes to parse. Default is 8192 bytes: + +local POST, POSTMULTI = r:parsebody(1024*1024) +r:puts("Your name is: " .. POST['name'] or "Unknown")</pre> + + +<pre class="prettyprint lang-lua">r:puts("hello", " world", "!") -- print to response body, self explanatory</pre> + + +<pre class="prettyprint lang-lua">r:write("a single string") -- print to response body, self explanatory</pre> + + +<pre class="prettyprint lang-lua">r:escape_html("<html>test</html>") -- Escapes HTML code and returns the escaped result</pre> + + +<pre class="prettyprint lang-lua">r:base64_encode(string) -- Encodes a string using the Base64 encoding standard: + +local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=</pre> + + +<pre class="prettyprint lang-lua">r:base64_decode(string) -- Decodes a Base64-encoded string: + +local decoded = r:base64_decode("VGhpcyBpcyBhIHRlc3Q=") -- returns 'This is a test'</pre> + + +<pre class="prettyprint lang-lua">r:md5(string) -- Calculates and returns the MD5 digest of a string (binary safe): + +local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339</pre> + + +<pre class="prettyprint lang-lua">r:sha1(string) -- Calculates and returns the SHA1 digest of a string (binary safe): + +local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19</pre> + + +<pre class="prettyprint lang-lua">r:escape(string) -- URL-Escapes a string: + +local url = "http://foo.bar/1 2 3 & 4 + 5" +local escaped = r:escape(url) -- returns 'http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5'</pre> + + +<pre class="prettyprint lang-lua">r:unescape(string) -- Unescapes an URL-escaped string: + +local url = "http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5" +local unescaped = r:unescape(url) -- returns 'http://foo.bar/1 2 3 & 4 + 5'</pre> + + +<pre class="prettyprint lang-lua">r:construct_url(string) -- Constructs an URL from an URI + +local url = r:construct_url(r.uri)</pre> + + +<pre class="prettyprint lang-lua">r.mpm_query(number) -- Queries the server for MPM information using ap_mpm_query: + +local mpm = r.mpm_query(14) +if mpm == 1 then + r:puts("This server uses the Event MPM") +end</pre> + + +<pre class="prettyprint lang-lua">r:expr(string) -- Evaluates an <a href="../expr.html">expr</a> string. + +if r:expr("%{HTTP_HOST} =~ /^www/") then + r:puts("This host name starts with www") +end</pre> + + +<pre class="prettyprint lang-lua">r:scoreboard_process(a) -- Queries the server for information about the process at position <code>a</code>: + +local process = r:scoreboard_process(1) +r:puts("Server 1 has PID " .. process.pid)</pre> + + +<pre class="prettyprint lang-lua">r:scoreboard_worker(a, b) -- Queries for information about the worker thread, <code>b</code>, in process <code>a</code>: + +local thread = r:scoreboard_worker(1, 1) +r:puts("Server 1's thread 1 has thread ID " .. thread.tid .. " and is in " .. thread.status .. " status")</pre> + + + +<pre class="prettyprint lang-lua">r:clock() -- Returns the current time with microsecond precision</pre> + + +<pre class="prettyprint lang-lua">r:requestbody(filename) -- Reads and returns the request body of a request. + -- If 'filename' is specified, it instead saves the + -- contents to that file: + +local input = r:requestbody() +r:puts("You sent the following request body to me:\n") +r:puts(input)</pre> + + +<pre class="prettyprint lang-lua">r:add_input_filter(filter_name) -- Adds 'filter_name' as an input filter</pre> + + +<pre class="prettyprint lang-lua">r.module_info(module_name) -- Queries the server for information about a module + +local mod = r.module_info("mod_lua.c") +if mod then + for k, v in pairs(mod.commands) do + r:puts( ("%s: %s\n"):format(k,v)) -- print out all directives accepted by this module + end +end</pre> + + +<pre class="prettyprint lang-lua">r:loaded_modules() -- Returns a list of modules loaded by httpd: + +for k, module in pairs(r:loaded_modules()) do + r:puts("I have loaded module " .. module .. "\n") +end</pre> + + +<pre class="prettyprint lang-lua">r:runtime_dir_relative(filename) -- Compute the name of a run-time file (e.g., shared memory "file") + -- relative to the appropriate run-time directory.</pre> + + +<pre class="prettyprint lang-lua">r:server_info() -- Returns a table containing server information, such as + -- the name of the httpd executable file, mpm used etc.</pre> + + +<pre class="prettyprint lang-lua">r:set_document_root(file_path) -- Sets the document root for the request to file_path</pre> + + + + +<pre class="prettyprint lang-lua">r:set_context_info(prefix, docroot) -- Sets the context prefix and context document root for a request</pre> + + +<pre class="prettyprint lang-lua">r:os_escape_path(file_path) -- Converts an OS path to a URL in an OS dependent way</pre> + + +<pre class="prettyprint lang-lua">r:escape_logitem(string) -- Escapes a string for logging</pre> + + +<pre class="prettyprint lang-lua">r.strcmp_match(string, pattern) -- Checks if 'string' matches 'pattern' using strcmp_match (globs). + -- fx. whether 'www.example.com' matches '*.example.com': + +local match = r.strcmp_match("foobar.com", "foo*.com") +if match then + r:puts("foobar.com matches foo*.com") +end</pre> + + +<pre class="prettyprint lang-lua">r:set_keepalive() -- Sets the keepalive status for a request. Returns true if possible, false otherwise.</pre> + + +<pre class="prettyprint lang-lua">r:make_etag() -- Constructs and returns the etag for the current request.</pre> + + +<pre class="prettyprint lang-lua">r:send_interim_response(clear) -- Sends an interim (1xx) response to the client. + -- if 'clear' is true, available headers will be sent and cleared.</pre> + + +<pre class="prettyprint lang-lua">r:custom_response(status_code, string) -- Construct and set a custom response for a given status code. + -- This works much like the ErrorDocument directive: + +r:custom_response(404, "Baleted!")</pre> + + +<pre class="prettyprint lang-lua">r.exists_config_define(string) -- Checks whether a configuration definition exists or not: + +if r.exists_config_define("FOO") then + r:puts("httpd was probably run with -DFOO, or it was defined in the configuration") +end</pre> + + +<pre class="prettyprint lang-lua">r:state_query(string) -- Queries the server for state information</pre> + + +<pre class="prettyprint lang-lua">r:stat(filename [,wanted]) -- Runs stat() on a file, and returns a table with file information: + +local info = r:stat("/var/www/foo.txt") +if info then + r:puts("This file exists and was last modified at: " .. info.modified) +end</pre> + + +<pre class="prettyprint lang-lua">r:regex(string, pattern [,flags]) -- Runs a regular expression match on a string, returning captures if matched: + +local matches = r:regex("foo bar baz", [[foo (\w+) (\S*)]]) +if matches then + r:puts("The regex matched, and the last word captured ($2) was: " .. matches[2]) +end + +-- Example ignoring case sensitivity: +local matches = r:regex("FOO bar BAz", [[(foo) bar]], 1) + +-- Flags can be a bitwise combination of: +-- 0x01: Ignore case +-- 0x02: Multiline search</pre> + + +<pre class="prettyprint lang-lua">r.usleep(number_of_microseconds) -- Puts the script to sleep for a given number of microseconds.</pre> + + +<pre class="prettyprint lang-lua">r:dbacquire(dbType[, dbParams]) -- Acquires a connection to a database and returns a database class. + -- See '<a href="#databases">Database connectivity</a>' for details.</pre> + + +<pre class="prettyprint lang-lua">r:ivm_set("key", value) -- Set an Inter-VM variable to hold a specific value. + -- These values persist even though the VM is gone or not being used, + -- and so should only be used if MaxConnectionsPerChild is > 0 + -- Values can be numbers, strings and booleans, and are stored on a + -- per process basis (so they won't do much good with a prefork mpm) + +r:ivm_get("key") -- Fetches a variable set by ivm_set. Returns the contents of the variable + -- if it exists or nil if no such variable exists. + +-- An example getter/setter that saves a global variable outside the VM: +function handle(r) + -- First VM to call this will get no value, and will have to create it + local foo = r:ivm_get("cached_data") + if not foo then + foo = do_some_calcs() -- fake some return value + r:ivm_set("cached_data", foo) -- set it globally + end + r:puts("Cached data is: ", foo) +end</pre> + + +<pre class="prettyprint lang-lua">r:htpassword(string [,algorithm [,cost]]) -- Creates a password hash from a string. + -- algorithm: 0 = APMD5 (default), 1 = SHA, 2 = BCRYPT, 3 = CRYPT. + -- cost: only valid with BCRYPT algorithm (default = 5).</pre> + + +<pre class="prettyprint lang-lua">r:mkdir(dir [,mode]) -- Creates a directory and sets mode to optional mode parameter.</pre> + + +<pre class="prettyprint lang-lua">r:mkrdir(dir [,mode]) -- Creates directories recursive and sets mode to optional mode parameter.</pre> + + +<pre class="prettyprint lang-lua">r:rmdir(dir) -- Removes a directory.</pre> + + +<pre class="prettyprint lang-lua">r:touch(file [,mtime]) -- Sets the file modification time to current time or to optional mtime msec value.</pre> + + +<pre class="prettyprint lang-lua">r:get_direntries(dir) -- Returns a table with all directory entries. + +function handle(r) + local dir = r.context_document_root + for _, f in ipairs(r:get_direntries(dir)) do + local info = r:stat(dir .. "/" .. f) + if info then + local mtime = os.date(fmt, info.mtime / 1000000) + local ftype = (info.filetype == 2) and "[dir] " or "[file]" + r:puts( ("%s %s %10i %s\n"):format(ftype, mtime, info.size, f) ) + end + end +end</pre> + + +<pre class="prettyprint lang-lua">r.date_parse_rfc(string) -- Parses a date/time string and returns seconds since epoche.</pre> + + +<pre class="prettyprint lang-lua">r:getcookie(key) -- Gets a HTTP cookie</pre> + + +<pre class="prettyprint lang-lua">r:setcookie{ + key = [key], + value = [value], + expires = [expiry], + secure = [boolean], + httponly = [boolean], + path = [path], + domain = [domain] +} -- Sets a HTTP cookie, for instance: + +r:setcookie{ + key = "cookie1", + value = "HDHfa9eyffh396rt", + expires = os.time() + 86400, + secure = true +}</pre> + + +<pre class="prettyprint lang-lua">r:wsupgrade() -- Upgrades a connection to WebSockets if possible (and requested): +if r:wsupgrade() then -- if we can upgrade: + r:wswrite("Welcome to websockets!") -- write something to the client + r:wsclose() -- goodbye! +end</pre> + + +<pre class="prettyprint lang-lua">r:wsread() -- Reads a WebSocket frame from a WebSocket upgraded connection (see above): + +local line, isFinal = r:wsread() -- isFinal denotes whether this is the final frame. + -- If it isn't, then more frames can be read +r:wswrite("You wrote: " .. line)</pre> + + +<pre class="prettyprint lang-lua">r:wswrite(line) -- Writes a frame to a WebSocket client: +r:wswrite("Hello, world!")</pre> + + +<pre class="prettyprint lang-lua">r:wsclose() -- Closes a WebSocket request and terminates it for httpd: + +if r:wsupgrade() then + r:wswrite("Write something: ") + local line = r:wsread() or "nothing" + r:wswrite("You wrote: " .. line); + r:wswrite("Goodbye!") + r:wsclose() +end</pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Logging Functions</a></h2> + +<pre class="prettyprint lang-lua">-- examples of logging messages +r:trace1("This is a trace log message") -- trace1 through trace8 can be used +r:debug("This is a debug log message") +r:info("This is an info log message") +r:notice("This is a notice log message") +r:warn("This is a warn log message") +r:err("This is an err log message") +r:alert("This is an alert log message") +r:crit("This is a crit log message") +r:emerg("This is an emerg log message")</pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="apache2" id="apache2">apache2 Package</a></h2> +<p>A package named <code>apache2</code> is available with (at least) the following contents.</p> +<dl> + <dt>apache2.OK</dt> + <dd>internal constant OK. Handlers should return this if they've + handled the request.</dd> + <dt>apache2.DECLINED</dt> + <dd>internal constant DECLINED. Handlers should return this if + they are not going to handle the request.</dd> + <dt>apache2.DONE</dt> + <dd>internal constant DONE.</dd> + <dt>apache2.version</dt> + <dd>Apache HTTP server version string</dd> + <dt>apache2.HTTP_MOVED_TEMPORARILY</dt> + <dd>HTTP status code</dd> + <dt>apache2.PROXYREQ_NONE, apache2.PROXYREQ_PROXY, apache2.PROXYREQ_REVERSE, apache2.PROXYREQ_RESPONSE</dt> + <dd>internal constants used by <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> + <dt>apache2.AUTHZ_DENIED, apache2.AUTHZ_GRANTED, apache2.AUTHZ_NEUTRAL, apache2.AUTHZ_GENERAL_ERROR, apache2.AUTHZ_DENIED_NO_USER</dt> + <dd>internal constants used by <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></dd> + +</dl> +<p>(Other HTTP status codes are not yet implemented.)</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="modifying_buckets" id="modifying_buckets">Modifying contents with Lua filters</a></h2> + + <p> + Filter functions implemented via <code class="directive"><a href="#luainputfilter">LuaInputFilter</a></code> + or <code class="directive"><a href="#luaoutputfilter">LuaOutputFilter</a></code> are designed as + three-stage non-blocking functions using coroutines to suspend and resume a + function as buckets are sent down the filter chain. The core structure of + such a function is: + </p> + <pre class="prettyprint lang-lua">function filter(r) + -- Our first yield is to signal that we are ready to receive buckets. + -- Before this yield, we can set up our environment, check for conditions, + -- and, if we deem it necessary, decline filtering a request altogether: + if something_bad then + return -- This would skip this filter. + end + -- Regardless of whether we have data to prepend, a yield MUST be called here. + -- Note that only output filters can prepend data. Input filters must use the + -- final stage to append data to the content. + coroutine.yield([optional header to be prepended to the content]) + + -- After we have yielded, buckets will be sent to us, one by one, and we can + -- do whatever we want with them and then pass on the result. + -- Buckets are stored in the global variable 'bucket', so we create a loop + -- that checks if 'bucket' is not nil: + while bucket ~= nil do + local output = mangle(bucket) -- Do some stuff to the content + coroutine.yield(output) -- Return our new content to the filter chain + end + + -- Once the buckets are gone, 'bucket' is set to nil, which will exit the + -- loop and land us here. Anything extra we want to append to the content + -- can be done by doing a final yield here. Both input and output filters + -- can append data to the content in this phase. + coroutine.yield([optional footer to be appended to the content]) +end</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="databases" id="databases">Database connectivity</a></h2> + + <p> + Mod_lua implements a simple database feature for querying and running commands + on the most popular database engines (mySQL, PostgreSQL, FreeTDS, ODBC, SQLite, Oracle) + as well as mod_dbd.</p> + <p> + The <code>dbType</code> to use as the first parameter of <code>dbacquire</code> + is case sensitive.</p> + <p> + It should be one of <code>mysql</code>, <code>pgsql</code>, <code>freetds</code>, + <code>odbc</code>, <code>sqlite2</code>, <code>sqlite3</code>, <code>oracle</code> + or <code>mod_dbd</code>. + </p> + <p>The example below shows how to acquire a database handle and return information from a table:</p> + <pre class="prettyprint lang-lua">function handle(r) + -- Acquire a database handle + local database, err = r:dbacquire("mysql", "server=localhost,user=someuser,pass=somepass,dbname=mydb") + if not err then + -- Select some information from it + local results, err = database:select(r, "SELECT `name`, `age` FROM `people` WHERE 1") + if not err then + local rows = results(0) -- fetch all rows synchronously + for k, row in pairs(rows) do + r:puts( string.format("Name: %s, Age: %s<br/>", row[1], row[2]) ) + end + else + r:puts("Database query error: " .. err) + end + database:close() + else + r:puts("Could not connect to the database: " .. err) + end +end</pre> + + <p> + To utilize <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>, specify <code>mod_dbd</code> + as the database type, or leave the field blank: + </p> + <pre class="prettyprint lang-lua">local database = r:dbacquire("mod_dbd")</pre> + + <h3><a name="database_object" id="database_object">Database object and contained functions</a></h3> + + <p>The database object returned by <code>dbacquire</code> has the following methods:</p> + <p><strong>Normal select and query from a database:</strong></p> + <pre class="prettyprint lang-lua">-- Run a statement and return the number of rows affected: +local affected, errmsg = database:query(r, "DELETE FROM `tbl` WHERE 1") + +-- Run a statement and return a result set that can be used synchronously or async: +local result, errmsg = database:select(r, "SELECT * FROM `people` WHERE 1")</pre> + + <p><strong>Using prepared statements (recommended):</strong></p> + <pre class="prettyprint lang-lua">-- Create and run a prepared statement: +local statement, errmsg = database:prepare(r, "DELETE FROM `tbl` WHERE `age` > %u") +if not errmsg then + local result, errmsg = statement:query(20) -- run the statement with age > 20 +end + +-- Fetch a prepared statement from a DBDPrepareSQL directive: +local statement, errmsg = database:prepared(r, "someTag") +if not errmsg then + local result, errmsg = statement:select("John Doe", 123) -- inject the values "John Doe" and 123 into the statement +end</pre> + + <p><strong>Escaping values, closing databases etc:</strong></p> + <pre class="prettyprint lang-lua">-- Escape a value for use in a statement: +local escaped = database:escape(r, [["'|blabla]]) + +-- Close a database connection and free up handles: +database:close() + +-- Check whether a database connection is up and running: +local connected = database:active()</pre> + + + <h3><a name="result_sets" id="result_sets">Working with result sets</a></h3> + + <p>The result set returned by <code>db:select</code> or by the prepared statement functions + created through <code>db:prepare</code> can be used to + fetch rows synchronously or asynchronously, depending on the row number specified:<br /> + <code>result(0)</code> fetches all rows in a synchronous manner, returning a table of rows.<br /> + <code>result(-1)</code> fetches the next available row in the set, asynchronously.<br /> + <code>result(N)</code> fetches row number <code>N</code>, asynchronously: + </p> + <pre class="prettyprint lang-lua">-- fetch a result set using a regular query: +local result, err = db:select(r, "SELECT * FROM `tbl` WHERE 1") + +local rows = result(0) -- Fetch ALL rows synchronously +local row = result(-1) -- Fetch the next available row, asynchronously +local row = result(1234) -- Fetch row number 1234, asynchronously +local row = result(-1, true) -- Fetch the next available row, using row names as key indexes.</pre> + + <p>One can construct a function that returns an iterative function to iterate over all rows + in a synchronous or asynchronous way, depending on the async argument: + </p> + <pre class="prettyprint lang-lua">function rows(resultset, async) + local a = 0 + local function getnext() + a = a + 1 + local row = resultset(-1) + return row and a or nil, row + end + if not async then + return pairs(resultset(0)) + else + return getnext, self + end +end + +local statement, err = db:prepare(r, "SELECT * FROM `tbl` WHERE `age` > %u") +if not err then + -- fetch rows asynchronously: + local result, err = statement:select(20) + if not err then + for index, row in rows(result, true) do + .... + end + end + + -- fetch rows synchronously: + local result, err = statement:select(20) + if not err then + for index, row in rows(result, false) do + .... + end + end +end</pre> + + + <h3><a name="closing_databases" id="closing_databases">Closing a database connection</a></h3> + + + <p>Database handles should be closed using <code>database:close()</code> when they are no longer + needed. If you do not close them manually, they will eventually be garbage collected and + closed by mod_lua, but you may end up having too many unused connections to the database + if you leave the closing up to mod_lua. Essentially, the following two measures are + the same: + </p> + <pre class="prettyprint lang-lua">-- Method 1: Manually close a handle +local database = r:dbacquire("mod_dbd") +database:close() -- All done + +-- Method 2: Letting the garbage collector close it +local database = r:dbacquire("mod_dbd") +database = nil -- throw away the reference +collectgarbage() -- close the handle via GC</pre> + + + <h3><a name="database_caveat" id="database_caveat">Precautions when working with databases</a></h3> + + <p>Although the standard <code>query</code> and <code>run</code> functions are freely + available, it is recommended that you use prepared statements whenever possible, to + both optimize performance (if your db handle lives on for a long time) and to minimize + the risk of SQL injection attacks. <code>run</code> and <code>query</code> should only + be used when there are no variables inserted into a statement (a static statement). + When using dynamic statements, use <code>db:prepare</code> or <code>db:prepared</code>. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaAuthzProvider" id="LuaAuthzProvider">LuaAuthzProvider</a> <a name="luaauthzprovider" id="luaauthzprovider">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.3 and later</td></tr> +</table> +<p>After a lua function has been registered as authorization provider, it can be used +with the <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive:</p> + +<pre class="prettyprint lang-config">LuaRoot "/usr/local/apache2/lua" +LuaAuthzProvider foo authz.lua authz_check_foo +<Location "/"> + Require foo johndoe +</Location></pre> + +<pre class="prettyprint lang-lua">require "apache2" +function authz_check_foo(r, who) + if r.user ~= who then return apache2.AUTHZ_DENIED + return apache2.AUTHZ_GRANTED +end</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaCodeCache" id="LuaCodeCache">LuaCodeCache</a> <a name="luacodecache" id="luacodecache">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure the compiled code cache.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaCodeCache stat|forever|never</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LuaCodeCache stat</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p> + Specify the behavior of the in-memory code cache. The default + is stat, which stats the top level script (not any included + ones) each time that file is needed, and reloads it if the + modified time indicates it is newer than the one it has + already loaded. The other values cause it to keep the file + cached forever (don't stat and replace) or to never cache the + file.</p> + + <p>In general stat or forever is good for production, and stat or never + for development.</p> + + <div class="example"><h3>Examples:</h3><pre class="prettyprint lang-config">LuaCodeCache stat +LuaCodeCache forever +LuaCodeCache never</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookAccessChecker" id="LuaHookAccessChecker">LuaHookAccessChecker</a> <a name="luahookaccesschecker" id="luahookaccesschecker">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the access_checker phase of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The optional third argument is supported in 2.3.15 and later</td></tr> +</table> +<p>Add your hook to the access_checker phase. An access checker +hook function usually returns OK, DECLINED, or HTTP_FORBIDDEN.</p> + <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late" + control when this script runs relative to other modules.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookAuthChecker" id="LuaHookAuthChecker">LuaHookAuthChecker</a> <a name="luahookauthchecker" id="luahookauthchecker">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the auth_checker phase of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The optional third argument is supported in 2.3.15 and later</td></tr> +</table> +<p>Invoke a lua function in the auth_checker phase of processing +a request. This can be used to implement arbitrary authentication +and authorization checking. A very simple example: +</p> +<pre class="prettyprint lang-lua">require 'apache2' + +-- fake authcheck hook +-- If request has no auth info, set the response header and +-- return a 401 to ask the browser for basic auth info. +-- If request has auth info, don't actually look at it, just +-- pretend we got userid 'foo' and validated it. +-- Then check if the userid is 'foo' and accept the request. +function authcheck_hook(r) + + -- look for auth info + auth = r.headers_in['Authorization'] + if auth ~= nil then + -- fake the user + r.user = 'foo' + end + + if r.user == nil then + r:debug("authcheck: user is nil, returning 401") + r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"' + return 401 + elseif r.user == "foo" then + r:debug('user foo: OK') + else + r:debug("authcheck: user='" .. r.user .. "'") + r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"' + return 401 + end + return apache2.OK +end</pre> + + <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late" + control when this script runs relative to other modules.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookCheckUserID" id="LuaHookCheckUserID">LuaHookCheckUserID</a> <a name="luahookcheckuserid" id="luahookcheckuserid">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The optional third argument is supported in 2.3.15 and later</td></tr> +</table><p>...</p> + <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late" + control when this script runs relative to other modules.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookFixups" id="LuaHookFixups">LuaHookFixups</a> <a name="luahookfixups" id="luahookfixups">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the fixups phase of a request +processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookFixups /path/to/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> +<p> + Just like LuaHookTranslateName, but executed at the fixups phase +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookInsertFilter" id="LuaHookInsertFilter">LuaHookInsertFilter</a> <a name="luahookinsertfilter" id="luahookinsertfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p>Not Yet Implemented</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookLog" id="LuaHookLog">LuaHookLog</a> <a name="luahooklog" id="luahooklog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the access log phase of a request +processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookLog /path/to/lua/script.lua log_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> +<p> + This simple logging hook allows you to run a function when httpd enters the + logging phase of a request. With it, you can append data to your own logs, + manipulate data before the regular log is written, or prevent a log entry + from being created. To prevent the usual logging from happening, simply return + <code>apache2.DONE</code> in your logging handler, otherwise return + <code>apache2.OK</code> to tell httpd to log as normal. +</p> +<p>Example:</p> +<pre class="prettyprint lang-config">LuaHookLog "/path/to/script.lua" logger</pre> + +<pre class="prettyprint lang-lua">-- /path/to/script.lua -- +function logger(r) + -- flip a coin: + -- If 1, then we write to our own Lua log and tell httpd not to log + -- in the main log. + -- If 2, then we just sanitize the output a bit and tell httpd to + -- log the sanitized bits. + + if math.random(1,2) == 1 then + -- Log stuff ourselves and don't log in the regular log + local f = io.open("/foo/secret.log", "a") + if f then + f:write("Something secret happened at " .. r.uri .. "\n") + f:close() + end + return apache2.DONE -- Tell httpd not to use the regular logging functions + else + r.uri = r.uri:gsub("somesecretstuff", "") -- sanitize the URI + return apache2.OK -- tell httpd to log it. + end +end</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookMapToStorage" id="LuaHookMapToStorage">LuaHookMapToStorage</a> <a name="luahookmaptostorage" id="luahookmaptostorage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Like <code class="directive">LuaHookTranslateName</code> but executed at the + map-to-storage phase of a request. Modules like <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> run at this phase, + which makes for an interesting example on what to do here:</p> + <pre class="prettyprint lang-config">LuaHookMapToStorage "/path/to/lua/script.lua" check_cache</pre> + + <pre class="prettyprint lang-lua">require"apache2" +cached_files = {} + +function read_file(filename) + local input = io.open(filename, "r") + if input then + local data = input:read("*a") + cached_files[filename] = data + file = cached_files[filename] + input:close() + end + return cached_files[filename] +end + +function check_cache(r) + if r.filename:match("%.png$") then -- Only match PNG files + local file = cached_files[r.filename] -- Check cache entries + if not file then + file = read_file(r.filename) -- Read file into cache + end + if file then -- If file exists, write it out + r.status = 200 + r:write(file) + r:info(("Sent %s to client from cache"):format(r.filename)) + return apache2.DONE -- skip default handler for PNG files + end + end + return apache2.DECLINED -- If we had nothing to do, let others serve this. +end</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookPreTranslate" id="LuaHookPreTranslate">LuaHookPreTranslate</a> <a name="luahookpretranslate" id="luahookpretranslate">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> +<p> + Just like LuaHookTranslateName, but executed at the pre_translate phase, + where the URI-path is not percent decoded. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookTranslateName" id="LuaHookTranslateName">LuaHookTranslateName</a> <a name="luahooktranslatename" id="luahooktranslatename">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the translate name phase of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The optional third argument is supported in 2.3.15 and later</td></tr> +</table><p> + Add a hook (at APR_HOOK_MIDDLE) to the translate name phase of + request processing. The hook function receives a single + argument, the request_rec, and should return a status code, + which is either an HTTP error code, or the constants defined + in the apache2 module: apache2.OK, apache2.DECLINED, or + apache2.DONE. </p> + + <p>For those new to hooks, basically each hook will be invoked + until one of them returns apache2.OK. If your hook doesn't + want to do the translation it should just return + apache2.DECLINED. If the request should stop processing, then + return apache2.DONE.</p> + + <p>Example:</p> + +<pre class="prettyprint lang-config"># httpd.conf +LuaHookTranslateName "/scripts/conf/hooks.lua" silly_mapper</pre> + + +<pre class="prettyprint lang-lua">-- /scripts/conf/hooks.lua -- +require "apache2" +function silly_mapper(r) + if r.uri == "/" then + r.filename = "/var/www/home.lua" + return apache2.OK + else + return apache2.DECLINED + end +end</pre> + + + <div class="note"><h3>Context</h3><p>This directive is not valid in <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, or htaccess + context.</p></div> + + <div class="note"><h3>Ordering</h3><p>The optional arguments "early" or "late" + control when this script runs relative to other modules.</p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaHookTypeChecker" id="LuaHookTypeChecker">LuaHookTypeChecker</a> <a name="luahooktypechecker" id="luahooktypechecker">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the type_checker phase of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p> + This directive provides a hook for the type_checker phase of the request processing. + This phase is where requests are assigned a content type and a handler, and thus can + be used to modify the type and handler based on input: + </p> + <pre class="prettyprint lang-config">LuaHookTypeChecker "/path/to/lua/script.lua" type_checker</pre> + + <pre class="prettyprint lang-lua"> function type_checker(r) + if r.uri:match("%.to_gif$") then -- match foo.png.to_gif + r.content_type = "image/gif" -- assign it the image/gif type + r.handler = "gifWizard" -- tell the gifWizard module to handle this + r.filename = r.uri:gsub("%.to_gif$", "") -- fix the filename requested + return apache2.OK + end + + return apache2.DECLINED + end</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaInherit" id="LuaInherit">LuaInherit</a> <a name="luainherit" id="luainherit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls how parent configuration sections are merged into children</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaInherit none|parent-first|parent-last</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LuaInherit parent-first</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.0 and later</td></tr> +</table><p>By default, if LuaHook* directives are used in overlapping + Directory or Location configuration sections, the scripts defined in the + more specific section are run <em>after</em> those defined in the more + generic section (LuaInherit parent-first). You can reverse this order, or + make the parent context not apply at all.</p> + + <p> In previous 2.3.x releases, the default was effectively to ignore LuaHook* + directives from parent configuration sections.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaInputFilter" id="LuaInputFilter">LuaInputFilter</a> <a name="luainputfilter" id="luainputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a Lua function for content input filtering</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaInputFilter filter_name /path/to/lua/script.lua function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.5 and later</td></tr> +</table> +<p>Provides a means of adding a Lua function as an input filter. +As with output filters, input filters work as coroutines, +first yielding before buffers are sent, then yielding whenever +a bucket needs to be passed down the chain, and finally (optionally) +yielding anything that needs to be appended to the input data. The +global variable <code>bucket</code> holds the buckets as they are passed +onto the Lua script: +</p> + +<pre class="prettyprint lang-config">LuaInputFilter myInputFilter "/www/filter.lua" input_filter +<Files "*.lua"> + SetInputFilter myInputFilter +</Files></pre> + +<pre class="prettyprint lang-lua">--[[ + Example input filter that converts all POST data to uppercase. +]]-- +function input_filter(r) + print("luaInputFilter called") -- debug print + coroutine.yield() -- Yield and wait for buckets + while bucket do -- For each bucket, do... + local output = string.upper(bucket) -- Convert all POST data to uppercase + coroutine.yield(output) -- Send converted data down the chain + end + -- No more buckets available. + coroutine.yield("&filterSignature=1234") -- Append signature at the end +end</pre> + +<p> +The input filter supports denying/skipping a filter if it is deemed unwanted: +</p> +<pre class="prettyprint lang-lua">function input_filter(r) + if not good then + return -- Simply deny filtering, passing on the original content instead + end + coroutine.yield() -- wait for buckets + ... -- insert filter stuff here +end</pre> + +<p> +See "<a href="#modifying_buckets">Modifying contents with Lua +filters</a>" for more information. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaMapHandler" id="LuaMapHandler">LuaMapHandler</a> <a name="luamaphandler" id="luamaphandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Map a path to a lua handler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>This directive matches a uri pattern to invoke a specific + handler function in a specific file. It uses PCRE regular + expressions to match the uri, and supports interpolating + match groups into both the file path and the function name. + Be careful writing your regular expressions to avoid security + issues.</p> + <div class="example"><h3>Examples:</h3><pre class="prettyprint lang-config">LuaMapHandler "/(\w+)/(\w+)" "/scripts/$1.lua" "handle_$2"</pre> +</div> + <p>This would match uri's such as /photos/show?id=9 + to the file /scripts/photos.lua and invoke the + handler function handle_show on the lua vm after + loading that file.</p> + +<pre class="prettyprint lang-config">LuaMapHandler "/bingo" "/scripts/wombat.lua"</pre> + + <p>This would invoke the "handle" function, which + is the default if no specific function name is + provided.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaOutputFilter" id="LuaOutputFilter">LuaOutputFilter</a> <a name="luaoutputfilter" id="luaoutputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a Lua function for content output filtering</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaOutputFilter filter_name /path/to/lua/script.lua function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.5 and later</td></tr> +</table> +<p>Provides a means of adding a Lua function as an output filter. +As with input filters, output filters work as coroutines, +first yielding before buffers are sent, then yielding whenever +a bucket needs to be passed down the chain, and finally (optionally) +yielding anything that needs to be appended to the input data. The +global variable <code>bucket</code> holds the buckets as they are passed +onto the Lua script: +</p> + +<pre class="prettyprint lang-config">LuaOutputFilter myOutputFilter "/www/filter.lua" output_filter +<Files "*.lua"> + SetOutputFilter myOutputFilter +</Files></pre> + +<pre class="prettyprint lang-lua">--[[ + Example output filter that escapes all HTML entities in the output +]]-- +function output_filter(r) + coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Prepend some data to the output, + -- yield and wait for buckets. + while bucket do -- For each bucket, do... + local output = r:escape_html(bucket) -- Escape all output + coroutine.yield(output) -- Send converted data down the chain + end + -- No more buckets available. +end</pre> + +<p> +As with the input filter, the output filter supports denying/skipping a filter +if it is deemed unwanted: +</p> +<pre class="prettyprint lang-lua">function output_filter(r) + if not r.content_type:match("text/html") then + return -- Simply deny filtering, passing on the original content instead + end + coroutine.yield() -- wait for buckets + ... -- insert filter stuff here +end</pre> + +<div class="note"><h3>Lua filters with <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></h3> +<p> When a Lua filter is used as the underlying provider via the +<code class="directive"><a href="../mod/mod_filter.html#filterprovider">FilterProvider</a></code> directive, filtering +will only work when the <var>filter-name</var> is identical to the <var>provider-name</var>. +</p> </div> + +<p> +See "<a href="#modifying_buckets">Modifying contents with Lua filters</a>" for more +information. +</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaPackageCPath" id="LuaPackageCPath">LuaPackageCPath</a> <a name="luapackagecpath" id="luapackagecpath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add a directory to lua's package.cpath</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaPackageCPath /path/to/include/?.soa</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Add a path to lua's shared library search path. Follows the same + conventions as lua. This just munges the package.cpath in the + lua vms.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaPackagePath" id="LuaPackagePath">LuaPackagePath</a> <a name="luapackagepath" id="luapackagepath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add a directory to lua's package.path</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaPackagePath /path/to/include/?.lua</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p>Add a path to lua's module search path. Follows the same + conventions as lua. This just munges the package.path in the + lua vms.</p> + + <div class="example"><h3>Examples:</h3><pre class="prettyprint lang-config">LuaPackagePath "/scripts/lib/?.lua" +LuaPackagePath "/scripts/lib/?/init.lua"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaQuickHandler" id="LuaQuickHandler">LuaQuickHandler</a> <a name="luaquickhandler" id="luaquickhandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a hook for the quick handler of request processing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaQuickHandler /path/to/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p> + This phase is run immediately after the request has been mapped to a virtual host, + and can be used to either do some request processing before the other phases kick + in, or to serve a request without the need to translate, map to storage et cetera. + As this phase is run before anything else, directives such as <code class="directive"><a href="../mod/core.html#location"><Location></a></code> or <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> are void in this phase, just as + URIs have not been properly parsed yet. + </p> + <div class="note"><h3>Context</h3><p>This directive is not valid in <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, or htaccess + context.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaRoot" id="LuaRoot">LuaRoot</a> <a name="luaroot" id="luaroot">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaRoot /path/to/a/directory</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Specify the base path which will be used to evaluate all + relative paths within mod_lua. If not specified they + will be resolved relative to the current working directory, + which may not always work well for a server.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LuaScope" id="LuaScope">LuaScope</a> <a name="luascope" id="luascope">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>One of once, request, conn, thread -- default is once</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LuaScope once|request|conn|thread|server [min] [max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LuaScope once</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Specify the life cycle scope of the Lua interpreter which will + be used by handlers in this "Directory." The default is "once"</p> + + <dl> + <dt>once:</dt> <dd>use the interpreter once and throw it away.</dd> + + <dt>request:</dt> <dd>use the interpreter to handle anything based on + the same file within this request, which is also + request scoped.</dd> + + <dt>conn:</dt> <dd>Same as request but attached to the connection_rec</dd> + + <dt>thread:</dt> <dd>Use the interpreter for the lifetime of the thread + handling the request (only available with threaded MPMs).</dd> + + <dt>server:</dt> <dd>This one is different than others because the + server scope is quite long lived, and multiple threads + will have the same server_rec. To accommodate this, + server scoped Lua states are stored in an apr + resource list. The <code>min</code> and <code>max</code> arguments + specify the minimum and maximum number of Lua states to keep in the + pool.</dd> + </dl> + <p> + Generally speaking, the <code>thread</code> and <code>server</code> scopes + execute roughly 2-3 times faster than the rest, because they don't have to + spawn new Lua states on every request (especially with the event MPM, as + even keepalive requests will use a new thread for each request). If you are + satisfied that your scripts will not have problems reusing a state, then + the <code>thread</code> or <code>server</code> scopes should be used for + maximum performance. While the <code>thread</code> scope will provide the + fastest responses, the <code>server</code> scope will use less memory, as + states are pooled, allowing f.x. 1000 threads to share only 100 Lua states, + thus using only 10% of the memory required by the <code>thread</code> scope. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_lua.html" title="English"> en </a> | +<a href="../fr/mod/mod_lua.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lua.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lua.html.fr.utf8 b/docs/manual/mod/mod_lua.html.fr.utf8 new file mode 100644 index 0000000..378a68f --- /dev/null +++ b/docs/manual/mod/mod_lua.html.fr.utf8 @@ -0,0 +1,2079 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lua - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lua</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des points d'entrée Lua dans différentes parties du +traitement des requêtes httpd</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lua_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lua.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>versions 2.3 et supérieures</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module permet d'ajouter au serveur des extensions sous forme de +scripts écrits dans le langage de programmation Lua. +<code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code> fournit de nombreuses extensions +(hooks) disponibles avec les modules natifs du serveur HTTP Apache, +comme les associations de requêtes à des fichiers, la génération de +réponses dynamiques, le contrôle d'accès, l'authentification et +l'autorisation.</p> + +<p>Vous trouverez davantage d'informations à propos du langage de +programmation Lua sur <a href="http://www.lua.org/">le site web de +Lua</a>.</p> + +<div class="warning"><h3>Avertissement</h3> +<p>Ce module possède une grande capacité d'action sur le fonctrionnement +de httpd, ce qui lui confère une grande puissance, mais peut aussi +induire un risque de sécurité. Il est déconseillé d'utiliser ce module +sur un serveur partagé avec des utilisateurs auxquels vous ne pouvez pas +accorder une confiance absolue, car il peut permettre de modifier le +fonctionnement interne de httpd.</p> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicconf">Configuration de base</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writinghandlers">Ecrire des gestionnaires</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writingauthzproviders">Ecriture de fournisseurs d'autorisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#writinghooks">Ecriture de fonctions d'accroche +(hooks)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#datastructures">Structures de données</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#functions">Méthodes de l'objet request_rec</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Fonctions de journalisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#apache2">Paquet apache2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#modifying_buckets">Modification de contenu avec les filtres lua</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#databases">Connectivité aux bases de données</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#luaauthzprovider">LuaAuthzProvider</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luacodecache">LuaCodeCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookaccesschecker">LuaHookAccessChecker</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookauthchecker">LuaHookAuthChecker</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookcheckuserid">LuaHookCheckUserID</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookfixups">LuaHookFixups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookinsertfilter">LuaHookInsertFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahooklog">LuaHookLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookmaptostorage">LuaHookMapToStorage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahookpretranslate">LuaHookPreTranslate</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahooktranslatename">LuaHookTranslateName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luahooktypechecker">LuaHookTypeChecker</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luainherit">LuaInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luainputfilter">LuaInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luamaphandler">LuaMapHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luaoutputfilter">LuaOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luapackagecpath">LuaPackageCPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luapackagepath">LuaPackagePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luaquickhandler">LuaQuickHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luaroot">LuaRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#luascope">LuaScope</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lua">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lua">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicconf" id="basicconf">Configuration de base</a></h2> + +<p>La directive de base pour le chargement du module est</p> + +<pre class="prettyprint lang-config">LoadModule lua_module modules/mod_lua.so</pre> + + +<p> +<code>mod_lua</code> fournit un gestionnaire nommé +<code>lua-script</code> qui peut être utilisé avec une directive +<code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> :</p> + +<pre class="prettyprint lang-config"><Files "*.lua"> + SetHandler lua-script +</Files></pre> + + +<p> +Ceci aura pour effet de faire traiter les requêtes pour les fichiers +dont l'extension est <code>.lua</code> par <code>mod_lua</code> en +invoquant cette fonction de <code>gestion</code> de fichier. +</p> + +<p>Pour plus de détails, voir la directive +<code class="directive">LuaMapHandler</code>. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writinghandlers" id="writinghandlers">Ecrire des gestionnaires</a></h2> +<p>Dans l'API du serveur HTTP Apache, un gestionnaire est une sorte de +point d'accroche (hook) spécifique responsable de la génération de la +réponse. <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> et +<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> sont des exemples de modules comportant un +gestionnaire.</p> + +<p><code>mod_lua</code> cherche toujours à invoquer une fonction Lua pour le +gestionnaire, plutôt que de simplement évaluer le corps d'un script dans +le style de CGI. Une fonction de gestionnaire se présente comme suit :</p> + + +<pre class="prettyprint lang-lua"> +<strong>example.lua</strong><br /> +-- exemple de gestionnaire + +require "string" + +--[[ + Il s'agit du nom de méthode par défaut pour les gestionnaires Lua ; + voir les noms de fonctions optionnels dans la directive + LuaMapHandler pour choisir un point d'entrée différent. +--]] +function handle(r) + r.content_type = "text/plain" + + if r.method == 'GET' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parseargs() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + elseif r.method == 'POST' then + r:puts("Hello Lua World!\n") + for k, v in pairs( r:parsebody() ) do + r:puts( string.format("%s: %s\n", k, v) ) + end + else + elseif r.method == 'PUT' then +-- message d'erreur personnalisé + r:puts("Unsupported HTTP method " .. r.method) + r.status = 405 + return apache2.OK + else +-- message d'erreur ErrorDocument + return 501 + end + return apache2.OK +end</pre> + + +<p> +Ce gestionnaire se contente d'afficher les arguments codés d'un uri ou +d'un formulaire dans un page au format texte. +</p> + +<p> +Cela signifie que vous pouvez (et êtes encouragé à) avoir plusieurs +gestionnaires (ou points d'entrée, ou filtres) dans le même script. +</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writingauthzproviders" id="writingauthzproviders">Ecriture de fournisseurs d'autorisation</a></h2> + + +<p><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> fournit une interface d'autorisation +de haut niveau bien plus facile à utiliser que dans les hooks +correspondants. Le premier argument de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> permet de spécifier le +fournisseur d'autorisation à utiliser. Pour chaque directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, +<code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> appellera le fournisseur d'autorisation +spécifié, le reste de la ligne constituant les paramètres. Le +fournisseur considéré va alors vérifier les autorisations et fournir le +résultat dans une valeur de retour.</p> + +<p>En général, le fournisseur authz est appelé avant l'authentification. +S'il doit connaître le nom d'utilisateur authentifié (ou si +l'utilisateur est appelé à être authentifié), le fournisseur doit +renvoyer <code>apache2.AUTHZ_DENIED_NO_USER</code>, ce qui va +déclancher le processus d'authentification et un deuxième appel du +fournisseur authz.</p> + +<p>La fonction du fournisseur authz ci-dessous accepte deux arguments, +une adresse IP et un nom d'utilisateur. Elle autorise l'accès dans le +cas où la requête provient de l'adresse IP spécifiée, ou si +l'utilisateur authentifié correspond au second argument :</p> + +<pre class="prettyprint lang-lua"> +<strong>authz_provider.lua</strong><br /> + +require 'apache2' + +function authz_check_foo(r, ip, user) + if r.useragent_ip == ip then + return apache2.AUTHZ_GRANTED + elseif r.user == nil then + return apache2.AUTHZ_DENIED_NO_USER + elseif r.user == user then + return apache2.AUTHZ_GRANTED + else + return apache2.AUTHZ_DENIED + end +end</pre> + + +<p>La configuration suivante enregistre cette fonction en tant que +fournisseur <code>foo</code>, et la configure por l'URL <code>/</code> :</p> +<pre class="prettyprint lang-config">LuaAuthzProvider foo authz_provider.lua authz_check_foo +<Location "/"> + Require foo 10.1.2.3 john_doe +</Location></pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="writinghooks" id="writinghooks">Ecriture de fonctions d'accroche +(hooks)</a></h2> + +<p>Les fonctions d'accroche déterminent la manière dont les modules (et +les scripts Lua) participent au traitement des requêtes. Chaque type +d'accroche proposé par le serveur a un rôle spécifique, comme +l'association de requêtes au système de fichiers, le contrôle d'accès, +ou la définition de types MIME : </p> + +<table class="bordered"><tr class="header"> + <th>Phase d'accroche</th> + <th>Directive mod_lua</th> + <th>Description</th> + </tr> +<tr> + <td>Gestionnaire rapide</td> + <td><code class="directive"><a href="#luaquickhandler">LuaQuickHandler</a></code></td> + <td>Il s'agit de la première accroche appelée lorsqu'une requête + a été associée à un serveur ou un serveur virtuel.</td> + </tr> +<tr class="odd"> + <td>Phase de pré-traduction</td> + <td><code class="directive"><a href="#luahookpretranslatename">LuaHookPreTranslateName</a></code></td> + <td>Cette phase traduit l'URI de la requête en nom de fichier sur le + système avant la phase de décodage. Des modules comme + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> peuvent agir au cours de cette phase.</td> + </tr> +<tr> + <td>Phase de traduction</td> + <td><code class="directive"><a href="#luahooktranslatename">LuaHookTranslateName</a></code></td> + <td>Cette phase traduit l'URI de la requête en nom de fichier + sur le système. Ce sont des modules comme + <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> et <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> qui + interviennent au cours de cette phase.</td> + </tr> +<tr class="odd"> + <td>Choix du lieu de stockage de la ressource</td> + <td><code class="directive"><a href="#luahookmaptostorage">LuaHookMapToStorage</a></code></td> + <td>Cette phase définit le lieu de stockage de la ressource : + physique, en cache ou externe/mandaté. Elle est assurée par les + modules de mandat ou de mise en cache.</td> + </tr> +<tr> + <td>Autorisation d'accès</td> + <td><code class="directive"><a href="#luahookaccesschecker">LuaHookAccessChecker</a></code></td> + <td>Cette phase vérifie si un client a l'autorisation d'accès à + la ressource. Elle s'exécute avant l'authentification de + l'utisateur ; il faut donc être prudent. + </td> + </tr> +<tr class="odd"> + <td>Vérification de l'identifiant utilisateur</td> + <td><code class="directive"><a href="#luahookcheckuserid">LuaHookCheckUserID</a></code></td> + <td>Cette phase vérifie l'identifiant de l'utilisateur ayant + fait l'objet d'une négociation.</td> + </tr> +<tr> + <td>Vérification de l'autorisation d'accès</td> + <td><code class="directive"><a href="#luahookauthchecker">LuaHookAuthChecker</a></code> + ou + <code class="directive"><a href="#luaauthzprovider">LuaAuthzProvider</a></code></td> + <td>Cette phase vérifie l'autorisation d'accès d'un utilisateur + en fonction des ses paramètres de connexion, comme + l'identifiant, le certificat, etc... + </td> + </tr> +<tr class="odd"> + <td>Vérification du type de la ressource</td> + <td><code class="directive"><a href="#luahooktypechecker">LuaHookTypeChecker</a></code></td> + <td>Cette phase assigne un type de contenu et un gestionnaire à + la ressource.</td> + </tr> +<tr> + <td>Derniers réglages</td> + <td><code class="directive"><a href="#luahookfixups">LuaHookFixups</a></code></td> + <td>C'est la dernière phase avant l'activation des gestionnaires + de contenu. Toute modification de dernière minute à la requête + doit être effectuée ici.</td> + </tr> +<tr class="odd"> + <td>Gestionnaire de contenu</td> + <td>fichiers fx. <code>.lua</code> ou directive <code class="directive"><a href="#luamaphandler">LuaMapHandler</a></code></td> + <td>C'est durant cette phase que le contenu est traité. Les + fichiers sont lus, interprétés, certains sont exécutés, et le + résultat obtenu est envoyé au client.</td> + </tr> +<tr> + <td>Journalisation</td> + <td><code class="directive"><a href="#luahooklog">LuaHookLog</a></code></td> + <td>Lorsqu'une requête a été traitée, plusieurs phases de + journalisation interviennent, et enregistrent leurs résultats + dans les fichiers d'erreur ou d'accès. Mod_lua peut + s'intercaler au départ de ce processus et ainsi contrôler la + journalisation.</td> + </tr> +</table> + +<p>Les fonctions d'accroche reçoivent l'objet de la requête comme seul +argument (sauf LuaAuthzProvider qui reçoit aussi des arguments en +provenance de la directive Require). Elles peuvent renvoyer une valeur, +selon la fonction, mais il s'agit en général d'un +code d'état HTTP ou des valeurs OK, DONE, ou DECLINED, +que vous pouvez écrire dans Lua sous la forme <code>apache2.OK</code>, +<code>apache2.DONE</code>, ou <code>apache2.DECLINED</code>.</p> + + +<pre class="prettyprint lang-lua"> +<strong>translate_name.lua</strong><br /> +-- exemple d'accroche qui réécrit un URI en chemin du système de fichiers. + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.filename = r.document_root .. "/find_me.txt" + return apache2.OK + end + -- on ne gère pas cette URL et on donne sa chance à un autre module + return apache2.DECLINED +end</pre> + + + +<pre class="prettyprint lang-lua"> +<strong>translate_name2.lua</strong><br /> +--[[ exemple d'accroche qui réécrit un URI vers un autre URI. Il renvoie + un apache2.DECLINED pour permettre à un autre interpréteur d'URL de + travailler sur la substitution, y compris l'accroche translate_name + de base dont les tables de correspondances se basent sur DocumentRoot. + + Note: utilisez le drapeau early/late de la directive pour + l'exécuter avant ou après mod_alias. +--]] + +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.uri = "/find_me.txt" + return apache2.DECLINED + end + return apache2.DECLINED +end</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="datastructures" id="datastructures">Structures de données</a></h2> + +<dl> +<dt>request_rec</dt> + <dd> + <p>request_rec est considérée en tant que donnée utilisateur. + Elle possède une métatable qui vous permet d'accomplir des + choses intéressantes. Pour la plus grande partie, elle possède + les mêmes champs que la structure request_rec, la + plupart d'entre eux étant accessibles en lecture et écriture (le + contenu des champs de la table peut être modifié, mais les + champs eux-mêmes ne peuvent pas être établis en tant que tables + distinctes).</p> + + <table class="bordered"><tr class="header"> + <th><strong>Nom</strong></th> + <th><strong>Type Lua</strong></th> + <th><strong>Modifiable</strong></th> + <th><strong>Description</strong></th> + </tr> +<tr> + <td><code>allowoverrides</code></td> + <td>string</td> + <td>non</td> + <td>L'option AllowOverride s'applique à la requête courante.</td> + </tr> +<tr class="odd"> + <td><code>ap_auth_type</code></td> + <td>string</td> + <td>non</td> + <td>Ce champ contient le type d'authentification effectuée + (par exemple <code>basic</code>)</td> + </tr> +<tr> + <td><code>args</code></td> + <td>string</td> + <td>oui</td> + <td>La chaîne de paramètres de la requête (par exemple + <code>foo=bar&name=johnsmith</code>)</td> + </tr> +<tr class="odd"> + <td><code>assbackwards</code></td> + <td>boolean</td> + <td>non</td> + <td>contient true s'il s'agit d'une requête de style HTTP/0.9 + (par exemple <code>GET /foo</code> (sans champs d'en-tête) )</td> + </tr> +<tr> + <td><code>auth_name</code></td> + <td>string</td> + <td>non</td> + <td>La chaîne d'identification utilisée pour la vérification + de l'autorisation d'accès (si elle est disponible).</td> + </tr> +<tr class="odd"> + <td><code>banner</code></td> + <td>string</td> + <td>non</td> + <td>La bannière du serveur, par exemple <code>Apache HTTP + Server/2.4.3 openssl/0.9.8c</code></td> + </tr> +<tr> + <td><code>basic_auth_pw</code></td> + <td>string</td> + <td>non</td> + <td>Le mot de passe pour l'authentification de base envoyé + avec la requête, s'il existe</td> + </tr> +<tr class="odd"> + <td><code>canonical_filename</code></td> + <td>string</td> + <td>non</td> + <td>Le nom de fichier canonique de la requête</td> + </tr> +<tr> + <td><code>content_encoding</code></td> + <td>string</td> + <td>non</td> + <td>Le type de codage du contenu de la requête courante</td> + </tr> +<tr class="odd"> + <td><code>content_type</code></td> + <td>string</td> + <td>oui</td> + <td>Le type de contenu de la requête courante, tel qu'il a été + déterminé au cours de la phase type_check (par exemple + <code>image/gif</code> ou <code>text/html</code>)</td> + </tr> +<tr> + <td><code>context_prefix</code></td> + <td>string</td> + <td>non</td> + <td /> + </tr> +<tr class="odd"> + <td><code>context_document_root</code></td> + <td>string</td> + <td>non</td> + <td /> + </tr> +<tr> + <td><code>document_root</code></td> + <td>string</td> + <td>non</td> + <td>La racine des documents du serveur</td> + </tr> +<tr class="odd"> + <td><code>err_headers_out</code></td> + <td>table</td> + <td>non</td> + <td>L'en-tête MIME de l'environnement pour la réponse, écrit + même en cas d'erreur et conservé pendant les redirections + internes. Une table lua en lecture seule est disponible pour + l'itération sous la forme r:err_headers_out_table().</td> + </tr> +<tr> + <td><code>filename</code></td> + <td>string</td> + <td>oui</td> + <td>Le nom de fichier correspondant à la requête, par exemple + /www/example.com/foo.txt. Il peut être modifié au cours des phases + pre-translate-name, translate-name ou map-to-storage du traitement de + la requête pour permettre au gestionnaire par défaut (ou aux + gestionnaires de script) de servir une version du fichier autre que + celle demandée.</td> + </tr> +<tr class="odd"> + <td><code>handler</code></td> + <td>string</td> + <td>oui</td> + <td>Le nom du <a href="../handler.html">gestionnaire</a> qui + doit traiter la requête, par exemple <code>lua-script</code> + si elle doit être traitée par mod_lua. Cette valeur est en + général définie via les directives <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, mais peut aussi l'être + via mod_lua pour permettre à un autre gestionnaire de traiter + une requête spécifique qui ne serait pas traitée par défaut + par ce dernier. + </td> + </tr> +<tr> + <td><code>headers_in</code></td> + <td>table</td> + <td>oui</td> + <td>Les en-têtes MIME de l'environnement de la requête. Il + s'agit des en-têtes comme <code>Host, User-Agent, + Referer</code>, etc... Une table lua en lecture seule est disponible pour + l'itération sous la forme r:headers_in_table().</td> + </tr> +<tr class="odd"> + <td><code>headers_out</code></td> + <td>table</td> + <td>oui</td> + <td>Les en-têtes MIME de l'environnement de la réponse. Une table lua en lecture seule est disponible pour + l'itération sous la forme r:headers_out_table().</td> + </tr> +<tr> + <td><code>hostname</code></td> + <td>string</td> + <td>non</td> + <td>Le nom d'hôte, tel que défini par l'en-tête + <code>Host:</code> ou par un URI complet.</td> + </tr> +<tr class="odd"> + <td><code>is_https</code></td> + <td>boolean</td> + <td>non</td> + <td>Indique si la requête à été faite via HTTPS</td> + </tr> +<tr> + <td><code>is_initial_req</code></td> + <td>boolean</td> + <td>non</td> + <td>Indique si la requête courante est la requête initiale ou + une sous-requête.</td> + </tr> +<tr class="odd"> + <td><code>limit_req_body</code></td> + <td>number</td> + <td>non</td> + <td>La taille maximale du corps de la requête, ou 0 si aucune + limite.</td> + </tr> +<tr> + <td><code>log_id</code></td> + <td>string</td> + <td>non</td> + <td>L'identifiant de la requête dans les journaux d'accès ou + d'erreur.</td> + </tr> +<tr class="odd"> + <td><code>method</code></td> + <td>string</td> + <td>non</td> + <td>La méthode de la requête, par exemple <code>GET</code> ou + <code>POST</code>.</td> + </tr> +<tr> + <td><code>notes</code></td> + <td>table</td> + <td>oui</td> + <td>Une liste de notes qui peuvent être transmises d'un module + à l'autre. Une table lua en lecture seule est disponible pour + l'itération sous la forme r:notes_table().</td> + </tr> +<tr class="odd"> + <td><code>options</code></td> + <td>string</td> + <td>non</td> + <td>La valeur de la directive Options pour la requête + courante.</td> + </tr> +<tr> + <td><code>path_info</code></td> + <td>string</td> + <td>non</td> + <td>La valeur de PATH_INFO extraite de la requête.</td> + </tr> +<tr class="odd"> + <td><code>port</code></td> + <td>number</td> + <td>non</td> + <td>Le port du serveur utilisé par la requête.</td> + </tr> +<tr> + <td><code>protocol</code></td> + <td>string</td> + <td>non</td> + <td>Le protocole utilisé, par exemple <code>HTTP/1.1</code></td> + </tr> +<tr class="odd"> + <td><code>proxyreq</code></td> + <td>string</td> + <td>oui</td> + <td>Indique s'il s'agit d'une requête mandatée ou non. Cette valeur + est en général définie au cours de la phase + post_read_request/pre_translate_name/translate_name du traitement de + la requête.</td> + </tr> +<tr> + <td><code>range</code></td> + <td>string</td> + <td>non</td> + <td>Le contenu de l'en-tête <code>Range:</code>.</td> + </tr> +<tr class="odd"> + <td><code>remaining</code></td> + <td>number</td> + <td>non</td> + <td>Le nombre d'octets du corps de la requête restant à lire.</td> + </tr> +<tr> + <td><code>server_built</code></td> + <td>string</td> + <td>non</td> + <td>La date de compilation du serveur.</td> + </tr> +<tr class="odd"> + <td><code>server_name</code></td> + <td>string</td> + <td>non</td> + <td>Le nom du serveur pour cette requête.</td> + </tr> +<tr> + <td><code>some_auth_required</code></td> + <td>boolean</td> + <td>non</td> + <td>Indique si une autorisation est/était requise pour cette + requête.</td> + </tr> +<tr class="odd"> + <td><code>subprocess_env</code></td> + <td>table</td> + <td>oui</td> + <td>Le jeu de variables d'environnement pour cette requête. Une table + lua en lecture seule est disponible pour l'itération sous la forme + r:subprocess_env_table().</td> + </tr> +<tr> + <td><code>started</code></td> + <td>number</td> + <td>non</td> + <td>Le moment où le serveur a été (re)démarré, en secondes + depuis epoch (1er janvier 1970)</td> + </tr> +<tr class="odd"> + <td><code>status</code></td> + <td>number</td> + <td>oui</td> + <td>Le code de retour (courant) pour cette requête, par + exemple <code>200</code> ou <code>404</code>.</td> + </tr> +<tr> + <td><code>the_request</code></td> + <td>string</td> + <td>non</td> + <td>La chaîne de la requête telle qu'elle a été envoyée par le + client, par exemple <code>GET /foo/bar HTTP/1.1</code>.</td> + </tr> +<tr class="odd"> + <td><code>unparsed_uri</code></td> + <td>string</td> + <td>non</td> + <td>La partie URI non interprétée de la requête</td> + </tr> +<tr> + <td><code>uri</code></td> + <td>string</td> + <td>oui</td> + <td>L'URI après interprétation par httpd</td> + </tr> +<tr class="odd"> + <td><code>user</code></td> + <td>string</td> + <td>oui</td> + <td>Si une authentification a été effectuée, nom de + l'utilisateur authentifié.</td> + </tr> +<tr> + <td><code>useragent_ip</code></td> + <td>string</td> + <td>non</td> + <td>L'adresse IP de l'agent qui a envoyé la requête</td> + </tr> +</table> + </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="functions" id="functions">Méthodes de l'objet request_rec</a></h2> + +<p>L'objet request_rec possède (au minimum) les méthodes suivantes :</p> + +<pre class="prettyprint lang-lua">r:flush() -- vide le tampon de sortie + -- Renvoie true si le vidage a été effectué avec succès, + -- false dans le cas contraire. + +while nous_avons_des_données_à_envoyer do + r:puts("Bla bla bla\n") -- envoi des données à envoyer vers le tampon + r:flush() -- vidage du tampon (envoi au client) + r.usleep(500000) -- mise en attente pendant 0.5 secondes et bouclage +end</pre> + + +<pre class="prettyprint lang-lua">r:add_output_filter(filter_name) -- ajoute un filtre en sortie + +r:add_output_filter("fooFilter") -- insère le filtre fooFilter dans le flux de sortie</pre> + + +<pre class="prettyprint lang-lua">r:sendfile(filename) -- envoie un fichier entier au client en utilisant sendfile s'il est + -- supporté par la plateforme : + +if use_sendfile_thing then + r:sendfile("/var/www/large_file.img") +end</pre> + + +<pre class="prettyprint lang-lua">r:parseargs() -- renvoie deux tables : une table standard de couples + -- clé/valeur pour les données GET simples, + -- et une autre pour les données + -- multivaluées (par exemple foo=1&foo=2&foo=3) : + +local GET, GETMULTI = r:parseargs() +r:puts("Votre nom est : " .. GET['name'] or "Unknown")</pre> + + + +<pre class="prettyprint lang-lua">r:parsebody()([sizeLimit]) -- interprète le corps de la + -- requête en tant que POST et renvoie + -- deux tables lua, comme r:parseargs(). Un + -- nombre optionnel peut être fourni + -- pour spécifier le nombre maximal + -- d'octets à interpréter. La + -- valeur par défaut est 8192. + +local POST, POSTMULTI = r:parsebody(1024*1024) +r:puts("Votre nom est : " .. POST['name'] or "Unknown")</pre> + + + +<pre class="prettyprint lang-lua">r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse</pre> + + +<pre class="prettyprint lang-lua">r:write("une simple chaîne") -- affichage dans le corps de la réponse</pre> + + +<pre class="prettyprint lang-lua">r:escape_html("<html>test</html>") -- Echappe le code HTML et renvoie le résultat</pre> + + +<pre class="prettyprint lang-lua">r:base64_encode(string) -- Encode une chaîne à l'aide du standard de codage Base64. + +local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=</pre> + + +<pre class="prettyprint lang-lua">r:base64_decode(string) -- Décode une chaîne codée en Base64. + +local decoded = r:base64_decode("VGhpcyBpcyBhIHRlc3Q=") -- returns 'This is a test'</pre> + + +<pre class="prettyprint lang-lua">r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne en mode binaire (binary safe). + +local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339</pre> + + +<pre class="prettyprint lang-lua">r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne en mode binaire (binary safe). + +local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19</pre> + + +<pre class="prettyprint lang-lua">r:escape(string) -- Echappe une chaîne de type URL. + +local url = "http://foo.bar/1 2 3 & 4 + 5" +local escaped = r:escape(url) -- renvoie 'http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5'</pre> + + +<pre class="prettyprint lang-lua">r:unescape(string) -- Déséchappe une chaîne de type URL. + +local url = "http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5" +local unescaped = r:unescape(url) -- renvoie 'http://foo.bar/1 2 3 & 4 + 5'</pre> + + +<pre class="prettyprint lang-lua">r:construct_url(string) -- Construit une URL à partir d'un URI + +local url = r:construct_url(r.uri)</pre> + + +<pre class="prettyprint lang-lua">r.mpm_query(number) -- Interroge le serveur à propos de son module MPM via la requête ap_mpm_query. + +local mpm = r.mpm_query(14) +if mpm == 1 then + r:puts("Ce serveur utilise le MPM Event") +end</pre> + + +<pre class="prettyprint lang-lua">r:expr(string) -- Evalue une chaîne de type <a href="../expr.html">expr</a>. + +if r:expr("%{HTTP_HOST} =~ /^www/") then + r:puts("Ce nom d'hôte commence par www") +end</pre> + + +<pre class="prettyprint lang-lua">r:scoreboard_process(a) -- Interroge le serveur à propos du + -- processus à la position <code>a</code>. + +local process = r:scoreboard_process(1) +r:puts("Le serveur 1 a comme PID " .. process.pid)</pre> + + +<pre class="prettyprint lang-lua">r:scoreboard_worker(a, b) -- Interroge le serveur à propos du + -- thread <code>b</code>, dans le processus <code>a</code>. + +local thread = r:scoreboard_worker(1, 1) +r:puts("L'ID du thread 1 du serveur 1 est " .. thread.tid .. " et son +état est " .. thread.status)</pre> + + +<pre class="prettyprint lang-lua">r:clock() -- Renvoie l'heure courante avec une précision d'une microseconde.</pre> + + +<pre class="prettyprint lang-lua">r:requestbody(filename) -- Lit et renvoie le corps d'une requête. + -- Si 'filename' est spécifié, le + -- corps de requête n'est pas + -- renvoyé, mais sauvegardé dans + -- le fichier correspondant. + +local input = r:requestbody() +r:puts("Vous m'avez envoyé le corps de requête suivant :\n") +r:puts(input)</pre> + + +<pre class="prettyprint lang-lua">r:add_input_filter(filter_name) -- Ajoute le filtre en entrée 'filter_name'.</pre> + + +<pre class="prettyprint lang-lua">r:module_info(module_name) -- Interroge le serveur à propos d'un module. + +local mod = r.module_info("mod_lua.c") +if mod then + for k, v in pairs(mod.commands) do + r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives + -- implémentées par ce module. + end +end</pre> + + +<pre class="prettyprint lang-lua">r:loaded_modules() -- Renvoie une liste des modules chargés par httpd. + +for k, module in pairs(r:loaded_modules()) do + r:puts("J'ai chargé le module " .. module .. "\n") +end</pre> + + +<pre class="prettyprint lang-lua">r:runtime_dir_relative(filename) -- Génère le nom d'un fichier run-time + -- (par exemple la mémoire partagée + -- "file") relativement au répertoire de run-time.</pre> + + +<pre class="prettyprint lang-lua">r:server_info() -- Renvoie une table contenant des informations à + -- propos du serveur, comme le nom de + -- l'exécutable httpd, le module mpm utilisé, etc...</pre> + + +<pre class="prettyprint lang-lua">r:set_document_root(file_path) -- Définit la racine des documents + -- pour la requête à file_path.</pre> + + +<pre class="prettyprint lang-lua">r:add_version_component(component_string) -- Ajoute un élément à + -- la bannière du serveur.</pre> + + +<pre class="prettyprint lang-lua">r:set_context_info(prefix, docroot) -- Définit le préfixe et la + -- racine des documents du contexte pour une requête.</pre> + + +<pre class="prettyprint lang-lua">r:os_escape_path(file_path) -- Convertit un chemin du système de + -- fichiers en URL indépendamment du système d'exploitation.</pre> + + +<pre class="prettyprint lang-lua">r:escape_logitem(string) -- Echappe une chaîne pour journalisation.</pre> + + +<pre class="prettyprint lang-lua">r.strcmp_match(string, pattern) -- Vérifie si 'string' correspond à + -- 'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que + -- 'www.example.com' correspond à '*.example.com' ? + +local match = r.strcmp_match("foobar.com", "foo*.com") +if match then + r:puts("foobar.com matches foo*.com") +end</pre> + + +<pre class="prettyprint lang-lua">r:set_keepalive() -- Définit l'état de persistance d'une requête. + -- Renvoie true dans la mesure du possible, false dans le cas contraire.</pre> + + +<pre class="prettyprint lang-lua">r:make_etag() -- Génère et renvoie le etag pour la requête courante.</pre> + + +<pre class="prettyprint lang-lua">r:send_interim_response(clear) -- Renvoie une réponse d'intérim (1xx) au + -- client. Si 'clear' est vrai, les en-têtes disponibles + -- seront envoyés et effacés.</pre> + + +<pre class="prettyprint lang-lua">r:custom_response(status_code, string) -- Génère et définit une réponse + -- personnalisée pour un code d'état particulier. + -- Le fonctionnement est très proche de celui de la directive ErrorDocument. + +r:custom_response(404, "Baleted!")</pre> + + +<pre class="prettyprint lang-lua">r.exists_config_define(string) -- Vérifie si une définition de configuration existe. + +if r.exists_config_define("FOO") then + r:puts("httpd a probablement été lancé avec l'option -DFOO, ou FOO a + été défini dans la configuration") +end</pre> + + +<pre class="prettyprint lang-lua">r:state_query(string) -- Interroge le serveur à propos de son état.</pre> + + +<pre class="prettyprint lang-lua">r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie une table contenant + -- des informations à propos de ce fichier. + +local info = r:stat("/var/www/foo.txt") +if info then + r:puts("Ce fichier existe et a été modifié pour la dernière fois à : " .. info.modified) +end</pre> + + +<pre class="prettyprint lang-lua">r:regex(string, pattern [,flags]) -- Exécute une recherche à base d'expression rationnelle + -- sur une chaîne, et renvoie les éventuelles correspondances trouvées. + +local matches = r:regex("foo bar baz", [[foo (\w+) (\S*)]]) +if matches then + r:puts("L'expression rationnelle correspond et le dernier mot + capturé ($2) est : " .. matches[2]) +end + +-- Exemple avec insensibilité à la casse : +local matches = r:regex("FOO bar BAz", [[(foo) bar]], 1) + +-- les drapeaux peuvent être une combibaison bit à bit de : +-- 0x01: insensibilité à la casse +-- 0x02: recherche multiligne</pre> + + +<pre class="prettyprint lang-lua">r.usleep(microsecondes) -- Interrompt l'exécution du script pendant le nombre de microsecondes spécifié.</pre> + + +<pre class="prettyprint lang-lua">r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une base de données et renvoie une classe database. + -- Voir '<a href="#databases">Connectivité aux bases de données</a>' + -- pour plus de détails.</pre> + + +<pre class="prettyprint lang-lua">r:ivm_set("key", value) -- Défini une variable Inter-VM avec une valeur spécifique. + -- Ces valeurs sont conservées même si la VM est + -- arrêtée ou non utilisée, et ne doivent donc être + -- utilisées que si MaxConnectionsPerChild > 0. + -- Les valeurs peuvent être de type number, string + -- ou boolean et sont stockées séparément pour + -- chaque processus (elles ne seront donc pas d'une + -- grande utilité si l'on utilise le mpm prefork). + +r:ivm_get("key") -- Lit le contenu d'une variable définie via ivm_set. Renvoie + -- le contenu de la variable si elle existe, ou nil + -- dans le cas contraire. + +-- Voici un exemple de lecture/écriture qui sauvegarde une variable +-- globale en dehors de la VM : +function handle(r) + -- La première VM qui effectue l'appel suivant n'obtiendra aucune + -- valeur, et devra la créer + local foo = r:ivm_get("cached_data") + if not foo then + foo = do_some_calcs() -- simulation de valeurs de retour + r:ivm_set("cached_data", foo) -- définition globale de la variable + end + r:puts("La donnée en cache est : ", foo) +end</pre> + +<pre class="prettyprint lang-lua">r:htpassword(string [,algorithm [,cost]]) -- Génère un hash de mot de passe à partir d'une chaîne. + -- algorithm: 0 = APMD5 (défaut), 1 = SHA, 2 = BCRYPT, 3 = CRYPT. + -- cost: ne s'utilise qu'avec l'algorythme BCRYPT (défaut = 5).</pre> + + +<pre class="prettyprint lang-lua">r:mkdir(dir [,mode]) -- Crée un répertoire et définit son mode via le paramètre optionnel mode.</pre> + + +<pre class="prettyprint lang-lua">r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit + -- leur mode via le paramètre optionnel mode.</pre> + + +<pre class="prettyprint lang-lua">r:rmdir(dir) -- Supprime un répertoire.</pre> + + +<pre class="prettyprint lang-lua">r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à + -- la valeur optionnelle mtime en msec.</pre> + + +<pre class="prettyprint lang-lua">r:get_direntries(dir) -- Renvoie une table contenant toutes les entrées de répertoires. + +-- Renvoie un chemin sous forme éclatée en chemin, fichier, extension +function handle(r) + local dir = r.context_document_root + for _, f in ipairs(r:get_direntries(dir)) do + local info = r:stat(dir .. "/" .. f) + if info then + local mtime = os.date(fmt, info.mtime / 1000000) + local ftype = (info.filetype == 2) and "[dir] " or "[file]" + r:puts( ("%s %s %10i %s\n"):format(ftype, mtime, info.size, f) ) + end + end +end</pre> + + +<pre class="prettyprint lang-lua">r.date_parse_rfc(string) -- Interprète une chaîne date/heure et renvoie l'équivalent en secondes depuis epoche.</pre> + + +<pre class="prettyprint lang-lua">r:getcookie(key) -- Obtient un cookie HTTP</pre> + + +<pre class="prettyprint lang-lua">r:setcookie(key, value, secure, expires) -- Définit un cookie HTTP, par exemple : +r:setcookie("foo", "bar and stuff", false, os.time() + 86400)</pre> + + +<pre class="prettyprint lang-lua">r:wsupgrade() -- Met à jour une connexion vers les WebSockets si possible (et si demandé) : +if r:wsupgrade() then -- si la mise à jour est possible : + r:wswrite("Bienvenue dans les websockets!") -- écrit quelque chose à l'intention du client + r:wsclose() -- Au revoir ! +end</pre> + + +<pre class="prettyprint lang-lua">r:wsread() -- Lit un cadre de websocket depuis une connexion vers websocket mise à jour (voir ci-dessus) : + +local line, isFinal = r:wsread() -- isFinal indique s'il s'agit du cadre final. + -- dans le cas contraire, on peut lire les cadres suivants +r:wswrite("Vous avez écrit : " .. line)</pre> + + +<pre class="prettyprint lang-lua">r:wswrite(line) -- écrit un cadre vers un client WebSocket : +r:wswrite("Bonjour le Monde !")</pre> + + +<pre class="prettyprint lang-lua">r:wsclose() -- ferme une requête WebSocket et l'achève pour httpd : + +if r:wsupgrade() then + r:wswrite("Ecrire quelque chose : ") + local line = r:wsread() or "nothing" + r:wswrite("Vous avez écrit : " .. line); + r:wswrite("Au revoir !") + r:wsclose() +end</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Fonctions de journalisation</a></h2> + +<pre class="prettyprint lang-lua"> -- exemples de messages de journalisation + r:trace1("Ceci est un message de journalisation de niveau + trace") -- les niveaux valides vont de trace1 à trace8 + r:debug("Ceci est un message de journalisation de niveau debug") + r:info("Ceci est un message de journalisation de niveau info") + r:notice("Ceci est un message de journalisation de niveau notice") + r:warn("Ceci est un message de journalisation de niveau warn") + r:err("Ceci est un message de journalisation de niveau err") + r:alert("Ceci est un message de journalisation de niveau alert") + r:crit("Ceci est un message de journalisation de niveau crit") + r:emerg("Ceci est un message de journalisation de niveau emerg")</pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="apache2" id="apache2">Paquet apache2</a></h2> +<p>Le paquet nommé <code>apache2</code> est fourni avec (au minimum) le +contenu suivant :</p> +<dl> + <dt>apache2.OK</dt> + <dd>Constante interne OK. Les gestionnaires renverront cette valeur + s'ils ont traité la requête.</dd> + <dt>apache2.DECLINED</dt> + <dd>Constante interne DECLINED. Les gestionnaires renverront cette + valeur s'ils n'ont pas l'intention de traiter la requête.</dd> + <dt>apache2.DONE</dt> + <dd>Constante interne DONE.</dd> + <dt>apache2.version</dt> + <dd>Chaîne contenant la version du serveur HTTP Apache</dd> + <dt>apache2.HTTP_MOVED_TEMPORARILY</dt> + <dd>Code d'état HTTP</dd> + <dt>apache2.PROXYREQ_NONE, apache2.PROXYREQ_PROXY, apache2.PROXYREQ_REVERSE, apache2.PROXYREQ_RESPONSE</dt> + <dd>Constantes internes utilisées par <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> + <dt>apache2.AUTHZ_DENIED, apache2.AUTHZ_GRANTED, apache2.AUTHZ_NEUTRAL, apache2.AUTHZ_GENERAL_ERROR, apache2.AUTHZ_DENIED_NO_USER</dt> + <dd>constantes internes utilisées par <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></dd> + +</dl> +<p>Les autres codes d'état HTTP ne sont pas encore implémentés.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="modifying_buckets" id="modifying_buckets">Modification de contenu avec les filtres lua</a></h2> + + <p> + Les fonctions de filtrage implémentées via les directives <code class="directive"><a href="#luainputfilter">LuaInputFilter</a></code> ou <code class="directive"><a href="#luaoutputfilter">LuaOutputFilter</a></code> sont conçues comme des + fonctions de 3ème phase non blocantes utilisant des sous-routines + pour suspendre et reprendre l'exécution d'une fonction lorsque des + paquets de données sont envoyés à la chaîne de filtrage. La + structure de base d'une telle fonction est : + </p> + <pre class="prettyprint lang-lua">function filter(r) + -- Nous indiquons tout d'abord que nous sommes prêts à recevoir des + -- blocs de données. + -- Avant ceci, nous pouvons définir notre environnement, tester + -- certaines conditions, et, si nous le jugeons nécessaire, refuser le + -- filtrage d'une requête : + if something_bad then + return -- Le filtrage est sauté + end + -- Sans se préoccuper des données que nous devons éventuellement ajouter, un arrêt est réalisé ici. + -- Noter que les filtres de sortie sont les seuls capables d'ajouter des éléments au début des données. + -- Les filtres en entrée peuvent ajouter des éléments à la fin des données au stade final. + + coroutine.yield([optional header to be prepended to the content]) + + -- Après cet arrêt, nous allons recevoir d'autres blocs de données, un par un ; + -- nous pouvons les traiter comme il nous plaît et procéder à la réponse. + -- Ces blocs sont conservés dans la variable globale 'bucket', nous réalisons donc + -- une boucle pour vérifier que 'bucket' n'est pas vide : + while bucket ~= nil do + local output = mangle(bucket) -- Do some stuff to the content + coroutine.yield(output) -- Return our new content to the filter chain + end + + -- Une fois les blocs de données épuisés, 'bucket' est positionné à une valeur vide ('nil'), + -- ce qui va nous faire sortir de cette boucle et nous amener à l'étape suivante. + -- On peut ajouter ce qu'on veut à la fin des données à cette étape, qui constitue le dernier + -- arrêt. Les filtres d'entrée comme de sortie peuvent servir à ajouter des éléments à la fin + -- des données à cette étape. + coroutine.yield([optional footer to be appended to the content]) +end</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="databases" id="databases">Connectivité aux bases de données</a></h2> + + <p>Mod_lua implémente une fonctionnalité basique de connexion aux +bases de données permettant d'envoyer des requêtes ou d'exécuter des +commandes auprès des moteurs de base de données les plus courants +(mySQL, PostgreSQL, FreeTDS, ODBC, SQLite, Oracle), ainsi que mod_dbd.</p> + <p> + <code>dbType</code>, le premier paramètre de <code>dbacquire</code>, est + sensible à la casse.</p> + <p> + Ses valeurs possibles sont <code>mysql</code>, <code>pgsql</code>, + <code>freetds</code>, <code>odbc</code>, <code>sqlite2</code>, + <code>sqlite3</code>, <code>oracle</code> ou <code>mod_dbd</code>. + </p> + <p>L'exemple suivant montre comment se connecter à une base de +données et extraire des informations d'une table :</p> + <pre class="prettyprint lang-lua">function handle(r) + -- connexion à la base de données + local database, err = r:dbacquire("mysql", "server=localhost,user=someuser,pass=somepass,dbname=mydb") + if not err then + -- Sélection de certaines informations + local results, err = database:select(r, "SELECT `name`, `age` FROM `people` WHERE 1") + if not err then + local rows = results(0) -- extrait tous les enregistrements en mode synchrone + for k, row in pairs(rows) do + r:puts( string.format("Name: %s, Age: %s<br/>", row[1], row[2]) ) + end + else + r:puts("Database query error: " .. err) + end + database:close() + else + r:puts("Connexion à la base de données impossible : " .. err) + end +end</pre> + + <p> + Pour utiliser <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>, spécifiez +<code>mod_dbd</code> comme type de base de données, ou laissez le champ +vide : + </p> + <pre class="prettyprint lang-lua">local database = r:dbacquire("mod_dbd")</pre> + + <h3><a name="database_object" id="database_object">L'objet database et ses méthodes</a></h3> + + <p>L'objet database renvoyé par <code>dbacquire</code> possède +les méthodes suivantes :</p> + <p><strong>Sélection normale et requête vers une base de données +:</strong></p> + <pre class="prettyprint lang-lua">-- Exécution d'une requête et renvoie du nombre d'enregistrements +affectés : +local affected, errmsg = database:query(r, "DELETE FROM `tbl` WHERE 1") + +-- Exécution d'une requête et renvoie du résultat qui peut être utilisé +en mode synchrone ou asynchrone : +local result, errmsg = database:select(r, "SELECT * FROM `people` WHERE 1")</pre> + + <p><strong>Utilisation de requêtes préparées (recommandé) :</strong></p> + <pre class="prettyprint lang-lua">-- Création et exécution d'une requête préparée : +local statement, errmsg = database:prepare(r, "DELETE FROM `tbl` WHERE `age` > %u") +if not errmsg then + local result, errmsg = statement:query(20) -- exécute la requête pour age > 20 +end + +-- Extrait une requête préparée depuis une directive DBDPrepareSQL : +local statement, errmsg = database:prepared(r, "someTag") +if not errmsg then + local result, errmsg = statement:select("John Doe", 123) -- injecte les valeurs "John Doe" et 123 dans la requête +end</pre> + + <p><strong>Echappement de valeurs, fermeture de la base données, +etc...</strong></p> + <pre class="prettyprint lang-lua">-- Echappe une valeur pour pouvoir l'utiliser dans une requête : +local escaped = database:escape(r, [["'|blabla]]) + +-- Ferme une base de données et libère les liens vers cette dernière : +database:close() + +-- Vérifie si une connexion à une base de données est en service et +opérationnelle : +local connected = database:active()</pre> + + + <h3><a name="result_sets" id="result_sets">Travail avec les jeux d'enregistrements renvoyés par les requêtes</a></h3> + + <p>Les jeux d'enregistrements renvoyés par <code>db:select</code> ou par des +requêtes préparées créées par <code>db:prepare</code> permettent de +sélectionner des enregistrements en mode synchrone ou +asynchrone, selon le nombre d'enregistrements spécifié :<br /> + <code>result(0)</code> sélectionne tous les enregistrements en mode +synchrone en renvoyant une table d'enregistrements.<br /> + <code>result(-1)</code> sélectionne le prochain enregistrement disponible en +mode asynchrone.<br /> + <code>result(N)</code> sélectionne l'enregistrement numéro +<code>N</code> en mode asynchrone. + </p> + <pre class="prettyprint lang-lua">-- extrait un jeu d'enregistrements via une requête régulière : +local result, err = db:select(r, "SELECT * FROM `tbl` WHERE 1") + +local rows = result(0) -- sélectionne tous les enregistrements en mode synchrone +local row = result(-1) -- sélectionne le prochain enregistrement disponible en mode asynchrone +local row = result(1234) -- sélectionne l'enregistrement 1234 en mode asynchrone +local row = result(-1, true) -- Lit l'enregistrement suivant en utilisant les noms d'enregistrements comme index.</pre> + + <p>Il est possible de construire une fonction qui renvoie une +fonction itérative permettant de traiter tous les enregistrement en mode +synchrone ou asynchrone selon la valeur de l'argument async : + </p> + <pre class="prettyprint lang-lua">function rows(resultset, async) + local a = 0 + local function getnext() + a = a + 1 + local row = resultset(-1) + return row and a or nil, row + end + if not async then + return pairs(resultset(0)) + else + return getnext, self + end +end + +local statement, err = db:prepare(r, "SELECT * FROM `tbl` WHERE `age` > %u") +if not err then + -- sélectionne des enregistrements en mode asynchrone : + local result, err = statement:select(20) + if not err then + for index, row in rows(result, true) do + .... + end + end + + -- sélectionne des enregistrements en mode synchrone : + local result, err = statement:select(20) + if not err then + for index, row in rows(result, false) do + .... + end + end +end</pre> + + + <h3><a name="closing_databases" id="closing_databases">Fermeture d'une connexion à une base de données</a></h3> + + + <p>Lorsqu'elles ne sont plus utilisées, les connexions aux bases de +données doivent être fermées avec <code>database:close()</code>. Si vous +ne les fermez pas manuellement, mod_lua les fermera peut-être en tant +que résidus collectés, mais si ce n'est pas le cas, vous pouvez finir +pas avoir trop de connexions vers la base de données inutilisées. Les +deux mesures suivantes sont pratiquement identiques : + </p> + <pre class="prettyprint lang-lua">-- Méthode 1 : fermeture manuelle de la connexion +local database = r:dbacquire("mod_dbd") +database:close() -- c'est tout + +-- Méthode 2 : on laisse le collecteur de résidus la fermer +local database = r:dbacquire("mod_dbd") +database = nil -- on coupe le lien +collectgarbage() -- fermeture de la connexion par le collecteur de résidus</pre> + + + <h3><a name="database_caveat" id="database_caveat">Précautions à prendre lorsque l'on travaille avec les bases +de données</a></h3> + + <p>Bien que les fonctions <code>query</code> et <code>run</code> +soient toujours disponibles, il est recommandé d'utiliser des requêtes +préparées chaque fois que possible, afin d'une part d'optimiser les +performances (si votre connexion reste longtemps en vie), et d'autre part +minimiser le risque d'attaques par injection SQL. Les fonctions +<code>run</code> et <code>query</code> ne doivent être utilisées que +lorsque la requête ne contient pas de variables (requête statique). Dans +le cas des requêtes dynamiques, utilisez <code>db:prepare</code> ou +<code>db:prepared</code>. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luaauthzprovider" id="luaauthzprovider">Directive</a> <a name="LuaAuthzProvider" id="LuaAuthzProvider">LuaAuthzProvider</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Branche une fonction fournisseur d'autorisation dans <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.3 du serveur HTTP Apache</td></tr> +</table> +<p>Lorsqu'une fonction lua a été enregistrée en tant que fournisseur +d'autorisation, elle peut être appelée via la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> :</p> + + +<pre class="prettyprint lang-config">LuaRoot "/usr/local/apache2/lua" +LuaAuthzProvider foo authz.lua authz_check_foo +<Location "/"> + Require foo johndoe +</Location></pre> + +<pre class="prettyprint lang-lua">require "apache2" +function authz_check_foo(r, who) + if r.user ~= who then return apache2.AUTHZ_DENIED + return apache2.AUTHZ_GRANTED +end</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luacodecache" id="luacodecache">Directive</a> <a name="LuaCodeCache" id="LuaCodeCache">LuaCodeCache</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure le cache de code compilé.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaCodeCache stat|forever|never</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LuaCodeCache stat</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p> + Cette directive permet de définir le comportement du cache de code + en mémoire. La valeur par défaut est stat ; dans ce cas, le script + du niveau le plus haut (et pas les scripts inclus) est vérifié à + chaque fois que ce fichier est nécessaire, et est rechargé si la + date de modification est plus récente que celle du script déjà + chargé. Les autres valeurs permettent respectivement de garder le + fichier en cache perpétuellement (forever - jamais vérifié ni + remplacé), ou de ne jamais le mettre en cache (never).</p> + + <p>En général, les valeurs stat et forever sont utilisées pour un + serveur en production, et les valeurs stat ou never pour un serveur + en développement.</p> + + <div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">LuaCodeCache stat +LuaCodeCache forever +LuaCodeCache never</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahookaccesschecker" id="luahookaccesschecker">Directive</a> <a name="LuaHookAccessChecker" id="LuaHookAccessChecker">LuaHookAccessChecker</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase access_checker du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.</td></tr> +</table> +<p>Ajoute votre fonction d'accroche à la phase access_checker. Une +fonction d'accroche access checker renvoie en général OK, DECLINED, ou +HTTP_FORBIDDEN.</p> +<div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahookauthchecker" id="luahookauthchecker">Directive</a> <a name="LuaHookAuthChecker" id="LuaHookAuthChecker">LuaHookAuthChecker</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase auth_checker du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.</td></tr> +</table> +<p>Invoque une fonction lua au cours de la phase auth_checker du +traitement de la requête. Cette directive peut s'utiliser pour +implémenter une vérification arbitraire de l'authentification et de +l'autorisation. Voici un exemple très simple : +</p> +<pre class="prettyprint lang-lua">require 'apache2' + +-- fonction d'accroche authcheck fictive +-- Si la requête ne contient aucune donnée d'authentification, l'en-tête +-- de la réponse est défini et un code 401 est renvoyé afin de demander au +-- navigateur d'effectuer une authentification basique. Si la requête +-- comporte des données d'authentification, elles ne sont pas vraiment +-- consultées, mais on admet la prise en compte de l'utilisateur 'foo' et +-- on la valide. On vérifie ensuite si l'utilisateur est bien 'foo' et on +-- accepte la requête. +function authcheck_hook(r) + + -- recherche des informations d'authentification + auth = r.headers_in['Authorization'] + if auth ~= nil then + -- définition d'un utilisateur par défaut + r.user = 'foo' + end + + if r.user == nil then + r:debug("authcheck: user is nil, returning 401") + r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"' + return 401 + elseif r.user == "foo" then + r:debug('user foo: OK') + else + r:debug("authcheck: user='" .. r.user .. "'") + r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"' + return 401 + end + return apache2.OK +end</pre> + +<div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahookcheckuserid" id="luahookcheckuserid">Directive</a> <a name="LuaHookCheckUserID" id="LuaHookCheckUserID">LuaHookCheckUserID</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase check_user_id du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookCheckUserID /chemin/vers/lua/script.lua hook_function_name [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.</td></tr> +</table><p>...</p> + <div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahookfixups" id="luahookfixups">Directive</a> <a name="LuaHookFixups" id="LuaHookFixups">LuaHookFixups</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase de correction du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookFixups /chemin/vers/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> +<p> + Idem LuaHookTranslateName, mais s'exécute durant la phase de + correction. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahookinsertfilter" id="luahookinsertfilter">Directive</a> <a name="LuaHookInsertFilter" id="LuaHookInsertFilter">LuaHookInsertFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase insert_filter du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p>Non encore implémenté</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahooklog" id="luahooklog">Directive</a> <a name="LuaHookLog" id="LuaHookLog">LuaHookLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet une insertion dans la phase de journalisation du +traitement d'une requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookLog /path/to/lua/script.lua log_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> +<p> + Ce dispositif d'insertion simple permet d'exécuter une fonction + lorsque httpd entre dans la phase de journalisation du traitement + d'une requête. Vous pouvez ainsi ajouter des données à vos propres + entrées de journalisation, manipuler les entrées du journal standard + avant leur enregistrement ou empêcher l'enregistrement d'une entrée + dans le journal. Pour empêcher l'enregistrement normal des entrées + du journal, renvoyez simplement <code>apache2.DONE</code> dans votre + gestionnaire de journalisation, ou au contraire, renvoyez + <code>apache2.OK</code> pour que httpd effectue une journalisation + normale. +</p> +<p>Exemple :</p> +<pre class="prettyprint lang-config">LuaHookLog "/path/to/script.lua" logger</pre> + +<pre class="prettyprint lang-lua">-- /path/to/script.lua -- +function logger(r) + -- on joue à pile ou face : + -- Si on obtient 1, on écrit dans notre propre journal Lua et on dit + -- à httpd de ne pas enregistrer d'entrée dans le journal standard.. + -- Si on obtient 2, on nettoie un peu les données avant que httpd ne + -- les enregistre dans le journal standard. + + if math.random(1,2) == 1 then + -- On effectue notre propre journalisation et le journal + -- standard n'est pas alimenté + local f = io.open("/foo/secret.log", "a") + if f then + f:write("Quelque chose de secret est arrivé à " .. r.uri .. "\n") + f:close() + end + return apache2.DONE -- On dit à httpd de ne rien enregistrer + --dans le journal standard + else + r.uri = r.uri:gsub("somesecretstuff", "") -- nettoie les données + return apache2.OK -- et httpd doit alors les enregistrer. + end +end</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahookmaptostorage" id="luahookmaptostorage">Directive</a> <a name="LuaHookMapToStorage" id="LuaHookMapToStorage">LuaHookMapToStorage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase map_to_storage du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Identique à la directive + <code class="directive">LuaHookTranslateName</code>, mais s'exécute à la phase + map-to-storage du traitement de la requête. Les modules comme + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> agissent pendant cette phase, ce qui permet de + présenter un exemple intéressant de ce que l'on peut faire ici :</p> + <pre class="prettyprint lang-config">LuaHookMapToStorage "/path/to/lua/script.lua" check_cache</pre> + + <pre class="prettyprint lang-lua">require"apache2" +cached_files = {} + +function read_file(filename) + local input = io.open(filename, "r") + if input then + local data = input:read("*a") + cached_files[filename] = data + file = cached_files[filename] + input:close() + end + return cached_files[filename] +end + +function check_cache(r) + if r.filename:match("%.png$") then -- Ne concerne que les fichiers PNG + local file = cached_files[r.filename] -- Vérifie les entrées du cache + if not file then + file = read_file(r.filename) -- Lit le fichier vers le cache + end + if file then -- Si le fichier existe, on l'envoie + r.status = 200 + r:write(file) + r:info(("%s a été envoyé au client depuis le cache"):format(r.filename)) + return apache2.DONE -- cout-circuite le gestionnaire par défaut des fichiers PNG + end + end + return apache2.DECLINED -- Si nous n'avons rien eu à faire, nous laissons les autres s'en charger +end</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahookpretranslate" id="luahookpretranslate">Directive</a> <a name="LuaHookPreTranslate" id="LuaHookPreTranslate">LuaHookPreTranslate</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase de pré-traduction du +traitement d'une requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> +<p> + Identique à LuaHookTranslateName, mais s'exécute au cours de la phase de + pré-traduction où les pourcentages du chemin de l'URI ne sont pas encore + décodés. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahooktranslatename" id="luahooktranslatename">Directive</a> <a name="LuaHookTranslateName" id="LuaHookTranslateName">LuaHookTranslateName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée à la phase du nom de +traduction du traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la +version 2.3.15 du serveur HTTP Apache.</td></tr> +</table><p> + Cette directive permet d'ajouter un point d'entrée (à + APR_HOOK_MIDDLE) à la phase du nom de traduction du traitement de la + requête. La fonction hook accepte un seul argument, le request_rec, + et doit renvoyer un code d'état qui est soit un code d'erreur HTTP, + ou une constante définie dans le module apache2 : apache2.OK, + apache2.DECLINED, ou apache2.DONE.</p> + + <p>Pour ceux qui ne sont pas familiers avec les points d'entrée + (hook), en gros, chaque hook sera invoqué jusqu'à ce que l'un + d'entre eux renvoie apache2.OK. Si un hook n'effectuer pas la + traduction, il doit juste renvoyer apache2.DECLINED. Si le + traitement de la requête doit être interrompu, la valeur renvoyée + doit être apache2.DONE.</p> + + <p>Exemple :</p> + +<pre class="prettyprint lang-config"># httpd.conf +LuaHookTranslateName "/scripts/conf/hooks.lua" silly_mapper</pre> + + +<pre class="prettyprint lang-lua">-- /scripts/conf/hooks.lua -- +require "apache2" +function silly_mapper(r) + if r.uri == "/" then + r.filename = "/var/www/home.lua" + return apache2.OK + else + return apache2.DECLINED + end +end</pre> + + + <div class="note"><h3>Contexte</h3><p>Cette directive ne peut être + utilisée ni à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div> + + <div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels + "early" ou "late" permettent de contrôler le moment auquel ce script + s'exécute par rapport aux autres modules.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luahooktypechecker" id="luahooktypechecker">Directive</a> <a name="LuaHookTypeChecker" id="LuaHookTypeChecker">LuaHookTypeChecker</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase type_checker du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p> + Cette directive fournit un point d'entrée pour la phase + type_checker du traitement de la requête. Cette phase + correspond au moment où la requête se voit assigner un type et un + gestionnaire de contenu, et peut donc être utilisée pour modifier le + type et le gestionnaire en fonction de l'entrée : + </p> + <pre class="prettyprint lang-config">LuaHookTypeChecker "/path/to/lua/script.lua" type_checker</pre> + + <pre class="prettyprint lang-lua"> function type_checker(r) + if r.uri:match("%.to_gif$") then -- foo.png.to_gif convient + r.content_type = "image/gif" -- affectation du type image/gif + r.handler = "gifWizard" -- force le traitement de la requête par le module gifWizard + r.filename = r.uri:gsub("%.to_gif$", "") -- corrige le nom du fichier demandé + return apache2.OK + end + + return apache2.DECLINED + end</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luainherit" id="luainherit">Directive</a> <a name="LuaInherit" id="LuaInherit">LuaInherit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la manière dont les sections de configuration +parentes sont fusionnées dans les enfants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaInherit none|parent-first|parent-last</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LuaInherit parent-first</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.4.0 et supérieures</td></tr> +</table><p>Par défaut, si des directives LuaHook* se trouvent dans + des sections de configuration Directory ou Location qui se + chevauchent, les scripts + définis dans les sections les plus spécifiques s'exécutent + <em>après</em> ceux définis dans les sections plus génériques + (LuaInherit parent-first). Vous pouvez inverser cet ordre, ou faire + en sorte que le contexte parent ne s'applique pas du tout.</p> + + <p>Jusqu'aux versions 2.3.x, le comportement par défaut consistait à + ignorer les directives LuaHook* situées dans les sections de + configuration parentes.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luainputfilter" id="luainputfilter">Directive</a> <a name="LuaInputFilter" id="LuaInputFilter">LuaInputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit une fonction Lua pour le filtrage en entrée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaInputFilter filter_name /path/to/lua/script.lua function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> +<p>Cette directive permet d'ajouter un filtre en entrée sous la forme +d'une fonction Lua. A l'instar des filtres en sorties, les filtres en +entrée fonctionnent comme des sous-routines, intervenant dans un premier +temps avant l'envoi du contenu des tampons, puis chaque fois qu'un +paquet de données doit être transmis à la chaîne, et éventuellement +produisant toute donnée à ajouter aux données en entrée. La variable +globale <code>bucket</code> contient les paquets de données tels qu'ils +sont transmis au script Lua : +</p> + +<pre class="prettyprint lang-config">LuaInputFilter myInputFilter "/www/filter.lua" input_filter +<Files "*.lua"> + SetInputFilter myInputFilter +</Files></pre> + +<pre class="prettyprint lang-lua">--[[ + Exemple de filtre en entrée qui convertit toutes les données POST en + majuscules. +]]-- +function input_filter(r) + print("luaInputFilter called") -- pour débogage + coroutine.yield() -- attend des paquets de données + while bucket do -- Pour chaque paquet, faire ... + local output = string.upper(bucket) -- Convertit toutes les données POST en majuscules + coroutine.yield(output) -- Envoie les données traitées à la chaîne de filtrage + end + -- plus aucune donnée à traiter. + coroutine.yield("&filterSignature=1234") -- Ajoute une signature à la fin +end</pre> + +<p> +Le filtre en entrée peut interdire ou sauter un filtre s'il est +considéré comme indésirable : +</p> +<pre class="prettyprint lang-lua">function input_filter(r) + if not good then + return -- Empêche tout simplement le filtrage et transmet le contenu original + end + coroutine.yield() -- attend des paquets de données + ... -- insert les filtres ici +end</pre> + +<p> +Voir "<a href="#modifying_buckets">Modification de contenu avec les +filtres Lua</a>" pour plus de détails. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luamaphandler" id="luamaphandler">Directive</a> <a name="LuaMapHandler" id="LuaMapHandler">LuaMapHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance un chemin avec un gestionnaire lua</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaMapHandler modele-uri /chemin/vers/lua/script.lua +[nom-fonction]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Cette directive permet de faire correspondre un modèle d'uri avec + une fonction de gestionnaire située dans un fichier spécifique. Elle + utilise les expressions rationnelles PCRE pour mettre en + correspondance l'uri, et supporte les groupes de correspondance + d'interpolation dans le chemin du fichier et le nom de la fonction. + Prenez garde aux problèmes de sécurité en écrivant vos expressions + rationnelles.</p> + <div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">LuaMapHandler "/(\w+)/(\w+)" "/scripts/$1.lua" "handle_$2"</pre> +</div> + <p>Cette directive va faire correspondre des uri comme + /photos/show?id=9 au fichier /scripts/photos.lua, et invoquera la + fonction de gestionnaire handle_show au niveau de la vm lua + après chargement de ce fichier.</p> + +<pre class="prettyprint lang-config">LuaMapHandler "/bingo" "/scripts/wombat.lua"</pre> + + <p>Cette directive invoquera la fonction "handle" qui est la + valeur par défaut si aucun nom de fonction spécifique n'est + spécifié.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luaoutputfilter" id="luaoutputfilter">Directive</a> <a name="LuaOutputFilter" id="LuaOutputFilter">LuaOutputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit une fonction Lua pour le filtrage de contenu en +sortie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaOutputFilter filter_name /path/to/lua/script.lua function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> +<p>>Cette directive permet d'ajouter un filtre en sortie sous la forme +d'une fonction Lua. A l'instar des filtres en sorties, les filtres en +entrée fonctionnent comme des sous-routines, intervenant dans un premier +temps avant l'envoi du contenu des tampons, puis chaque fois qu'un +paquet de données doit être transmis à la chaîne, et éventuellement +produisant toute donnée à ajouter aux données en sortie. La variable +globale <code>bucket</code> contient les paquets de données tels qu'ils +sont transmis au script Lua : +</p> + +<pre class="prettyprint lang-config">LuaOutputFilter myOutputFilter "/www/filter.lua" output_filter +<Files "*.lua"> + SetOutputFilter myOutputFilter +</Files></pre> + +<pre class="prettyprint lang-lua">--[[ + Exemple de filtre en sortie qui échappe toutes les entités HTML en + sortie +]]-- +function output_filter(r) + coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie, + -- puis attend des paquets de données à traiter + while bucket do -- Pour chaque paquet, faire ... + local output = r:escape_html(bucket) -- Echappe les données en sortie + coroutine.yield(output) -- Envoie les données traitées à la chaîne + end + -- plus aucune donnée à traiter. +end</pre> + +<p> +Comme les filres en entrée, le filtre en sortie peut interdire ou sauter un filtre s'il est +considéré comme indésirable : +</p> +<pre class="prettyprint lang-lua">function output_filter(r) + if not r.content_type:match("text/html") then + return -- Empêche tout simplement le filtrage et transmet le contenu original + end + coroutine.yield() -- attend des paquets de données + ... -- insert les filtres ici +end</pre> + +<div class="note"><h3>Les filtres Lua avec <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></h3> +<p>Lorsqu'on utilise un filtre Lua comme fournisseur sous-jacent via la +directive <code class="directive"><a href="../mod/mod_filter.html#filterprovider">FilterProvider</a></code>, le +filtrage ne fonctionnera que si <var>filter-name</var> est identique à +<var>provider-name</var>. +</p> </div> + +<p> +Voir "<a href="#modifying_buckets">Modification de contenu avec les +filtres Lua</a>" pour plus de détails. +</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luapackagecpath" id="luapackagecpath">Directive</a> <a name="LuaPackageCPath" id="LuaPackageCPath">LuaPackageCPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un répertoire au package.cpath de lua</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaPackageCPath /chemin/vers/include/?.soa</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Cette directive permet d'ajouter un chemin à la liste des chemins + de recherche des bibliothèques partagées de lua. Ceci modifie le + package.cpath dans les vms lua.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luapackagepath" id="luapackagepath">Directive</a> <a name="LuaPackagePath" id="LuaPackagePath">LuaPackagePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un répertoire au package.path de lua</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaPackagePath /chemin/vers/include/?.lua</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table><p>Cette directive permet d'ajouter un chemin à la liste des + chemins de recherche du module lua. Elle suit les mêmes conventions + que lua. Ceci modifie le package.path dans les vms lua.</p> + + <div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">LuaPackagePath "/scripts/lib/?.lua" +LuaPackagePath "/scripts/lib/?/init.lua"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luaquickhandler" id="luaquickhandler">Directive</a> <a name="LuaQuickHandler" id="LuaQuickHandler">LuaQuickHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la gestion rapide du +traitement de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaQuickHandler /path/to/script.lua hook_function_name</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Cette phase s'exécute juste après l'attribution de la requête à + un serveur virtuel, et permet d'effectuer certains traitements avant + le déroulement des autres phases, ou de servir une requête sans + avoir à la traduire, l'associer à un espace de stockage, etc... + Comme cette phase s'exécute avant toute autre, les directives telles + que <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ne + sont pas encore prises en compte, car Les URI n'ont pas encore été + entièrement interprétés. + </p> + <div class="note"><h3>Contexte</h3><p>Cette directive ne peut être + utilisée ni à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luaroot" id="luaroot">Directive</a> <a name="LuaRoot" id="LuaRoot">LuaRoot</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le chemin de base pour la résolution des chemins +relatifs dans les directives de mod_lua</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaRoot /chemin/vers/un/répertoire</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Cette directive permet de spécifier le chemin de base qui sera + utilisé pour évaluer tous les chemins relatifs dans mod_lua. En + l'absence de cette directive, les chemins relatifs sont résolus par + rapport au répertoire de travail courant, ce qui ne sera pas + toujours approprié pour un serveur.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="luascope" id="luascope">Directive</a> <a name="LuaScope" id="LuaScope">LuaScope</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaScope once|request|conn|thread|server [min] [max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LuaScope once</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr> +</table> + <p>Cette directive permet de spécifier la durée de vie de + l'interpréteur Lua qui sera utilisé dans ce "répertoire". La valeur + par défaut est "once".</p> + + <dl> + <dt>once:</dt> <dd>utilise l'interpréteur une fois.</dd> + + <dt>request:</dt> <dd>utilise l'interpréteur pour traiter tout ce + qui est basé sur le même fichier dans la requête, et qui se trouve + aussi dans la portée de la requête.</dd> + + <dt>conn:</dt> <dd>idem request, mais attaché à connection_rec</dd> + + <dt>thread:</dt> <dd>Utilise l'interpréteur pendant toute la durée + de vie du thread qui traite la requête (disponible seulement avec + les MPMs threadés).</dd> + + <dt>server:</dt> <dd>Le comportement est ici différent, car la + portée du serveur présente une durée de vie assez longue, et + plusieurs threads vont partager le même server_rec. Pour gérer tout + ceci, les états lua du serveur sont stockés dans une liste de ressources + apr. Les arguments <code>min</code> et <code>max</code> permettent + de spécifier les nombres minimaux et maximaux d'états lua à stocker + dans la liste.</dd> + </dl> + <p>En général, les portées <code>thread</code> et <code>server</code> + sont 2 à 3 fois plus rapides que les autres, car elles n'ont pas besoin + de régénérer de nouveaux états Lua à chaque requête (comme c'est le + cas avec le MPM event, où même les connexions persistantes utilisent un + nouveau thread pour chaque requête). Si vous pensez que vos scripts + n'auront pas de problème s'il réutilisent un état, alors les portées + <code>thread</code> ou <code>server</code> doivent être utilisées car + elles présenteront de meilleures performances. Alors que la portée + <code>thread</code> fournira les réponses les plus rapides, la portée + <code>server</code> utilisera moins de mémoire car les états sont + rassemblés dans des jeux, permettant par exemple à 1000 threads de + partager 100 états Lua, ne nécessitant ainsi que 10% de la mémoire + requise par la portée <code>thread</code>. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_lua.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_macro.html b/docs/manual/mod/mod_macro.html new file mode 100644 index 0000000..8aee40b --- /dev/null +++ b/docs/manual/mod/mod_macro.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_macro.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_macro.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_macro.html.en b/docs/manual/mod/mod_macro.html.en new file mode 100644 index 0000000..faad01b --- /dev/null +++ b/docs/manual/mod/mod_macro.html.en @@ -0,0 +1,303 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_macro - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_macro</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_macro.html" title="English"> en </a> | +<a href="../fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides macros within apache httpd runtime configuration files</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>macro_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_macro.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.5 and later</td></tr></table> +<h3>Summary</h3> + + + <p>Provides macros within Apache httpd runtime configuration files, + to ease the process of creating numerous similar configuration + blocks. When the server starts up, the macros are expanded using the + provided parameters, and the result is processed as along with the + rest of the configuration file.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Usage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tips">Tips</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#macro"><Macro></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefmacro">UndefMacro</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#use">Use</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_macro">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_macro">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Usage</a></h2> + +<p>Macros are defined using <code class="directive"><a href="#macro"><Macro></a></code> blocks, which contain the portion of +your configuration that needs to be repeated, complete with variables +for those parts that will need to be substituted.</p> + +<p>For example, you might use a macro to define a <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> block, in order to define +multiple similar virtual hosts:</p> + +<pre class="prettyprint lang-config"><Macro VHost $name $domain> +<VirtualHost *:80> + ServerName $domain + ServerAlias www.$domain + + DocumentRoot "/var/www/vhosts/$name" + ErrorLog "/var/log/httpd/$name.error_log" + CustomLog "/var/log/httpd/$name.access_log" combined +</VirtualHost> +</Macro></pre> + + +<p>Macro names are case-insensitive, like httpd configuration +directives. However, variable names are case sensitive.</p> + +<p>You would then invoke this macro several times to create virtual +hosts:</p> + +<pre class="prettyprint lang-config">Use VHost example example.com +Use VHost myhost hostname.org +Use VHost apache apache.org + +UndefMacro VHost</pre> + + +<p>At server startup time, each of these <code class="directive"><a href="#use">Use</a></code> +invocations would be expanded into a full virtualhost, as +described by the <code class="directive"><a href="#macro"><Macro></a></code> +definition.</p> + +<p>The <code class="directive"><a href="#undefmacro">UndefMacro</a></code> directive is +used so that later macros using the same variable names don't result in +conflicting definitions.</p> + +<p>A more elaborate version of this example may be seen below in the +Examples section.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="tips" id="tips">Tips</a></h2> + +<p>Parameter names should begin with a sigil such as <code>$</code>, +<code>%</code>, or <code>@</code>, so that they are clearly +identifiable, and also in order to help deal with interactions with +other directives, such as the core <code class="directive"><a href="../mod/core.html#define">Define</a></code> directive. Failure to do so will +result in a warning. Nevertheless, you are encouraged to have a good +knowledge of your entire server configuration in order to avoid reusing +the same variables in different scopes, which can cause confusion.</p> + +<p>Parameters prefixed with either <code>$</code> or <code>%</code> are +not escaped. Parameters prefixes with <code>@</code> are escaped in +quotes.</p> + +<p>Avoid using a parameter which contains another parameter as a prefix, +(For example, <code>$win</code> and <code>$winter</code>) as this may +cause confusion at expression evaluation time. In the event of such +confusion, the longest possible parameter name is used.</p> + +<p>If you want to use a value within another string, it is useful to +surround the parameter in braces, to avoid confusion:</p> + +<pre class="prettyprint lang-config"><Macro DocRoot ${docroot}> + DocumentRoot "/var/www/${docroot}/htdocs" +</Macro></pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + + +<h3>Virtual Host Definition</h3> + + +<p>A common usage of <code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> is for the creation of +dynamically-generated virtual hosts.</p> + +<pre class="prettyprint lang-config">## Define a VHost Macro for repetitive configurations + +<Macro VHost $host $port $dir> + Listen $port + <VirtualHost *:$port> + + ServerName $host + DocumentRoot "$dir" + + # Public document root + <Directory "$dir"> + Require all granted + </Directory> + + # limit access to intranet subdir. + <Directory "$dir/intranet"> + Require ip 10.0.0.0/8 + </Directory> + </VirtualHost> +</Macro> + +## Use of VHost with different arguments. + +Use VHost www.apache.org 80 /vhosts/apache/htdocs +Use VHost example.org 8080 /vhosts/example/htdocs +Use VHost www.example.fr 1234 /vhosts/example.fr/htdocs</pre> + + + +<h3>Removal of a macro definition</h3> + + +<p>It's recommended that you undefine a macro once you've used it. This +avoids confusion in a complex configuration file where there may be +conflicts in variable names.</p> + +<pre class="prettyprint lang-config"><Macro DirGroup $dir $group> + <Directory "$dir"> + Require group $group + </Directory> +</Macro> + +Use DirGroup /www/apache/private private +Use DirGroup /www/apache/server admin + +UndefMacro DirGroup</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Macro" id="Macro"><Macro></a> <a name="macro" id="macro">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a configuration file macro</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> +</table> + <p>The <code class="directive"><Macro></code> directive controls the + definition of a macro within the server runtime configuration files. + The first argument is the name of the macro. + Other arguments are parameters to the macro. It is good practice to prefix + parameter names with any of '<code>$%@</code>', and not macro names + with such characters. + </p> + + <pre class="prettyprint lang-config"><Macro LocalAccessPolicy> + Require ip 10.2.16.0/24 +</Macro> + +<Macro RestrictedAccessPolicy $ipnumbers> + Require ip $ipnumbers +</Macro></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UndefMacro" id="UndefMacro">UndefMacro</a> <a name="undefmacro" id="undefmacro">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Undefine a macro</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UndefMacro <var>name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> +</table> + <p>The <code class="directive">UndefMacro</code> directive undefines a macro + which has been defined before hand.</p> + + <pre class="prettyprint lang-config">UndefMacro LocalAccessPolicy +UndefMacro RestrictedAccessPolicy</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Use" id="Use">Use</a> <a name="use" id="use">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use a macro</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> +</table> + <p>The <code class="directive">Use</code> directive controls the use of a macro. + The specified macro is expanded. It must be given the same number of + arguments as in the macro definition. The provided values are + associated to their corresponding initial parameters and are substituted + before processing.</p> + + <pre class="prettyprint lang-config">Use LocalAccessPolicy +... +Use RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"</pre> + + + <p>is equivalent, with the macros defined above, to:</p> + + <pre class="prettyprint lang-config">Require ip 10.2.16.0/24 +... +Require ip 192.54.172.0/24 192.54.148.0/24</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_macro.html" title="English"> en </a> | +<a href="../fr/mod/mod_macro.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_macro.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_macro.html.fr.utf8 b/docs/manual/mod/mod_macro.html.fr.utf8 new file mode 100644 index 0000000..ed36ed2 --- /dev/null +++ b/docs/manual/mod/mod_macro.html.fr.utf8 @@ -0,0 +1,310 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_macro - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_macro</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_macro.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_macro.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module permet d'utiliser des macros dans les fichiers +de configuration Apache.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>macro_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_macro.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + + <p>Ce module permet d'utiliser des macros dans les fichiers de + configuration à l'exécution du serveur HTTP Apache afin de faciliter + la création de nombreux blocs de configuration similaires. Quand le + serveur démarre, les macros sont exécutées avec les paramètres + fournis, et le résultat obtenu est traité au même titre que le reste + du fichier de configuration.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tips">Conseils</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#macro"><Macro></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#undefmacro">UndefMacro</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#use">Use</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_macro">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_macro">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Utilisation</a></h2> +<p>On définit une macro à l'aide des blocs <code class="directive"><a href="#macro"><Macro></a></code> qui contiennent la portion de votre +configuration qui intervient de manière répétitive, y compris les +variables pour les parties qui devront être substituées.</p> + +<p>Par exemple, vous pouvez utiliser une macro pour définir un bloc +<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>, afin de pouvoir +définir de nombreux serveurs virtuels similaires :</p> + + <pre class="prettyprint lang-config"><Macro VHost $name $domain> +<VirtualHost *:80> + ServerName $domain + ServerAlias www.$domain + + DocumentRoot "/var/www/vhosts/$name" + ErrorLog "/var/log/httpd/$name.error_log" + CustomLog "/var/log/httpd/$name.access_log" combined +</VirtualHost> +</Macro></pre> + + +<p>Comme les directives de configuration httpd, les noms des macros sont +insensibles à la casse, à la différence des variables qui y sont, elles, +sensibles.</p> + +<p>Vous pouvez alors invoquer cette macro autant de fois que vous le +voulez pour créer des serveurs virtuels </p> + +<pre class="prettyprint lang-config">Use VHost example example.com +Use VHost myhost hostname.org +Use VHost apache apache.org + +UndefMacro VHost</pre> + + +<p>Au démarrage du serveur, chacune de ces invocations +<code class="directive"><a href="#use">Use</a></code> sera remplacée par une définition de serveur +virtuel complète, comme décrit dans la définition de la +<code class="directive"><a href="#macro"><Macro></a></code>.</p> + +<p>La directive <code class="directive"><a href="#undefmacro">UndefMacro</a></code> permet d'éviter les +conflits de définitions qui pourraient provenir de l'utilisation +ultérieure de macros contenant les mêmes noms de variables.</p> + +<p>Vous trouverez une version plus élaborée de cet exemple plus loin +dans la section Exemples.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="tips" id="tips">Conseils</a></h2> + +<p>Les noms de paramètres doivent commencer par un sigil tel que +<code>$</code>, <code>%</code>, ou <code>@</code>, de façon à ce qu'ils +soient clairement identifiables, mais aussi afin de faciliter les +interactions avec les autres directives, comme la directive de base +<code class="directive"><a href="../mod/core.html#define">Define</a></code>. Dans le cas contraire, vous +recevrez un avertissement. En tout état de cause, il est conseillé +d'avoir une bonne connaissance globale de la configuration du serveur, +afin d'éviter la réutilisation des mêmes variables à différents niveaux, +ce qui peut être à l'origine de confusions.</p> + +<p>Les paramètres préfixés par <code>$</code> ou <code>%</code> ne sont +pas échappés. Les paramètres préfixés par <code>@</code> sont échappés +entre guillemets.</p> + +<p>Evitez de préfixer un paramètre par le nom d'un autre paramètre (par +exemple, présence simultanée des paramètres <code>$win</code> et +<code>$winter</code>), car ceci peut introduire de la confusion lors de +l'évaluation des expressions. Si cela se produit, c'est le nom de +paramètre le plus long possible qui sera utilisé.</p> + +<p>Si vous désirez insérer une valeur dans une chaîne, il est conseillé +de l'entourer d'accolades afin d'éviter toute confusion :</p> + +<pre class="prettyprint lang-config"><Macro DocRoot ${docroot}> + DocumentRoot "/var/www/${docroot}/htdocs" +</Macro></pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + + +<h3>Définition de serveurs virtuels</h3> + + +<p>Un exemple typique d'utilisation de <code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> est la +création dynamique de serveurs virtuels.</p> + +<pre class="prettyprint lang-config">## Définition d'une macro VHost pour les configurations répétitives + +<Macro VHost $host $port $dir> + Listen $port + <VirtualHost *:$port> + + ServerName $host + DocumentRoot "$dir" + + # Racine des documents publique + <Directory "$dir"> + Require all granted + </Directory> + + # restriction d'accès au sous-répertoire intranet. + <Directory "$dir/intranet"> + Require ip 10.0.0.0/8 + </Directory> + </VirtualHost> +</Macro> + +## Utilisation de la macro VHost avec différents arguments. + +Use VHost www.apache.org 80 /vhosts/apache/htdocs +Use VHost example.org 8080 /vhosts/example/htdocs +Use VHost www.example.fr 1234 /vhosts/example.fr/htdocs</pre> + + + +<h3>Suppression d'une définition de macro</h3> + + +<p>Il est recommandé de supprimer la définition d'une macro après +l'avoir utilisée. Ceci permet d'éviter les confusions au sein d'un +fichier de configuration complexe où des conflits entre noms de +variables peuvent survenir.</p> + +<pre class="prettyprint lang-config"><Macro DirGroup $dir $group> + <Directory "$dir"> + Require group $group + </Directory> +</Macro> + +Use DirGroup /www/apache/private private +Use DirGroup /www/apache/server admin + +UndefMacro DirGroup</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="macro" id="macro">Directive</a> <a name="Macro" id="Macro"><Macro></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition d'une macro dans un fichier de configuration</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> +<Macro <var>nom</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> +</table> + <p>La directive <code class="directive"><Macro></code> permet de définir une macro + dans un fichier de configuration Apache. Le premier argument est le nom + de la macro, et les arguments suivants sont les paramètres. Il + est de bon aloi de préfixer les noms des paramètres d'une macro + avec un caractère parmi '<code>$%@</code>', et d'éviter d'en faire + de même avec les noms de macros. + </p> + + <pre class="prettyprint lang-config"><Macro LocalAccessPolicy> + Require ip 10.2.16.0/24 +</Macro> + +<Macro RestrictedAccessPolicy $ipnumbers> + Require ip $ipnumbers +</Macro></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="undefmacro" id="undefmacro">Directive</a> <a name="UndefMacro" id="UndefMacro">UndefMacro</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime une macro</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UndefMacro <var>nom</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> +</table> + <p>La directive <code class="directive">UndefMacro</code> annule la définition + d'une macro qui doit avoir été définie auparavant.</p> + + <pre class="prettyprint lang-config">UndefMacro LocalAccessPolicy +UndefMacro RestrictedAccessPolicy</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="use" id="use">Directive</a> <a name="Use" id="Use">Use</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation d'une macro</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Use <var>nom</var> [<var>valeur1</var> ... <var>valeurN</var>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_macro</td></tr> +</table> + <p> La directive <code class="directive">Use</code> permet d'utiliser une macro. + La macro considérée est expansée. Son nombre d'arguments doit être égal au + nombre de paramètres précisés dans sa définition. Les valeurs passées en + argument sont attribuées aux paramètres correspondants et + substituées avant l'interprétation du texte de la macro.</p> + + <pre class="prettyprint lang-config">Use LocalAccessPolicy +... +Use RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"</pre> + + + <p>est équivalent, avec les macros définies ci-dessus à :</p> + + <pre class="prettyprint lang-config">Require ip 10.2.16.0/24 +... +Require ip 192.54.172.0/24 192.54.148.0/24</pre> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_macro.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_macro.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_macro.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_md.html b/docs/manual/mod/mod_md.html new file mode 100644 index 0000000..d9dbf13 --- /dev/null +++ b/docs/manual/mod/mod_md.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_md.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_md.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_md.html.en b/docs/manual/mod/mod_md.html.en new file mode 100644 index 0000000..95c5e1b --- /dev/null +++ b/docs/manual/mod/mod_md.html.en @@ -0,0 +1,1484 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_md - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_md</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_md.html" title="English"> en </a> | +<a href="../fr/mod/mod_md.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Managing domains across virtual hosts, certificate provisioning + via the ACME protocol + </td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>md_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_md.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.30 and later</td></tr></table> +<h3>Summary</h3> + + <p> + This module manages common properties of domains for one or more virtual hosts. + Its serves two main purposes: for one, supervise/renew TLS certificates via the + ACME protocol (<a href="https://tools.ietf.org/html/rfc8555">RFC 8555</a>). + Certificates will be renewed by the module ahead of their expiration to account + for disruption in internet services. There are ways to monitor the status of all + certififcates managed this way and configurations that will run your own + notification commands on renewal, expiration and errors. + </p><p> + Second, mod_md offers an alternate OCSP Stapling implementation. This works with + managed certificates as well as with certificates you configure yourself. OCSP + Stapling is a necessary component for any https: site, influencing page load + times and, depending on other setups, page availability. More in the + stapling section below. + </p><p> + The default ACME Authority for managing certificates is + <a href="https://letsencrypt.org/">Let's Encrypt</a>, but it is possible + to configure another CA that supports the protocol. + </p> + + <p>Simple configuration example:</p> + + <div class="note"><h3>TLS in a VirtualHost context</h3> + <pre class="prettyprint lang-config">MDomain example.org + +<VirtualHost *:443> + ServerName example.org + DocumentRoot htdocs/a + + SSLEngine on + # no certificates specification +</VirtualHost></pre> + + <p> + This setup will, on server start, contact + <a href="https://letsencrypt.org/">Let's Encrypt</a> + to request a certificate for the domain. If Let's Encrypt can verify the ownership + of the domain, the module will retrieve the certificate and its chain, store it + in the local file system (see <code class="directive"><a href="#mdstoredir">MDStoreDir</a></code>) + and provide it, on next restart, to <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + </p><p> + This happens while the server is already running. All other hosts will continue + to work as before. While a certificate is not available, requests for the managed + domain will be answered with a '503 Service Unavailable'. + </p> + </div> + + <div class="note"><h3>Prerequisites</h3> + <p> + This module requires <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> to be loaded as well. + </p><p> + Certificate sign-up and renewal with Let's Encrypt requires your server to be + reachable on port 80 (http:) and/or port 443 (https:) from the public internet. + (Unless your server is configured to use DNS for challenges - more on that under + 'wildcard certificates') + </p><p> + The module will select from the methods offered by Let's Encrypt. Usually LE offers + challenges on both ports and DNS and Apache chooses a method available. + </p><p> + To determine which one is available, the module looks at the ports + Apache httpd listens on. If those include port 80, it assumes that the + http: challenge (named http-01) is available. If the server listens + on port 443, the https: challenge (named tls-alpn-01) is also added to + the list. (And if <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> + is configured, the challenge dns-01 is added as well.) + </p><p> + If your setup is not so straight forward, there are two methods available + to influence this. First, look at <code class="directive"><a href="#mdportmap">MDPortMap</a></code> + if the server is behind a portmapper, such as a firewall. Second, you may + override the module's guesswork completely by configuring + <code class="directive"><a href="#mdcachallenges">MDCAChallenges</a></code> directly. + </p> + </div> + + <div class="note"><h3>https: Challenges</h3> + <p> + For domain verification via the TLS protocol `tls-alpn-01` is the name + of the challenge type. It requires the Apache server to listen on port 443 + (see <code class="directive"><a href="#mdportmap">MDPortMap</a></code> if you map that port + to something else). + </p><p> + Let's Encrypt will open a TLS connection to Apache using the special indicator + `acme-tls/1` (this indication part of TLS is called ALPN, therefore the name + of the challenge. ALPN is also used by browsers to request a HTTP/2 connection). + </p><p> + As with the HTTP/2 protocol, to allow this, you configure: + </p> + <pre class="prettyprint lang-config">Protocols h2 http/1.1 acme-tls/1</pre> + + <p> + And the `tls-alpn-01` challenge type is available. + </p> + </div> + + <div class="note"><h3>Wildcard Certificates</h3> + <p> + Wildcard certificates are possible, but not straight-forward to use out of + the box. Let's Encrypt requires the `dns-01` challenge verification + for those. No other is considered good enough. + </p><p> + The difficulty here is that Apache cannot do that on its own. As the name implies, `dns-01` + requires you to show some specific DNS records for your domain that contain + some challenge data. So you need to _write_ your domain's DNS records. + </p><p> + If you know how to do that, you can integrated this with mod_md. Let's + say you have a script for that in `/usr/bin/acme-setup-dns` you configure + Apache with: + </p> + <pre class="prettyprint lang-config">MDChallengeDns01 /usr/bin/acme-setup-dns</pre> + + <p> + and Apache will call this script when it needs to setup/teardown a DNS challenge + record for a domain. + </p><p> + Assuming you want a certificate for `*.mydomain.com`, mod_md will call: + </p> + <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns setup mydomain.com challenge-data +# this needs to remove all existing DNS TXT records for +# _acme-challenge.mydomain.com and create a new one with +# content "challenge-data"</pre> + + <p> + and afterwards it will call + </p> + <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns teardown mydomain.com +# this needs to remove all existing DNS TXT records for +# _acme-challenge.mydomain.com</pre> + + </div> + + <div class="note"><h3>Monitoring</h3> + <p> + Apache has a standard module for monitoring: <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. + mod_md contributes a section and makes monitoring your + domains easy. + </p><p> + You see all your MDs listed alphabetically, the domain names they contain, + an overall status, expiration times and specific settings. The settings + show your selection of renewal times (or the default), the CA that is used, + etc. + </p><p> + The 'Renewal' column will show activity and error descriptions for certificate + renewals. This should make life easier for people to find out if everything + is all right or what went wrong. + </p><p> + If there is an error with an MD it will be shown here as well. This let's + you assess problems without digging through your server logs. + </p><p> + There is also a new 'md-status' handler available to give you the MD information + from 'server-status' in JSON format. You configure it as + </p> + <pre class="prettyprint lang-config"><Location "/md-status"> + SetHandler md-status +</Location></pre> + + <p> + on your server. As with 'server-status' you will want to add + authorization for this. + </p><p> + If you just want to check the JSON status of a specific domain, simply append + that to your status url: + </p> + <pre class="prettyprint lang-config">> curl https://<yourhost>/md-status/another-domain.org +{ + "name": "another-domain.org", + "domains": [ + "another-domain.org", + "www.another-domain.org" + ], + ...</pre> + + <p> + This JSON status also shows a log of activities when domains are renewed: + </p> + <pre class="prettyprint lang-config">{ +"when": "Wed, 19 Jun 2019 14:45:58 GMT", +"type": "progress", "detail": "The certificate for the managed domain has been renewed successfully and can be used. A graceful server restart now is recommended." +},{ +"when": "Wed, 19 Jun 2019 14:45:58 GMT", +"type": "progress", "detail": "Retrieving certificate chain for test-901-003-1560955549.org" +},{ +"when": "Wed, 19 Jun 2019 14:45:58 GMT", +"type": "progress", "detail": "Waiting for finalized order to become valid" +},{ +"when": "Wed, 19 Jun 2019 14:45:50 GMT", +"type": "progress", "detail": "Submitting CSR to CA for test-901-003-1560955549.org" +}, +...</pre> + + <p> + You will also find this information in the file `job.json` in your staging and, + when activated, domains directory. This allows you to inspect these at + any later point in time as well. + </p><p> + In addition, there is <code class="directive"><a href="#mdcertificatestatus">MDCertificateStatus</a></code> which + gives access to relevant certificate information in JSON format. + </p> + </div> + + <div class="note"><h3>Stapling</h3> + <p> + If you want to try the stapling in one Managed Domain alone at first, + configure: + </p> + <pre class="prettyprint lang-config"><MDomain mydomain.net> + MDStapling on +</MDomain></pre> + + <p> + and use the 'server-status' and/or <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> to see how it operates. You will + see if Stapling information is there, how long it is valid, from where it came and + when it will be refreshed. + </p><p> + If this all works to your satisfaction, you can switch it on for all your + certificates or just your managed ones. + </p><p> + The existing stapling implementation by mod_ssl is used by many sites + for years. There are two main differences between the mod_ssl and mod_md + one: + </p> + <ol> + <li>On demand vs. scheduled: mod_ssl retrieves the stapling information + when it is requested, e.g. on a new connection. mod_md retrieves it + right at server start and after 2/3rds of its lifetime.</li> + <li>In memory vs. persisted: mod_ssl <em>can</em> persist this + information, but most example configurations use a memory cache. mod_md + always stores in the file system.</li> + </ol> + <p> + If you are unlucky and restart your server during an outage of your CA's + OCSP service, your users may no longer reach your sites. Without persistence + your server cannot provide the client with the data and the client browser + cannot get it as well, since the OCSP service is not responding. + </p><p> + The implementation in mod_md will have persisted it, load it again after + restart and have it available for incoming connections. A day or two before + this information expires, it will renew it, making it able to cope with + a long OCSP service downtime. + </p><p> + Due to backward compatibility, the existing implementation in mod_ssl could + not be changed drastically. For example, mod_ssl is unable to add a dependency + to mod_watchdog without braking many existing installations (that do not load it). + </p> + </div> + + <div class="note"><h3>tailscale</h3> + <p> + Since version 2.4.14 of the module, you can use it to get certificates + for your <a href="https://tailscale.com">tailscale</a> domains. + </p> + <pre class="prettyprint lang-config"><MDomain mydomain.some-thing.ts.net> + MDCertificateProtocol tailscale + MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock", +</MDomain></pre> + + <p> + Tailscale provides secure networking between your machines, where ever + they are, and can provide domain names in the *.ts.net space for them. + For those, it will then provide Let's Encrypt certificates as well, so + you can open these domains in your browser securely. + </p> + <p> + The directives listed above tell Apache to contact the local tailscale + demon for obtaining and renewing certificates. This will only work for + the domain name that tailscale assigns to your machine. + </p> + <p> + Otherwise, these certificates work exactly like the ones retrieved + via the ACME protocol from Lets Encrypt. You see them in status reporting + and MDMessageCmd directives are executed for them as well. + </p> + <p> + More details are <a href="https://github.com/icing/mod_md#tailscale"> + available at the mod_md github documentation</a>. + </p> + <p> + Note that this feature only works on machines where the tailscale + demon provides a unix domain socket. This, so far, seems only the + case on *nix systems. + </p> + </div> + + </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#mdactivationdelay">MDActivationDelay</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdbaseserver">MDBaseServer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcachallenges">MDCAChallenges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatecheck">MDCertificateCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatefile">MDCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatestatus">MDCertificateStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdchallengedns01">MDChallengeDns01</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcontactemail">MDContactEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mddrivemode">MDDriveMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdhttpproxy">MDHttpProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmember">MDMember</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmembers">MDMembers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmessagecmd">MDMessageCmd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmuststaple">MDMustStaple</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdnotifycmd">MDNotifyCmd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdomain">MDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdomainsetsection"><MDomainSet></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdportmap">MDPortMap</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdprivatekeys">MDPrivateKeys</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdrenewmode">MDRenewMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdrenewwindow">MDRenewWindow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdrequirehttps">MDRequireHttps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdretrydelay">MDRetryDelay</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdretryfailover">MDRetryFailover</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdserverstatus">MDServerStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstapleothers">MDStapleOthers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstapling">MDStapling</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstoredir">MDStoreDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstorelocks">MDStoreLocks</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdwarnwindow">MDWarnWindow</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_md">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_md">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDActivationDelay" id="MDActivationDelay">MDActivationDelay</a> <a name="mdactivationdelay" id="mdactivationdelay">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDActivationDelay <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.42 and later</td></tr> +</table> + <p> + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDBaseServer" id="MDBaseServer">MDBaseServer</a> <a name="mdbaseserver" id="mdbaseserver">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control if base server may be managed or only virtual hosts.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDBaseServer on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDBaseServer off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Controls if the base server, the one outside all VirtualHosts should be managed by + mod_md or not. By default, it will not. For the very reason that + it may have confusing side-effects. It is recommended that you have virtual hosts + for all managed domains and do not rely on the global, fallback server configuration. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCAChallenges" id="MDCAChallenges">MDCAChallenges</a> <a name="mdcachallenges" id="mdcachallenges">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCAChallenges <var>name</var> [ <var>name</var> ... ]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDCAChallenges tls-alpn-01 http-01 dns-01</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Sets challenge types (in order of preference) when proving domain ownership. + Supported by the module are the challenge methods 'tls-alpn-01', 'dns-01' + and 'http-01'. The module will look at the overall configuration of the server + to find out which methods can be used. + </p><p> + If the server listens on port 80, for example, the 'http-01' method is available. + The prerequisite for 'dns-01' is a configured <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> command. + 'tls-alpn-01' is described above in 'https: Challenges'. + </p><p> + This auto selection works for most setups. But since Apache is a very powerful + server with many configuration options, the situation is not clear for all + possible cases. For example: it may listen on multiple IP addresses where some + are reachable on `https:` and some not. + </p><p> + If you configure <code class="directive">MDCAChallenges</code> directly, this auto selection is disabled. + Instead, the module will use the configured challenge list when talking to + the ACME server (a challenge type must be offered by the server as well). + This challenges are examined in the order specified. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateAgreement" id="MDCertificateAgreement">MDCertificateAgreement</a> <a name="mdcertificateagreement" id="mdcertificateagreement">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateAgreement accepted</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>When you use mod_md to obtain a certificate, you become a customer of the CA (e.g. Let's Encrypt). That means you need to read and agree to their Terms of Service, + so that you understand what they offer and what they might exclude or require from you. + mod_md cannot, by itself, agree to such a thing. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateAuthority" id="MDCertificateAuthority">MDCertificateAuthority</a> <a name="mdcertificateauthority" id="mdcertificateauthority">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateAuthority <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDCertificateAuthority letsencrypt</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + The URL(s) where the CA offers its service. + Instead of the actual URL, you may use 'letsencrypt' or 'buypass'. + </p><p> + If you configure more than one URL, each one is tried in a round-robin + fashion after a number of failures. You can configure how quickly or + delayed that happens via the <code class="directive">MDRetryDelay</code> and + <code class="directive">MDRetryFailover</code> directives. The default setting + makes a failover after about half a day of trying. + </p><p> + All other settings apply to each of these URLs. It is therefore + not possible to have two with different + <code class="directive">MDExternalAccountBinding</code>s, for example. + </p><p> + For testing, CAs commonly offer a second service URL. + The 'test' service does not give certificates valid in a browser, + but are more relaxed in regard to rate limits. + This allows for verfication of your own setup before switching + to the production service URL. + </p> + <div class="example"><h3>LE Test Setup</h3><pre class="prettyprint lang-config">MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateCheck" id="MDCertificateCheck">MDCertificateCheck</a> <a name="mdcertificatecheck" id="mdcertificatecheck">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateCheck <var>name</var> <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.42 and later</td></tr> +</table> + <p> + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateFile" id="MDCertificateFile">MDCertificateFile</a> <a name="mdcertificatefile" id="mdcertificatefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify a static certificate file for the MD.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateFile <var>path-to-pem-file</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + This is used inside a <code class="directive"><a href="#mdomainset">MDomainSet</a></code> and specifies + the file holding the certificate chain for the Managed Domain. The matching + key is specified via <code class="directive"><a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></code>. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><MDomain mydomain.com> + MDCertificateFile /etc/ssl/my.cert + MDCertificateKeyFile /etc/ssl/my.key +</MDomain></pre> +</div> + + <p> + This is that equivalent of the mod_ssl + <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> directive. It + has several uses. + </p><p> + If you want to migrate an existing domain, using static files, to + automated Let's Encrypt certificates, for one. You define the + <code class="directive"><a href="#mdomainset">MDomainSet</a></code>, add the files here and remove + the <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> from + your VirtualHosts. + </p><p> + This will give you the same as before, with maybe less repeating lines + in your configuration. Then you can add <code class="directive"><a href="#mdrenewmode">MDRenewMode</a></code> + 'always' to it and the module will get a new certificate before + the one from the file expires. When it has done so, you remove the + <code class="directive">MDCertificateFile</code> and reload the server. + </p><p> + Another use case is that you renew your Let's Encrypt certificates with + another ACME clients, for example the excellent + <a href="https://certbot.eff.org">certbot</a>. Then let your MDs point + to the files from certbot and have both working together. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateKeyFile" id="MDCertificateKeyFile">MDCertificateKeyFile</a> <a name="mdcertificatekeyfile" id="mdcertificatekeyfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify a static private key for for the static cerrtificate.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateKeyFile <var>path-to-file</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + This is used inside a <code class="directive"><a href="#mdomainset">MDomainSet</a></code> and specifies + the file holding the private key for the Managed Domain. The matching + certificate is specified via <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>. + </p><p> + This is that equivalent of the mod_ssl + <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> directive. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateMonitor" id="MDCertificateMonitor">MDCertificateMonitor</a> <a name="mdcertificatemonitor" id="mdcertificatemonitor">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The URL of a certificate log monitor.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateMonitor name url</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDCertificateMonitor crt.sh https://crt.sh?q=</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + This is part of the 'server-status' HTML user interface and has nothing to + do with the core functioning itself. It defines the link offered on that + page for easy checking of a certificate monitor. The SHA256 fingerprint + of the certificate is appended to the configured url. + </p><p> + Certificate Monitors offer supervision of Certificate Transparency (CT) + Logs to track the use of certificates for domains. The least you may see + is that Let's Encrypt (or whichever CA you have configured) has entered + your certificates into the CTLogs. + </p><p> + Caveat: certificate logs update and monitor's intakes of those + updates suffer some delay. This varies between logs and monitors. A + brand new certificate will not be known immediately. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateProtocol" id="MDCertificateProtocol">MDCertificateProtocol</a> <a name="mdcertificateprotocol" id="mdcertificateprotocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The protocol to use with the Certificate Authority.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateProtocol <var>protocol</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDCertificateProtocol ACME</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Specifies the protocol to use. Currently, only <code>ACME</code> is supported. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDCertificateStatus" id="MDCertificateStatus">MDCertificateStatus</a> <a name="mdcertificatestatus" id="mdcertificatestatus">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exposes public certificate information in JSON.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDCertificateStatus on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDCertificateStatus on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + When enabled, a resources is available in Managed Domains at + 'https://domain/.httpd/certificate-status' that returns a JSON + document list key properties of the current and of a renewed + certificate - when available. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">{ + "valid-until": "Thu, 29 Aug 2019 16:06:35 GMT", + "valid-from": "Fri, 31 May 2019 16:06:35 GMT", + "serial": "03039C464D454EDE79FCD2CAE859F668F269", + "sha256-fingerprint": "1ff3bfd2c7c199489ed04df6e29a9b4ea6c015fe8a1b0ce3deb88afc751e352d" + "renewal" : { ...renewed cert information... } +}</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDChallengeDns01" id="MDChallengeDns01">MDChallengeDns01</a> <a name="mdchallengedns01" id="mdchallengedns01">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDChallengeDns01 <var>path-to-command</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Define a program to be called when the `dns-01` challenge needs to be setup/torn down. + The program is given the argument `setup` or `teardown` followed by the domain name. + For `setup` the challenge content is additionally given. + </p><p> + You do not need to specify this, as long as a 'http:' or 'https:' challenge + method is possible. However, Let's Encrypt makes 'dns-01' the only + challenge available for wildcard certificates. If you require + one of those, you need to configure this. + </p><p> + It is now possible to use this directive inside a <code class="directive"><a href="#mdomain">MDomain</a></code> + section to specify a specific command for that domain. This allows to configure + a script specific for the particular DNS provider involved. + </p><p> + See the section about wildcard certificates above for more details. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDContactEmail" id="MDContactEmail">MDContactEmail</a> <a name="mdcontactemail" id="mdcontactemail">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDContactEmail <var>address</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.42 and later</td></tr> +</table> + <p> + The ACME protocol requires you to give a contact url when you sign up. Currently, + Let's Encrypt wants an email address (and it will use it to inform you about renewals + or changed terms of service). <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> uses the <code class="directive">MDContactEmail</code> directive email in + your Apache configuration, so please specify the correct address there. + If <code class="directive">MDContactEmail</code> is not present, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> will use the + <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code> directive. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDDriveMode" id="MDDriveMode">MDDriveMode</a> <a name="mddrivemode" id="mddrivemode">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>former name of MDRenewMode.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDDriveMode always|auto|manual</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDDriveMode auto</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>This directive exists for backward compatibility as the old name for + <code class="directive"><a href="#mdrenewmode">MDRenewMode</a></code>. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDExternalAccountBinding" id="MDExternalAccountBinding">MDExternalAccountBinding</a> <a name="mdexternalaccountbinding" id="mdexternalaccountbinding">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDExternalAccountBinding none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.52 and later</td></tr> +</table> + <p> + Configure values for ACME "External Account Binding", a feature + of the ACME standard that allows clients to bind registrations + to an existing customer account on ACME servers. + </p> + <p> + Let's Encrypt does not require those, but other ACME CAs do. + Check with your ACME CA if you need those and how to obtain the + values. They are two strings, a key identifier and a base64 encoded + 'hmac' value. + </p> + <p> + You can configure those globally or for a specific MDomain. Since + these values allow anyone to register under the same account, it is + adivsable to give the configuration file restricted permissions, + e.g. root only. + </p> + <p> + The value can also be taken from a JSON file, to keep more open + permissions on the server configuration and restrict the ones on that + file. The JSON itself is: + </p> + <div class="example"><h3>EAB JSON Example file</h3><pre class="prettyprint lang-config">{"kid": "kid-1", "hmac": "zWND..."}</pre> +</div> + <p> + If you change EAB values, the new ones will be used when the next + certificate renewal is due. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDHttpProxy" id="MDHttpProxy">MDHttpProxy</a> <a name="mdhttpproxy" id="mdhttpproxy">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a proxy for outgoing connections.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDHttpProxy <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Use a http proxy to connect to the <code class="directive"><a href="#mdcertificateauthority">MDCertificateAuthority</a></code>. Define this + if your webserver can only reach the internet with a forward proxy. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDMember" id="MDMember">MDMember</a> <a name="mdmember" id="mdmember">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Additional hostname for the managed domain.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDMember <var>hostname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Instead of listing all dns names on the same line, you may use + <code class="directive">MDMember</code> to add such names + to a managed domain. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><MDomain example.org> + MDMember www.example.org + MDMember mail.example.org +</MDomain></pre> +</div> + <p> + If you use it in the global context, outside a specific MD, you can only + specify one value, 'auto' or 'manual' as the default for all other MDs. See + <code class="directive"><a href="#mdomain">MDomain</a></code> for a + description of these special values. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDMembers" id="MDMembers">MDMembers</a> <a name="mdmembers" id="mdmembers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control if the alias domain names are automatically added.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDMembers auto|manual</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDMembers auto</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Defines if the <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> and + <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> values of a VirtualHost + are automatically added to the members of a Managed Domain or not. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDMessageCmd" id="MDMessageCmd">MDMessageCmd</a> <a name="mdmessagecmd" id="mdmessagecmd">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Handle events for Manage Domains</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + This command gets called when one of the following events happen for + a Managed Domain: "renewed", "installed", "expiring", "errored". The command may + be invoked for more than these in the future and ignore events + it is not prepared to handle. + </p><p> + This is the more flexible companion to <code class="directive"><a href="#mdnotifycmd">MDNotifyCmd</a></code>. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MDMessageCmd /etc/apache/md-message</pre> +<p><code> + +# will be invoked when a new certificate for mydomain.org is available as: +/etc/apache/md-message renewed mydomain.com + </code></p></div> + <p> + The program should not block, as the module will wait for it to finish. A + return code other than 0 is regarded as an error. + </p><p> + 'errored' is no immediate cause for concern since renewal is attempted + early enough to allow the internet to come back. This is reported at most + once per hour. + </p><p> + 'expiring' should be taken serious. It is issued when the + <code class="directive"><a href="#mdwarnwindow">MDWarnWindow</a></code> is reached. By default this is + 10% of the certificate lifetime, so for Let's Encrypt this currently + means 9 days before it expires. The warning is repeated at most once + a day. + </p><p> + 'renewed' means that a new certificate has been obtained and is stored + in the 'staging' area in the MD store. It will be activated on the next + server restart/reload. + </p><p> + 'installed' is triggered when a new certificate has been transferred from + staging into the domains location in MD store. This happens at server + startup/reload. Different to all other invocations, <code class="directive">MDMessageCmd</code> is run + with root permissions (on *nix systems) and has access to the certificate + files (and keys). Certificates needed for other applications or + in different formats can be processed on this event. + </p><p> + 'renewing' event is triggered before starting renew process for the managed + domain. Should the command return != 0 for this reason, renew will be + aborted and repeated on next cycle. Some cluster setups use this to + allow renewals to run only on a single node. + </p><p> + 'challenge-setup:type:domain' event is triggered when the challenge data for a domain has + been created. This is invoked before the ACME server is told to check for it. + The type is one of the ACME challenge types. This is invoked for every + DNS name in a MDomain. Cluster setups may use this event to distribute + challenge files to all nodes in a cluster. + </p><p> + ocsp-errored happens when <code class="directive"><a href="#mdstapling">MDStapling</a></code> + is enabled for a domain, this indicates + that an error was encountered retrieving the OCSP response from the + Certificate Authority. mod_md will continue trying. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDMustStaple" id="MDMustStaple">MDMustStaple</a> <a name="mdmuststaple" id="mdmuststaple">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDMustStaple on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDMustStaple off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Defines if newly requested certificate should have the OCSP Must Staple flag + set or not. If a certificate has this flag, the server is required to send a + OCSP stapling response to every client. This only works if you configure + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> to generate this (see <code class="directive"><a href="../mod/mod_ssl.html#sslusestapling">SSLUseStapling</a></code> + and friends). + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDNotifyCmd" id="MDNotifyCmd">MDNotifyCmd</a> <a name="mdnotifycmd" id="mdnotifycmd">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Run a program when a Managed Domain is ready.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDNotifyCmd <var>path</var> [ <var>args</var> ]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + The configured executable is run when a Managed Domain has signed up or + renewed its certificate. It is given the name of the processed MD as + additional arguments (after the parameters specified here). It should + return status code 0 to indicate that it has run successfully. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDomain" id="MDomain">MDomain</a> <a name="mdomain" id="mdomain">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define list of domain names that belong to one group.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + All the names in the list are managed as one Managed Domain (MD). + mod_md will request one single certificate that is valid for all these names. This + directive uses the global settings (see other MD directives below). If you + need specific settings for one MD, use + the <code class="directive"><a href="#mdomainset"><MDomainSet></a></code>. + </p><p> + There are 2 additional settings that are necessary for a Managed Domain: + a contact Email address (via <code class="directive"><a href="#mdcontactemail">MDContactEmail</a></code> or <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>) + and <code class="directive"><a href="#mdcertificateagreement">MDCertificateAgreement</a></code>. + The mail address of <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code> + is used to register at the CA (Let's Encrypt by default). + The CA may use it to notify you about + changes in its service or status of your certificates. + </p><p> + The second setting, <code class="directive"><a href="#mdcertificateagreement">MDCertificateAgreement</a></code>, + should have the value "accepted". By specifying this, you confirm that your + accept the Terms of Service of the CA. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MDContactEmail admin@example.org +MDCertificateAgreement accepted +MDomain example.org www.example.org + +<VirtualHost *:443> + ServerName example.org + DocumentRoot htdocs/root + + SSLEngine on +</VirtualHost> + +<VirtualHost *:443> + ServerName www.example.org + DocumentRoot htdocs/www + + SSLEngine on +</VirtualHost></pre> +</div> + <p> + There are two special names that you may use in this directive: 'manual' + and 'auto'. This determines if a Managed Domain shall have exactly the + name list as is configured ('manual') or offer more convenience. With 'auto' + all names of a virtual host are added to a MD. Conveniently, 'auto' is also + the default. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MDomain example.org + +<VirtualHost *:443> + ServerName example.org + ServerAlias www.example.org + DocumentRoot htdocs/root + + SSLEngine on +</VirtualHost> + +MDomain example2.org auto + +<VirtualHost *:443> + ServerName example2.org + ServerAlias www.example2.org + ... +</VirtualHost></pre> +</div> + <p> + In this example, the domain 'www.example.org' is automatically added to + the MD 'example.org'. Similarly for 'example2.org' where 'auto' is configured + explicitly. Whenever you add more ServerAlias names to this + virtual host, they will be added as well to the Managed Domain. + </p><p> + If you prefer to explicitly declare all the domain names, use 'manual' mode. + An error will be logged if the names do not match with the expected ones. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDomainSetsection" id="MDomainSetsection"><MDomainSet></a> <a name="mdomainsetsection" id="mdomainsetsection">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Container for directives applied to the same managed domains.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + This is the directive <code class="directive"><a href="#mdomain">MDomain</a></code> + with the added possibility to add setting just for this MD. In fact, + you may also use "<MDomain ..>" as a shortcut. + </p> + <p> + This allows you to configure an MD that uses another Certificate Authority, + have other renewal requirements, etc. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><MDomain sandbox.example.org> + MDCertificateAuthority https://someotherca.com/ACME +</MDomain></pre> +</div> + <p> + A common use case is to configure https: requirements separately for + your domains. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><MDomain example.org> + MDRequireHttps temporary +</MDomain></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDPortMap" id="MDPortMap">MDPortMap</a> <a name="mdportmap" id="mdportmap">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Map external to internal ports for domain ownership verification.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDPortMap <var>map1</var> [ <var>map2</var> ]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDPortMap http:80 https:443</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + The ACME protocol provides two methods to verify domain ownership via + HTTP: one that uses 'http:' urls (port 80) and one for 'https:' urls + (port 443). If your server is not reachable by at least one + of the two, ACME may only work by configuring your DNS server, + see <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code>. + </p><p> + On most public facing servers, 'http:' arrives on port 80 and + 'https:' on port 443. The module checks the ports your Apache server + is listening on and assumes those are available. This means that + when your server does not listen on port 80, it assumes that + 'http:' requests from the internet will not work. + </p><p> + This is a good guess, but it may be wrong. For example, your Apache + might listen to port 80, but your firewall might block it. 'http:' + is only available in your intranet. So, the module will falsely assume + that Let's Encrypt can use 'http:' challenges with your server. This + will then fail, because your firewall will drop those. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MDPortMap http:- https:8433</pre> +</div> + <p> + The above example shows how you can specify that 'http:' requests from + the internet will never arrive. In addition it says that 'https:' requests + will arrive on local port 8433. + </p><p> + This is necessary if you have port forwarding in place, your server may be + reachable from the Internet on port 443, but the local port that httpd uses is + another one. Your server might only listen on ports 8443 and 8000, but be reached + on ports 443 and 80 (from the internet). + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDPrivateKeys" id="MDPrivateKeys">MDPrivateKeys</a> <a name="mdprivatekeys" id="mdprivatekeys">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set type and size of the private keys generated.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDPrivateKeys <var>type</var> [ <var>params</var>... ]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDPrivateKeys RSA 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Defines what kind of private keys are generated for a managed domain and with + what parameters. You can have more than one private key type configured and + the module will obtain a certificate for each key. + </p><p> + For example, you may configure an RSA and an Elliptic Curve (EC) key, so + that 2 certificates are created for a domain. On a client connection, the first + one supported by the client will then be used. + </p><p> + Since EC keys and certificates are smaller, you might want to offer + them first for all compatible (modern) clients. This can enable + faster handshakes. Add an RSA key type to support older clients. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MDPrivateKeys secp256r1 rsa3072</pre> +</div> + <p> + The EC types supported depend on the CA you use. For Let's encrypt + the supported curves include 'secp256r1' and 'secp384r1'. + </p><p> + Each key and certificate type is stored in its own file in the + MD store. The key type is part of the file name with some backward + compatible naming for RSA certificates. So you may continue sharing + these files with other applications. + </p><p> + Please note that this setting only has an effect on new keys. Any existing + private key you have remains unaffected. Also, this only affects private keys + generated for certificates. ACME account keys are unaffected by this. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDRenewMode" id="MDRenewMode">MDRenewMode</a> <a name="mdrenewmode" id="mdrenewmode">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls if certificates shall be renewed.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDRenewMode always|auto|manual</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDRenewMode auto</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + In the default 'auto' mode, the module will do what makes most sense + of each Managed Domain. For a domain without any certificates, it will + obtain them from the Certificate Authority. + </p> + <p> + However, if you have defined an MD that is not used by any of Apache's + VirtualHosts, it will not bother. And for MDs with static certificate + files (see <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>), + it assumes that you have your own source, and will not renew them either. + </p> + <p> + You can override this default in either way. If you specify 'always', + the module will renew certificates for an MD, regardless if the + domains are in use or if there are static files. + </p> + <p> + For the opposite effect, configure 'manual' and no renewal will + be attempted. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDRenewWindow" id="MDRenewWindow">MDRenewWindow</a> <a name="mdrenewwindow" id="mdrenewwindow">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control when a certificate will be renewed.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDRenewWindow <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDRenewWindow 33%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + If the validity of the certificate falls below duration, mod_md + will get a new signed certificate. + </p><p> + Normally, certificates are valid for around 90 days and mod_md will renew + them the earliest 33% of their complete lifetime before they expire (so for + 90 days validity, 30 days before it expires). If you think this is not what + you need, you can specify either the exact time, as in: + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># 21 days before expiry +MDRenewWindow 21d +# 30 seconds (might be close) +MDRenewWindow 30s +# 10% of the cert lifetime +MDRenewWindow 10%</pre> +</div> + <p>When in auto drive mode, the module will check every 12 hours at least + what the status of the managed domains is and if it needs to do something. + On errors, for example when the CA is unreachable, it will initially retry + after some seconds. Should that continue to fail, it will back off to a + maximum interval of hourly checks. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDRequireHttps" id="MDRequireHttps">MDRequireHttps</a> <a name="mdrequirehttps" id="mdrequirehttps">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDRequireHttps off|temporary|permanent</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDRequireHttps off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>This is a convenience directive to ease http: to https: migration of + your Managed Domains. With: + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MDRequireHttps temporary</pre> +</div> + <p>you announce that you want all traffic via http: URLs to be redirected + to the https: ones, for now. This is safe and you can remove this again at + any time. + </p><p> + <strong>The following has consequences: </strong>if you want client to <strong>no longer</strong> use the + http: URLs, configure: + </p> + <div class="example"><h3>Permanent (for at least half a year!)</h3><pre class="prettyprint lang-config">MDRequireHttps permanent</pre> +</div> + <p>This does two things: + </p> + <ol> + <li>All request to the <code>http:</code> resources are redirected to the + same url with the <code>https:</code> scheme using the <code>301</code> + status code. This tells clients that this is intended to be forever and + the should update any links they have accordingly. + </li> + <li>All answers to <code>https:</code> requests will carry the header + <code>Strict-Transport-Security</code> with a life time of half a year. + This tells the browser that it <strong>never</strong> (for half a year) shall use <code>http:</code> + when talking to this domain name. Browsers will, after having seen this, refuse + to contact your unencrypted site. This prevents malicious middleware to + downgrade connections and listen/manipulate the traffic. Which is good. But + you cannot simply take it back again. + </li> + </ol> + <p>You can achieve the same with <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> and some + <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> configuration, + basically. If you do it yourself, please make sure to exclude the paths + /.well-known/* from your redirection, otherwise mod_md + might have trouble signing on new certificates. + </p> + <p>If you set this globally, it applies to all managed domains. If you want + it for a specific domain only, use: + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><MDomain xxx.yyy> + MDRequireHttps temporary +</MDomain></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDRetryDelay" id="MDRetryDelay">MDRetryDelay</a> <a name="mdretrydelay" id="mdretrydelay">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDRetryDelay <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDRetryDelay 5s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.54 and later</td></tr> +</table> + <p> + The amount of time to wait after an error before trying + to renew a certificate again. This duration is doubled after + each consecutive error with a maximum of 24 hours. + </p> + <p> + It is kept separate for each certificate renewal. Meaning an error + on one MDomain does not delay the renewals of other domains. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDRetryFailover" id="MDRetryFailover">MDRetryFailover</a> <a name="mdretryfailover" id="mdretryfailover">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDRetryFailover <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDRetryFailover 13</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.54 and later</td></tr> +</table> + <p> + The number of consecutive errors on renewing a certificate before + another CA is selected. This only applies to configurations that + have more than one <code class="directive">MDCertificateAuthority</code> + specified. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDServerStatus" id="MDServerStatus">MDServerStatus</a> <a name="mdserverstatus" id="mdserverstatus">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control if Managed Domain information is added to server-status.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDServerStatus on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDServerStatus on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Apaches 'server-status' handler allows you configure a resource to monitor + what is going on. This includes now a section listing all Managed Domains + with the DNS names, renewal status, lifetimes and main properties. + </p><p> + You can switch that off using this directive. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDStapleOthers" id="MDStapleOthers">MDStapleOthers</a> <a name="mdstapleothers" id="mdstapleothers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable stapling for certificates not managed by mod_md.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDStapleOthers on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDStapleOthers on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.42 and later</td></tr> +</table> + <p> + This setting only takes effect when <code class="directive"><a href="#mdstapling">MDStapling</a></code> is enabled. It controls + if <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> should also provide stapling information for certificates + that are not directly controlled by it, e.g. renewed via an ACME CA. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDStapling" id="MDStapling">MDStapling</a> <a name="mdstapling" id="mdstapling">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable stapling for all or a particular MDomain.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDStapling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDStapling off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.42 and later</td></tr> +</table> + <p> + <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> offers an implementation for providing OCSP stapling information. + This is an alternative to the one provided by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. For backward + compatibility, this is disabled by default. + </p><p> + The stapling can be switched on for all certificates on the server or + for an individual <code class="directive"><a href="#mdomain">MDomain</a></code>. + This will replace any stapling configuration + in <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> for these hosts. When disabled, the <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> stapling + will do the work (if it is itself enabled, of course). This allows for + a gradual shift over from one implementation to the other. + </p><p> + The stapling of <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> will also work for domains where the certificates + are not managed by this module (see <code class="directive"><a href="#mdstapleothers">MDStapleOthers</a></code> for how to control this). + This allows use of the new stapling without using any ACME certificate + management. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDStaplingKeepResponse" id="MDStaplingKeepResponse">MDStaplingKeepResponse</a> <a name="mdstaplingkeepresponse" id="mdstaplingkeepresponse">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls when old responses should be removed.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDStaplingKeepResponse <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDStaplingKeepResponse 7d</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.42 and later</td></tr> +</table> + <p> + This time window specifies when OCSP response data used in stapling + shall be removed from the store again. Response information older than + 7 days (default) is deleted on server restart/reload. This keeps the store + from growing when certificates are renewed/reconfigured frequently. + </p><p> + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDStaplingRenewWindow" id="MDStaplingRenewWindow">MDStaplingRenewWindow</a> <a name="mdstaplingrenewwindow" id="mdstaplingrenewwindow">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control when the stapling responses will be renewed.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDStaplingRenewWindow <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDStaplingRenewWindow 33%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.42 and later</td></tr> +</table> + <p> + If the validity of the OCSP response used in stapling falls below <var>duration</var>, + <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> will obtain a new OCSP response. + </p><p> + The CA issuing a certificate commonly also operates the OCSP responder + service and determines how long its signed response about the validity + of a certificate are itself valid. The longer a response is valid, the longer + it can be cached which mean better overall performance for everyone. + The shorter the life time, the more rapidly certificate revocations + spread to clients. Also, service reliability is a consideration. + </p><p> + By adjusting the stapling renew window you can control parts of this yourself. + If you make the renew time short (e.g. a short time before the current + information expires), you gain maximum cache time. But a service outage + (down for maintenance, for example) will affect you. If you renew a long + time before expiry, updates will be made more frequent, cause more load + on the CA server infrastructure and also more coordination between + the child processes of your server. + </p><p> + The default is chosen as 33%, which means renewal is started when only + a third of the response lifetime is left. For a CA that issues OCSP + responses with lifetime of 3 days, this means 2 days of caching and 1 day + for renewal attempts. A service outage would have to last full 24 hours + to affect your domains. + </p><p> + Setting an absolute renew window, like `2d` (2 days), is also possible. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDStoreDir" id="MDStoreDir">MDStoreDir</a> <a name="mdstoredir" id="mdstoredir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Path on the local file system to store the Managed Domains data.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDStoreDir <var>path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDStoreDir md</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Defines where on the local file system the Managed Domain data is stored. This is + an absolute path or interpreted relative to the server root. The default will create + a directory 'md' in your server root. + </p><p> + If you move this and have already data, be sure to move/copy the data first to + the new location, reconfigure and then restart the server. If you reconfigure + and restart first, the server will try to get new certificates that it thinks + are missing. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDStoreLocks" id="MDStoreLocks">MDStoreLocks</a> <a name="mdstorelocks" id="mdstorelocks">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDStoreLocks on|off|<var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDStoreLocks off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.55 and later</td></tr> +</table> + <p> + Enable this to use a lock file on server startup when + <code class="directive">MDStoreDir</code> is synchronized with the server + configuration and renewed certificates are activated. + </p><p> + Locking is intended for setups in a cluster that have a shared + file system for MDStoreDir. It will protect the activation of + renewed certificates when cluster nodes are restarted/reloaded + at the same time. Under the condition that the shared file + system does support file locking. + </p><p> + The default duration to obtain the lock is 5 seconds. If the log + cannot be obtained, an error is logged and the server startup will + continue. This may result in a cluster node to still use the + previous certificate afterwards. + </p><p> + A higher timeout will reduce that likelihood, but may delay server + startups/reloads in case the locks are not properly handled in + the underlying file system. A lock should only be held by a + httpd instance for a short duration. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MDWarnWindow" id="MDWarnWindow">MDWarnWindow</a> <a name="mdwarnwindow" id="mdwarnwindow">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MDWarnWindow duration</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MDWarnWindow 10%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + See <code class="directive"><a href="#mdrenewwindow">MDRenewWindow</a></code> for a description on + how you can specify the time. + </p><p> + The modules checks the remaining lifetime of certificates and invokes + <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> when there is less than the warn + window left. With the default, this mean 9 days for certificates from + Let's Encrypt. + </p><p> + It also applies to Managed Domains with static certificate files ( + see <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>). + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_md.html" title="English"> en </a> | +<a href="../fr/mod/mod_md.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_md.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_md.html.fr.utf8 b/docs/manual/mod/mod_md.html.fr.utf8 new file mode 100644 index 0000000..22a15ac --- /dev/null +++ b/docs/manual/mod/mod_md.html.fr.utf8 @@ -0,0 +1,1718 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_md - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_md</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_md.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_md.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des domaines au sein des serveurs virtuels et obtention + de certificats via le protocole ACME + </td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>md_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_md.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP + Apache</td></tr></table> +<h3>Sommaire</h3> + + <p> + Ce module permet de gérer les propriétés courantes des domaines pour un + ou plusieurs serveurs virtuels. Il fournit deux fonctionnalités + principales : la première permet la supervision et le renouvellement des + certificats TLS via le protocole ACME (<a href="https://tools.ietf.org/html/rfc8555">RFC 8555</a>). Le module + effectue le renouvellement des certificats avant leur expiration + afin d'éviter une interruption des services internet. Il est possible de + monitorer l'état de tous les certificats gérés par mod_md et de configurer + le serveur de façon à ce qu'il envoie des notifications de + renouvellement, d'expiration ou d'erreur personnalisées. + </p><p> + La seconde fonctionnalité principale fournit une implémentation + alternative de l'agrafage OCSP, et ceci aussi bien pour les certificats + gérés par mod_md que pour les certificats que vous gérez vous-même. + Composant nécessaire pour tout site https, l'agrafage OCSP influence la + vitesse de chargement des pages et suivant la configuration, la + disponibilité de ces dernières. Vous trouverez plus de détails dans la section + agrafage ci-dessous. + </p><p> + L'autorité ACME par défaut pour la gestion des certificats est <a href="https://letsencrypt.org/">Let's Encrypt</a>, mais il est possible + de configurer une autre CA si cette dernière supporte le protocole. + </p> + + <p>Exemple de configuration simple :</p> + + <div class="note"><h3>TLS dans un contexte de serveur virtuel</h3> + <pre class="prettyprint lang-config">MDomain example.org + +<VirtualHost *:443> + ServerName example.org + DocumentRoot htdocs/a + + SSLEngine on + # aucun certificat spécifié +</VirtualHost></pre> + + <p> + Au démarrage, un serveur ainsi configuré contactera <a href="https://letsencrypt.org/">Let's Encrypt</a> pour demander un + certificat pour le domaine considéré. Si Let's Encrypt peut vérifier + le propriétaire du domaine, le module obtiendra le certificat et sa + chaîne de certification, le stockera dans son système de fichiers + (voir la directive <code class="directive"><a href="#mdstoredir">MDStoreDir</a></code>) et le proposera au prochain + redémarrage à <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + </p><p> + Ce processus se déroule pendant l'exécution du serveur. Tous les + autres serveurs virtuels continueront à fonctionner normalement, + mais tant que le certificat ne sera pas disponible, toute requête + pour le domaine considéré génèrera une réponse du type '503 Service + Unavailable'. + </p> + </div> + + <div class="note"><h3>Prérequis</h3> + <p> + Pour pouvoir être utilisé, ce module nécessite le chargement + préalable du module <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>. + </p><p> + Pour que Let's Encrypt puisse signer et renouveler votre certificat, + votre serveur doit être accessible depuis l'internet public sur le port 80 + (http:) et/ou 443 (https:), à moins que votre serveur soit configuré + pour utiliser les vérifications DNS - pour plus de détails, voir + "certificats génériques". + </p><p> + Le module choisit une des méthodes proposées par Let's Encrypt. En + général, LE propose des méthodes de vérification sur les ports ou le + DNS et Apache choisit une des méthodes disponibles. + </p><p> + Pour déterminer quelles méthodes sont disponibles, le module + consulte les ports sur lesquels écoute Apache httpd. Si le port 80 en + fait partie, le module supposera que la vérification http: nommée + http-01 est disponible. Si le port 443 en fait aussi partie, la + vérification https: nommée tls-alpn-01 sera ajoutée à la liste des + méthodes disponibles. Enfin, si la directive <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> est définie, la méthode + de vérification dns-01 sera aussi ajoutée. + </p><p> + Si votre configuration est plus complexe, deux méthodes permettent + d'orienter ce choix. En premier lieu, voyez du côté de la directive + <code class="directive"><a href="#mdportmap">MDPortMap</a></code> si le serveur se + trouve derrière un redirecteur de port comme un pare-feu. En second + lieu, vous pouvez court-circuiter entièrement le processus de choix + du module en définissant directement la directive <code class="directive"><a href="#mdcachallenges">MDCAChallenges</a></code>. + </p> + </div> + + <div class="note"><h3>Vérifications https:</h3> + <p> + Pour la vérification de domaine via le protocole TLS, le nom de la + méthode correspondante est "tls-alpn-01". Le serveur Apache doit + alors être en écoute sur le port 443 (voir la directive <code class="directive"><a href="#mdportmap">MDPortMap</a></code> si vous redirigez ce port vers + un autre). + </p><p> + Let's Encrypt ouvrira alors une connexion TLS avec Apache en + utilisant l'indicateur spécial "acme-tls/1" (cette portion + indication de TLS se nomme ALPN, d'où le nom de la méthode de + vérification. ALPN est aussi utilisé par les navigateurs pour ouvrir + une connexion HTTP/2. + </p><p> + Si vous ne souhaitez cependant qu'aucun de vos sites ne soit + accessible sur le port 80, vous pouvez laiser ce dernier ouvert et + rediriger toutes les requêtes vers vos sites en https:. Pour + ce faire, utilisez la directive <code class="directive"><a href="#mdrequirehttps">MDRequireHttps</a></code> décrite plus loin. Votre + serveur pourra alors continuer à répondre au requêtes en http: en + provenance de Let's Encrypt. + Comme dans le cas du protocole HTTP/2, vous pouvez configurer ceci + de la manière suivante : + </p> + <pre class="prettyprint lang-config">Protocols h2 http/1.1 acme-tls/1</pre> + + <p> + La méthode de vérification "tls-alpn-01" sera alors disponible. + </p> + </div> + <div class="note"><h3>Certificats génériques</h3> + <p> + Les certificats génériques sont supportés à partir de la version 2.x + de mod_md, mais leur obtention n'est pas triviale. Let's Encrypt + impose pour ces derniers la vérification "dns-01". + Aucune autre n'est considérée comme suffisamment efficace. + </p><p> + Apache ne peut cependant pas implémenter cette vérification de + lui-même . Comme son nom l'indique, "dns-01" vous demande de + présenter certains enregistrement DNS spécifiques à votre domaine + qui doivent contenir certaines données de vérification. Vous devez + donc être en mesure d'éditer et modifier les enregistrements DNS de + votre domaine. + </p><p> + Si c'est le cas, vous pouvez procéder via mod_md. Supposons que vous + disposiez pour cela du script /usr/bin/acme-setup-dns ; vous + configurez alors Apache comme suit : + </p> + <pre class="prettyprint lang-config">MDChallengeDns01 /usr/bin/acme-setup-dns</pre> + + <p> + Apache fera alors appel à ce script lorsqu'il aura besoin de + définir ou détruire un enregistrement DNS de vérification pour le + domaine considéré. + </p><p> + Supposons ainsi que vous souhaitiez obtenir un certificat pour + *.mydomain.com ; mod_md va appeler : + </p> + <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns setup mydomain.com challenge-data +# ceci nécessite de supprimer tout enregistrement DNS TXT pour +# _acme-challenge.mydomain.com et d'en créer un nouveau dont le contenu sera +# "challenge-data"</pre> + + <p> + il appellera ensuite : + </p> + <pre class="prettyprint lang-config">/usr/bin/acme-setup-dns teardown mydomain.com +# ceci nécessite de supprimer tout enregistrement DNS TXT pour +# _acme-challenge.mydomain.com</pre> + + </div> + + <div class="note"><h3>Monitoring</h3> + <p>Apache possède un module de monitoring standard : + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. mod_md y ajoute une section et facilite + le monitoring de votre domaine. + </p><p> + Vous pouvez alors visualiser tous vos domaines gérés par ordre + alphabétique, les noms de domaine qu'ils contiennent, un état + global, les date d'expiration ainsi que des paramètres + spécifiques. Ces derniers comprennent la périodicité de + renouvellement que vous avez sélectionnée (ou la valeur par + défaut), la CA (autorité de certification) utilisée, etc... + </p><p> + La colonne "Renewal" montre des rapports d'activité ou d'erreur + à propos des renouvellements de certificats, ce qui devrait + faciliter la vie des utilisateurs qui souhaitent savoir si tout + fonctionne correctement ou si des problèmes se produisent. + </p><p> + Si un des domaines gérés provoque une erreur, elle apparaîtra + aussi ici, ce qui vous permettra de visualiser les éventuels + problèmes sans devoir vous plonger dans les journaux du serveur. + </p><p> + Il existe aussi un nouveau gestionnaire, "md-status", qui peut + vous fournir les informations à propos des domaines gérés à + partir de "server-status" et au format JSON. Vous pouvez le + configurer comme suit sur votre serveur : + </p> + <pre class="prettyprint lang-config"><Location "/md-status"> + SetHandler md-status +</Location></pre> + + <p> + Comme pour "server-status", vous devez + ajouter les autorisations nécessaires. + </p><p> + Si vous ne souhaitez recevoir l'état JSON que pour un domaine + spécifique, ajoutez le simplement à votre URL d'état : + </p> + <pre class="prettyprint lang-config">> curl https://<yourhost>/md-status/another-domain.org +{ + "name": "another-domain.org", + "domains": [ + "another-domain.org", + "www.another-domain.org" + ], + ...</pre> + + <p> + Cet état JSON montre aussi un journal des renouvellements de + certificats : + </p> + <pre class="prettyprint lang-config">{ +"when": "Wed, 19 Jun 2019 14:45:58 GMT", +"type": "progress", "detail": "The certificate for the managed domain has been renewed successfully and can be used. A graceful server restart now is recommended." +},{ +"when": "Wed, 19 Jun 2019 14:45:58 GMT", +"type": "progress", "detail": "Retrieving certificate chain for test-901-003-1560955549.org" +},{ +"when": "Wed, 19 Jun 2019 14:45:58 GMT", +"type": "progress", "detail": "Waiting for finalized order to become valid" +},{ +"when": "Wed, 19 Jun 2019 14:45:50 GMT", +"type": "progress", "detail": "Submitting CSR to CA for test-901-003-1560955549.org" +}, +...</pre> + + <p> + Vous trouverez aussi ces informations dans le fichier "job.json" + dans votre répertoire de test et, s'il est activé, dans le + répertoire des domaines. Vous pourrez ainsi les consulter à tout + moment. + </p><p> + Enfin, la directive <code class="directive"><a href="#mdcertificatestatus">MDCertificateStatus</a></code> donne accès au + informations à propos du certificat spécifié au format JSON. + </p> + </div> + + <div class="note"><h3>Agrafage</h3> + <p> + Si vous voulez commencer par tester l'agrafage pour un seul + domaine géré, utilisez cette configuration : + </p> + <pre class="prettyprint lang-config"><MDomain mydomain.net> + MDStapling on +</MDomain></pre> + + <p> + et utilisez 'server-status' et/ou <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> pour voir comment tout + cela fonctionne. Vous pourrez alors vérifier si l'information + d'agrafage est présente, sa durée de validité, son origine et à + quel moment elle sera rafraîchie. + </p><p> + Si tout fonctionne comme vous le souhaitez, vous pouvez définir + cette configuration pour tous les certificats ou seulement vos + certificats gérés. + </p><p> + De nombreux sites utilisent l'implémentation d'agrafage + existante de mod_ssl depuis des années. Les implémentations par + mod-ssl et mod_md présentent deux différences principales : + </p> + <ol> + <li>Lecture des informations à la demande ou de manière planifiée + : mod_ssl extrait les informations d'agrafage lorsque le besoin + s'en fait sentir, par exemple lors d'une nouvelle connexion. mod_md + quant à lui, extrait ces informations au démarrage du serveur et + lorsqu'elles ont atteint les deux tiers de leur durée de vie.</li> + <li>Conservation des informations en mémoire ou de manière + persistante : mod_ssl <em>peut</em> conserver ces informations + de manière persistante, mais la plupart des configurations + exemples utilisent un cache en mémoire. mod_md quant à lui, + stocke systématiquement les informations dans le système de + fichiers.</li> + </ol> + <p> + Si par malchance vous redémarrez votre serveur alors que le + service OCSP de votre CA est en panne, les utilisateurs ne + pourront plus atteindre vos sites. Sans persistance des + informations, votre serveur n'est plus en mesure de fournir au + client les données nécessaires, et le navigateur client ne peut + pas les obtenir lui-même car le service OCSP ne répond pas. + </p><p> + Avec l'implémentation de mod_md, l'information d'agrafage est + stockée de manière persistante, et elle peut donc être réchargée + au démarrage du serveur et être ainsi disponible pour les + connexions entrantes. Un jour ou deux avant expiration des + informations, mod_md va les renouveler, ce qui permet de faire + face à un temps d'indisponibilité du service OCSP assez long. + </p><p> + Pour conserver une compatibilité ascendante, l'implémentation de + mod_ssl n'a pas pu être modifiée en profondeur. Par exemple, + mod_ssl est incapable d'ajouter une dépendance à mod_watchdog + sans rendre inutilisables de nombreuses configurations + existantes qui ne chargent pas ce module. + </p> + </div> + + <div class="note"><h3>tailscale</h3> + <p> + Depuis la version 2.4.14 du module, vous pouvez l'utiliser pour + obtenir des certificats pour vos domaines <a href="https://tailscale.com">tailscale</a>. + </p> + <pre class="prettyprint lang-config"><MDomain mydomain.some-thing.ts.net> + MDCertificateProtocol tailscale + MDCertificateAuthority file://localhost/var/run/tailscale/tailscaled.sock", +</MDomain></pre> + + <p> + Tailscale permet des communications sécurisées entre vos + machines, où qu'elles se trouvent, et peut leur fournir des noms de + domaine dans l'espace *.ts.net. Pour ceux-ci, il fournira + aussi ensuite des certificats Let's Encrypt de façon à ce que + vous puissiez ouvrir ces domaines dans votre navigateur en toute + sécurité. + </p> + <p> + Apache va contacter le démon tailscale local à l'aide des + directives listées ci-dessous pour obtenir et renouveler les + certificats. Ceci ne fonctionnera cependant que pour les noms de + domaine que tailscale aura assigné à votre machine. + </p> + <p> + Dans le cas contraire, ces certificats fonctionneront exactement + de la même façon que ceux qui auront été obtenus à l'aide du + protocole ACME de Lets Encrypt. Vous les verrez dans le rapport + d'état et les directives MDMessageCmd seront aussi exécutées + pour eux. + </p> + <p> + Vous trouverez plus de détails dans la <a href="https://github.com/icing/mod_md#tailscale">documentation + github de mod_md</a>. + </p> + <p> + Notez que cette fonctionnalité n'est disponible que sur les + machines où le démon tailscale fournit un socket de domaine unix. + Jusqu'à présent, ceci ne semble être le cas que sur les systèmes + de style Unix. + </p> + </div> + + </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#mdactivationdelay">MDActivationDelay</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdbaseserver">MDBaseServer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcachallenges">MDCAChallenges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateagreement">MDCertificateAgreement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateauthority">MDCertificateAuthority</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatecheck">MDCertificateCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatefile">MDCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatemonitor">MDCertificateMonitor</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateprotocol">MDCertificateProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatestatus">MDCertificateStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdchallengedns01">MDChallengeDns01</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdcontactemail">MDContactEmail</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mddrivemode">MDDriveMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdexternalaccountbinding">MDExternalAccountBinding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdhttpproxy">MDHttpProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmember">MDMember</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmembers">MDMembers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmessagecmd">MDMessageCmd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdmuststaple">MDMustStaple</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdnotifycmd">MDNotifyCmd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdomain">MDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdomainsetsection"><MDomainSet></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdportmap">MDPortMap</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdprivatekeys">MDPrivateKeys</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdrenewmode">MDRenewMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdrenewwindow">MDRenewWindow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdrequirehttps">MDRequireHttps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdretrydelay">MDRetryDelay</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdretryfailover">MDRetryFailover</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdserverstatus">MDServerStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstapleothers">MDStapleOthers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstapling">MDStapling</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstoredir">MDStoreDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdstorelocks">MDStoreLocks</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#mdwarnwindow">MDWarnWindow</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_md">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_md">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdactivationdelay" id="mdactivationdelay">Directive</a> <a name="MDActivationDelay" id="MDActivationDelay">MDActivationDelay</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDActivationDelay <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP + Apache</td></tr> +</table> + <p> + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdbaseserver" id="mdbaseserver">Directive</a> <a name="MDBaseServer" id="MDBaseServer">MDBaseServer</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le serveur global peut être géré ou seulement + les serveurs virtuels.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDBaseServer on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDBaseServer off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive permet de définir si le serveur global, autrement + dit la partie du serveur située en dehors de tout serveur virtuel, + doit être géré par mod_md ou non. Par défaut il ne + le sera pas car cela provoquerait des effets de bord + générateurs de confusion. Il est donc recommandé de + définir des serveurs virtuels pour tous les domaines gérés, et + d'exclure des domaines gérés le serveur global (serveur par défaut). + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcachallenges" id="mdcachallenges">Directive</a> <a name="MDCAChallenges" id="MDCAChallenges">MDCAChallenges</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type de négociation ACME utilisée pour prouver l'appartenance + du domaine.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCAChallenges <var>name</var> [ <var>name</var> ... ]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCAChallenges tls-alpn-01 http-01 dns-01</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive permet de définir les types de négociation + utilisés (par ordre de préférences) pour prouver l'appartenance + du domaine. Les types de négociation supportés par le module + sont 'tls-alpn-01', 'dns-01' et 'http-01'. Le module parcourt + toute la configuration du serveur pour déterminer quelles + méthodes peuvent être utilisées. + </p><p> + Si par exemple le serveur est en écoute sur le port 80, c'est la + méthode 'http-01' qui sera disponible. Pour 'dns-01', une + commande <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> + définie sera requise. La méthode 'tls-alpn-01' est décrite + ci-dessus dans 'https: Challenges'. + </p><p> + Cette sélection automatique fonctionne pour la plupart des + configurations. Mais comme Apache est un serveur très puissant + avec de nombreuses options de configuration, certains cas + pourront poser des problèmes. Par exemple, il peut être en + écoute sur plusieurs adresses IP, certaines étant accessibles en + https: et d'autres non. + </p><p> + Si vous définissez <code class="directive">MDCAChallenges</code> + directement, la sélection automatique est désactivée. A la + place, le module va utiliser la liste de méthodes de négociation + spécifiée pour dialoguer avec le serveur ACME (un type de + négociation doit aussi être proposé par le serveur). Ces + méthodes de négociation sont examinées dans l'ordre selon lequel + elles sont spécifiées. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificateagreement" id="mdcertificateagreement">Directive</a> <a name="MDCertificateAgreement" id="MDCertificateAgreement">MDCertificateAgreement</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Acceptation des conditions d'utilisation de l'autorité de + certification.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateAgreement accepted</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Lorsque vous utilisez mod_md pour obtenir un certificat, vous + devenez un client de l'autorité de certification (par exemple Let's + Encrypt). Cela signifie que vous devez lire et approuver leurs + conditions d'utilisation, et donc que vous avez compris ce qu'ils + ont à offrir, ce qu'ils ne fournissent pas, et ce que vous devez + vous-même fournir. mod_md ne peut pas de lui-même procéder à cet + agrément à votre place. </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificateauthority" id="mdcertificateauthority">Directive</a> <a name="MDCertificateAuthority" id="MDCertificateAuthority">MDCertificateAuthority</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les URLs du service ACME de l'autorité de certification.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateAuthority <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateAuthority letsencrypt</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Les URLs auxquelles l'autorité de certication offre son service. + Plutôt que l'URL proprement dite, vous pouvez spécifier + 'letsencrypt' ou 'buypass'. + </p><p> + Si vous spécifiez plusieurs URLs, chacune d'entre elles est + testée en mode tourniquet ("round-robin") après un certain + nombre d'échecs. Vous pouvez définir la rapidité de ce processus + à l'aide des directives <code class="directive">MDRetryDelay</code> et + <code class="directive">MDRetryFailover</code>. Par défaut, une demie + journée d'essais infructueux est considérée comme un échec. + </p><p> + Tous les autres réglages s'appliquent à chacune de ces URLs. Il + est ainsi par exemple impossible d'en avoir deux avec des + directives <code class="directive">MDExternalAccountBinding</code> + différentes. + </p><p> + A des fins de test, les CAs fournissent en général une seconde + URL de service. Le service 'test' ne fournit pas de certificat + valable pour un navigateur, mais il est moins regardant vis à + vis des limites de vitesse. Il permet de tester votre + configuration avant de passer à l'URL de service de production. + </p> + <div class="example"><h3>Configuration pour le mode test de Let's Encrypt</h3><pre class="prettyprint lang-config">MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificatecheck" id="mdcertificatecheck">Directive</a> <a name="MDCertificateCheck" id="MDCertificateCheck">MDCertificateCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateCheck <var>name</var> <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP + Apache</td></tr> +</table> + <p> + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificatefile" id="mdcertificatefile">Directive</a> <a name="MDCertificateFile" id="MDCertificateFile">MDCertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un fichier de certificat statique pour le domaine géré.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateFile <var>path-to-pem-file</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive s'utilise dans une section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> et permet de spécifier le + nom du fichier qui contiendra le certificat pour le + domaine géré. La clé correspondante est spécifiée via la + directive <code class="directive"><a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></code>. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain mydomain.com> + MDCertificateFile /etc/ssl/my.cert + MDCertificateKeyFile /etc/ssl/my.key +</MDomain></pre> +</div> + + <p> + Cette directive est équivalente à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> de mod_ssl. Elle + s'utilise dans de nombreuses applications. + </p><p> + Une première application est la migration de la gestion des + certificats d'un domaine existant depuis le mode statique via des + fichiers vers le mode automatique via Let's Encrypt. A cet + effet, vous définissez tout d'abord la section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> dans laquelle vous + spécifiez les fichiers, puis supprimez la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> de la + configuration de vos serveurs virtuels. + </p><p> + Avec cette configuration, votre serveur fonctionnera comme + avant, avec probablement moins de lignes répétitives. Vous + pouvez alors ajouter la directive <code class="directive"><a href="#mdrenewmode">MDRenewMode</a></code> avec pour valeur + "always", et le module obtiendra un nouveau cerificat avant que + celui du fichier considéré n'arrive à expiration. Une fois le + certificat renouvelé, vous pouvez supprimer la directive + <code class="directive">MDCertificateFile</code> et + recharger la configuration. + </p><p> + Une autre application est le renouvellement de vos certificats + Let's Encrypt avec d'autres clients ACME comme l'excellent <a href="https://certbot.eff.org">certbot</a>. A cet effet, faites + pointer vos domaines gérés vers les fichiers de certbot et ils + travaillerons alors ensemble. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificatekeyfile" id="mdcertificatekeyfile">Directive</a> <a name="MDCertificateKeyFile" id="MDCertificateKeyFile">MDCertificateKeyFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une clé privée statique pour le certificat + statique.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateKeyFile <var>path-to-file</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive s'utilise dans une section <code class="directive"><a href="#mdomainset">MDomainSet</a></code> et permet de spécifier le + nom du fichier contenant la clé privée pour le domaine géré. Le + certificat correspondant est spécifié via la directive + <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>. + </p><p> + Cette directive est équivalente à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> de mod_ssl. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificatemonitor" id="mdcertificatemonitor">Directive</a> <a name="MDCertificateMonitor" id="MDCertificateMonitor">MDCertificateMonitor</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL d'un moniteur d'enregistrement de certificat.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateMonitor name url</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateMonitor crt.sh https://crt.sh?q=</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive impacte l'interface utilisateur HTML 'server-status' et + n'a rien à voir avec le fonctionnement de mod_md proprement dit. + Elle permet de définir le lien qui s'affiche sur cette interface + pour accéder facilement à un moniteur de certificat. L'empreinte + SHA256 du certificat doit être ajoutée à l'URL spécifié. + </p><p> + Les moniteurs de certificat donnent accès aux enregistrements de + la Certificate Transparency (CT) afin de tracer l'utilisation + des certificats pour les domaines. Vous pourrez au moins + vérifier si Let's Encrypt (ou tout autre CA que vous aurez + défini) a bien inscrit votre certificat dans les enregistrements + de CT. + </p><p> + Avertissement : La mise à jour des enregistrements des + certificats et leur prise en compte par les moniteurs peut + prendre un certain temps. Ce dernier varie en fonction des + enregistreurs et des moniteurs. Un nouveau certificat ne sera + donc pas connu immédiatement. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificateprotocol" id="mdcertificateprotocol">Directive</a> <a name="MDCertificateProtocol" id="MDCertificateProtocol">MDCertificateProtocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le protocole à utiliser avec l'autorité de certification.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateProtocol <var>protocol</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateProtocol ACME</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Cette directive permet de spécifier le protocole à utiliser. + Pour l'heure, seul le protocole <code>ACME</code> est supporté.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcertificatestatus" id="mdcertificatestatus">Directive</a> <a name="MDCertificateStatus" id="MDCertificateStatus">MDCertificateStatus</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait les informations publiques du certificat au format + JSON.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateStatus on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDCertificateStatus on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Lorsque cette directive est à "on", vous disposez d'une + ressource pour les domaines gérés à + https://domain/.httpd/certificate-status qui renvoie un + document au format JSON contenant une liste de propriétés + concernant les clés, le certificat courant et, s'il est + disponible, le certificat renouvelé. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">{ + "valid-until": "Thu, 29 Aug 2019 16:06:35 GMT", + "valid-from": "Fri, 31 May 2019 16:06:35 GMT", + "serial": "03039C464D454EDE79FCD2CAE859F668F269", + "sha256-fingerprint": "1ff3bfd2c7c199489ed04df6e29a9b4ea6c015fe8a1b0ce3deb88afc751e352d" + "renewal" : { ...renewed cert information... } +}</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdchallengedns01" id="mdchallengedns01">Directive</a> <a name="MDChallengeDns01" id="MDChallengeDns01">MDChallengeDns01</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDChallengeDns01 <var>path-to-command</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive permet de définir le programme à appeler + lorsque la vérification "dns-01" doit être générée/détruite. Le + programme prend respectivement comme arguments "setup" ou + "teardown" suivi du nom de domaine. Pour "setup", le programme + prend comme argument supplémentaire les données de vérification + "dns-01". + </p><p> + Tant que la méthode de vérification "http:" ou "https:" est + valable, vous n'avez pas besoin de définir cette directive. + Cependant, Let's Encrypt n'accepte que "dns-01" comme méthode de + vérification valide pour les certificats génériques. Si vous + avez besoin d'un tel certificat, vous devez alors définir cette + directive. + </p><p> + Il est maintenant possible d'utiliser cette directive dans une + section <code class="directive"><a href="#mdomain">MDomain</a></code> pour + spécifier une commande spécifique au domaine considéré. Cela + permet de configurer un script spécifique au fournisseur de DNS + concerné. + </p><p> + Reportez vous à la section sur les certificats génériques pour + plus de détails. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdcontactemail" id="mdcontactemail">Directive</a> <a name="MDContactEmail" id="MDContactEmail">MDContactEmail</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDContactEmail <var>address</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP + Apache</td></tr> +</table> + <p> + Lors de votre inscription, vous devez fournir une url de contact + pour le protocole ACME. Actuellement, Let's Encrypt exige une + adresse Email qu'il utilisera pour vous informer des + renouvellements de certificats ou de toute modification des + conditions d'utilisation. Pour obtenir cette adresse, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> + utilise l'email spécifiée par la directive <code class="directive">MDContactEmail</code> dans + votre configuration de httpd ; veillez par conséquent à bien + spécifier une adresse correcte à ce niveau. Si la directive + <code class="directive">MDContactEmail</code> n'est pas définie, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> utilisera l'email + spécifiée via la directive <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mddrivemode" id="mddrivemode">Directive</a> <a name="MDDriveMode" id="MDDriveMode">MDDriveMode</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ancien nom de MDRenewMode.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDDriveMode always|auto|manual</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDDriveMode auto</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Cette directive est l'ancien nom de la directive <code class="directive"><a href="#mdrenewmode">MDRenewMode</a></code>, et n'est encore supportée + qu'à titre de compatibilité ascendante. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdexternalaccountbinding" id="mdexternalaccountbinding">Directive</a> <a name="MDExternalAccountBinding" id="MDExternalAccountBinding">MDExternalAccountBinding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDExternalAccountBinding none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.52 du serveur HTTP + Apache</td></tr> +</table> + <p> + Cette directive permet de définir des valeurs pour associer des + comptes externes avec ACME ("External Account Binding") ; c'est + une fonctionnalité de la norme ACME qui permet à des clients + d'associer des inscriptions à un compte client existant sur les + serveurs ACME. + </p> + <p> + Certains CAs ACME ont besoin de ces valeurs, mais ce n'est pas + le cas pour Let's Encrypt. Vérifiez avec votre CA ACME si vous + avez besoin de ces valeurs et la manière de les obtenir. Ces + dernières se composent de deux chaînes : un identifiant de clé + et une valeur 'hmac' codée en base64. + </p> + <p> + Vous pouvez définir ces valeurs de manière globale ou pour un + MDomain spécifique. Comme ces valeurs permettent à n'importe qui + de s'inscrire sous le même compte, il est conseillé de + restreindre les permissions d'accès au fichier de configuration + (à root seulement, par exemple). + </p> + <p> + Les valeurs peuvent aussi être extraites d'un fichier JSON pour + conserver l'ouverture des permissions au niveau de la + configuration du serveur et restreindre celles de ce fichier. Le + fichier JSON sera du style : + </p> + <div class="example"><h3>Exemple de fichier EAB JSON</h3><pre class="prettyprint lang-config">{"kid": "kid-1", "hmac": "zWND..."}</pre> +</div> + <p> + Si vous modifiez les valeurs EAB, ce sont les nouvelles valeurs + qui seront utilisées lors du prochain renouvellement de + certificat. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdhttpproxy" id="mdhttpproxy">Directive</a> <a name="MDHttpProxy" id="MDHttpProxy">MDHttpProxy</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un serveur mandataire pour les connexions + sortantes.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDHttpProxy <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Cette directive permet de spécifier un serveur http mandataire + pour se connecter à l'autorité de certification spécifiée via + <code class="directive"><a href="#mdcertificateauthority">MDCertificateAuthority</a></code>. Vous + devez la définir si votre serveur web ne peut atteindre internet que + via un serveur mandataire. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdmember" id="mdmember">Directive</a> <a name="MDMember" id="MDMember">MDMember</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte additionnel pour le domaine géré.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMember <var>hostname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Plutôt que de lister tous les noms DNS sur la même ligne, vous + pouvez utiliser la directive <code class="directive">MDMember</code> pour + ajouter des noms d'hôte à un domaine géré. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain example.org> + MDMember www.example.org + MDMember mail.example.org +</MDomain></pre> +</div> + <p> + Si vous utilisez cette directive au niveau de la configuration + globale, en dehors de tout serveur virtuel correspondant à un + domaine géré, vous ne pouvez spécifier qu'une valeur, 'auto' ou + 'manual' comme mode par défaut pour tous les autres domaines + gérés. Voir la directive <code class="directive"><a href="#mdomain">MDomain</a></code> pour une description de ces + valeurs. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdmembers" id="mdmembers">Directive</a> <a name="MDMembers" id="MDMembers">MDMembers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les alias de noms de domaines sont + automatiquement ajoutés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMembers auto|manual</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDMembers auto</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Cette directive permet de définir si les valeurs de <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sont automatiquement ajoutées + en tant que membres d'un domaine géré. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdmessagecmd" id="mdmessagecmd">Directive</a> <a name="MDMessageCmd" id="MDMessageCmd">MDMessageCmd</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Gère les évènements pour les domaines gérés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive permet de définir la commande à appeler + lorsqu'un des évènements "renewed", "installed", "expiring" ou + "errored" se produit pour un domaine géré. La commande sera + probablement invoquée pour d'autres évènements dans le futur et + ignorera les évènements pour lesquels elle n'aura pas été + préparée. + </p><p> + Il s'agit d'une version plus souple de la directive + <code class="directive"><a href="#mdnotifycmd">MDNotifyCmd</a></code>. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDMessageCmd /etc/apache/md-message</pre> +<p><code> + +# sera invoquée sous la forme "/etc/apache/md-message renewed mydomain.com" +# lorsqu'un nouveau certificat sera disponible pour le domaine mydomain.com + </code></p></div> + <p> + Le programme ne doit pas être bloquant car le module attend + qu'il se termine. Un code de retour autre que 0 doit indiquer + une erreur d'exécution. + </p><p> + "errored" n'est pas l'évènement à surveiller en priorité car le + renouvellement du certificat est censé se produire suffisammant + tôt pour éviter toute interruption de service. Cet évènement est + signalé au plus une fois par heure. + </p><p> + L'évènement "expiring", quant à lui, doit être pris au sérieux. + Il se produit lorsque la valeur de <code class="directive"><a href="#mdwarnwindow">MDWarnWindow</a></code> est atteinte. Par + défaut, cette valeur correspond à 10% de la durée de vie du + certificat, donc actuellement pour Let's Encrypt, 9 jours avant + expiration du certificat. Le message d'avertissement est répété + au plus une fois par jour. + </p><p> + 'renewed' indique qu'un nouveau certificat a été obtenu et + se trouve dans la zone intermédiaire du magasin MD. Il sera + activé au prochain restart/reload du serveur. + </p><p> + 'installed' indique qu'un nouveau certificat a été transféré + depuis la zone intermédiaire vers la zone des domaines du + magasin MD. Cet évènement se produit lors d'un restart/reload du + serveur. A la différence des autres commandes, + <code class="directive">MDMessageCmd</code> s'exécute avec les + permissions de root (sur les systèmes *nix) et a donc accès aux + fichiers de certificats (et aux clés). Les certificats + nécessaires à d'autres applications ou possédant des formats + différents peuvent être traités suite à cet évènement. + </p><p> + Un évènement de type 'renewing' est déclenché avant le démarrage + du processus de renouvellement pour le domaine géré. Si dans ce + cas la commande renvoie une valeur non nulle, le renouvellement + sera interrompu et tenté à nouveau au cycle suivant. Certaines + configurations de clusters l'utilisent pour n'effectuer le + renouvellement que sur un seul noeud. + </p><p> + Un évènement de type 'challenge-setup:type:domain' est déclenché + lorsque les données de vérification pour un domaine ont été + créées. Il est invoqué avant qu'il soit demandé au serveur ACME + de les vérifier. type contient une des méthodes de vérification + ACME. Il est invoqué pour chaque nom DNS d'un MDomain. Les + configurations de clusters peuvent utiliser cet évènement pour + distribuer les fichiers de vérification à tous les noeuds. + </p><p> + Un évènement de type ocsp-errored est déclenché lorsque le + <code class="directive"><a href="#mdstapling">MDStapling</a></code> est activé + pour un domaine, et indique qu'une erreur s'est produite en + essayant d'obtenir la réponse OCSP de l'autorité de + certification. mod_md essaiera à nouveau d'obtenir cette + réponse. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdmuststaple" id="mdmuststaple">Directive</a> <a name="MDMustStaple" id="MDMustStaple">MDMustStaple</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les nouveaux certificats doivent avoir le + drapeau OCSP Must Staple activé.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDMustStaple on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDMustStaple off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Cette directive permet de définir si les nouveaux certificats + doivent avoir le drapeau OCSP Must Staple activé ou non. Si un + certificat possède ce drapeau, le serveur devra envoyer une réponse + avec agrafage OCSP à chaque client. Ceci ne fonctionne que si vous + configurez <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> pour générer cette agrafe (voir la + directive <code class="directive"><a href="../mod/mod_ssl.html#sslusestapling">SSLUseStapling</a></code> et + ses directives dérivées). + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdnotifycmd" id="mdnotifycmd">Directive</a> <a name="MDNotifyCmd" id="MDNotifyCmd">MDNotifyCmd</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Lance un programme lorsqu'un domaine géré est opérationnel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDNotifyCmd <var>path</var> [ <var>args</var> ]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Cette directive permet de définir un programme à lancer lorsqu'un + domaine géré a obtenu ou renouvelé son certificat. Ce + programme reçoit le nom de domaine géré concerné comme + argument additionnel (après les paramètres spécifiés ici). Il doit + renvoyer un code d'état de 0 s'il s'est exécuté avec + succès. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdomain" id="mdomain">Directive</a> <a name="MDomain" id="MDomain">MDomain</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une liste de noms de domaines qui appartiennent à + un groupe.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Tous les domaines de la liste seront gérés par + mod_md comme un seul domaine géré (Managed Domain - MD). + mod_md ne demandera qu'un seul certificat qui + sera valide pour tous ces noms de domaine. Cette directive + s'utilise au niveau de la configuration globale (voir plus loin + les autres directives MD). Si un domaine nécessite une + configuration particulière, utilisez la directive <code class="directive"><a href="#mdomainset"><MDomainSet></a></code>. + </p><p> + Deux définitions supplémentaires sont nécessaires pour un + domaine géré : une adresse Email de contact (via <code class="directive"><a href="#mdcontactemail">MDContactEmail</a></code> ou <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>) et <code class="directive"><a href="#mdcertificateagreement">MDCertificateAgreement</a></code>. L'adresse + électronique du <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code> + permet de s'enregistrer auprès de l'autorité de certification + (par défaut Let's Encrypt). L'autorité de certification + l'utilisera pour vous informer à propos du statut de vos + certificats ou d'éventuelles modifications de ses services. + </p><p> + La seconde définition, <code class="directive"><a href="#mdcertificateagreement">MDCertificateAgreement</a></code> doit avoir + pour valeur "accepted". Vous confirmez ainsi que vous acceptez + les conditions d'utilisation du CA. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDContactEmail admin@example.org +MDCertificateAgreement accepted +MDomain example.org www.example.org + +<VirtualHost *:443> + ServerName example.org + DocumentRoot htdocs/root + + SSLEngine on +</VirtualHost> + +<VirtualHost *:443> + ServerName www.example.org + DocumentRoot htdocs/www + + SSLEngine on +</VirtualHost></pre> +</div> + <p> + En plus de la liste des domaines gérés, cette directive accepte + un paramètre supplémentaire qui peut prendre pour valeur + 'manual' ou 'auto'. Ce paramètre permet de définir si un domaine + sera géré sous le nom spécifié dans la liste seul ('manual'), + ou si tous les noms du serveur virtuel correspondant seront + gérés ('auto'). C'est d'ailleurs cette dernière valeur qui + est la valeur par défaut. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDomain example.org + +<VirtualHost *:443> + ServerName example.org + ServerAlias www.example.org + DocumentRoot htdocs/root + + SSLEngine on +</VirtualHost> + +MDomain example2.org auto + +<VirtualHost *:443> + ServerName example2.org + ServerAlias www.example2.org + ... +</VirtualHost></pre> +</div> + <p> Dans cet exemple, le domaine 'www.example.org' est + automatiquement ajouté à la liste MD 'example.org'. De manière + similaire, le domaine 'www.example2.org' sera automatiquement ajouté + à la liste MD 'example2.org' pour laquelle 'auto' est explicitement + spécifié. Chaque fois que vous ajouterez des noms à ces serveurs + virtuels via ServerAlias, ils seront ajoutés à la liste MD + correspondante. + </p><p> + Si vous préférez déclarer explicitement tous les noms de + domaines, utilisez le mode 'manual'. Une erreur sera enregistrée + dans le journal si les noms ne correspondent pas à ceux + attendus. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdomainsetsection" id="mdomainsetsection">Directive</a> <a name="MDomainSetsection" id="MDomainSetsection"><MDomainSet></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives à appliquer à un ou plusieurs + domaines gérés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive est équivalente à la directive <code class="directive"><a href="#mdomain">MDomain</a></code> avec la possibilité + supplémentaire d'ajouter des paramètres seulement pour le + domaine géré considéré. En fait, vous pouvez aussi utiliser + "<MDomain ..>" à titre de raccourci. + </p> + <p> + Cette directive permet de configurer un domaine géré en + spécifiant un autre CA, ou d'autres paramètres de renouvellement + des certificats, etc... + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain sandbox.example.org> + MDCertificateAuthority https://someotherca.com/ACME +</MDomain></pre> +</div> + <p> + Cette configuration est souvent utilisée pour définir des paramètres + https: spécifiques à votre domaine. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain example.org> + MDRequireHttps temporary +</MDomain></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdportmap" id="mdportmap">Directive</a> <a name="MDPortMap" id="MDPortMap">MDPortMap</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mappage des ports externes avec les ports internes pour + vérifier à qui appartient le domaine.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDPortMap <var>map1</var> [ <var>map2</var> ]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDPortMap http:80 https:443</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Le protocole ACME propose deux méthodes pour vérifier à qui + appartient le domaine via HTTP : la première utilise les URLs en + "http:" (port 80) et la deuxième les URLs en "https:" (port + 443). Si votre serveur n'est accessible sur aucun + de ces ports, ACME ne pourra fonctionner que si vous configurez + votre serveur DNS de manière adéquate (voir la directive <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code>). + </p><p> + Sur la plupart des serveurs publics, "http:" arrive sur le + port 80 et "https:" sur le port 443. Ce module vérifie les ports + sur lesquels votre serveur Apache est en écoute et suppose + qu'ils sont disponibles. Autrement dit, si votre serveur n'est + pas en écoute sur le port 80, le module suppose que les requêtes + en "http:" en provenance d'internet ne seront pas traitées. + </p><p> + Ce raisonnement est légitime, mais il peut s'avérer faux. + Par exemple, même si votre serveur est effectivement en écoute + sur le port 80, votre pare-feu peut bloquer ce dernier. "http:" + ne sera alors disponible que sur votre intranet. Dans ce cas, le + module va supposer de manière erronée que Let's Encrypt peut + effectuer des vérifications en "http:" avec votre serveur. Ces + dernières échouerons car elles auront été rejetées par votre + pare-feu. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDPortMap http:- https:8433</pre> +</div> + <p> + L'exemple précédent montre comment spécifier que les requêtes en + "http:" en provenance d'internet n'arriveront jamais. En outre, + il indique que les requêtes en "https:" arriveront sur le port + 8433. + </p><p> + Cette définition peut s'avérer nécessaire si vous faites de la + redirection de port ; votre serveur peut ainsi être accessible + depuis l' Internet sur le port 443, alors que le port local + utilisé par httpd sera différent. Par exemple, votre serveur + peut n'être en écoute que sur les ports 8443 et 8000, mais + accessible depuis internet sur les ports 443 et 80. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdprivatekeys" id="mdprivatekeys">Directive</a> <a name="MDPrivateKeys" id="MDPrivateKeys">MDPrivateKeys</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type et la taille des clés privées générées.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDPrivateKeys <var>type</var> [ <var>params</var>... ]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDPrivateKeys RSA 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive permet de définir les paramètres de construction + des clés privées pour les domaines gérés. Vous pouvez configurer + plusieurs types de clés privées et le module obtiendra un + certificat pour chaque clé. + </p><p> + La recommandation actuelle (en 2017) est de 2048 bits au minimum, + et une valeur inférieure ne sera pas acceptée. Des valeurs + supérieures offriront une plus grande sécurité mais seront plus + gourmandes en ressources, et augmenteront donc la charge de + votre serveur, ce qui pourra (ou non) être gênant pour vous. + </p><p> + D'autres types de clés seront supportés dans le futur. + Vous pouvez par exemple configurer une clé RSA et une clé + Elliptic Curve (EC) de façon à ce que deux certificats soient + créés pour le domaine concerné. Lors d'une connexion avec un + client, c'est la première clé supportée par ce dernier qui sera + utilisée. + </p><p> + Comme les clés et certificats EC sont plus petits, vous pouvez + les proposer en premier pour tous les clients modernes + compatibles, ce qui peut accélérer la phase de négociation. + Ajoutez tout de même une clé RSA pour supporter les clients plus + anciens. + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDPrivateKeys secp256r1 rsa3072</pre> +</div> + <p> + Les types EC supportés dépendent du CA que vous utilisez. Par + exemple, Let's encrypt supporte les courbes elliptiques + 'secp256r1' et 'secp384r1'. + </p><p> + Chaque type de clé et certificat est stocké dans son fichier + propre au sein de l'espace de stockage MD. Le type de clé + constitue une partie du nom de fichier avec une convention de + nommage présentant une compatibilité ascendante avec les + certificats RSA. Vous pouvez ainsi continuer à partager ces + fichiers avec les autres applications. + </p><p> + + Notez que cette directive n'aura d'effet que sur les nouvelles + clés. Toute clé préexistante ne sera pas affectée. En outre, + seules les clés privées générées pour les certificats sont + concernées, les clés de comptes ACME n'étant pas affectées. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdrenewmode" id="mdrenewmode">Directive</a> <a name="MDRenewMode" id="MDRenewMode">MDRenewMode</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle le renouvellement des certificats.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRenewMode always|auto|manual</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRenewMode auto</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + En mode "auto" (mode par défaut), le module va agir de la + manière la plus opportune pour chaque domaine géré. Si un + domaine ne possède pas de certificat, le module en demandera un + à l'autorité de certification. + </p> + <p> + Si par contre vous avez défini un domaine géré qui n'est utilisé + par aucun serveur virtuel, le module n'effectuera aucune demande + de renouvellement. De même, pour les domaines gérés avec des + fichiers de certificats statiques (voir <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>), le module + supposera que vous avez votre propre source et n'effectuera + aucune demande de renouvellement. + </p> + <p> + Avec le mode "always", le module renouvellera les certificats + des modules gérés, même s'il ne sont pas utilisés ou + possèdent un fichier de certificats statique. + </p> + <p> + A l'opposé, avec le mode "manual", mod_md n'effectuera aucune + demande automatique de renouvellement pour aucun domaine géré. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdrenewwindow" id="mdrenewwindow">Directive</a> <a name="MDRenewWindow" id="MDRenewWindow">MDRenewWindow</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le moment auquel un certificat doit être renouvelé.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRenewWindow <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRenewWindow 33%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Lorsqu'un certificat arrive à expiration, mod_md va + tenter d'en obtenir un nouveau signé. + </p><p> + Normalement, les certificats ont une validité de 90 jours, et + mod_md les renouvelle lorsqu'il leur reste 33% de + durée de vie (soit 30 jours pour une durée de vie de 90 jours). Si + cela ne correspond pas à ce que vous souhaitez, vous pouvez + spécifier une autre valeur comme dans les exemples suivants : + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># 21 jours avant expiration +MDRenewWindow 21d +# 30 secondes (peut-être un peu juste !) +MDRenewWindow 30s +# lorsqu'il reste 10% de durée de vie au certificat +MDRenewWindow 10%</pre> +</div> + <p>En mode pilotage automatique, le module va vérifier le statut des + domaines gérés au moins toutes les 12 heures pour voir s'il y a + quelque chose à faire. En cas d'erreur, par exemple lorsque le CA + est inaccessible, il va dans un premier temps réessayer après + quelques secondes. Si l'erreur persiste, il va réduire son + intervalle de vérification de 12 à 1 heure. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdrequirehttps" id="mdrequirehttps">Directive</a> <a name="MDRequireHttps" id="MDRequireHttps">MDRequireHttps</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Redirige le trafic http: vers https: pour les domaines + gérés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRequireHttps off|temporary|permanent</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRequireHttps off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p>Cette directive facilite la migration de vos domaines gérés de + http: vers https:. Dans l'exemple suivant, + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MDRequireHttps temporary</pre> +</div> + <p>vous indiquez que vous désirez que pour l'instant, tout le trafic via des URLs en + http: doit être redirigé vers des URLs en https:. Cette directive + est sans risque et vous pouvez la désactiver à tout moment. + </p><p> + <strong>Ce qui suit par contre, a des conséquences : </strong>si + vous souhaitez que les clients <strong>n'utilisent plus</strong> + d'URLs en http:, spécifiez : + </p> + <div class="example"><h3>Permanent (pour au moins 6 mois !)</h3><pre class="prettyprint lang-config">MDRequireHttps permanent</pre> +</div> + <p>Cette directive a deux effets : + </p> + <ol> + <li>Toutes les requêtes pour une ressource en <code>http:</code> + sont redirigées vers la même requête en remplaçant le protocole + <code>http:</code> par <code>https:</code> et en renvoyant le code + d'état <code>301</code>. Ce dernier indique aux clients que + cette modification est permanente et qu'ils doivent mettre à + jour leurs liens en conséquence. + </li> + <li>Toutes les réponses aux requêtes en <code>https:</code> + comporteront l'en-tête <code>Strict-Transport-Security</code> + avec une durée de vie de six mois. Cela indique au navigateur + qu'il ne devra <strong>jamais</strong> utiliser + <code>http:</code> (pendant six mois) lorsqu'il formulera une + requête pour le domaine concerné. Avec cette information, les + navigateurs refuseront de contacter votre site en mode non + chiffré. Ceci interdit à des middlewares malicieux de dégrader + les connexions et d'écouter/manipuler le trafic. C'est une bonne + chose, mais cette configuration ne peut pas être désactivée + aussi simplement que la configuration temporaire ci-dessus. + </li> + </ol> + <p>Vous pouvez obtenir le même résultat de manière simple avec + <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> et une configuration basée sur la + directive <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>. Si + vous le faites vous-même, assurez-vous d'exclure les chemins + /.well-known/* de votre redirection, sinon mod_md + aura des difficultés pour signer les nouveaux certificats. + </p> + <p>Si vous effectuez cette configuration au niveau global, elle + s'appliquera à tous les domaines gérés. Si vous souhaitez qu'elle ne + s'applique qu'à un domaine spécifique, utilisez : + </p> + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><MDomain xxx.yyy> + MDRequireHttps temporary +</MDomain></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdretrydelay" id="mdretrydelay">Directive</a> <a name="MDRetryDelay" id="MDRetryDelay">MDRetryDelay</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRetryDelay <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRetryDelay 5s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.54 du serveur HTTP + Apache</td></tr> +</table> + <p> + Le temps d'attente après une erreur avant de tenter à nouveau le + renouvellement d'un certificat. Ce temps est doublé après chaque + erreur consécutive avec un maximum de 24 heures. + </p> + <p> + Ce temps d'attente est spécifique à chaque renouvellement de + certificat. Autrement dit, une erreur sur un MDomain ne retarde + pas les renouvellements des autres domaines. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdretryfailover" id="mdretryfailover">Directive</a> <a name="MDRetryFailover" id="MDRetryFailover">MDRetryFailover</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDRetryFailover <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDRetryFailover 13</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.54 du serveur HTTP + Apache</td></tr> +</table> + <p> + Le nombre d'erreurs consécutives lors du renouvellement d'un + certificat avant la sélection d'une autre CA. Ne s'applique + qu'aux configurations pour lesquelles plusieurs + <code class="directive">MDCertificateAuthority</code> ont été + spécifiées. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdserverstatus" id="mdserverstatus">Directive</a> <a name="MDServerStatus" id="MDServerStatus">MDServerStatus</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les informations à propos des domaines gérés + sont ajoutés ou non à server-status.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDServerStatus on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDServerStatus on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Le gestionnaire d'Apache "server-status" vous permet de + configurer une ressource pour monitorer le fonctionnement du + serveur. Cette ressource inclut maintenant une section indiquant + tous les domaines gérés avec leur nom DNS, l'état de + renouvellement du certificat, la durée de vie de ce dernier, + ainsi que d'autres propriétés fondamentales. + </p><p> + Cette directive permet d'activer/désactiver cette ressource. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdstapleothers" id="mdstapleothers">Directive</a> <a name="MDStapleOthers" id="MDStapleOthers">MDStapleOthers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'agrafage pour les certificats non gérés par + mod_md.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStapleOthers on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStapleOthers on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP + Apache</td></tr> +</table> + <p> + Cette directive n'a d'effet que si <code class="directive"><a href="#mdstapling">MDStapling</a></code> est activée. Elle permet + de contrôler si <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> doit aussi fournir les + informations d'agrafage pour les certificats qu'il ne gère pas + directement (autrement dit pour les certificats non renouvelés + via le protocole ACME). + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdstapling" id="mdstapling">Directive</a> <a name="MDStapling" id="MDStapling">MDStapling</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'agrafage pour un ou plusieurs domaines.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStapling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStapling off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP + Apache</td></tr> +</table> + <p> + <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> permet l'obtention des informations + d'agrafage OCSP. Cette fonctionnalité est une alternative à + celle fournie par <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Elle est désactivée + par défaut à des fins de compatibilité ascendante. + </p><p> + La fonctionnalité peut être activée pour tous les certificats du + serveur ou pour un <code class="directive"><a href="#mdomain">MDomain</a></code> seulement, ce qui aura pour effet + de remplacer toute configuration d'agrafage au niveau de + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> pour ce(s) domaine(s). Lorsqu'elle est désactivée, + l'agrafage de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> se chargera du travail (s'il a été + lui-même activé, bien entendu). Ceci permet de basculer de + manière graduée d'une implémentation à l'autre. + </p><p> + L'agrafage fonctionne aussi pour les domaines non gérés par + <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> (voir à ce sujet la directive <code class="directive"><a href="#mdstapleothers">MDStapleOthers</a></code>). En fait, l'agrafage + OCSP peut très bien être utilisé en l'absence de tout certificat + géré via le protocole ACME. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdstaplingkeepresponse" id="mdstaplingkeepresponse">Directive</a> <a name="MDStaplingKeepResponse" id="MDStaplingKeepResponse">MDStaplingKeepResponse</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la durée au bout de laquelle les anciennes + réponses doivent être supprimées.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStaplingKeepResponse <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStaplingKeepResponse 7d</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP + Apache</td></tr> +</table> + <p> + Cette directive permet de spécifier la durée au bout de laquelle + les données OCSP utilisées pour l'agrafage doivent être + supprimées du magasin. Par défaut, ces informations sont + supprimées lors d'un restart/reload du serveur si elles ont plus + de sept jours. Ceci permet de limiter la taille du magasin + lorsque les certificats sont renouvelés et/ou reconfigurés + fréquemment. + </p><p> + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdstaplingrenewwindow" id="mdstaplingrenewwindow">Directive</a> <a name="MDStaplingRenewWindow" id="MDStaplingRenewWindow">MDStaplingRenewWindow</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle l'ancienneté des réponses OCSP au dela de laquelle + ces dernières seront renouvelées.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStaplingRenewWindow <var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStaplingRenewWindow 33%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP + Apache</td></tr> +</table> + <p> + Si la durée de validité d'un réponse OCSP passe en dessous de + <var>duration</var>, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> va tenter de la + renouveler. + </p><p> + La CA à l'origine du certificat fournit aussi en général le + service de réponse OCSP et détermine la durée de validité de sa + réponse signée à propos de la validité du certificat. Plus + longtemps une réponse sera valide, plus longtemps elle pourra + être mise en cache, ce qui arrange tout le monde en matière de + performances. Plus courte sera la validité d'une réponse, plus + vite seront envoyées des révocations de certificats aux clients. + Il est donc important de prendre en compte la qualité de + service. + </p><p> + En ajustant la durée de validité des réponses vous-même, vous + pouvez contrôler une partie du processus. Si vous spécifiez une + durée de vie importante (autrement dit si vous spécifiez un + petit pourcentage de validité avant que l'information n'expire), + vous assurer un temps de mise en cache maximal, mais une + interruption du service OCSP (par exemple un arrêt pour + maintenance) aura plus de chance de vous affecter. Si vous + spécifiez un pourcentage de temps avant expiration plus + important, les mises à jour seront plus fréquentes, ce qui va + augmenter la charge de l'infrastructure de serveurs du CA et + nécessiter d'avantage de coordination entre les processus + enfants de votre propre serveur. + </p><p> + La valeur par défaut choisie est de 33%, ce qui signifie que la + demande de renouvellement interviendra lorsque la durée de vie + de la réponse OCSP passera en dessous de 33%. Pour une CA qui + fournit des réponses OCSP avec une durée de vie de 3 jours, cela + implique 2 jours de mise en cache et 1 jour pour les tentatives + de renouvellement. Pour affecter votre domaine, une interruption + de service devra donc avoir une durée supérieure à 1 jour. + </p><p> + Vous pouvez aussi définir de manière absolue la durée de vie + restante, par exemple `2d` pour 2 jours. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdstoredir" id="mdstoredir">Directive</a> <a name="MDStoreDir" id="MDStoreDir">MDStoreDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin dans le système de fichiers local du répertoire où + seront stockées les données à propos des domaines gérés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStoreDir <var>path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStoreDir md</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Cette directive permet de définir le répertoire dans le système + de fichiers local où seront stockées les données à propos des + domaines gérés. Il s'agit d'un chemin absolu ou relatif à la + racine du serveur. Par défaut, le répertoire "md" sera créé à la + racine de votre serveur. + </p><p> + Si vous souhaitez changer de répertoire et si ce dernier + contient déjà des données, copiez tout d'abord les données vers + le nouveau répertoire, puis modifier la configuration et + redémarrez le serveur. Si vous commencez par modifier la + configuration et redémarrer le serveur sans copier les données, + ce dernier croira que les certificats sont absents et il tentera + d'en obtenir de nouveaux. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdstorelocks" id="mdstorelocks">Directive</a> <a name="MDStoreLocks" id="MDStoreLocks">MDStoreLocks</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStoreLocks on|off|<var>duration</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDStoreLocks off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.55 du serveur HTTP + Apache</td></tr> +</table> + <p> + Définissez cette directive pour utiliser un fichier verrou au + démarrage du serveur lorsque <code class="directive">MDStoreDir</code> + est synchronisé avec la configuration du serveur et si les + certificats renouvelés sont activés. + </p><p> + Le verrouillage a été implémenté pour les configurations de + cluster où MDStoreDir appartient à un système de fichiers + partagé. L'activation des certificats renouvelés sera alors + protégée lorsque plusieurs noeuds du cluster sont redémarrés ou + reconfigurés simultanément ; ceci à condition bien entendu que + le système de fichiers partagé prenne en charge le verrouillage + de fichier. + </p><p> + Le temps d'attente par défaut pour obtenir le verrou est de 5 + secondes. Si le verrou ne peut pas être obtenu, une erreur est + enregistrée dans le journal et le démarrage du serveur se + poursuit ; de ce fait, un des noeuds du cluster pourra encore + utiliser les anciens certificats par la suite. + </p><p> + Un délai d'attente plus long réduira cette probabilité, mais + pourra aussi retarder les redémarrages et reconfigurations du + serveur dans le cas où les verrous ne sont pas correctement + gérés dans le système de fichiers sous-jacent. Un verrou ne doit + être maintenu par une instance de httpd que pendant une courte + durée. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mdwarnwindow" id="mdwarnwindow">Directive</a> <a name="MDWarnWindow" id="MDWarnWindow">MDWarnWindow</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la fenêtre de temps pendant laquelle vous serez + informé de l'expiration prochaine d'un certificat.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDWarnWindow duration</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDWarnWindow 10%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr> +</table> + <p> + Voir la directive <code class="directive"><a href="#mdrenewwindow">MDRenewWindow</a></code> pour une description + de la méthode à employer pour spécifier cette durée. + </p><p> + Le module inspecte la durée de vie restante des certificats et + invoque <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> + lorsqu'une de ces durées devient inférieure à la fenêtre de + temps spécifiée. Si l'on conserve la valeur par défaut, cette + durée correspond à 9 jours pour les certificats de Let's + Encrypt. + </p><p> + Cette directive s'applique aussi aux domaines gérés via des + fichiers de certificats statiques (voir la directive <code class="directive"><a href="#mdcertificatefile">MDCertificateFile</a></code>). + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_md.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_md.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_md.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mime.html b/docs/manual/mod/mod_mime.html new file mode 100644 index 0000000..999228c --- /dev/null +++ b/docs/manual/mod/mod_mime.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_mime.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_mime.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_mime.html.en new file mode 100644 index 0000000..60b8406 --- /dev/null +++ b/docs/manual/mod/mod_mime.html.en @@ -0,0 +1,1060 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_mime - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_mime</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_mime.html" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Associates the requested filename's extensions + with the file's behavior (handlers and filters) + and content (mime-type, language, character set and + encoding)</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mime_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_mime.c</td></tr></table> +<h3>Summary</h3> + + <p>This module is used to assign content metadata to the content + selected for an HTTP response by mapping patterns in the + URI or filenames to the metadata values. For example, the filename + extensions of content files often define the content's Internet + media type, language, character set, and content-encoding. This + information is sent in HTTP messages containing that content and + used in content negotiation when selecting alternatives, such that + the user's preferences are respected when choosing one of several + possible contents to serve. See + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> for more information + about <a href="../content-negotiation.html">content negotiation</a>.</p> + + <p>The directives <code class="directive"><a href="#addcharset">AddCharset</a></code>, <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> and <code class="directive"><a href="#addtype">AddType</a></code> are all used to map file + extensions onto the metadata for that file. Respectively + they set the character set, content-encoding, content-language, + and <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media-type</a> (content-type) of documents. The directive <code class="directive"><a href="#typesconfig">TypesConfig</a></code> is used to specify a + file which also maps extensions onto media types. </p> + + <p>In addition, <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> may define the <a href="../handler.html">handler</a> and <a href="../filter.html">filters</a> that originate and process + content. The directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, and <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> control the modules + or scripts that serve the document. The <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> directive allows + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> to consider these file extensions + to be included when testing Multiviews matches.</p> + + <p>While <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> associates metadata + with filename extensions, the <code class="module"><a href="../mod/core.html">core</a></code> server + provides directives that are used to associate all the files in a + given container (<em>e.g.</em>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, or <code class="directive"><a href="../mod/core.html#files"><Files></a></code>) with particular + metadata. These directives include <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, and <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. The core directives + override any filename extension mappings defined in + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>.</p> + + <p>Note that changing the metadata for a file does not + change the value of the <code>Last-Modified</code> header. + Thus, previously cached copies may still be used by a client or + proxy, with the previous headers. If you change the + metadata (language, content type, character set or + encoding) you may need to 'touch' affected files (updating + their last modified date) to ensure that all visitors are + receive the corrected content headers.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#multipleext">Files with Multiple Extensions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentencoding">Content encoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charset-lang">Character sets and languages</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addcharset">AddCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addencoding">AddEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addhandler">AddHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addinputfilter">AddInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addlanguage">AddLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilter">AddOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addtype">AddType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultlanguage">DefaultLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#multiviewsmatch">MultiviewsMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removecharset">RemoveCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeencoding">RemoveEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removehandler">RemoveHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeinputfilter">RemoveInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removelanguage">RemoveLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeoutputfilter">RemoveOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removetype">RemoveType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#typesconfig">TypesConfig</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="multipleext" id="multipleext">Files with Multiple Extensions</a></h2> + <p>Files can have more than one extension; the order of the + extensions is <em>normally</em> irrelevant. For example, if the + file <code>welcome.html.fr</code> maps onto content type + <code>text/html</code> and language French then the file + <code>welcome.fr.html</code> will map onto exactly the same + information. If more than one extension is given that maps onto + the same type of metadata, then the one to the right will + be used, except for languages and content encodings. For example, + if <code>.gif</code> maps to the <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media-type</a> + <code>image/gif</code> and <code>.html</code> maps to the + media-type <code>text/html</code>, then the file + <code>welcome.gif.html</code> will be associated with the + media-type <code>text/html</code>.</p> + + <p><a href="#charset-lang">Languages</a> and <a href="#contentencoding">content encodings</a> are treated accumulative, because one can assign + more than one language or encoding to a particular resource. For example, + the file <code>welcome.html.en.de</code> will be delivered with + <code>Content-Language: en, de</code> and <code>Content-Type: + text/html</code>.</p> + + <p>Care should be taken when a file with multiple extensions + gets associated with both a <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media-type</a> + and a handler. This will + usually result in the request being handled by the module associated + with the handler. For example, if the <code>.imap</code> + extension is mapped to the handler <code>imap-file</code> (from + <code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code>) and the <code>.html</code> extension is + mapped to the media-type <code>text/html</code>, then the file + <code>world.imap.html</code> will be associated with both the + <code>imap-file</code> handler and <code>text/html</code> media-type. + When it is processed, the <code>imap-file</code> handler will be used, + and so it will be treated as a <code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code> imagemap + file.</p> + + <p>If you would prefer only the last dot-separated part of the + filename to be mapped to a particular piece of meta-data, then do + not use the <code>Add*</code> directives. For example, if you wish + to have the file <code>foo.html.cgi</code> processed as a CGI + script, but not the file <code>bar.cgi.html</code>, then instead + of using <code>AddHandler cgi-script .cgi</code>, use</p> + + <div class="example"><h3>Configure handler based on final extension only</h3><pre class="prettyprint lang-config"><FilesMatch "[^.]+\.cgi$"> + SetHandler cgi-script +</FilesMatch></pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="contentencoding" id="contentencoding">Content encoding</a></h2> + <p>A file of a particular <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media-type</a> can additionally be encoded a + particular way to simplify transmission over the Internet. + While this usually will refer to compression, such as + <code>gzip</code>, it can also refer to encryption, such a + <code>pgp</code> or to an encoding such as UUencoding, which is + designed for transmitting a binary file in an ASCII (text) + format.</p> + + <p>The <a href="http://www.ietf.org/rfc/rfc2616.txt">HTTP/1.1 + RFC</a>, section 14.11 puts it this way:</p> + + <blockquote cite="http://www.ietf.org/rfc/rfc2616.txt"> + <p>The Content-Encoding entity-header field is used as a modifier to + the media-type. When present, its value indicates what additional + content codings have been applied to the entity-body, and thus what + decoding mechanisms must be applied in order to obtain the media-type + referenced by the Content-Type header field. Content-Encoding is + primarily used to allow a document to be compressed without losing + the identity of its underlying media type.</p> + </blockquote> + + <p>By using more than one file extension (see <a href="#multipleext">section above about multiple file + extensions</a>), you can indicate that a file is of a + particular <em>type</em>, and also has a particular + <em>encoding</em>. </p> + + <p>For example, you may have a file which is a Microsoft Word + document, which is pkzipped to reduce its size. If the + <code>.doc</code> extension is associated with the Microsoft + Word file type, and the <code>.zip</code> extension is + associated with the pkzip file encoding, then the file + <code>Resume.doc.zip</code> would be known to be a pkzip'ed Word + document.</p> + + <p>Apache sends a <code>Content-encoding</code> header with the + resource, in order to tell the client browser about the + encoding method.</p> + + <pre class="prettyprint lang-config">Content-encoding: pkzip</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="charset-lang" id="charset-lang">Character sets and languages</a></h2> + <p>In addition to file type and the file encoding, + another important piece of information is what language a + particular document is in, and in what character set the file + should be displayed. For example, the document might be written + in the Vietnamese alphabet, or in Cyrillic, and should be + displayed as such. This information, also, is transmitted in + HTTP headers.</p> + + <p>The character set, language, encoding and mime type are all + used in the process of content negotiation (See + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>) to determine + which document to give to the client, when there are + alternative documents in more than one character set, language, + encoding or mime type. All filename extensions associations + created with <code class="directive"><a href="#addcharset">AddCharset</a></code>, + <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> and <code class="directive"><a href="#addtype">AddType</a></code> directives + (and extensions listed in the <code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code>) participate in this select process. + Filename extensions that are only associated using the <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> or <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> directives may be included or excluded + from matching by using the <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> directive.</p> + + <h3><a name="charset" id="charset">Charset</a></h3> + <p>To convey this further information, Apache optionally sends + a <code>Content-Language</code> header, to specify the language + that the document is in, and can append additional information + onto the <code>Content-Type</code> header to indicate the + particular character set that should be used to correctly + render the information.</p> + + <div class="example"><p><code> +Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 + </code></p></div> + + <p>The language specification is the two-letter abbreviation + for the language. The <code>charset</code> is the name of the + particular character set which should be used.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddCharset" id="AddCharset">AddCharset</a> <a name="addcharset" id="addcharset">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps the given filename extensions to the specified content +charset</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">AddCharset</code> directive maps the given + filename extensions to the specified content charset (the Internet + registered name for a given character encoding). <var>charset</var> + is the <a href="http://www.iana.org/assignments/character-sets">media + type's charset parameter</a> for resources with filenames containing + <var>extension</var>. This mapping is added to any already in force, + overriding any mappings that already exist for the same + <var>extension</var>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">AddLanguage ja .ja +AddCharset EUC-JP .euc +AddCharset ISO-2022-JP .jis +AddCharset SHIFT_JIS .sjis</pre> +</div> + + <p>Then the document <code>xxxx.ja.jis</code> will be treated + as being a Japanese document whose charset is <code>ISO-2022-JP</code> + (as will the document <code>xxxx.jis.ja</code>). The + <code class="directive">AddCharset</code> directive is useful for both to + inform the client about the character encoding of the document so that + the document can be interpreted and displayed appropriately, and for <a href="../content-negotiation.html">content negotiation</a>, + where the server returns one from several documents based on + the client's charset preference.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have <a href="#multipleext">multiple extensions</a> and the + <var>extension</var> argument will be compared against each of + them.</p> + + +<h3>See also</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddEncoding" id="AddEncoding">AddEncoding</a> <a name="addencoding" id="addencoding">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps the given filename extensions to the specified encoding +type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddEncoding <var>encoding</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">AddEncoding</code> directive maps the given + filename extensions to the specified HTTP content-encoding. + <var>encoding</var> is the HTTP content coding to append to the + value of the Content-Encoding header field for documents named with the + <var>extension</var>. This mapping is added to any already in force, + overriding any mappings that already exist for the same + <var>extension</var>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz +AddEncoding x-compress .Z</pre> +</div> + + <p>This will cause filenames containing the <code>.gz</code> extension + to be marked as encoded using the <code>x-gzip</code> encoding, and + filenames containing the <code>.Z</code> extension to be marked as + encoded with <code>x-compress</code>.</p> + + <p>Old clients expect <code>x-gzip</code> and <code>x-compress</code>, + however the standard dictates that they're equivalent to + <code>gzip</code> and <code>compress</code> respectively. Apache does + content encoding comparisons by ignoring any leading <code>x-</code>. + When responding with an encoding Apache will use whatever form + (<em>i.e.</em>, <code>x-foo</code> or <code>foo</code>) the + client requested. If the client didn't specifically request a + particular form Apache will use the form given by the + <code>AddEncoding</code> directive. To make this long story + short, you should always use <code>x-gzip</code> and + <code>x-compress</code> for these two specific encodings. More + recent encodings, such as <code>deflate</code>, should be + specified without the <code>x-</code>.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have <a href="#multipleext">multiple extensions</a> and the + <var>extension</var> argument will be compared against each of + them.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddHandler" id="AddHandler">AddHandler</a> <a name="addhandler" id="addhandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps the filename extensions to the specified +handler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>Files having the name <var>extension</var> will be served by the + specified <var><a href="../handler.html">handler-name</a></var>. This + mapping is added to any already in force, overriding any mappings that + already exist for the same <var>extension</var>. For example, to + activate CGI scripts with the file extension <code>.cgi</code>, you + might use:</p> + + <pre class="prettyprint lang-config">AddHandler cgi-script .cgi</pre> + + + <p>Once that has been put into your httpd.conf file, any file containing + the <code>.cgi</code> extension will be treated as a CGI program.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have <a href="#multipleext">multiple extensions</a> and the + <var>extension</var> argument will be compared against each of + them.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddInputFilter" id="AddInputFilter">AddInputFilter</a> <a name="addinputfilter" id="addinputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps filename extensions to the filters that will process +client requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">AddInputFilter</code> maps the filename extension + <var>extension</var> to the <a href="../filter.html">filters</a> which + will process client requests and POST input when they are received by + the server. This is in addition to any filters defined elsewhere, + including the <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> + directive. This mapping is merged over any already in force, overriding + any mappings that already exist for the same <var>extension</var>.</p> + + <p>If more than one <var>filter</var> is specified, they must be separated + by semicolons in the order in which they should process the + content. The <var>filter</var> is case-insensitive.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have <a href="#multipleext">multiple extensions</a> and the + <var>extension</var> argument will be compared against each of + them.</p> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#removeinputfilter">RemoveInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddLanguage" id="AddLanguage">AddLanguage</a> <a name="addlanguage" id="addlanguage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps the given filename extension to the specified content +language</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddLanguage <var>language-tag</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">AddLanguage</code> directive maps the given + filename extension to the specified content language. Files with the + filename <var>extension</var> are assigned an HTTP Content-Language + value of <var>language-tag</var> corresponding to the language + identifiers defined by RFC 3066. + This directive overrides any mappings that already exist for the same + <var>extension</var>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">AddEncoding x-compress .Z +AddLanguage en .en +AddLanguage fr .fr</pre> +</div> + + <p>Then the document <code>xxxx.en.Z</code> will be treated as + being a compressed English document (as will the document + <code>xxxx.Z.en</code>). Although the content language is + reported to the client, the browser is unlikely to use this + information. The <code class="directive">AddLanguage</code> directive is + more useful for <a href="../content-negotiation.html">content + negotiation</a>, where the server returns one from several documents + based on the client's language preference.</p> + + <p>If multiple language assignments are made for the same + extension, the last one encountered is the one that is used. + That is, for the case of:</p> + + <pre class="prettyprint lang-config">AddLanguage en .en +AddLanguage en-gb .en +AddLanguage en-us .en</pre> + + + <p>documents with the extension <code>.en</code> would be treated as + being <code>en-us</code>.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have <a href="#multipleext">multiple extensions</a> and the + <var>extension</var> argument will be compared against each of + them.</p> + +<h3>See also</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddOutputFilter" id="AddOutputFilter">AddOutputFilter</a> <a name="addoutputfilter" id="addoutputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">AddOutputFilter</code> directive maps the + filename extension <var>extension</var> to the <a href="../filter.html">filters</a> which will process responses + from the server before they are sent to the client. This is in + addition to any filters defined elsewhere, including <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> and <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> directive. This mapping is merged + over any already in force, overriding any mappings that already exist + for the same <var>extension</var>.</p> + + <p>For example, the following configuration will process all + <code>.shtml</code> files for server-side includes and will then + compress the output using <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p> + + <pre class="prettyprint lang-config">AddOutputFilter INCLUDES;DEFLATE shtml</pre> + + + <p>If more than one filter is specified, they must be separated + by semicolons in the order in which they should process the + content. The <var>filter</var> argument is case-insensitive.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have <a href="#multipleext">multiple extensions</a> and the + <var>extension</var> argument will be compared against each of + them.</p> + + <p>Note that when defining a set of filters using the + <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> directive, + any definition made will replace any previous definition made by + the <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> + directive.</p> + + <pre class="prettyprint lang-config"># Effective filter "DEFLATE" +AddOutputFilter DEFLATE shtml +<Location "/foo"> + # Effective filter "INCLUDES", replacing "DEFLATE" + AddOutputFilter INCLUDES shtml +</Location> +<Location "/bar"> + # Effective filter "INCLUDES;DEFLATE", replacing "DEFLATE" + AddOutputFilter INCLUDES;DEFLATE shtml +</Location> +<Location "/bar/baz"> + # Effective filter "BUFFER", replacing "INCLUDES;DEFLATE" + AddOutputFilter BUFFER shtml +</Location> +<Location "/bar/baz/buz"> + # No effective filter, replacing "BUFFER" + RemoveOutputFilter shtml +</Location></pre> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#removeoutputfilter">RemoveOutputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddType" id="AddType">AddType</a> <a name="addtype" id="addtype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps the given filename extensions onto the specified content +type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddType <var>media-type</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">AddType</code> directive maps the given + filename extensions onto the specified content + type. <var>media-type</var> is the <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media + type</a> to use for filenames containing + <var>extension</var>. This mapping is added to any already in + force, overriding any mappings that already exist for the same + <var>extension</var>.</p> + + <div class="note"> + It is recommended that new media types be added using the + <code class="directive">AddType</code> directive rather than changing the + <code class="directive"><a href="#typesconfig">TypesConfig</a></code> file. + </div> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">AddType image/gif .gif</pre> +</div> + + <p>Or, to specify multiple file extensions in one directive:</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">AddType image/jpeg jpeg jpg jpe</pre> +</div> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot. Filenames may have <a href="#multipleext">multiple extensions</a> and the + <var>extension</var> argument will be compared against each of + them.</p> + + <p>A similar effect to <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>'s + <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> + can be achieved by qualifying a <var>media-type</var> with + <code>qs</code>:</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">AddType application/rss+xml;qs=0.8 .xml</pre> +</div> + + <p>This is useful in situations, <em>e.g.</em> when a client + requesting <code>Accept: */*</code> can not actually processes + the content returned by the server.</p> + + <p>This directive primarily configures the content types generated for + static files served out of the filesystem. For resources other than + static files, where the generator of the response typically specifies + a Content-Type, this directive has no effect.</p> + + + <div class="note"><h3>Note</h3> + <p>If no handler is explicitly set for a request, the specified content + type will also be used as the handler name. </p> + + <p>When explicit directives such as + <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> or + <code class="directive"><a href="#addhandler">AddHandler</a></code> do not apply + to the current request, the internal handler name normally set by those + directives is instead set to the content type specified by this directive. + </p> + <p> + This is a historical behavior that may be used by some third-party modules + (such as mod_php) for taking responsibility for the matching request. + </p> + + <p>Configurations that rely on such "synthetic" types should be avoided. + Additionally, configurations that restrict access to + <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> or + <code class="directive"><a href="#addhandler">AddHandler</a></code> should + restrict access to this directive as well.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultLanguage" id="DefaultLanguage">DefaultLanguage</a> <a name="defaultlanguage" id="defaultlanguage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultLanguage <var>language-tag</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">DefaultLanguage</code> directive tells Apache + that all resources in the directive's scope (<em>e.g.</em>, all resources + covered by the current <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> container) that don't have an explicit language + extension (such as <code>.fr</code> or <code>.de</code> as configured + by <code class="directive"><a href="#addlanguage">AddLanguage</a></code>) should be + assigned a Content-Language of <var>language-tag</var>. This allows + entire directory trees to be marked as containing Dutch content, for + instance, without having to rename each file. Note that unlike using + extensions to specify languages, <code class="directive">DefaultLanguage</code> + can only specify a single language.</p> + + <p>If no <code class="directive">DefaultLanguage</code> directive is in force + and a file does not have any language extensions as configured + by <code class="directive"><a href="#addlanguage">AddLanguage</a></code>, then no + Content-Language header field will be generated.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">DefaultLanguage en</pre> +</div> + +<h3>See also</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ModMimeUsePathInfo" id="ModMimeUsePathInfo">ModMimeUsePathInfo</a> <a name="modmimeusepathinfo" id="modmimeusepathinfo">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code> +components as part of the filename</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ModMimeUsePathInfo On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ModMimeUsePathInfo Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">ModMimeUsePathInfo</code> directive is used to + combine the filename with the <code>path_info</code> URL component to + apply <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>'s directives to the request. The default + value is <code>Off</code> - therefore, the <code>path_info</code> + component is ignored.</p> + + <p>This directive is recommended when you have a virtual filesystem.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ModMimeUsePathInfo On</pre> +</div> + + <p>If you have a request for <code>/index.php/foo.shtml</code> + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> will now treat the + incoming request as <code>/index.php/foo.shtml</code> and directives + like <code>AddOutputFilter INCLUDES .shtml</code> will add the + <code>INCLUDES</code> filter to the request. If <code class="directive">ModMimeUsePathInfo</code> is not set, the + <code>INCLUDES</code> filter will not be added. This will work + analogously for virtual paths, such as those defined by + <code class="directive"><Location></code></p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MultiviewsMatch" id="MultiviewsMatch">MultiviewsMatch</a> <a name="multiviewsmatch" id="multiviewsmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MultiviewsMatch NegotiatedOnly</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">MultiviewsMatch</code> permits three different + behaviors for <a href="mod_negotiation.html">mod_negotiation</a>'s + Multiviews feature. Multiviews allows a request for a file, + <em>e.g.</em> <code>index.html</code>, to match any negotiated + extensions following the base request, <em>e.g.</em> + <code>index.html.en</code>, <code>index.html.fr</code>, or + <code>index.html.gz</code>.</p> + + <p>The <code>NegotiatedOnly</code> option provides that every extension + following the base name must correlate to a recognized + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> extension for content negotiation, <em>e.g.</em> + Charset, Content-Type, Language, or Encoding. This is the strictest + implementation with the fewest unexpected side effects, and is the + default behavior.</p> + + <p>To include extensions associated with Handlers and/or Filters, + set the <code class="directive">MultiviewsMatch</code> directive to either + <code>Handlers</code>, <code>Filters</code>, or both option keywords. + If all other factors are equal, the smallest file will be served, + <em>e.g.</em> in deciding between <code>index.html.cgi</code> of 500 + bytes and <code>index.html.pl</code> of 1000 bytes, the <code>.cgi</code> + file would win in this example. Users of <code>.asis</code> files + might prefer to use the Handler option, if <code>.asis</code> files are + associated with the <code>asis-handler</code>.</p> + + <p>You may finally allow <code>Any</code> extensions to match, even if + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> doesn't recognize the extension. This can cause + unpredictable results, such as serving .old or .bak files the webmaster + never expected to be served.</p> + + <p>For example, the following configuration will allow handlers + and filters to participate in Multviews, but will exclude unknown + files:</p> + + <pre class="prettyprint lang-config">MultiviewsMatch Handlers Filters</pre> + + + <p><code class="directive">MultiviewsMatch</code> is not allowed in a + <code class="directive"><a href="../mod/core.html#location"><Location></a></code> or <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> section.</p> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveCharset" id="RemoveCharset">RemoveCharset</a> <a name="removecharset" id="removecharset">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes any character set associations for a set of file +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoveCharset <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">RemoveCharset</code> directive removes any + character set associations for files with the given extensions. + This allows <code>.htaccess</code> files in subdirectories to + undo any associations inherited from parent directories or the + server config files.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">RemoveCharset .html .shtml</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveEncoding" id="RemoveEncoding">RemoveEncoding</a> <a name="removeencoding" id="removeencoding">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes any content encoding associations for a set of file +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoveEncoding <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">RemoveEncoding</code> directive removes any + encoding associations for files with the given extensions. This + allows <code>.htaccess</code> files in subdirectories to undo + any associations inherited from parent directories or the + server config files. An example of its use might be:</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz +AddType text/plain .asc +<Files "*.gz.asc"> + RemoveEncoding .gz +</Files></pre> +</div> + + <p>This will cause <code>foo.gz</code> to be marked as being + encoded with the gzip method, but <code>foo.gz.asc</code> as an + unencoded plaintext file.</p> + + <div class="note"><h3>Note</h3> + <p><code class="directive">RemoveEncoding</code> directives are processed + <em>after</em> any <code class="directive"><a href="#addencoding">AddEncoding</a></code> + directives, so it is possible they may undo the effects of the latter + if both occur within the same directory configuration.</p> + </div> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveHandler" id="RemoveHandler">RemoveHandler</a> <a name="removehandler" id="removehandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes any handler associations for a set of file +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoveHandler <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">RemoveHandler</code> directive removes any + handler associations for files with the given extensions. This allows + <code>.htaccess</code> files in subdirectories to undo any + associations inherited from parent directories or the server + config files. An example of its use might be:</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddHandler server-parsed .html</pre> +</div> + + <div class="example"><h3>/foo/bar/.htaccess:</h3><pre class="prettyprint lang-config">RemoveHandler .html</pre> +</div> + + <p>This has the effect of returning <code>.html</code> files in + the <code>/foo/bar</code> directory to being treated as normal + files, rather than as candidates for parsing (see the <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> module).</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveInputFilter" id="RemoveInputFilter">RemoveInputFilter</a> <a name="removeinputfilter" id="removeinputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes any input filter associations for a set of file +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">RemoveInputFilter</code> directive removes any + input <a href="../filter.html">filter</a> associations for files with + the given extensions. + This allows <code>.htaccess</code> files in subdirectories to + undo any associations inherited from parent directories or the + server config files.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#addinputfilter">AddInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveLanguage" id="RemoveLanguage">RemoveLanguage</a> <a name="removelanguage" id="removelanguage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes any language associations for a set of file +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoveLanguage <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">RemoveLanguage</code> directive removes any + language associations for files with the given extensions. This + allows <code>.htaccess</code> files in subdirectories to undo + any associations inherited from parent directories or the + server config files.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveOutputFilter" id="RemoveOutputFilter">RemoveOutputFilter</a> <a name="removeoutputfilter" id="removeoutputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes any output filter associations for a set of file +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">RemoveOutputFilter</code> directive removes any + output <a href="../filter.html">filter</a> associations for files with + the given extensions. + This allows <code>.htaccess</code> files in subdirectories to + undo any associations inherited from parent directories or the + server config files.</p> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">RemoveOutputFilter shtml</pre> +</div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveType" id="RemoveType">RemoveType</a> <a name="removetype" id="removetype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Removes any content type associations for a set of file +extensions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoveType <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">RemoveType</code> directive removes any + <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media type</a> associations for files with + the given extensions. This allows <code>.htaccess</code> files in + subdirectories to undo any associations inherited from parent + directories or the server config files. An example of its use + might be:</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">RemoveType .cgi</pre> +</div> + + <p>This will remove any special handling of <code>.cgi</code> + files in the <code>/foo/</code> directory and any beneath it, + causing responses containing those files to omit the HTTP + Content-Type header field.</p> + + <div class="note"><h3>Note</h3> + <p><code class="directive">RemoveType</code> directives are processed + <em>after</em> any <code class="directive"><a href="#addtype">AddType</a></code> + directives, so it is possible they may undo the effects of the + latter if both occur within the same directory configuration.</p> + </div> + + <p>The <var>extension</var> argument is case-insensitive and can + be specified with or without a leading dot.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TypesConfig" id="TypesConfig">TypesConfig</a> <a name="typesconfig" id="typesconfig">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The location of the <code>mime.types</code> file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TypesConfig <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TypesConfig conf/mime.types</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>The <code class="directive">TypesConfig</code> directive sets the + location of the <a class="glossarylink" href="../glossary.html#media-type" title="see glossary">media types</a> + configuration file. <var>File-path</var> is relative to the + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. This file sets + the default list of mappings from filename extensions to content + types. Most administrators use the <code>mime.types</code> file + provided by their OS, which associates common filename + extensions with the official list of IANA registered media types + maintained at <a href="http://www.iana.org/assignments/media-types/index.html">http://www.iana.org/assignments/media-types/index.html</a> + as well as a large number of unofficial types. This + simplifies the <code>httpd.conf</code> file by providing the + majority of media-type definitions, and may be overridden by + <code class="directive"><a href="#addtype">AddType</a></code> directives as + needed. You should not edit the <code>mime.types</code> file, + because it may be replaced when you upgrade your server.</p> + + <p>The file contains lines in the format of the arguments to + an <code class="directive"><a href="#addtype">AddType</a></code> directive:</p> + + <div class="example"><p><code> + <var>media-type</var> [<var>extension</var>] ... + </code></p></div> + + <p>The case of the extension does not matter. Blank lines, and lines + beginning with a hash character (<code>#</code>) are ignored. + Empty lines are there for completeness (of the mime.types file). + Apache httpd can still determine these types with <code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code>. + </p> + + <div class="note"> + Please do <strong>not</strong> send requests to the Apache HTTP + Server Project to add any new entries in the distributed + <code>mime.types</code> file unless (1) they are already + registered with IANA, and (2) they use widely accepted, + non-conflicting filename extensions across platforms. + <code>category/x-subtype</code> requests will be automatically + rejected, as will any new two-letter extensions as they will + likely conflict later with the already crowded language and + character set namespace. + </div> + +<h3>See also</h3> +<ul> +<li><code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_mime.html" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_mime.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mime.html.fr.utf8 b/docs/manual/mod/mod_mime.html.fr.utf8 new file mode 100644 index 0000000..3c00b2d --- /dev/null +++ b/docs/manual/mod/mod_mime.html.fr.utf8 @@ -0,0 +1,1129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_mime - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_mime</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langue, +jeu de caractère et codage)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mime_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime.c</td></tr></table> +<h3>Sommaire</h3> + + <p>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, la langue, 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 + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> pour plus d'informations à propos + de la <a href="../content-negotiation.html">négociation de + contenu</a>.</p> + + <p>Les directives <code class="directive"><a href="#addcharset">AddCharset</a></code>, <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> et <code class="directive"><a href="#addtype">AddType</a></code> 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, la langue du contenu et le <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de + médium</a> (content-type) des documents. La directive + <code class="directive"><a href="#typesconfig">TypesConfig</a></code> permet de + spécifier un fichier qui contient lui-même des associations entre + extensions et types de media.</p> + + <p>De plus, <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> peut définir le <a href="../handler.html">gestionnaire</a> et les <a href="../filter.html">filtres</a> qui sont à l'origine du contenu et + le traitent. Les directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, et <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> permettent de contrôler + les modules ou les scripts qui vont servir le document. La directive + <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> permet à + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> de déterminer les extensions de + fichiers à inclure lors des tests de correspondances multivues.</p> + + <p>Alors que <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> associe des métadonnées avec + des extensions de fichiers, le serveur de base <code class="module"><a href="../mod/core.html">core</a></code> + fournit des directives permettant d'associer tous les fichiers d'un + conteneur donné (par exemple <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>) avec des métadonnées particulières. + Parmi ces directives, on trouve <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, et <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. Les directives du serveur + de base l'emportent sur toute directive d'association d'extensions + de noms de fichiers définie par <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>.</p> + + <p>Notez que la modification des métadonnées d'un fichier ne modifie + pas la valeur de l'en-tête <code>Last-Modified</code>. 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 (langue, 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. </p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#multipleext">Fichiers avec extensions +multiples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentencoding">Codage du contenu</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charset-lang">Jeux de caractères et langues</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addcharset">AddCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addencoding">AddEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addhandler">AddHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addinputfilter">AddInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addlanguage">AddLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilter">AddOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addtype">AddType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultlanguage">DefaultLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#multiviewsmatch">MultiviewsMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removecharset">RemoveCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeencoding">RemoveEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removehandler">RemoveHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeinputfilter">RemoveInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removelanguage">RemoveLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeoutputfilter">RemoveOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removetype">RemoveType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#typesconfig">TypesConfig</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="multipleext" id="multipleext">Fichiers avec extensions +multiples</a></h2> + <p>Les fichiers peuvent posséder plusieurs extensions dont l'ordre + est <em>normalement</em> sans importance. Par exemple, si + le fichier <code>welcome.html.fr</code> est associé au type de + contenu <code>text/html</code> et à la langue française, le fichier + <code>welcome.fr.html</code> 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 langues + et les codages de contenu. Par exemple, si <code>.gif</code> est + associé au <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a> + <code>image/gif</code>, et <code>.html</code> au type de médium + <code>text/html</code>, le fichier <code>welcome.gif.html</code> + sera associé au type de médium <code>text/html</code>.</p> + + <p>Les <a href="#charset-lang">Languages</a> et les <a href="#contentencoding">codages de contenu</a> sont traités de + manière cumulative, car il est possible d'assigner plusieurs + langues ou codages à une ressource particulière. Par exemple, le + fichier <code>welcome.html.en.de</code> sera servi avec les en-têtes + <code>Content-Language: en, de</code> et <code>Content-Type: + text/html</code>.</p> + + <p>Des précautions doivent être prises lorsqu'un fichier avec + extensions multiples est associé à la fois à un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de + médium</a> 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 <code>.imap</code> est associée au + gestionnaire <code>imap-file</code> (du module + <code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code>), et si l'extension <code>.html</code> + est associée au type de médium <code>text/html</code>, le fichier + <code>world.imap.html</code> sera à la fois associé au gestionnaire + <code>imap-file</code> et au type de médium <code>text/html</code>. + Pour son traitement, c'est le gestionnaire <code>imap-file</code> + qui sera utilisé, et il sera donc traité en tant que fichier + imagemap.</p> + + <p>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 <code>Add*</code>. Par + exemple, si vous souhaitez que le fichier <code>foo.html.cgi</code> + soit traité en tant que script CGI, mais pas le fichier + <code>bar.cgi.html</code>, alors, au lieu d'utiliser + <code>AddHandler cgi-script .cgi</code>, utilisez plutôt :</p> + + <div class="example"><h3>Configuration du gestionnaire en se basant seulement + sur la dernière extension</h3><pre class="prettyprint lang-config"><FilesMatch "[^.]+\.cgi$"> + SetHandler cgi-script +</FilesMatch></pre> +</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="contentencoding" id="contentencoding">Codage du contenu</a></h2> + <p>Un fichier d'un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a> particulier + peut être également codé d'une certaine manière pour simplifier sa + transmission sur Internet. Alors que cela concerne en général la + compression, comme <code>gzip</code>, il peut aussi s'agir de + chiffrement, comme <code>pgp</code> ou d'un codage comme UUencoding, + qui est conçu pour transmettre un fichier binaire sous un format + ASCII (texte).</p> + + <p>La <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC + HTTP/1.1</a>, section 14.11 stipule à ce titre :</p> + + <blockquote cite="http://www.ietf.org/rfc/rfc2616.txt"> + <p>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.</p> + </blockquote> + + <p>En utilisant plusieurs extensions (voir la <a href="#multipleext">section ci-dessus à propos des extensions de + fichiers multiples</a>), vous pouvez indiquer qu'un fichier est d'un + <em>type</em>, particulier, et possède aussi un <em>codage</em> + particulier.</p> + + <p>Considérons par exemple un fichier contenant un document + Microsoft Word et compressé par pkzip pour réduire sa taille. Si + l'extension <code>.doc</code> est associée au type de fichier + Microsoft Word, et si l'extension <code>.zip</code> est associée au + codage de fichier pkzip, alors le fichier + <code>Resume.doc.zip</code> sera identifié comme document Word + compressé par pkzip.</p> + + <p>Apache joint un en-tête <code>Content-encoding</code> à la + ressource afin d'informer le navigateur client à propos de la + méthode de codage.</p> + + <pre class="prettyprint lang-config">Content-encoding: pkzip</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="charset-lang" id="charset-lang">Jeux de caractères et langues</a></h2> + <p>En plus du type de fichier et du codage, un autre élément + important d'information est la langue dans laquelle 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 également transmise via des en-têtes HTTP.</p> + + <p>Les jeu de caractères, langue, codage et type MIME sont tous + utilisés au cours du processus de négociation de contenu (voir + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>) afin de déterminer quel document + servir au client, lorsque plusieurs choix sont possibles en fonction + du jeu de caractères, de la langue, du codage ou du type MIME. Toutes + les associations d'extensions de noms de fichiers créées via les + directives <code class="directive"><a href="#addcharset">AddCharset</a></code>, + <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> et <code class="directive"><a href="#addtype">AddType</a></code> (ainsi que les associations + d'extensions listées dans le fichier défini par la directive + <code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code>), + participent à ce processus de sélection. Les extensions de noms de + fichiers qui n'ont été associés que par des directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> ou <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, peuvent être incluses + ou exclues du processus de sélection en utilisant la directive + <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code>.</p> + + <h3><a name="charset" id="charset">Jeu de caractères</a></h3> + <p>Pour transmettre cette information supplémentaire, Apache peut + ajouter un en-tête <code>Content-Language</code>, afin de + spécifier la langue dans laquelle le document est écrit, et peut + ajouter des informations additionnelles à l'en-tête + <code>Content-Type</code> pour indiquer le jeu de caractères + particulier qui doit être utilisé pour restituer correctement le + document.</p> + + <div class="example"><p><code> + Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 + </code></p></div> + + <p>La langue est spécifiée via son abréviation en deux lettres. Le + <code>jeu de caractères</code> est le nom du jeu de caractères + particulier qui doit être utilisé.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addcharset" id="addcharset">Directive</a> <a name="AddCharset" id="AddCharset">AddCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddCharset <var>jeu-car</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">AddCharset</code> 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é). <var>jeu-car</var> est le <a href="http://www.iana.org/assignments/character-sets">paramètre jeu + de caractères du type de médium</a> pour les ressources dont le nom + de fichier contient <var>extension</var>. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même <var>extension</var>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddLanguage ja .ja +AddCharset EUC-JP .euc +AddCharset ISO-2022-JP .jis +AddCharset SHIFT_JIS .sjis</pre> +</div> + + <p>Avec cet exemple, le document <code>xxxx.ja.jis</code> sera + traité en tant que document japonais dont le jeu de caractère est + <code>ISO-2022-JP</code> (idem pour le document + <code>xxxx.jis.ja</code>). La directive + <code class="directive">AddCharset</code> 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 <a href="../content-negotiation.html">négociation de contenu</a>, au + cours de laquelle le serveur décide lequel 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.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addencoding" id="addencoding">Directive</a> <a name="AddEncoding" id="AddEncoding">AddEncoding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au type +de codage spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddEncoding <var>codage</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">AddEncoding</code> permet d'associer + les extensions de noms de fichiers données au codage de contenu HTTP + spécifié. <var>codage</var> est le codage de contenu HTTP à ajouter + à la valeur du champ d'en-tête Content-Encoding pour les documents + possédant l'<var>extension</var> 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 <var>extension</var>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz +AddEncoding x-compress .Z</pre> +</div> + + <p>Avec cet exemple, les noms de fichiers possédant l'extension + <code>.gz</code> seront marqués comme codés à l'aide du codage + <code>x-gzip</code>, et les noms de fichiers possédant l'extension + <code>.Z</code> comme codés avec <code>x-compress</code>.</p> + + <p>Les clients anciens n'acceptent que <code>x-gzip</code> et + <code>x-compress</code>, bien que les standards stipulent qu'ils + sont respectivement équivalents à <code>gzip</code> et + <code>compress</code>. Apache effectue ses comparaisons de codages + de contenu en ignorant tout préfixe <code>x-</code>. Lorsqu'il + répond avec un codage, Apache utilise l'une ou l'autre forme (c'est + à dire <code>x-foo</code> ou <code>foo</code>) 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 + <code>AddEncoding</code>. Pour résumer, vous devez toujours utiliser + <code>x-gzip</code> et <code>x-compress</code> pour ces deux + codages spécifiques. Certains codages plus récents, comme + <code>deflate</code>, doivent être spécifiés sans le préfixe + <code>x-</code>.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addhandler" id="addhandler">Directive</a> <a name="AddHandler" id="AddHandler">AddHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au +gestionnaire spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddHandler <var>nom-gestionnaire</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>Les fichiers dont le nom a pour extension <var>extension</var> + seront servis par le <var><a href="../handler.html">nom-gestionnaire</a></var> spécifié. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + <var>extension</var>. Par exemple, pour associer les scripts CGI + avec l'extension de fichier <code>.cgi</code>, vous pouvez utiliser + :</p> + + <pre class="prettyprint lang-config">AddHandler cgi-script .cgi</pre> + + + <p>Une fois cette ligne insérée dans votre fichier httpd.conf, tout + fichier possédant l'extension <code>.cgi</code> sera traité en tant + que programme CGI.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addinputfilter" id="addinputfilter">Directive</a> <a name="AddInputFilter" id="AddInputFilter">AddInputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddInputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">AddInputFilter</code> permet + d'associer l'extension de nom de fichier <var>extension</var> aux <a href="../filter.html">filtres</a> spécifiés qui 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 <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + <var>extension</var>.</p> + + <p>Si plusieurs <var>filtres</var> 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 <var>filtre</var> + est insensible à la casse.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#removeinputfilter">RemoveInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addlanguage" id="addlanguage">Directive</a> <a name="AddLanguage" id="AddLanguage">AddLanguage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe l'extension de nom de fichier donnée à la langue +spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddLanguage <var>symbole-langue</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">AddLanguage</code> permet d'associer + l'extension de nom de fichier donnée à la langue spécifiée. Les + fichiers dont l'extension correspond à la valeur + de l'argument <var>extension</var> se voient attribuer la valeur de + l'argument <var>symbole-langue</var> comme en-tête HTTP + Content-Language en accord avec les identifiants de langues définis + par la RFC 3066. Cette directive l'emporte sur toute association + préexistante pour la même <var>extension</var>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddEncoding x-compress .Z +AddLanguage en .en +AddLanguage fr .fr</pre> +</div> + + <p>Avec cet exemple, le document <code>xxxx.en.Z</code> sera traité + en tant que document compressé de langue anglaise (idem pour le + document <code>xxxx.Z.en</code>). Bien que la langue soit fournie au + client, le navigateur n'utilise habituellement pas cette + information. La directive <code class="directive">AddLanguage</code> est + principalement utilisée au cours de la <a href="../content-negotiation.html">négociation de contenu</a>, 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 + langue.</p> + + <p>Si une extension fait l'objet de plusieurs associations de + langues, c'est la dernière qui sera utilisée. Ainsi, dans le cas + suivant,</p> + + <pre class="prettyprint lang-config">AddLanguage en .en +AddLanguage en-gb .en +AddLanguage en-us .en</pre> + + + <p>les documents possédant l'extension <code>.en</code> seront + traités en tant que documents de langue <code>en-us</code>.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addoutputfilter" id="addoutputfilter">Directive</a> <a name="AddOutputFilter" id="AddOutputFilter">AddOutputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">AddOutputFilter</code> permet + d'associer l'extension de nom de fichier définie par l'argument + <var>extension</var> aux <a href="../filter.html">filtres</a> 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 + <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> et <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. Cette association + est fusionnée avec toute autre association en vigueur, et l'emporte + sur toute association préexistante pour la même + <var>extension</var>.</p> + + <p>Avec l'exemple suivant, tous les fichiers <code>.shtml</code> + seront traités en tant qu'inclusions côté serveur (SSI), et la + sortie sera compressée à l'aide du module + <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p> + + <pre class="prettyprint lang-config">AddOutputFilter INCLUDES;DEFLATE shtml</pre> + + + <p>Si plusieurs <var>filtres</var> 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 <var>filtre</var> + est insensible à la casse.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + <p>Notez que toute définition de filtres via la directive <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> remplace toutes les + définitions précédentes effectuées via cette même directive.</p> + + <pre class="prettyprint lang-config"># 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></pre> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#removeoutputfilter">RemoveOutputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="addtype" id="addtype">Directive</a> <a name="AddType" id="AddType">AddType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers au type de +contenu spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddType <var>type-médium</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">AddType</code> permet d'associer les + extensions de noms de fichiers données au type de contenu spécifié. + <var>type-médium</var> est le <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">Type + MIME</a> à utiliser pour les fichiers dont le nom possède + l'extension <var>extension</var>. Cette association s'ajoute à toute + autre association en vigueur, et l'emporte sur toute association + préexistante pour la même <var>extension</var>.</p> + + <div class="note"> + Plutôt que d'éditer directement le fichier <code class="directive"><a href="#typesconfig">TypesConfig</a></code>, il est recommandé + d'utiliser la directive <code class="directive">AddType</code> pour + ajouter de nouveaux types de médias. + </div> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType image/gif .gif</pre> +</div> + + <p>Ou, pour spécifier plusieurs extensions dans une seule directive + :</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType image/jpeg jpeg jpg jpe</pre> +</div> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + <p>Il est possible d'obtenir un effet similaire à celui de la + directive <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> du module + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> en qualifiant un <var>type de + média</var> avec <code>qs</code> :</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType application/rss+xml;qs=0.8 .xml</pre> +</div> + + <p>Ceci peut s'avérer utile dans certaines situations, par exemple + lorsqu'un client qui a ajouté un en-tête <code>Accept: */*</code> à + sa requête n'est pas en mesure de traiter le contenu renvoyé par le + serveur.</p> + + <p>À 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.</p> + + <div class="note"><h3>Note</h3> + <p>Si aucun gestionnaire n'est explicitement défini pour une + requête, le type de contenu spécifié sera aussi utilisé comme nom du + gestionnaire.</p> + + <p>Lorsqu'aucune directive comme <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou + <code class="directive"><a href="#addhandler">AddHandler</a></code> ne s'applique à + une requête, le nom de gestionnaire interne normalement défini + par une de ces directives est en fait défini par le type de contenu + spécifié par la présente directive.</p> + <p> + Pour des raisons historiques, certains modules tiers comme mod_php + peuvent adopter ce type de comportement pour prendre en compte la + requête concernée. + </p> + <p>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 <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou <code class="directive"><a href="#addhandler">AddHandler</a></code> doivent aussi limiter + l'accès à la directive AddType.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="defaultlanguage" id="defaultlanguage">Directive</a> <a name="DefaultLanguage" id="DefaultLanguage">DefaultLanguage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un symbole de langue par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langue n'a été +associé.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultLanguage <var>symbole-langue</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">DefaultLanguage</code> permet + d'indiquer à Apache que toutes les ressources du contexte courant + (par exemple, toutes les ressources concernées par le conteneur + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + courant) qui ne possèdent pas d'extension de langue explicite + (comme <code>.fr</code> ou <code>.de</code> tel que défini par la + directive <code class="directive"><a href="#addlanguage">AddLanguage</a></code>), + verront leur en-tête HTTP Content-Language affecté de la langue + <var>symbole-langue</var>. 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 + langues, <code class="directive">DefaultLanguage</code> ne permet de + spécifier qu'une seule langue.</p> + + <p>Si aucune directive <code class="directive">DefaultLanguage</code> n'est + en vigueur, et si un fichier ne possède pas d'extension configurée + par la directive <code class="directive"><a href="#addlanguage">AddLanguage</a></code>, aucun champ d'en-tête + Content-Language ne sera généré.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DefaultLanguage en</pre> +</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="modmimeusepathinfo" id="modmimeusepathinfo">Directive</a> <a name="ModMimeUsePathInfo" id="ModMimeUsePathInfo">ModMimeUsePathInfo</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique à <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> de traiter les éléments +de <code>path_info</code> en tant que parties du nom de +fichier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ModMimeUsePathInfo On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ModMimeUsePathInfo Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">ModMimeUsePathInfo</code> permet de + combiner le nom de fichier avec la partie <code>path_info</code> de + l'URL pour appliquer les directives <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> à la + requête. La valeur par défaut est <code>Off</code> - situation dans + laquelle l'élément <code>path_info</code> est ignoré.</p> + + <p>L'utilisation de cette directive est conseillée si vous utilisez + un système de fichiers virtuel.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ModMimeUsePathInfo On</pre> +</div> + + <p>Considérons une requête pour <code>/index.php/foo.shtml</code>, + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne traitera pas la requête entrante comme + <code>/index.php/foo.shtml</code> et les directives comme + <code>AddOutputFilter INCLUDES .shtml</code> ajouteront le filtre + <code>INCLUDES</code> à la requête. Si la directive + <code class="directive">ModMimeUsePathInfo</code> n'est pas définie, le + filtre <code>INCLUDES</code> ne sera pas ajouté. Le fonctionnement + sera identique dans le cas des chemins virtuels, tels que ceux + définis par la directive <code class="directive"><Location></code></p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="multiviewsmatch" id="multiviewsmatch">Directive</a> <a name="MultiviewsMatch" id="MultiviewsMatch">MultiviewsMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MultiviewsMatch NegotiatedOnly</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">MultiviewsMatch</code> permet trois + comportements différents pour la fonctionnalité Multiviews du module + <a href="mod_negotiation.html">mod_negotiation</a>. Les vues + multiples permettent d'associer une requête pour un fichier, par + exemple <code>index.html</code>, à toute extension négociée + s'ajoutant à la requête de base, par exemple + <code>index.html.en</code>, <code>index.html.fr</code>, ou + <code>index.html.gz</code>.</p> + + <p>L'option <code>NegotiatedOnly</code> implique que toute extension + s'ajoutant au nom de base doit correspondre à une extension de + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> 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.</p> + + <p>Pour inclure des extensions associées avec des gestionnaires + et/ou des filtres, définissez la directive + <code class="directive">MultiviewsMatch</code> avec les mots-clés + <code>Handlers</code>, <code>Filters</code>, 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 + <code>index.html.cgi</code> de 500 octets et + <code>index.html.pl</code> de 1000 octets, c'est le fichier + <code>.cgi</code> qui l'emportera dans cet exemple. Les utilisateurs + de fichiers <code>.asis</code> auront avantage à utiliser l'option + Handler, si les fichiers <code>.asis</code> sont associés au + gestionnaire <code>asis-handler</code>.</p> + + <p>Vous pouvez enfin autoriser l'association de toute extension avec + l'option <code>Any</code>, même si <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> 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.</p> + + <p>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 :</p> + + <pre class="prettyprint lang-config">MultiviewsMatch Handlers Filters</pre> + + + <p>L'utilisation de la directive + <code class="directive">MultiviewsMatch</code> dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> n'est pas + permise.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removecharset" id="removecharset">Directive</a> <a name="RemoveCharset" id="RemoveCharset">RemoveCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveCharset <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveCharset</code> 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 <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoveCharset .html .shtml</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removeencoding" id="removeencoding">Directive</a> <a name="RemoveEncoding" id="RemoveEncoding">RemoveEncoding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveEncoding <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveEncoding</code> 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 <code>.htaccess</code>, 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 :</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz +AddType text/plain .asc +<Files "*.gz.asc"> + RemoveEncoding .gz +</Files></pre> +</div> + + <p>Avec cette configuration, le fichier <code>foo.gz</code> sera + marqué comme codé avec gzip, mais <code>foo.gz.asc</code> sera + marqué comme fichier texte non codé.</p> + + <div class="note"><h3>Note</h3> + <p>Les directives <code class="directive">RemoveEncoding</code> étant + traitées <em>après</em> toute directive <code class="directive"><a href="#addencoding">AddEncoding</a></code>, il est possible + qu'elles annulent les effets de ces dernières si les deux + apparaissent dans la configuration du même répertoire.</p> + </div> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removehandler" id="removehandler">Directive</a> <a name="RemoveHandler" id="RemoveHandler">RemoveHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveHandler <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveHandler</code> permet de + supprimer toute association de gestionnaire à des fichiers dont le + nom possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, 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 :</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddHandler server-parsed .html</pre> +</div> + + <div class="example"><h3>/foo/bar/.htaccess:</h3><pre class="prettyprint lang-config">RemoveHandler .html</pre> +</div> + + <p>Avec cette dernière ligne, les fichiers <code>.html</code> du + répertoire <code>/foo/bar</code> seront traités en tant que fichiers + normaux, au lieu d'être traités en tant que candidats à + l'interprétation (voir le module <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + module).</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removeinputfilter" id="removeinputfilter">Directive</a> <a name="RemoveInputFilter" id="RemoveInputFilter">RemoveInputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveInputFilter</code> permet de + supprimer toute association de <a href="../filter.html">filtre</a> + en entrée à des fichiers dont le nom possède l'extension donnée. + Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#addinputfilter">AddInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removelanguage" id="removelanguage">Directive</a> <a name="RemoveLanguage" id="RemoveLanguage">RemoveLanguage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de langue à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveLanguage <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveLanguage</code> permet de + supprimer toute association de langue à des fichiers dont le nom + possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removeoutputfilter" id="removeoutputfilter">Directive</a> <a name="RemoveOutputFilter" id="RemoveOutputFilter">RemoveOutputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveOutputFilter</code> permet de + supprimer toute association de <a href="../filter.html">filtre</a> + en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoveOutputFilter shtml</pre> +</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removetype" id="removetype">Directive</a> <a name="RemoveType" id="RemoveType">RemoveType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveType <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveType</code> permet de + supprimer toute association de <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">type de + médium</a> à des fichiers dont le nom possède l'extension + donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, 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 :</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">RemoveType .cgi</pre> +</div> + + <p>Cette ligne aura pour effet de supprimer tout traitement + spécifique des fichiers <code>.cgi</code> dans le répertoire + <code>/foo/</code> 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.</p> + + <div class="note"><h3>Note</h3> + <p>Les directives <code class="directive">RemoveType</code> sont traitées + <em>après</em> toutes les directives <code class="directive"><a href="#addtype">AddType</a></code>, 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.</p> + </div> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="typesconfig" id="typesconfig">Directive</a> <a name="TypesConfig" id="TypesConfig">TypesConfig</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le chemin du fichier <code>mime.types</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TypesConfig <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TypesConfig conf/mime.types</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">TypesConfig</code> permet de définir + le chemin du fichier de configuration des <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">types de média</a>. L'argument + <var>chemin-fichier</var> est un chemin relatif au répertoire défini + par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. 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 <code>mime.types</code> fourni + par leur système d'exploitation, + qui associe les extensions de noms de fichiers courantes à la liste + officielle des types de média enregistrés par l'IANA et maintenue à + <a href="http://www.iana.org/assignments/media-types/index.html">http://www.iana.org/assignments/media-types/index.html</a>, ainsi + qu'un grand nombre de types non officiels. Ce fichier permet de + simplifier le fichier <code>httpd.conf</code> en fournissant la + majorité des définitions de types de média, et ses définitions + peuvent être écrasées par des directives <code class="directive"><a href="#addtype">AddType</a></code>, selon les besoins. Il est + déconseillé de modifier le contenu du fichier + <code>mime.types</code> car il peut être remplacé lors d'une mise à + jour du serveur.</p> + + <p>Le fichier contient des lignes dont le format est identique à + celui des arguments d'une directive <code class="directive"><a href="#addtype">AddType</a></code> :</p> + + <div class="example"><p><code> + <var>type-médium</var> [<var>extension</var>] ... + </code></p></div> + + <p>Les extensions sont insensibles à la casse. Les lignes vides et + les lignes commençant par un dièse (<code>#</code>) sont + ignorées. Les lignes vides servent à compléter le fichier + mime.types. Apache httpd peut encore déterminer ces types via le + module <code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code>.</p> + + <div class="note"> + Merci de <strong>ne pas</strong> soumettre de requêtes au Projet + de Serveur HTTP Apache pour ajouter une entrée dans le fichier + <code>mime.types</code> 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 <code>catégorie/x-sous-type</code> 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 inombrables langues préexistantes et les + espaces de nommage des jeux de caractères. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_mime.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mime.html.ja.utf8 b/docs/manual/mod/mod_mime.html.ja.utf8 new file mode 100644 index 0000000..681d219 --- /dev/null +++ b/docs/manual/mod/mod_mime.html.ja.utf8 @@ -0,0 +1,1011 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_mime - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_mime</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>リクエストされたファイルの拡張子とファイルの振る舞い + (ハンドラとフィルタ)、内容 (MIME タイプ、言語、文字セット、エンコーディング) + とを関連付ける</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>mime_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_mime.c</td></tr></table> +<h3>概要</h3> + + <p>このモジュールは拡張子を使っていろいろな「メタ情報」をファイルに + 関連付けるために使用されます。この情報はドキュメントのファイル名と + MIME タイプ、言語、文字セット、エンコーディングとを関連付けます。 + この情報はブラウザに送られますし、複数のファイルの中からユーザの好みの + ものが選ばれるように、コンテントネゴシエーションでも使われます。 + <a href="../content-negotiation.html">コンテントネゴシエーション</a> + に関する詳しい情報は <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> + をご覧下さい。</p> + + <p><code class="directive"><a href="#addcharset">AddCharset</a></code> ディレクティブ、 + <code class="directive"><a href="#addencoding">AddEncoding</a></code> ディレクティブ、 + <code class="directive"><a href="#addhandler">AddHandler</a></code> ディレクティブ、 + <code class="directive"><a href="#addlanguage">AddLanguage</a></code> ディレクティブ、 + <code class="directive"><a href="#addtype">AddType</a></code> ディレクティブはすべて、 + ファイルの拡張子をメタ情報にマップするために使用されます。 + それぞれ、ドキュメントの文字セット <span class="transnote">(<em>訳注:</em> charset)</span>、content-encoding, + content-language, <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> (content-type) を設定します。 + <code class="directive"><a href="#typesconfig">TypesConfig</a></code> ディレクティブは拡張子を + MIME タイプにマップするファイルを指定するために使用されます。</p> + + <p>さらに、<code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> はコンテンツを作成、処理する + <a href="../handler.html">ハンドラ</a> と <a href="../filter.html">フィルタ</a> + を設定することができます。<code class="directive"><a href="#addhandler">AddHandler</a></code> ディレクティブ、<code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> ディレクティブ、<code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> ディレクティブは + ドキュメントを扱うモジュールやスクリプトを制御します。 + <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> ディレクティブは + これらのディレクティブが指定したファイルの拡張子を + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> が Multiviews のマッチをとるときに + 考慮するようにできます。</p> + + <p><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> はメタ情報をファイル名と関連付けますが、 + <code class="module"><a href="../mod/core.html">core</a></code> サーバにはあるコンテナ + (<em>たとえば</em>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>) の中のすべてのファイルを特定の + メタ情報と関連付けるディレクティブがあります。これらのディレクティブには + <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> があります。 + コアのディレクティブは <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> により定義された + ファイル名の拡張子のマッピングすべてを上書きします。</p> + + <p>ファイルのメタ情報を変えても <code>Last-Modified</code> + ヘッダの値は変わらないことに注意してください。ですから、 + それらを変更した場合は、クライアントやプロキシで以前にキャッシュされた + コピーがそのときのヘッダとともに使われる可能性があります。 + メタ情報 (言語、コンテントタイプ、文字セット、エンコーディング) を + 変更したときは、すべての訪問者が正しいコンテントヘッダを + 受け取るように、影響を受けるファイルに 'touch' コマンドを実行する + (最終更新日を更新する) 必要があるかもしれません。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#multipleext">複数の拡張子のあるファイル</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentencoding">コンテントエンコーディング</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charset-lang">文字セットと言語</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addcharset">AddCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addencoding">AddEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addhandler">AddHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addinputfilter">AddInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addlanguage">AddLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilter">AddOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addtype">AddType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultlanguage">DefaultLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#multiviewsmatch">MultiviewsMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removecharset">RemoveCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeencoding">RemoveEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removehandler">RemoveHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeinputfilter">RemoveInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removelanguage">RemoveLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeoutputfilter">RemoveOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removetype">RemoveType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#typesconfig">TypesConfig</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +<li><code class="directive"><a href="../mod/core.html#defaulttype">DefaultType</a></code></li> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="multipleext" id="multipleext">複数の拡張子のあるファイル</a></h2> + <p>ファイルは複数の拡張子を持つことができ、拡張子の順番は<em>通常は</em>関係ありません。例えば、ファイル <code>welcome.html.fr</code> + がコンテントタイプは <code>text/html</code> + に、言語はフランス語にマップされる場合、<code>welcome.fr.html</code> + もまったく同じ情報にマップされます。 + 同じメタ情報にマップされる拡張子が複数あるときには、言語と + コンテントエンコーディングを除いて、 + 右側にあるものが使用されます。たとえば、<code>.gif</code> が <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> <code>image/gif</code> にマップされ、<code>.html</code> + が MIME タイプ <code>text/html</code> + にマップされる場合は、ファイル <code>welcome.gif.html</code> は + MIME タイプ <code>text/html</code> に関連付けられます。</p> + + <p>リソースに複数の言語やエンコーディングを関連付けること + ができるため、 + <a href="#charset-lang">言語</a>と<a href="#contentencoding">コンテントエンコーディング</a>は前のものに追加されていきます。 + たとえば、ファイル <code>welcome.html.en.de</code> は + <code>Content-Language: en, de</code> と <code>Content-Type: + text/html</code> として送信されます。</p> + + <p>複数の拡張子のあるファイルが <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME + タイプ</a>とハンドラの両方に関連付けられているときは注意する必要があります。 + その場合、普通はリクエストがハンドラに関連付けられた + モジュールによって扱われることになります。たとえば、拡張子 + <code>.imap</code> が (<code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code> の) <code>imap-file</code> + にマップされていて、<code>.html</code> が MIME タイプ <code>text/html</code> + にマップされているときは、ファイル <code>world.imap.html</code> は + <code>imap-file</code> ハンドラと <code>text/html</code> MIME + タイプに関連付けられます。ファイルが処理されるときは <code>imap-file</code> + ハンドラが使用されますので、そのファイルは <code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code> + のイメージマップファイルとして扱われることになります。</p> + + <p>ファイル名のドット区切りでの最後の部分を使って、 + 特定の部分のメタデータにマッピングしたい場合は、 + <code>Add*</code> ディレクティブは使わないでください。 + たとえば <code>foo.html.cgi</code> を CGI スクリプトとして処理したいけれども、 + <code>bar.cgi.html</code> は CGI スクリプトとしては処理したくない場合、 + <code>AddHandler cgi-script .cgi</code> とする代わりに + 次のようにしてください</p> + + <div class="example"><h3>Configure handler based on final extension only</h3><p><code> + <FilesMatch \.cgi$> + <span class="indent"> + SetHandler cgi-script + </span> + </FilesMatch> + </code></p></div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="contentencoding" id="contentencoding">コンテントエンコーディング</a></h2> + <p>特定の <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> + のファイルはインターネットでの転送を簡単にするために、 + さらに符号化することができます。これは通常は <code>gzip</code> の + ような圧縮のことを指しますが、<code>pgp</code> のような暗号化や、 + バイナリファイルを ASCII (テキスト) 形式で送るために考案された + UUencoding のことを指すこともあります。</p> + + <p><a href="http://www.ietf.org/rfc/rfc2616.txt">HTTP/1.1 RFC</a> + 14.11 節では次のように記述されています。</p> + + <blockquote cite="http://www.ietf.org/rfc/rfc2616.txt"> + <p>Content-Encoding エンティティヘッダフィールドはメディアタイプの + 修飾子として使われます。それが存在していれば、値はエンティティボディに + どの追加の符号化が適用されたかを示し、Content-Type ヘッダフィールドに + 書かれているメディアタイプを得るためにどの復号機構を適用すべきか、も + 示していることになります。Content-Encoding は主に、元のメディアタイプの + 同一性を失うことなくドキュメントを圧縮することを可能にするために + 使用されます。</p> + </blockquote> + + <p>複数のファイル拡張子 (複数の拡張子については <a href="#multipleext">上の節</a> を参照) 使うことで、 + ファイルの<em>タイプ</em>や<em>エンコーディング</em>を指定することが + できます。</p> + + <p>たとえば、Microsoft Word のドキュメントがあり、サイズを小さくするために + pkzip されているとします。<code>.doc</code> 拡張子が Microsoft Word の + ファイルタイプと関連付けられていて、<code>.zip</code> 拡張子が + pkzip ファイルエンコーディングと関連付けられていると、ファイル + <code>Resume.doc.zip</code> は pkzip された Word ドキュメントである + ということがわかります。</p> + + <p>クライアントのブラウザにエンコーディング方法を知らせるために、 + Apache はリソースと共に <code>Content-Encoding</code> ヘッダを + 送ります。</p> + + <div class="example"><p><code>Content-encoding: pkzip</code></p></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="charset-lang" id="charset-lang">文字セットと言語</a></h2> + <p>ファイルタイプとファイルエンコーディングの他に重要な情報は + ドキュメントの書かれている言語と、どの文字セットでファイルが表示 + されるべきか、というものです。たとえば、ドキュメントはベトナムの + アルファベットやキリル文字で書かれていて、そのように表示される + 必要があるかもしれません。この情報もまた、HTTP ヘッダで + 送信されます。</p> + + <p>文字セット、言語、エンコーディング、mime タイプはすべて + コンテントネゴシエーション (<code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> 参照) + の最中に、複数の文字セット、言語、エンコーディング、MIME タイプからなる + 代替物があるときにどのドキュメントをクライアントに送るのかを + 決定するときに使われます。<code class="directive"><a href="#addcharset">AddCharset</a></code>, + <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code>, + <code class="directive"><a href="#addtype">AddType</a></code> の各ディレクティブで作成された + 拡張子の関連付け (と <code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code> でリストされている + 拡張子) がこの選択に参加します。<code class="directive"><a href="#addhandler">AddHandler</a></code>, + <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code>, + <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> の + 各ディレクティブでのみ関連付けられている拡張子は + <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> ディレクティブを + 使うことでマッチの + 処理に含めることも外すこともできます。</p> + + <h3><a name="charset" id="charset">Charset</a></h3> + <p>さらに情報を伝えるために、Apache は文書の言語を + <code>Content-Language</code> ヘッダで送ることもあります。 + また、情報を正しく表示するために使用すべき文字セットを示すために + <code>Conten-Type</code> ヘッダに情報を追加することもあります。</p> + + <div class="example"><p><code> + Content-Language: en, fr<br /> + Content-Type: text/plain; charset=ISO-8859-1 + </code></p></div> + + <p>言語の指定は二文字の短縮形で行なわれます。<code>charset</code> が + 使用すべき文字セットの名前です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddCharset" id="AddCharset">AddCharset</a> <a name="addcharset" id="addcharset">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル名の拡張子を指定された文字セットにマップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">AddCharset</code> ディレクティブは、 + 与えられた拡張子を指定された charset にマップします。<var>charset</var> + は、拡張子 <var>extension</var> を含んでいるファイル名の + <a href="http://www.iana.org/assignments/character-sets">MIME charset + パラメータ</a>です。新しいマッピングは既にある他のマッピングに追加され、同じ拡張子 + <var>extension</var> のためのマッピングを上書きします。</p> + + <div class="example"><h3>例</h3><p><code> + AddLanguage ja .ja<br /> + AddCharset EUC-JP .euc<br /> + AddCharset ISO-2022-JP .jis<br /> + AddCharset SHIFT_JIS .sjis + </code></p></div> + + <p>この場合、ドキュメント <code>xxxx.ja.jis</code> は charset が + <code>ISO-2022-JP</code> の日本語のドキュメントとして扱われます + (<code>xxxx.jis.ja</code> も同様)。<code class="directive">AddCharset</code> + ディレクティブは、ドキュメントが適切に解釈され表示されるように、 + ドキュメントの charset の情報をクライアントに教えるために役に立ちます。 + また、サーバがクライアントの charset + の優先度に基づいて複数のドキュメントの中からドキュメントを選ぶ<a href="../content-negotiation.html">コンテントネゴシエーション</a>のためにも役に立ちます。</p> + + <p>引数 <var>extension</var>は大文字小文字を区別せず、 + 最初のドットはあってもなくても構いません。 + ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、 + <var>extension</var>はそれぞれと比較されます。</p> + +<h3>参照</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddEncoding" id="AddEncoding">AddEncoding</a> <a name="addencoding" id="addencoding">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル名の拡張子を指定されたエンコーディング +にマップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddEncoding <var>MIME-enc</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">AddEncoding</code> ディレクティブは、 + 与えられた拡張子を指定されたエンコーディングにマップします。 + <var>MIME-enc</var> は、拡張子 <var>extension</var> + を含んだドキュメントに使用する MIME エンコーディングです。 + この新しいマッピングは既にある他のマッピングに追加され、 + 同じ拡張子 <var>extension</var> のためのマッピングを上書きします。</p> + + <div class="example"><h3>例</h3><p><code> + <code>AddEncoding x-gzip .gz<br /> + AddEncoding x-compress .Z</code> + </code></p></div> + + <p>これは、拡張子 <code>.gz</code> を含むファイル名が <code>x-gzip</code> + エンコーディングを使ってエンコードされていることと、拡張子 <code>.Z</code> + を含むファイル名が <code>x-compress</code> + でエンコードされていることを指定します。</p> + + <p>古いクライアントは <code>x-zip</code> と <code>x-compress</code> + が返ってくることを期待しますが、標準規格ではそれぞれ + <code>gzip</code> と <code>compress</code> + と等価であることになっています。Apache + は、コンテントエンコーディングの比較をするときには、先頭にある + <code>x-</code> を無視します。Apache + がエンコーディング付きで応答を返すときは、クライアントが要求した形式 + (<em>すなわち</em>、<code>x-foo</code> や <code>foo</code>) + を使用します。要するに、この二つのエンコーディングの場合は常に + <code>x-gzip</code> と <code>x-compress</code> + を使うべきである、ということです。<code>deflate</code> + のようなより新しいエンコーディングでは、<code>x-</code> + なしで指定してください。 + </p> + + <p>引数 <var>extension</var> は大文字小文字を区別せず、 + 最初のドットはあってもなくても構いません。 + ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、 + <var>extension</var>はそれぞれと比較されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddHandler" id="AddHandler">AddHandler</a> <a name="addhandler" id="addhandler">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル名の拡張子を指定されたハンドラにマップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p>拡張子 <var>extension</var> が名前にあるファイルは指定された <a href="../handler.html">handler-name</a> に扱われます。 + この新しいマッピングは既にある他のマッピングに追加され、 + 同じ拡張子 <var>extension</var> + のためのマッピングを上書きします。たとえば、拡張子 + "<code>.cgi</code>" で終わるファイルを CGI + スクリプトとして扱いたいときは、以下の設定をします。</p> + + <div class="example"><p><code> + AddHandler cgi-script .cgi + </code></p></div> + + <p>これを httpd.conf ファイルに記述することで、拡張子 + "<code>.cgi</code>" のファイルは CGI プログラムとして扱われます。 + </p> + + <p>引数 <var>extension</var> は大文字小文字を区別せず、 + 最初のドットはあってもなくても構いません。 + ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、 + <var>extension</var>はそれぞれと比較されます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddInputFilter" id="AddInputFilter">AddInputFilter</a> <a name="addinputfilter" id="addinputfilter">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルの拡張子をクライアントのリクエストを処理する + フィルタにマップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.26 以降で使用可能</td></tr> +</table> + <p><code class="directive">AddInputFilter</code> はファイルの拡張子 + <var>extension</var> をクライアントのリクエストや POST がサーバに来たときに + 処理をする<a href="../filter.html">フィルタ</a>にマップします。 + これは、<code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> ディレクティブも + 含め、他の場所で定義されているフィルタに加えられます。 + このマッピングはすでにあるものより優先されてマージされ、 + 同じ <var>extension</var> に対する既存のマッピングを上書きします。</p> + + <p>複数の<var>filter</var>を指定するときは、データを処理する順番にセミコロンで + 繋いで書く必要があります。<var>filter</var> は大文字小文字を区別しません。</p> + + <p>引数 <var>extension</var> は大文字小文字を区別せず、 + 最初のドットはあってもなくても構いません。 + ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、 + <var>extension</var>はそれぞれと比較されます。</p> + + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#removeinputfilter">RemoveInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddLanguage" id="AddLanguage">AddLanguage</a> <a name="addlanguage" id="addlanguage">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル名を指定された言語にマップ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddLanguage <var>MIME-lang</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">AddLanguage</code> ディレクティブは、与えられた拡張子を指定された + content language にマップします。<var>MIME-lang</var> は、拡張子 + <var>extension</var> を含んでいるファイル名の MIME における言語です。 + この新しいマッピングは既にあるマッピングに追加され、同じ拡張子 + <var>extension</var> のためのマッピングを上書きします。</p> + + <div class="example"><h3>例</h3><p><code> + AddEncoding x-compress .Z<br /> + AddLanguage en .en<br /> + AddLanguage fr .fr + </code></p></div> + + <p>この場合、<code>xxxx.en.Z</code> ドキュメントは compress + された英語のドキュメントとして扱われます (<code>xxxx.Z.en</code> + も同様)。content language はクライアントに通知されますが、 + ブラウザがこの情報を使うことはおそらくありません。 + <code class="directive">AddLanguage</code> + ディレクティブは、サーバがクライアントの言語の優先度に基づいて複数の + ドキュメントの中からドキュメントを選ぶ<a href="../content-negotiation.html">コンテントネゴシエーション</a>のためにより役に立ちます。</p> + + <p>複数の言語が同じ拡張子に割り当てられているときは、 + 最後のものが使用されます。すなわち、次のような場合、</p> + + <div class="example"><p><code> + AddLanguage en .en<br /> + AddLanguage en-gb .en<br /> + AddLanguage en-us .en + </code></p></div> + + <p>拡張子 <code>.en</code> のあるドキュメントは + <code>en-us</code> として扱われます。</p> + + <p>引数 <var>extension</var> は大文字小文字を区別せず、 + 最初のドットはあってもなくても構いません。 + ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、 + <var>extension</var>はそれぞれと比較されます。</p> + +<h3>参照</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddOutputFilter" id="AddOutputFilter">AddOutputFilter</a> <a name="addoutputfilter" id="addoutputfilter">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル名の拡張子をサーバからの応答を処理するフィルタに + マップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.26 以降で使用可能</td></tr> +</table> + <p><code class="directive">AddOutputFilter</code> ディレクティブは + 拡張子 <var>extension</var> をサーバの応答がクライアントに送られる + 前に処理する<a href="../filter.html">フィルタ</a>を定義します。 + これは <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> + ディレクティブと <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code> ディレクティブ + を含め、他の場所で定義されているフィルタに加えられます。 + この新しいマッピングは既にあるマッピングに追加され、同じ拡張子 + <var>extension</var> のためのマッピングを上書きします。</p> + + <p>例えば、以下の設定はすべての <code>.shtml</code> ファイルを SSI で処理し、 + その出力を <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> を使って圧縮します。</p> + + <div class="example"><p><code> + AddOutputFilter INCLUDES;DEFLATE shtml + </code></p></div> + + <p>複数のフィルタを指定するときは、データを処理する順番にセミコロンで + 繋いで書く必要があります。<var>filter</var> は大文字小文字を区別しません。</p> + + <p>引数 <var>extension</var> は大文字小文字を区別せず、 + 最初のドットはあってもなくても構いません。 + ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、 + <var>extension</var>はそれぞれと比較されます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#removeoutputfilter">RemoveOutputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddType" id="AddType">AddType</a> <a name="addtype" id="addtype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル名の拡張子を指定されたコンテントタイプにマップ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddType <var>MIME-type</var> <var>extension</var> +[<var>extension</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">AddType</code> ディレクティブは、 + 与えられた拡張子を指定されたコンテントタイプにマップします。 + <var>MIME-type</var> は拡張子 <var>extension</var> + を含んだドキュメントに使用する <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a>です。 + この新しいマッピングは既にあるマッピングに追加され、同じ拡張子 + <var>extension</var> のためのマッピングを上書きします。 + このディレクティブは MIME タイプファイル (<code class="directive"><a href="#typesconfig">TypesConfig</a></code> ディレクティブを参照) + に無いマッピングを追加するために使用することができます。</p> + + <div class="example"><h3>例</h3><p><code> + AddType image/gif .gif + </code></p></div> + + <p>あるいは、ひとつのディレクティブで複数のファイル拡張子を指定する場合:</p> + + <div class="example"><h3>Example</h3><p><code> + AddType image/jpeg jpeg jpg jpe + </code></p></div> + + <div class="note"> + 新しい MIME タイプは、<code class="directive"><a href="#typesconfig">TypesConfig</a></code> + ファイルを変更するのではなく、<code class="directive">AddType</code> + ディレクティブを使って追加することが推奨されています。 + </div> + + <p>引数 <var>extension</var> は大文字小文字を区別せず、 + 最初のドットはあってもなくても構いません。 + ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、 + <var>extension</var>はそれぞれと比較されます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#defaulttype">DefaultType</a></code></li> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultLanguage" id="DefaultLanguage">DefaultLanguage</a> <a name="defaultlanguage" id="defaultlanguage">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>あるスコープのすべてのファイルを指定された言語に +設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DefaultLanguage <var>MIME-lang</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">DefaultLanguage</code> ディレクティブは、Apache + がディレクティブのスコープ (<em>例えば</em>、その時点の + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + の範囲) にある、明示的な言語拡張子 + (<code class="directive"><a href="#addlanguage">AddLanguage</a></code> で設定される + <code>.fr</code> や <code>.de</code>) のない全てのファイルを、指定された + <var>MIME-lang</var> 言語であるとみなすようにします。 + これにより、すべてのファイル名を変えることなく、 + ディレクトリがオランダ語のコンテントを含んでいる、 + というようなことを指定することができます。 + 拡張子を使用して言語を指定する方法と違い、 + <code class="directive">DefaultLanguage</code> + は一つの言語しか指定できないことに注意してください。</p> + + <p><code class="directive">DefaultLanguage</code> + ディレクティブが有効でなく、ファイルに + <code class="directive"><a href="#addlanguage">AddLanguage</a></code> + で設定された言語の拡張子がないときは、 + ファイルには言語属性がないとみなされます。</p> + + <div class="example"><h3>例</h3><p><code> + DefaultLanguage en + </code></p></div> + +<h3>参照</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ModMimeUsePathInfo" id="ModMimeUsePathInfo">ModMimeUsePathInfo</a> <a name="modmimeusepathinfo" id="modmimeusepathinfo">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>path_info</code> コンポーネントをファイル名の一部として扱うように +<code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> に通知する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ModMimeUsePathInfo On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ModMimeUsePathInfo Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.41 以降</td></tr> +</table> + <p><code class="directive">ModMimeUsePathInfo</code> ディレクティブは、 + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> の持つディレクティブを + リクエストに適用させるために、ファイル名と <code>path_info</code> URL + コンポーネントを結合させるために使用します。 + デフォルトでは「 <code>Off</code> 」で、<code>path_info</code> + コンポーネントは無視されます。</p> + + <p>このディレクティブは、バーチャルファイルシステムを使用している際に + 推奨されるディレクティブです。</p> + + <div class="example"><h3>例</h3><p><code> + ModMimeUsePathInfo On + </code></p></div> + + <p><code>/bar</code> が存在して (foo.shtml は存在しない) + <code class="directive">ModMimeUsePathInfo</code> が <code>On</code> であるとして、 + <code>/bar/foo.shtml</code> に対するリクエストを発行した場合、 + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> は入ってきたリクエストを + <code>/bar/foo.shtml</code> として扱い、 + <code>AddOutputFileter INCLUDES .shtml</code> のようなディレクティブは + <code>INCLUDES</code> フィルタをリクエストに付加させます。 + <code class="directive">ModMimeUsePathInfo</code> が設定されなければ、 + <code>INCLUDES</code> フィルタは付加されません。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MultiviewsMatch" id="MultiviewsMatch">MultiviewsMatch</a> <a name="multiviewsmatch" id="multiviewsmatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>MultiViews でのマッチングの検索に含ませる +ファイルのタイプを指定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MultiviewsMatch NegotiatedOnly</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.26 以降で使用可能</td></tr> +</table> + <p><code class="directive">MultiviewsMatch</code> を使用することで、 + <a href="mod_negotiation.html">mod_negotiation</a> の + Multiviews に 3 種類の異なる挙動をさせることができます。 + Multiviews を使用すると、ファイル (例 <code>index.html</code>) + に対するリクエストに対して、ネゴシエーションする拡張子がベースに付いたもの + (<code>index.html.en</code>, <code>index.html.fr</code> や + <code>index.html.gz</code>) + をマッチさせることができます。</p> + + <p><code>NegotiatedOnly</code> オプションでは、ベース名に続く拡張子全てが + コンテントネゴシエーションで <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> + が認識する拡張子 (<em>例</em> 文字セット、コンテントタイプ、言語やエンコーディング) + に関連付けられていなければなりません。これは副作用の最も少ない + 最も的確な実装で、デフォルトになっています。</p> + + <p>ハンドラとフィルタの両方もしくは片方と関連付けられた拡張子を含めるには、 + <code class="directive">MultiviewsMatch</code> ディレクティブに <code>Handlers</code>, + <code>Filters</code> またはその両方のオプションをセットします。 + もし他の条件が同じであれば、最も小さいファイルが送信されます。 + 例えば、500 文字の <code>index.html.cgi</code> と 1000 バイトの + <code>index.html.pl</code> であれば、<code>.cgi</code> + のファイルが優先されます。<code>.asis</code> ファイルを利用しているユーザは、 + <code>.asis</code> ファイルが <code>asis-handler</code> に関連付けられているときには、 + ハンドラオプションの使用を好むでしょう。</p> + + <p>最後に、<code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> が認識しない拡張子であろうとも、 + どんな拡張子でもマッチさせる <code>Any</code> が使用できます。 + この挙動は Apache 1.3 のときと同じもので、予期しない動作、例えば <code>.old</code> や + <code>.bak</code> ファイルといったウェブマスタが送信を意図していない + ファイルを送信する、といった動作を行なう可能性があります。</p> + + <p>例えば次の設定では、ハンドラやフィルタが Multiviews に参加することが + できますし、未知のファイルは除外することができます。</p> + + <div class="example"><p><code> + MultiviewsMatch Handlers Filters + </code></p></div> + + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveCharset" id="RemoveCharset">RemoveCharset</a> <a name="removecharset" id="removecharset">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルの拡張子に関連付けられたすべての文字セット +を解除する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RemoveCharset <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.24 以降で使用可能</td></tr> +</table> + <p><code class="directive">RemoveCharset</code> ディレクティブ + は与えられた拡張子に関連付けられた文字セットを取り消します。 + これにより、サブディレクトリにある <code>.htaccess</code> + ファイルが親ディレクトリやサーバの設定ファイル + から継承した関連付けを取り消すことができます。例えば:</p> + + <p><var>extension</var> は大文字小文字を区別しません。 + また、最初のドットはあってもなくても構いません。</p> + + <div class="example"><h3>例</h3><p><code> + RemoveCharset .html .shtml + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveEncoding" id="RemoveEncoding">RemoveEncoding</a> <a name="removeencoding" id="removeencoding">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルの拡張子に関連付けられたすべてのコンテントエンコーディング +を解除する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RemoveEncoding <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">RemoveEncoding</code> ディレクティブは、 + 与えられた拡張子に関連付けられたエンコーディングを取り消します。 + これにより、サブディレクトリにある <code>.htaccess</code> + ファイルが親ディレクトリやサーバの設定ファイルから継承した関連付けを + 取り消すことができます。</p> + + <div class="example"><h3>/foo/.htaccess:</h3><p><code> + AddEncoding x-gzip .gz<br /> + AddType text/plain .asc<br /> + <Files *.gz.asc><br /> + <span class="indent"> + RemoveEncoding .gz<br /> + </span> + </Files> + </code></p></div> + + <p>これは、<code>foo.gz</code> は gzip + でエンコードされていることを指定しますが、<code>foo.gz.asc</code> + はエンコードされていないプレーンテキストの + ファイルであるということを指定します。</p> + + <div class="note"><h3>注意</h3> + <p><code class="directive">RemoveEncoding</code> は + <code class="directive"><a href="#addencoding">AddEncoding</a></code> + ディレクティブの<em>後</em>で処理されますので、 + 同じディレクトリの設定中に両方が現れると、 + 後者の効果が打ち消される可能性があります。</p> + </div> + + <p><var>extension</var> は大文字小文字を区別しません。 + また、最初のドットはあってもなくても構いません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveHandler" id="RemoveHandler">RemoveHandler</a> <a name="removehandler" id="removehandler">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルの拡張子に関連付けられたすべてのハンドラを +解除する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RemoveHandler <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">RemoveHandler</code> ディレクティブ + は与えられた拡張子に関連付けられたハンドラを取り消します。 + これにより、サブディレクトリにある <code>.htaccess</code> + ファイルが親ディレクトリやサーバの設定ファイル + から継承した関連付けを取り消すことができます。たとえば:</p> + + <div class="example"><h3>/foo/.htaccess:</h3><p><code> + AddHandler server-parsed .html + </code></p></div> + + <div class="example"><h3>/foo/bar/.htaccess:</h3><p><code> + RemoveHandler .html + </code></p></div> + + <p>これは、<code>/foo/bar</code> ディレクトリの <code>.html</code> + ファイルは SSI (<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> モジュール参照) ではなく、 + 普通のファイルとして扱われるようにする効果があります。 + </p> + + <p><var>extension</var> は大文字小文字を区別しません。 + また、最初のドットはあってもなくても構いません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveInputFilter" id="RemoveInputFilter">RemoveInputFilter</a> <a name="removeinputfilter" id="removeinputfilter">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル拡張子に関連付けられた入力フィルタを解除する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.26 以降で使用可能</td></tr> +</table> + <p><code class="directive">RemoveInputFilter</code> ディレクティブは + 指定されたファイル拡張子に関連付けられた入力<a href="../filter.html">フィルタ</a>を解除します。 + これを利用することで、親ディレクトリやサーバ設定ファイルから + 継承した関連付けを サブディレクトリ内において + <code>.htaccess</code> ファイルで取り消すことができます。</p> + + <p><var>extension</var> 引数は大文字小文字を区別しません。また、 + 最初のドットはあってもなくても構いません。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#addinputfilter">AddInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveLanguage" id="RemoveLanguage">RemoveLanguage</a> <a name="removelanguage" id="removelanguage">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル拡張子に関連付けられた言語を解除する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RemoveLanguage <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.24 以降で使用可能</td></tr> +</table> + <p><code class="directive">RemoveLanguage</code> ディレクティブは + 指定されたファイル拡張子に関連付けられた言語を解除します。 + これを利用することで、親ディレクトリやサーバ設定ファイルから + 継承した関連付けを サブディレクトリ内において + <code>.htaccess</code> ファイルで取り消すことができます。</p> + + <p><var>extension</var> 引数は大文字小文字を区別しません。また、 + 最初のドットはついてもつかなくても構いません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveOutputFilter" id="RemoveOutputFilter">RemoveOutputFilter</a> <a name="removeoutputfilter" id="removeoutputfilter">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイル拡張子に関連付けられた出力フィルタを解除する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.26 以降でのみ使用可能</td></tr> +</table> + <p><code class="directive">RemoveOutputFilter</code> ディレクティブは + 指定されたファイル拡張子に関連付けられた出力<a href="../filter.html">フィルタ</a>を解除します。 + これを利用することで、親ディレクトリやサーバ設定ファイルから + 継承した関連付けを サブディレクトリ内において + <code>.htaccess</code> ファイルで取り消すことができます。</p> + + <p><var>extension</var> は大文字小文字を区別しません。 + また、最初のドットはあってもなくても構いません。</p> + + <div class="example"><h3>例</h3><p><code> + RemoveOutputFilter shtml + </code></p></div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoveType" id="RemoveType">RemoveType</a> <a name="removetype" id="removetype">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルの拡張子と関連付けられたコンテントタイプを +解除する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RemoveType <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">RemoveType</code> ディレクティブは与えられた拡張子の + <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> + の関連付けを取り消します。これにより、 + サブディレクトリにある <code>.htaccess</code> + ファイルが親ディレクトリやサーバの設定ファイルから継承した + 関連付けを取り消すことができます。たとえば:</p> + + <div class="example"><h3>/foo/.htaccess:</h3><p><code> + RemoveType .cgi + </code></p></div> + + <p>これは <code>/foo/</code> ディレクトリ以下の <code>.cgi</code> + ファイルの特別な扱いを取り消します。ファイルは <code class="directive"><a href="../mod/core.html#defaulttype">DefaultType</a></code> として扱われます。</p> + + <div class="note"><h3>注意</h3> + <p><code class="directive">RemoveType</code> ディレクティブは + <code class="directive"><a href="#addtype">AddType</a></code> + ディレクティブの<em>後</em>に処理されますので、 + 両方が同じディレクトリの設定中に現れた場合、 + 後者の効果が打ち消される可能性があります。</p> + </div> + + <p><var>extension</var> は大文字小文字を区別しません。 + また、最初のドットはあってもなくても構いません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TypesConfig" id="TypesConfig">TypesConfig</a> <a name="typesconfig" id="typesconfig">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>mime.types</code> ファイルの位置</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>TypesConfig <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>TypesConfig conf/mime.types</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_mime</td></tr> +</table> + <p><code class="directive">TypesConfig</code> ディレクティブは、 + <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> + 設定ファイルの位置を設定します。<var>file-path</var> は + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> からの相対パスです。 + このファイルはファイルの拡張子からコンテントタイプへの + デフォルトのマッピングを設定します。 + ほとんどの管理者は、よく使われるファイル名の拡張子を + IANA に登録されたコンテントタイプに関連付けている、 + Apache の <code>mime.types</code> ファイルを使います。 + 現在の一覧は <a href="http://www.iana.org/assignments/media-types/index.html">http://www.iana.org/assignments/media-types/index.html</a> + で管理されています。これは、主要なメディアタイプの定義を提供して、 + 必要ところを <code class="directive"><a href="#addtype">AddType</a></code> で + 上書きする、という方法で <code>httpd.conf</code> を簡略にします。 + <code>mime.types</code> はサーバをアップグレードしたときに + 置き換えられるかもしれないので、そのファイルを直接 + 編集しないでください。</p> + + <p>ファイルは、<code class="directive"><a href="#addtype">AddType</a></code> + ディレクティブの引数と同じ形式の行で構成されます。</p> + + <div class="example"><p><code> + <var>MIME-type</var> [<var>extension</var>] ... + </code></p></div> + + <p>拡張子の大文字小文字は区別されません。空行やハッシュ (`#') + で始まる行は無視されます。</p> + + <div class="note"> + (1) IANA に既に登録されている、あるいは (2) + 広く受け入れられていてプラットホーム間でファイル拡張子に衝突がない、 + という場合でなければ、配布中の <code>mime.types</code> + ファイルに新たなものを登録するように + Apache HTTP Server Project にリクエストしないでください。 + <code>category/x-subtype</code> のリクエストは自動的に却下されますし、 + 言語や文字セットの名前空間で既に使用されていて、衝突の可能性のある + 2 文字の拡張子も却下されます。 + </div> + +<h3>参照</h3> +<ul> +<li><code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_mime.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mime_magic.html b/docs/manual/mod/mod_mime_magic.html new file mode 100644 index 0000000..8aa0990 --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_mime_magic.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_mime_magic.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_mime_magic.html.en b/docs/manual/mod/mod_mime_magic.html.en new file mode 100644 index 0000000..25422e8 --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html.en @@ -0,0 +1,304 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_mime_magic - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_mime_magic</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_mime_magic.html" title="English"> en </a> | +<a href="../fr/mod/mod_mime_magic.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Determines the MIME type of a file + by looking at a few bytes of its contents</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mime_magic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_mime_magic.c</td></tr></table> +<h3>Summary</h3> + + <p>This module determines the <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME + type</a> of files in the same way the Unix + <code>file(1)</code> command works: it looks at the first few + bytes of the file. It is intended as a "second line of defense" + for cases that <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> can't resolve.</p> + + <p>This module is derived from a free version of the + <code>file(1)</code> command for Unix, which uses "magic + numbers" and other hints from a file's contents to figure out + what the contents are. This module is active only if the magic + file is specified by the <code class="directive"><a href="#mimemagicfile">MimeMagicFile</a></code> directive.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#format">Format of the Magic File</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#performance">Performance Issues</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Notes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#mimemagicfile">MimeMagicFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime_magic">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime_magic">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="format" id="format">Format of the Magic File</a></h2> + + <p>The contents of the file are plain ASCII text in 4-5 + columns. Blank lines are allowed but ignored. Commented lines + use a hash mark (<code>#</code>). The remaining lines are parsed for + the following columns:</p> + + <table class="bordered"><tr class="header"><th>Column</th><th>Description</th></tr> +<tr><td>1</td> + <td>byte number to begin checking from<br /> + "<code>></code>" indicates a dependency upon the previous + non-"<code>></code>" line</td></tr> +<tr class="odd"><td>2</td> + <td><p>type of data to match</p> + <table class="bordered"> + + <tr><td><code>byte</code></td> + <td>single character</td></tr> + <tr><td><code>short</code></td> + <td>machine-order 16-bit integer</td></tr> + <tr><td><code>long</code></td> + <td>machine-order 32-bit integer</td></tr> + <tr><td><code>string</code></td> + <td>arbitrary-length string</td></tr> + <tr><td><code>date</code></td> + <td>long integer date (seconds since Unix epoch/1970)</td></tr> + <tr><td><code>beshort</code></td> + <td>big-endian 16-bit integer</td></tr> + <tr><td><code>belong</code></td> + <td>big-endian 32-bit integer</td></tr> + <tr><td><code>bedate</code></td> + <td>big-endian 32-bit integer date</td></tr> + <tr><td><code>leshort</code></td> + <td>little-endian 16-bit integer</td></tr> + <tr><td><code>lelong</code></td> + <td>little-endian 32-bit integer</td></tr> + <tr><td><code>ledate</code></td> + <td>little-endian 32-bit integer date</td></tr> + </table></td></tr> +<tr><td>3</td> + <td>contents of data to match</td></tr> +<tr class="odd"><td>4</td> + <td>MIME type if matched</td></tr> +<tr><td>5</td> + <td>MIME encoding if matched (optional)</td></tr> +</table> + + <p>For example, the following magic file lines would recognize + some audio formats:</p> + + <div class="example"><pre># 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</pre></div> + + <p>Or these would recognize the difference between <code>*.doc</code> + files containing Microsoft Word or FrameMaker documents. (These are + incompatible file formats which use the same file suffix.)</p> + + <div class="example"><pre># 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</pre></div> + + <p>An optional MIME encoding can be included as a fifth column. + For example, this can recognize gzipped files and set the + encoding for them.</p> + + <div class="example"><pre># gzip (GNU zip, not to be confused with +# [Info-ZIP/PKWARE] zip archiver) + +0 string \037\213 application/octet-stream x-gzip</pre></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="performance" id="performance">Performance Issues</a></h2> + <p>This module is not for every system. If your system is barely + keeping up with its load or if you're performing a web server + benchmark, you may not want to enable this because the + processing is not free.</p> + + <p>However, an effort was made to improve the performance of + the original <code>file(1)</code> code to make it fit in a busy web + server. It was designed for a server where there are thousands of users + who publish their own documents. This is probably very common + on intranets. Many times, it's helpful if the server can make + more intelligent decisions about a file's contents than the + file name allows ...even if just to reduce the "why doesn't my + page work" calls when users improperly name their own files. + You have to decide if the extra work suits your + environment.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Notes</a></h2> + <p>The following notes apply to the <code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code> + module and are included here for compliance with contributors' + copyright restrictions that require their acknowledgment.</p> + + <div class="note"> + <p>mod_mime_magic: MIME type lookup via file magic numbers<br /> + Copyright (c) 1996-1997 Cisco Systems, Inc.</p> + + <p>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.</p> + + <p>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.</p> + </div> + + <div class="note"> + <p> - Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.</p> + + <p>This software is not subject to any license of the American + Telephone and Telegraph Company or of the Regents of the University + of California.</p> + + <p>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:</p> + + <ol> + <li>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.</li> + + <li>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.</li> + + <li>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.</li> + + <li>This notice may not be removed or altered.</li> + </ol> + </div> + + <div class="note"> + <p>For compliance with Mr Darwin's terms: this has been very + significantly modified from the free "file" command.</p> + + <ul> + <li>all-in-one file for compilation convenience when moving from + one version of Apache to the next.</li> + + <li>Memory allocation is done through the Apache API's pool + structure.</li> + + <li>All functions have had necessary Apache API request or server + structures passed to them where necessary to call other Apache API + routines. (<em>i.e.</em>, usually for logging, files, or memory + allocation in itself or a called function.)</li> + + <li>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 + <code>realloc()</code>.</li> + + <li>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.)</li> + + <li>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.</li> + + <li>Command-line flags have been removed since they will never be + used here.</li> + </ul> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MimeMagicFile" id="MimeMagicFile">MimeMagicFile</a> <a name="mimemagicfile" id="mimemagicfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MimeMagicFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime_magic</td></tr> +</table> + <p>The <code class="directive">MimeMagicFile</code> directive can be used to + enable this module, the default file is distributed at + <code>conf/magic</code>. Non-rooted paths are relative to the + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Virtual hosts will use + the same file as the main server unless a more specific setting is + used, in which case the more specific setting overrides the main + server's file.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">MimeMagicFile conf/magic</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_mime_magic.html" title="English"> en </a> | +<a href="../fr/mod/mod_mime_magic.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_mime_magic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mime_magic.html.fr.utf8 b/docs/manual/mod/mod_mime_magic.html.fr.utf8 new file mode 100644 index 0000000..96a68a5 --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html.fr.utf8 @@ -0,0 +1,312 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_mime_magic - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_mime_magic</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime_magic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mime_magic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime_magic.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de déterminer le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type + MIME</a> des fichiers de la même manière que la commande Unix + <code>file(1)</code>, à 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ù <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne parvient pas à déterminer le + type du fichier.</p> + + <p>Ce module est dérivé d'une version libre de la commande Unix + <code>file(1)</code> 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 <code class="directive"><a href="#mimemagicfile">MimeMagicFile</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#format">Format du fichier magique</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#performance">Problèmes liés aux performances</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Notes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#mimemagicfile">MimeMagicFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime_magic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime_magic">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="format" id="format">Format du fichier magique</a></h2> + + <p>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 (<code>#</code>) est un commentaire. Les autres lignes sont + interprétées en colonnes comme suit :</p> + + <table class="bordered"><tr class="header"><th>Colonne</th><th>Description</th></tr> +<tr><td>1</td> + <td>numéro de l'octet à partir duquel la vérification débute<br /> + "<code>></code>" indique une dépendance par rapport à la + dernière ligne non-"<code>></code>"</td></tr> +<tr class="odd"><td>2</td> + <td><p>type de donnée à rechercher</p> + <table class="bordered"> + + <tr><td><code>byte</code></td> + <td>caractère unique</td></tr> + <tr><td><code>short</code></td> + <td>entier sur 16 bits selon l'ordre de la machine</td></tr> + <tr><td><code>long</code></td> + <td>entier sur 32 bits selon l'ordre de la machine</td></tr> + <tr><td><code>string</code></td> + <td>chaîne de taille choisie</td></tr> + <tr><td><code>date</code></td> + <td>date au format entier long (secondes depuis le temps Unix epoch/1970)</td></tr> + <tr><td><code>beshort</code></td> + <td>entier 16 bits big-endian</td></tr> + <tr><td><code>belong</code></td> + <td>entier 32 bits big-endian</td></tr> + <tr><td><code>bedate</code></td> + <td>date au format entier 32 bits big-endian</td></tr> + <tr><td><code>leshort</code></td> + <td>entier 16 bits little-endian</td></tr> + <tr><td><code>lelong</code></td> + <td>entier 32 bits little-endian</td></tr> + <tr><td><code>ledate</code></td> + <td>date au format entier 32 bits little-endian</td></tr> + </table></td></tr> +<tr><td>3</td> + <td>contenu des données à rechercher</td></tr> +<tr class="odd"><td>4</td> + <td>type MIME si correspondance</td></tr> +<tr><td>5</td> + <td>codage MIME si correspondance (optionnel)</td></tr> +</table> + + <p>Par exemple, les lignes du fichier magique suivantes + permettraient de reconnaître certains formats audio :</p> + + <div class="example"><pre># 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</pre></div> + + <p>Et celles-ci permettraient de reconnaître la différence entre les + fichiers <code>*.doc</code> qui contiennent des documents Microsoft + Word et les documents FrameMaker (ce sont des formats de fichiers + incompatibles qui possèdent le même suffixe).</p> + + <div class="example"><pre># 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</pre></div> + + <p>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.</p> + + <div class="example"><pre># gzip (GNU zip, à ne pas confondre avec +# l'archiveur zip [Info-ZIP/PKWARE]) + +0 string \037\213 application/octet-stream x-gzip</pre></div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="performance" id="performance">Problèmes liés aux performances</a></h2> + <p>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.</p> + + <p>Des efforts ont cependant été fournis pour améliorer les + performances du code original de la commande <code>file(1)</code> 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.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Notes</a></h2> + <p>Les notes suivantes s'appliquent au module + <code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code> et sont incluses ici pour + conformité avec les restrictions de copyright des contributeurs + qui requièrent de les accepter.</p> + <p>Note de traduction : ces informations de type légal ne sont pas traductibles</p> + + <div class="note"> + <p>mod_mime_magic: MIME type lookup via file magic numbers<br /> + Copyright (c) 1996-1997 Cisco Systems, Inc.</p> + + <p>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.</p> + + <p>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.</p> + </div> + + <div class="note"> + <p> - Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.</p> + + <p>This software is not subject to any license of the American + Telephone and Telegraph Company or of the Regents of the University + of California.</p> + + <p>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:</p> + + <ol> + <li>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.</li> + + <li>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.</li> + + <li>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.</li> + + <li>This notice may not be removed or altered.</li> + </ol> + </div> + + <div class="note"> + <p>For compliance with Mr Darwin's terms: this has been very + significantly modified from the free "file" command.</p> + + <ul> + <li>all-in-one file for compilation convenience when moving from + one version of Apache to the next.</li> + + <li>Memory allocation is done through the Apache API's pool + structure.</li> + + <li>All functions have had necessary Apache API request or server + structures passed to them where necessary to call other Apache API + routines. (<em>i.e.</em>, usually for logging, files, or memory + allocation in itself or a called function.)</li> + + <li>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 + <code>realloc()</code>.</li> + + <li>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.)</li> + + <li>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.</li> + + <li>Command-line flags have been removed since they will never be + used here.</li> + </ul> + </div> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="mimemagicfile" id="mimemagicfile">Directive</a> <a name="MimeMagicFile" id="MimeMagicFile">MimeMagicFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la détermination du type MIME en se basant sur le +contenu du fichier et en utilisant le fichier magique +spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MimeMagicFile <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime_magic</td></tr> +</table> + <p>La directive <code class="directive">MimeMagicFile</code> permet + d'activer ce module, le fichier par défaut fourni étant + <code>conf/magic</code>. Les chemins sans slash '/' de début sont + relatifs au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. 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é.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MimeMagicFile conf/magic</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime_magic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_mime_magic.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_negotiation.html b/docs/manual/mod/mod_negotiation.html new file mode 100644 index 0000000..9edee3e --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_negotiation.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_negotiation.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_negotiation.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_negotiation.html.en b/docs/manual/mod/mod_negotiation.html.en new file mode 100644 index 0000000..402b3fc --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html.en @@ -0,0 +1,372 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_negotiation - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_negotiation</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_negotiation.html" title="English"> en </a> | +<a href="../fr/mod/mod_negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides for <a href="../content-negotiation.html">content negotiation</a></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>negotiation_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_negotiation.c</td></tr></table> +<h3>Summary</h3> + + <p>Content negotiation, or more accurately content selection, is + the selection of the document that best matches the clients + capabilities, from one of several available documents. There + are two implementations of this.</p> + + <ul> + <li>A type map (a file with the handler + <code>type-map</code>) which explicitly lists the files + containing the variants.</li> + + <li>A Multiviews search (enabled by the <code>Multiviews</code> + <code class="directive"><a href="../mod/core.html#options">Options</a></code>), where the server does + an implicit filename pattern match, and choose from amongst the + results.</li> + </ul> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#typemaps">Type maps</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#multiviews">Multiviews</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_negotiation">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_negotiation">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li> +<li><a href="../content-negotiation.html">Content +Negotiation</a></li> +<li><a href="../env.html">Environment Variables</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="typemaps" id="typemaps">Type maps</a></h2> + <p>A type map has a format similar to RFC822 mail headers. It + contains document descriptions separated by blank lines, with + lines beginning with a hash character ('#') treated as + comments. A document description consists of several header + records; records may be continued on multiple lines if the + continuation lines start with spaces. The leading space will be + deleted and the lines concatenated. A header record consists of + a keyword name, which always ends in a colon, followed by a + value. Whitespace is allowed between the header name and value, + and between the tokens of value. The headers allowed are: </p> + + <dl> + <dt><code>Content-Encoding:</code></dt> + <dd>The encoding of the file. Apache only recognizes + encodings that are defined by an <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code> directive. + This normally includes the encodings <code>x-compress</code> + for compress'd files, and <code>x-gzip</code> for gzip'd + files. The <code>x-</code> prefix is ignored for encoding + comparisons.</dd> + + <dt><code>Content-Language:</code></dt> + <dd>The language(s) of the variant, as an Internet standard + language tag (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>). An example is <code>en</code>, + meaning English. If the variant contains more than one + language, they are separated by a comma.</dd> + + <dt><code>Content-Length:</code></dt> + <dd>The length of the file, in bytes. If this header is not + present, then the actual length of the file is used.</dd> + + <dt><code>Content-Type:</code></dt> + + <dd> + The <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME media type</a> of + the document, with optional parameters. Parameters are + separated from the media type and from one another by a + semi-colon, with a syntax of <code>name=value</code>. Common + parameters include: + + <dl> + <dt><code>level</code></dt> + <dd>an integer specifying the version of the media type. + For <code>text/html</code> this defaults to 2, otherwise + 0.</dd> + + <dt><code>qs</code></dt> + <dd>a floating-point number with a value in the range 0[.000] + to 1[.000], indicating the relative 'quality' of this variant + compared to the other available variants, independent of + the client's capabilities. For example, a jpeg file is + usually of higher source quality than an ascii file if it + is attempting to represent a photograph. However, if the + resource being represented is ascii art, then an ascii + file would have a higher source quality than a jpeg file. + All <code>qs</code> values are therefore specific to a given + resource.</dd> + </dl> + + <div class="example"><h3>Example</h3><p><code> + Content-Type: image/jpeg; qs=0.8 + </code></p></div> + </dd> + + <dt><code>URI:</code></dt> + <dd>uri of the file containing the variant (of the given + media type, encoded with the given content encoding). These + are interpreted as URLs relative to the map file; they must + be on the same server, and they must refer to files to + which the client would be granted access if they were to be + requested directly.</dd> + + <dt><code>Body:</code></dt> + <dd>The actual content of the resource may + be included in the type-map file using the Body header. This + header must contain a string that designates a delimiter for + the body content. Then all following lines in the type map + file will be considered part of the resource body until the + delimiter string is found. + + <div class="example"><h3>Example:</h3><p><code> + Body:----xyz----<br /> + <html><br /> + <body><br /> + <p>Content of the page.</p><br /> + </body><br /> + </html><br /> + ----xyz---- + </code></p></div> + </dd> + </dl> + + <p>Consider, for example, a resource called + <code>document.html</code> which is available in English, French, + and German. The files for each of these are called + <code>document.html.en</code>, <code>document.html.fr</code>, and + <code>document.html.de</code>, respectively. The type map file will + be called <code>document.html.var</code>, and will contain the + following:</p> + + <div class="example"><p><code> + URI: document.html<br /> + <br /> + Content-language: en<br /> + Content-type: text/html<br /> + URI: document.html.en<br /> + <br /> + Content-language: fr<br /> + Content-type: text/html<br /> + URI: document.html.fr<br /> + <br /> + Content-language: de<br /> + Content-type: text/html<br /> + URI: document.html.de<br /> + <br /> + + </code></p></div> + + <p>All four of these files should be placed in the same directory, + and the <code>.var</code> file should be associated with the + <code>type-map</code> handler with an <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> directive:</p> + + <pre class="prettyprint lang-config">AddHandler type-map .var</pre> + + + <p>A request for <code>document.html.var</code> in this directory will + result in choosing the variant which most closely matches the language preference + specified in the user's <code>Accept-Language</code> request + header.</p> + + <p>If <code>Multiviews</code> is enabled, and <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> is set to "handlers" or "any", a request to + <code>document.html</code> will discover <code>document.html.var</code> and + continue negotiating with the explicit type map.</p> + + <p>Other configuration directives, such as <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> can be used to map <code>document.html</code> to + <code>document.html.var</code>.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="multiviews" id="multiviews">Multiviews</a></h2> + <p>A Multiviews search is enabled by the <code>Multiviews</code> + <code class="directive"><a href="../mod/core.html#options">Options</a></code>. If the server receives a + request for <code>/some/dir/foo</code> and + <code>/some/dir/foo</code> does <em>not</em> exist, then the + server reads the directory looking for all files named + <code>foo.*</code>, and effectively fakes up a type map which + names all those files, assigning them the same media types and + content-encodings it would have if the client had asked for one + of them by name. It then chooses the best match to the client's + requirements, and returns that document.</p> + + <p>The <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> + directive configures whether Apache will consider files + that do not have content negotiation meta-information assigned + to them when choosing files.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a> <a name="cachenegotiateddocs" id="cachenegotiateddocs">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allows content-negotiated documents to be +cached by proxy servers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> +</table> + <p>If set, this directive allows content-negotiated documents + to be cached by proxy servers. This could mean that clients + behind those proxys could retrieve versions of the documents + that are not the best match for their abilities, but it will + make caching more efficient.</p> + + <p>This directive only applies to requests which come from + HTTP/1.0 browsers. HTTP/1.1 provides much better control over + the caching of negotiated documents, and this directive has no + effect in responses to HTTP/1.1 requests.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a> <a name="forcelanguagepriority" id="forcelanguagepriority">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action to take if a single acceptable document is not +found</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ForceLanguagePriority Prefer</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> +</table> + <p>The <code class="directive">ForceLanguagePriority</code> directive uses + the given <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> to satisfy + negotiation where the server could otherwise not return a single + matching document.</p> + + <p><code>ForceLanguagePriority Prefer</code> uses + <code>LanguagePriority</code> to serve a one valid result, rather + than returning an HTTP result 300 (MULTIPLE CHOICES) when there + are several equally valid choices. If the directives below were + given, and the user's <code>Accept-Language</code> header assigned + <code>en</code> and <code>de</code> each as quality <code>.500</code> + (equally acceptable) then the first matching variant, <code>en</code>, + will be served.</p> + + <pre class="prettyprint lang-config">LanguagePriority en fr de +ForceLanguagePriority Prefer</pre> + + + <p><code>ForceLanguagePriority Fallback</code> uses + <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> to + serve a valid result, rather than returning an HTTP result 406 + (NOT ACCEPTABLE). If the directives below were given, and the user's + <code>Accept-Language</code> only permitted an <code>es</code> + language response, but such a variant isn't found, then the first + variant from the <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> list below will be served.</p> + + <pre class="prettyprint lang-config">LanguagePriority en fr de +ForceLanguagePriority Fallback</pre> + + + <p>Both options, <code>Prefer</code> and <code>Fallback</code>, may be + specified, so either the first matching variant from <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> will be served if + more than one variant is acceptable, or first available document will + be served if none of the variants matched the client's acceptable list + of languages.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a> <a name="languagepriority" id="languagepriority">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> +</table> + <p>The <code class="directive">LanguagePriority</code> sets the precedence + of language variants for the case where the client does not + express a preference, when handling a Multiviews request. The list + of <var>MIME-lang</var> are in order of decreasing preference.</p> + + <pre class="prettyprint lang-config">LanguagePriority en fr de</pre> + + + <p>For a request for <code>foo.html</code>, where + <code>foo.html.fr</code> and <code>foo.html.de</code> both + existed, but the browser did not express a language preference, + then <code>foo.html.fr</code> would be returned.</p> + + <p>Note that this directive only has an effect if a 'best' + language cannot be determined by any other means or the <code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> directive + is not <code>None</code>. In general, the client determines the + language preference, not the server.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_negotiation.html" title="English"> en </a> | +<a href="../fr/mod/mod_negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_negotiation.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_negotiation.html.fr.utf8 b/docs/manual/mod/mod_negotiation.html.fr.utf8 new file mode 100644 index 0000000..bc44c99 --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html.fr.utf8 @@ -0,0 +1,388 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_negotiation - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_negotiation</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue la <a href="../content-negotiation.html">négociation de +contenu</a></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>negotiation_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_negotiation.c</td></tr></table> +<h3>Sommaire</h3> + + <p>La négociation de contenu, ou plus précisément la sélection de + contenu, est la sélection parmi plusieurs documents disponibles, du + document qui "colle" au plus près des possibilités du client. Pour y + parvenir, deux méthodes sont employées.</p> + + <ul> + <li>Une table de correspondances de types (un fichier associé au + gestionnaire <code>type-map</code>) qui contient une liste + explicite des fichiers contenant les différentes variantes.</li> + + <li>Une recherche multivues (Multiviews) (activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>), où le + serveur effectue une recherche de correspondance de modèle de nom + de fichier implicite, et fait son choix parmi les résultats.</li> + </ul> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#typemaps">Tables de correspondances de types</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#multiviews">Multivues</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_negotiation">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_negotiation">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li> +<li><a href="../content-negotiation.html">Négociation de +contenu</a></li> +<li><a href="../env.html">Variables d'environnement</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="typemaps" id="typemaps">Tables de correspondances de types</a></h2> + <p>Une table de correspondances de types possède un format similaire + à celui des en-têtes de messagerie RFC822. Elle contient des + descriptions de documents séparées par des lignes vides, toute ligne + commençant par un dièse ('#') étant considérée comme un + commentaire. Une description de document comporte plusieurs + enregistrements d'en-têtes ; chaque enregistrement peut être réparti + sur plusieurs lignes à condition que les lignes supplémentaires + commencent par un ou plusieurs espaces. Lors du traitement, les + espaces de début de ligne seront supprimés et les lignes + concaténées. L'enregistrement d'un en-tête comprend un mot-clé qui + se termine toujours par un caractère "deux-points" ':', suivi d'une + valeur. Les espaces sont autorisés entre le nom d'en-tête et sa + valeur, ainsi qu'entre les différents éléments de la valeur. Les + en-têtes autorisés sont :</p> + + <dl> + <dt><code>Content-Encoding:</code></dt> + <dd>Le codage du fichier. Apache ne reconnaît que les codages + définis par une directive <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code>. Sont normalement inclus + les codages <code>x-compress</code> pour les fichiers compressés + avec compress, et <code>x-gzip</code> pour les fichiers compressés + avec gzip. Le préfixe <code>x-</code> est ignoré lors des + comparaisons de codages.</dd> + + <dt><code>Content-Language:</code></dt> + <dd>Le(s) langage(s) de la variante, sous la forme d'un symbole de + langage Internet standard (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>). Par + exemple, <code>en</code> correspond à l'anglais. Si la variante + contient plusieurs langages, ils sont séparés par des + virgules.</dd> + + <dt><code>Content-Length:</code></dt> + <dd>La taille du fichier en octets. Si cet en-tête n'est pas + présent, c'est la taille réelle du fichier qui est utilisée.</dd> + + <dt><code>Content-Type:</code></dt> + + <dd> + Le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type MIME</a> du document + avec des paramètres optionnels. Les paramètres sont séparés du + type de médium ainsi qu'entre eux par un point-virgule, et + possèdent la syntaxe <code>nom=valeur</code>. Les paramètres + courants sont : + + <dl> + <dt><code>level</code></dt> + <dd>un entier spécifiant la version du type de média. Pour + <code>text/html</code>, la valeur par défaut est 2, sinon + 0.</dd> + + <dt><code>qs</code></dt> + <dd>un nombre en virgule flottante de 0[.000] à 1[.000], indiquant la + "qualité" relative de la variante courante par rapport aux + autres variantes disponibles, indépendamment des possibilités + du client. Par exemple, un fichier jpeg est en général une + source de qualité supérieure à un fichier ascii s'il est censé + représenter une image. Cependant, si la ressource représentée + est une image ascii, un fichier ascii possèdera une qualité + supérieure à un fichier jpeg. Toutes les valeurs de + <code>qs</code> sont donc spécifiques à une certaine + ressource.</dd> + </dl> + + <div class="example"><h3>Exemple</h3><p><code> + Content-Type: image/jpeg; qs=0.8 + </code></p></div> + </dd> + + <dt><code>URI:</code></dt> + <dd>l'URI du fichier contenant la variante (du type de médium + donné, codé selon le codage de contenu donné). Cet URI est + considéré comme relatif au fichier de correspondances ; il doit + être situé sur le même serveur, et doit faire référence au + fichier auquel le client se verrait accorder l'accès s'il était + requis directement.</dd> + + <dt><code>Body:</code></dt> + <dd>Le contenu réel de la ressource + peut être inclus dans la table de correspondances en utilisant + l'en-tête Body. Cet en-tête doit contenir une chaîne désignant un + délimiteur pour le contenu du corps. Les lignes suivantes du + fichier de correspondances de types seront alors considérées comme + parties du corps de la ressource jusqu'à ce que le délimiteur soit + détecté. + + <div class="example"><h3>Exemple:</h3><p><code> + Body:----xyz----<br /> + <html><br /> + <body><br /> + <p>Contenu de la page.</p><br /> + </body><br /> + </html><br /> + ----xyz---- + </code></p></div> + </dd> + </dl> + + <p>Considérons une ressource, <code>document.html</code>, disponible + en anglais, en français et en allemand. Les fichiers correspondants + se nomment respectivement <code>document.html.en</code>, + <code>document.html.fr</code>, et <code>document.html.de</code>. Le + fichier de correspondances de types se nommera + <code>document.html.var</code> et contiendra ce qui suit :</p> + + <div class="example"><p><code> + URI: document.html<br /> + <br /> + Content-language: en<br /> + Content-type: text/html<br /> + URI: document.html.en<br /> + <br /> + Content-language: fr<br /> + Content-type: text/html<br /> + URI: document.html.fr<br /> + <br /> + Content-language: de<br /> + Content-type: text/html<br /> + URI: document.html.de<br /> + <br /> + + </code></p></div> + + <p>Ces quatre fichiers doivent se trouver dans le même répertoire, + et le fichier <code>.var</code> doit être associé au gestionnaire + <code>type-map</code> via une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> :</p> + + <pre class="prettyprint lang-config">AddHandler type-map .var</pre> + + + <p>A l'arrivée d'une requête pour la ressource + <code>document.html.var</code>, la variante de + <code>document.html</code> qui correspond le mieux à la préference + de langage spécifiée dans l'en-tête de la requête de l'utilisateur + <code>Accept-Language</code> sera choisie.</p> + + <p>Si <code>Multiviews</code> est activée, et si <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> est définie à + "handlers" ou "any", une requête pour <code>document.html</code> va + rechercher <code>document.html.var</code>, et continuer la + négociation avec le gestionnaire explicite type-map.</p> + + <p>D'autres directives de configuration, comme <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, peuvent être utilisées pour + associer <code>document.html</code> avec + <code>document.html.var</code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="multiviews" id="multiviews">Multivues</a></h2> + <p>Une recherche Multivues est activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>. Si le + serveur reçoit une requête pour <code>/un/répertoire/foo</code>, et + si <code>/un/répertoire/foo</code> n'existe pas, le serveur parcourt + le répertoire à la recherche de tous les fichiers de nom + <code>foo.*</code>, et simule véritablement une correspondance de + type qui nomme tous ces fichiers en leur assignant les mêmes type + de média et codage de contenu qu'ils auraient eus si le client avait + requis l'un d'entre eux avec son nom complet. Il choisit ensuite le + fichier qui correspond le mieux au profile du client, puis renvoie + le document.</p> + + <p>La directive <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> définit si Apache doit + prendre en compte les fichiers qui ne comportent pas de métadonnées + de négociation de contenu lors du choix du fichier à servir.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cachenegotiateddocs" id="cachenegotiateddocs">Directive</a> <a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet la mise en cache au niveau des serveurs mandataires +des documents dont le contenu a été négocié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> +</table> + <p>Si elle est définie à "on", cette directive permet la mise en + cache au niveau des serveurs mandataires des documents dont le + contenu a été négocié. Le processus de mise en cache sera alors plus + efficace, mais des clients se trouvant derrière le mandataire + seront alors susceptibles de se voir servir des versions de + documents qui ne correspondent pas forcément à leurs attentes.</p> + + <p>Cette directive ne s'applique qu'aux requêtes en provenance de + navigateurs HTTP/1.0. HTTP/1.1 fournit un bien meilleur contrôle de + la mise en cache des documents au contenu négocié, et cette + directive n'a aucun effet sur les réponses aux requêtes + HTTP/1.1.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="forcelanguagepriority" id="forcelanguagepriority">Directive</a> <a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si un document acceptable unique +n'est pas trouvé</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ForceLanguagePriority Prefer</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> +</table> + <p>La directive <code class="directive">ForceLanguagePriority</code> utilise + le langage défini par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> pour terminer + la négociation lorsque le serveur n'est pas en mesure de trouver une + solution satisfaisante unique.</p> + + <p><code>ForceLanguagePriority Prefer</code> utilise la directive + <code>LanguagePriority</code> pour servir le résultat d'un choix + unique, au lieu de renvoyer un résultat HTTP 300 (MULTIPLE CHOICES), + lorsque que plusieurs choix équivalents sont disponibles. Par + exemple, avec les deux directives ci-dessous, si l'en-tête + <code>Accept-Language</code> de l'utilisateur assigne à + <code>en</code> et <code>de</code> une qualité de <code>.500</code> + (les deux langages sont également acceptables), alors c'est la + première variante acceptable de langue <code>en</code> qui sera + servie.</p> + + <pre class="prettyprint lang-config">LanguagePriority en fr de +ForceLanguagePriority Prefer</pre> + + + <p><code>ForceLanguagePriority Fallback</code> utilise la directive + <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> + pour servir un résultat valide, au lieu de renvoyer un résultat HTTP + 406 (NOT ACCEPTABLE). Avec les deux directives ci-dessous, si + l'en-tête <code>Accept-Language</code> de l'utilisateur ne mentionne + que les réponses de langage <code>es</code>, et si aucune variante + dans cette langue n'est trouvée, c'est la première variante de la + liste définie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> qui sera servie.</p> + + <pre class="prettyprint lang-config">LanguagePriority en fr de +ForceLanguagePriority Fallback</pre> + + + <p>Les deux options, <code>Prefer</code> et <code>Fallback</code>, + peuvent être spécifiées, de façon à ce que la variante servie soit + la première variante qui convient définie par la directive + <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> si + plusieurs variantes sont également acceptables, ou le premier + document disponible si aucune variante ne convient à la liste de + langages acceptables fournie par le client.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="languagepriority" id="languagepriority">Directive</a> <a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'ordre de priorité des variantes de langages pour les +cas où le client n'a pas formulé de préférences</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LanguagePriority <var>langage-MIME</var> [<var>langage-MIME</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> +</table> + <p>La directive <code class="directive">LanguagePriority</code> permet de + définir, au cours du traitement d'une requête Multivues, l'ordre de + priorité des variantes de langages pour les cas + où le client n'a pas formulé de préférences. La liste énumère les + <var>langages-MIME</var> dans un ordre de préférences + décroissantes.</p> + + <pre class="prettyprint lang-config">LanguagePriority en fr de</pre> + + + <p>Dans le cas d'une requête pour <code>foo.html</code>, si + <code>foo.html.fr</code> et <code>foo.html.de</code> existent, et si + le client n'a pas formulé de préférences, c'est le fichier + <code>foo.html.fr</code> qui sera renvoyé.</p> + + <p>Notez que cette directive n'a d'effet que si le 'meilleur' + langage n'a pas pu être déterminé d'une autre manière ou si la + valeur de la directive <code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> est + différente de <code>None</code>. En général, c'est le client qui + détermine le langage préféré, non le serveur.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_negotiation.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_negotiation.html.ja.utf8 b/docs/manual/mod/mod_negotiation.html.ja.utf8 new file mode 100644 index 0000000..4ab663a --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html.ja.utf8 @@ -0,0 +1,332 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_negotiation - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_negotiation</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_negotiation.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td><a href="../content-negotiation.html">コンテントネゴシエーション</a> + 機能を提供する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>negotiation_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_negotiation.c</td></tr></table> +<h3>概要</h3> + + <p>コンテントネゴシエーション、より正確にはコンテンツの選択機能は、 + 複数用意されているドキュメントから、クライアントの能力に一番合った + ドキュメントを選択する機能です。この実装は二つあります。</p> + + <ul> + <li>タイプマップ (<code>type-map</code> + ハンドラで扱われるファイル)。これは variants + を含んでいるファイルを明示的に指定します。</li> + + <li>MultiViews の探索 (<code>MultiViews</code> <code class="directive"><a href="../mod/core.html#option">Option</a></code> で有効になります)。 + サーバが暗黙の内にファイル名のパターンマッチを行ない、 + その結果から選択します。</li> + </ul> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#typemaps">タイプマップ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#multiviews">MultiViews</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_negotiation">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_negotiation">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li> +<li><a href="../content-negotiation.html">コンテントネゴシエーション</a></li> +<li><a href="../env.html">環境変数</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="typemaps" id="typemaps">タイプマップ</a></h2> + <p>タイプマップは RFC 822 のメールヘッダに類似した書式です。 + ドキュメントの記述が空行で分離されて書かれていて、ハッシュ文字 + ('#') で始まる行はコメントとして扱われます。 + ドキュメントの説明は複数のヘッダレコードから構成されます。 + レコードは、続きの行が空白で始まっていると複数の行にまたがります。 + 最初の空白が消去されて、前の行とつなげて 1 行として扱われます。 + ヘッダレコードはキーワード名の後に値が続くという形式で、 + キーワード名は常にコロンで終わります。空白はヘッダ名と値の間、 + 値のトークンの間に入れることができます。 + 使用可能なヘッダは以下のとおりです:</p> + + <dl> + <dt><code>Content-Encoding:</code></dt> + <dd>ファイルのエンコーディング。Apache は <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code> ディレクティブ + で定義されたエンコーディングだけを認識します。通常 compress + されたファイルのための <code>x-compress</code> と gzip + されたファイルのための <code>x-gzip</code> を含みます。 + エンコーディングの比較をするときは、接頭辞 <code>x-</code> + は無視されます。</dd> + + <dt><code>Content-Language:</code></dt> + <dd>インターネット標準の言語タグ + (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>) + で定義されている言語の種類。例えば、<code>en</code> + は英語を表します。 + 複数の言語が格納される場合はコンマで区切られます。</dd> + + <dt><code>Content-Length:</code></dt> + <dd>ファイルの長さ (バイト数)。 + このヘッダがない場合、ファイルの実際の長さが使用されます。</dd> + + <dt><code>Content-Type:</code></dt> + <dd>ドキュメントの <a class="glossarylink" href="../glossary.html#mime-type" title="用語集を参照">MIME + メディアタイプ</a>、オプショナルなパラメータ付き。パラメータの構文は + <code>name=value</code> + で、メディアタイプや他のパラメータとはセミコロンで分離されます。 + 共通のパラメータは以下のとおり: + + <dl> + <dt><code>level</code></dt> + <dd>メディアタイプのバージョンを示す整数。 + <code>text/html</code> では 2 がデフォルトで、その他の場合は + 0 がデフォルトです。</dd> + + <dt><code>qs</code></dt> + <dd>クライアントの能力に関係なく、variant + を他と比較したときの相対的な「品質」で、0.0 から 1.0 + の範囲の浮動点小数。 + 例えば、写真を表現しようとしているときは普通は JPEG + ファイルの方が ASCII ファイルよりも高い品質になります。 + しかし、リソースが ASCII アートで表現されているときは、ASCII + ファイルの方が JPEG + ファイルよりも高い品質になります。このように、<code>qs</code> + はリソース毎に特有の値を取ります。 + </dd> + </dl> + + <div class="example"><h3>例</h3><p><code> + Content-Type: image/jpeg; qs=0.8 + </code></p></div> + </dd> + + <dt><code>URI:</code></dt> + <dd>(指定のメディアタイプ、コンテントエンコーディングの) variant の + ファイルの uri. これは、マップファイルからの相対 URL として + 解釈されます。同じサーバに存在しなければならず、クライアントが + 直接リクエストしたときにアクセスを許可されるものでなければなりません。</dd> + + <dt><code>Body:</code></dt> + <dd>Apache 2.0 で新設されたこの Body ヘッダを使って、 + リソースの実際の内容をタイプマップファイルに書くことができます。 + このヘッダは本文の内容の区切りとなる文字列で始まる必要があります。 + タイプマップファイルの続く行は、区切り文字列が見つかるまで、 + リソースの本文になります。 + + <div class="example"><h3>Example:</h3><p><code> + Body:----xyz----<br /> + <html><br /> + <body><br /> + <p>Content of the page.</p><br /> + </body><br /> + </html><br /> + ----xyz---- + </code></p></div> + </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="multiviews" id="multiviews">MultiViews</a></h2> + <p>MultiViews 探索は、<code>Multiviews</code> <code class="directive"><a href="../mod/core.html#options">Options</a></code> ディレクティブにより有効になります。 + サーバが <code>/some/dir/foo</code> + へのリクエストを受け取り、<code>/some/dir/foo</code> が存在 + <em>しない</em>場合、サーバはディレクトリを読んで、 + <code>foo.*</code> にあてはまる全てのファイルを探し、 + 事実上それらのファイルをマップするタイプマップを作ります。 + そのとき、メディアタイプとコンテントエンコーディングは、 + そのファイル名を直接指定したときと同じものが割り当てられます。 + それからクライアントの要求に一番合うものを選び、 + そのドキュメントを返します。</p> + + <p>ファイルを選択する際に、関連するコンテントネゴシエーションの + メタ情報を持たないファイルについて、判定を行うかどうかを + <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code> + ディレクティブで設定します。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a> <a name="cachenegotiateddocs" id="cachenegotiateddocs">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>コンテントネゴシエーションされたドキュメントをプロキシサーバが +キャッシュできるようにする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_negotiation</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0で構文が変わりました</td></tr> +</table> + <p>このディレクティブが設定されていると、コンテントネゴシエーション + をした結果のドキュメントのキャッシュを許可します。 + これは、プロキシの後ろにいるクライアントが能力に一番合った + ドキュメントではなく、 + キャッシュをより効果的にするものを得る可能性があるということです。</p> + + <p>このディレクティブは HTTP/1.0 ブラウザからのリクエスト + のみに適用されます。HTTP/1.1 は、 + 交渉されたドキュメントのキャッシュに対してずっとよい制御が可能なので、 + このディレクティブは HTTP/1.1 のリクエストには影響しません。</p> + <p>2.0 より前のバージョンでは、 + <code class="directive">CacheNegotiatedDocs</code> は引数を取らず、 + ディレクティブが存在することで on の動作をしていました。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a> <a name="forcelanguagepriority" id="forcelanguagepriority">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>要求に合う単独のドキュメントが見つからなかったときに行なうことを指定 +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ForceLanguagePriority Prefer</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_negotiation</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.30 以降で使用可能</td></tr> +</table> + <p><code class="directive">ForceLanguagePriority</code> ディレクティブは + 要求に合うドキュメントを一つだけ返すことができないときに、 + <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> + ディレクティブを使ってネゴシエーションの結果を返します。</p> + + <p><code>ForceLanguagePriority Prefer</code> は、同等の選択肢が + いくつかあるときに、HTTP の 300 (MULTIPLE CHOICES) を返す代わりに、 + <code>LanguagePriority</code> を使って一つだけドキュメントを返すように + します。以下のディレクティブが指定されていて、ユーザの <code>Accept-Language</code> + ヘッダでは <code>en</code> と <code>de</code> の品質が共に + <code>.500</code> (同じくらい許容) であるときは、 + 最初にマッチする variant の <code>en</code> が送られます。</p> + + <div class="example"><p><code> + LanguagePriority en fr de<br /> + ForceLanguagePriority Prefer + </code></p></div> + + <p><code>ForceLanguagePriority Fallback</code> では、HTTP 406 + (NOT ACCEPTABLE) を送信する代わりに、 + <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> + が正しい結果を送ります。 + 以下のディレクティブが指定されていて、ユーザの <code>Accept-Language</code> + が <code>es</code> 言語のみを許可していて、さらにそのような variant がないときには、 + 以下の <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> + のリストの最初の variant が送られます。</p> + + <div class="example"><p><code> + LanguagePriority en fr de<br /> + ForceLanguagePriority Fallback + </code></p></div> + + <p><code>Prefer</code> と <code>Fallback</code> の両方のオプションを + 同時に指定することができます。 + ですから、複数の variant があるときは + <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> の最初の + variant が送られ、クライアントの許容言語に合う vaiant がないときは + 存在するドキュメントで最初のものが送られる、という様にすることができます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a> <a name="languagepriority" id="languagepriority">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントが優先度を示さなかったときの言語の variant の優先度を +指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_negotiation</td></tr> +</table> + <p><code class="directive">LanguagePriority</code> は、MultiViews + リクエストを扱うときに、クライアントが優先順位を提供していない場合の + 言語の優先順位を設定します。<var>MIME-lang</var> + のリストが優先度の降順に並びます。</p> + + <div class="example"><h3>Example:</h3><p><code> + LanguagePriority en fr de + </code></p></div> + + <p><code>foo.html</code> がリクエストされ、<code>foo.html.fr</code> + と <code>foo.html.de</code> が両方存在し、 + ブラウザが言語の優先順位を提供してない場合は + <code>foo.html.fr</code> が返されます。</p> + + <p>このディレクティブは他の方法で「最善」 + の言語が決定できないときか、<code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> ディレクティブが + <code>None</code> 以外のときにのみ効果があることに注意してください。 + 一般的には、サーバ側ではなくクライアント側で好みの言語を決定します。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_negotiation.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_negotiation.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_negotiation.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_nw_ssl.html b/docs/manual/mod/mod_nw_ssl.html new file mode 100644 index 0000000..1e1d8bb --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_nw_ssl.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_nw_ssl.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_nw_ssl.html.en b/docs/manual/mod/mod_nw_ssl.html.en new file mode 100644 index 0000000..7778775 --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html.en @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_nw_ssl - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_nw_ssl</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_nw_ssl.html" title="English"> en </a> | +<a href="../fr/mod/mod_nw_ssl.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Enable SSL encryption for NetWare</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>nwssl_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_nw_ssl.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>NetWare only</td></tr></table> +<h3>Summary</h3> + + <p>This module enables SSL encryption for a specified port. It + takes advantage of the SSL encryption functionality that is + built into the NetWare operating system.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#securelisten">SecureListen</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_nw_ssl">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_nw_ssl">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NWSSLTrustedCerts" id="NWSSLTrustedCerts">NWSSLTrustedCerts</a> <a name="nwssltrustedcerts" id="nwssltrustedcerts">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>List of additional client certificates</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>Specifies a list of client certificate files (DER format) + that are used when creating a proxied SSL connection. Each + client certificate used by a server must be listed separately + in its own <code>.der</code> file.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NWSSLUpgradeable" id="NWSSLUpgradeable">NWSSLUpgradeable</a> <a name="nwsslupgradeable" id="nwsslupgradeable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>Allow a connection that was created on the specified address + and/or port to be upgraded to an SSL connection upon request from + the client. The address and/or port must have already be defined + previously with a <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> + directive.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SecureListen" id="SecureListen">SecureListen</a> <a name="securelisten" id="securelisten">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables SSL encryption for the specified port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>Specifies the port and the eDirectory based certificate name + that will be used to enable SSL encryption. An optional third + parameter also enables mutual authentication.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_nw_ssl.html" title="English"> en </a> | +<a href="../fr/mod/mod_nw_ssl.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_nw_ssl.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_nw_ssl.html.fr.utf8 b/docs/manual/mod/mod_nw_ssl.html.fr.utf8 new file mode 100644 index 0000000..98d54a1 --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html.fr.utf8 @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_nw_ssl - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_nw_ssl</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_nw_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_nw_ssl.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Active le chiffrement SSL pour Netware</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>nwssl_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_nw_ssl.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare seulement</td></tr></table> +<h3>Sommaire</h3> + + <p>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.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#securelisten">SecureListen</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_nw_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_nw_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="nwssltrustedcerts" id="nwssltrustedcerts">Directive</a> <a name="NWSSLTrustedCerts" id="NWSSLTrustedCerts">NWSSLTrustedCerts</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste de certificats clients supplémentaires</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NWSSLTrustedCerts <var>nom-fichier</var> +[<var>nom-fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>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 <code>.der</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="nwsslupgradeable" id="nwsslupgradeable">Directive</a> <a name="NWSSLUpgradeable" id="NWSSLUpgradeable">NWSSLUpgradeable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NWSSLUpgradeable [<var>adresse-IP</var>:]<var>num-port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>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 <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="securelisten" id="securelisten">Directive</a> <a name="SecureListen" id="SecureListen">SecureListen</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le chiffrement SSL pour le port +spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SecureListen [<var>adresse-IP</var>:]<var>num-port</var> +<var>nom-certificat</var> [MUTUAL]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>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.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_nw_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_nw_ssl.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_nw_ssl.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_privileges.html b/docs/manual/mod/mod_privileges.html new file mode 100644 index 0000000..051e21e --- /dev/null +++ b/docs/manual/mod/mod_privileges.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_privileges.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_privileges.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_privileges.html.en b/docs/manual/mod/mod_privileges.html.en new file mode 100644 index 0000000..a19a758 --- /dev/null +++ b/docs/manual/mod/mod_privileges.html.en @@ -0,0 +1,427 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_privileges - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_privileges</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_privileges.html" title="English"> en </a> | +<a href="../fr/mod/mod_privileges.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support for Solaris privileges and for running virtual hosts +under different user IDs.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>privileges_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_privileges.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and up, on Solaris 10 and +OpenSolaris platforms</td></tr></table> +<h3>Summary</h3> + +<p>This module enables different Virtual Hosts to run with different +Unix <var>User</var> and <var>Group</var> IDs, and with different +<a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Solaris Privileges</a>. In particular, it offers a solution to the +problem of privilege separation between different Virtual Hosts, first +promised by the abandoned perchild MPM. It also offers other security +enhancements.</p> + +<p>Unlike perchild, <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> +is not itself an MPM. It works <em>within</em> a processing model to +set privileges and User/Group <em>per request</em> in a running process. +It is therefore not compatible with a threaded MPM, and will refuse +to run under one.</p> + +<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> raises security issues similar to +those of <a href="../suexec.html">suexec</a>. But unlike suexec, +it applies not only to CGI programs but to the entire request processing +cycle, including in-process applications and subprocesses. +It is ideally suited to running PHP applications under <strong>mod_php</strong>, +which is also incompatible with threaded MPMs. It is also well-suited +to other in-process scripting applications such as <strong>mod_perl</strong>, +<strong>mod_python</strong>, and <strong>mod_ruby</strong>, and to +applications implemented in C as apache modules where privilege +separation is an issue.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Considerations</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dtraceprivileges">DTracePrivileges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#privilegesmode">PrivilegesMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostcgimode">VHostCGIMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostgroup">VHostGroup</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostprivs">VHostPrivs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostsecure">VHostSecure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostuser">VHostUser</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_privileges">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_privileges">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Security Considerations</a></h2> + +<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> introduces new security concerns +in situations where <strong>untrusted code</strong> may be run +<strong>within the webserver process</strong>. This applies to +untrusted modules, and scripts running under modules such as +mod_php or mod_perl. Scripts running externally (e.g. as CGI +or in an appserver behind mod_proxy or mod_jk) are NOT affected.</p> + +<p>The basic security concerns with mod_privileges are:</p> +<ul><li>Running as a system user introduces the same security issues + as mod_suexec, and near-equivalents such as cgiwrap and suphp.</li> +<li>A privileges-aware malicious user extension (module or script) + could escalate its privileges to anything available to the + httpd process in any virtual host. This introduces new risks + if (and only if) mod_privileges is compiled with the + <var>BIG_SECURITY_HOLE</var> option.</li> +<li>A privileges-aware malicious user extension (module or script) + could escalate privileges to set its user ID to another system + user (and/or group).</li> +</ul> + +<p>The <code class="directive">PrivilegesMode</code> directive allows you to +select either <var>FAST</var> or <var>SECURE</var> mode. You can +mix modes, using <var>FAST</var> mode for trusted users and +fully-audited code paths, while imposing SECURE mode where an +untrusted user has scope to introduce code.</p> +<p>Before describing the modes, we should also introduce the target +use cases: Benign vs Hostile. In a benign situation, you want to +separate users for their convenience, and protect them and the server +against the risks posed by honest mistakes, but you trust your users +are not deliberately subverting system security. In a hostile +situation - e.g. commercial hosting - you may have users deliberately +attacking the system or each other.</p> +<dl> +<dt>FAST mode</dt> +<dd>In <var>FAST</var> mode, requests are run in-process with the +selected uid/gid and privileges, so the overhead is negligible. +This is suitable for benign situations, but is not secure against an +attacker escalating privileges with an in-process module or script.</dd> +<dt>SECURE mode</dt> +<dd>A request in <var>SECURE</var> mode forks a subprocess, which +then drops privileges. This is a very similar case to running CGI +with suexec, but for the entire request cycle, and with the benefit +of fine-grained control of privileges.</dd> +</dl> +<p>You can select different <code class="directive">PrivilegesMode</code>s for +each virtual host, and even in a directory context within a virtual +host. <var>FAST</var> mode is appropriate where the user(s) are +trusted and/or have no privilege to load in-process code. +<var>SECURE</var> mode is appropriate to cases where untrusted code +might be run in-process. However, even in <var>SECURE</var> mode, +there is no protection against a malicious user who is able to +introduce privileges-aware code running <em>before the start of the +request-processing cycle.</em></p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DTracePrivileges" id="DTracePrivileges">DTracePrivileges</a> <a name="dtraceprivileges" id="dtraceprivileges">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DTracePrivileges On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DTracePrivileges Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM).</td></tr> +</table> + <p>This server-wide directive determines whether Apache will run with + the <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privileges</a> required to run + <a href="http://sosc-dr.sun.com/bigadmin/content/dtrace/">dtrace</a>. + Note that <var>DTracePrivileges On</var> will not in itself + activate DTrace, but <var>DTracePrivileges Off</var> will prevent + it working.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PrivilegesMode" id="PrivilegesMode">PrivilegesMode</a> <a name="privilegesmode" id="privilegesmode">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PrivilegesMode FAST|SECURE|SELECTIVE</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>PrivilegesMode FAST</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM).</td></tr> +</table><p>This directive trades off performance vs security against +malicious, privileges-aware code. In <var>SECURE</var> mode, each request +runs in a secure subprocess, incurring a substantial performance penalty. +In <var>FAST</var> mode, the server is not protected against escalation +of privileges as discussed above.</p> +<p>This directive differs slightly between a <code><Directory></code> + context (including equivalents such as Location/Files/If) and a + top-level or <code><VirtualHost></code>.</p> +<p>At top-level, it sets a default that will be inherited by virtualhosts. + In a virtual host, FAST or SECURE mode acts on the entire + HTTP request, and any settings in a <code><Directory></code> + context will be <strong>ignored</strong>. A third pseudo-mode + SELECTIVE defers the choice of FAST vs SECURE to directives in a + <code><Directory></code> context.</p> +<p>In a <code><Directory></code> context, it is applicable only + where SELECTIVE mode was set for the VirtualHost. Only + FAST or SECURE can be set in this context (SELECTIVE would be +meaningless).</p> +<div class="warning"><h3>Warning</h3> + Where SELECTIVE mode is selected for a virtual host, the activation + of privileges must be deferred until <em>after</em> the mapping + phase of request processing has determined what + <code><Directory></code> context applies to the request. + This might give an attacker opportunities to introduce + code through a <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> + running at top-level or <code><VirtualHost></code> context + <em>before</em> privileges have been dropped and userid/gid set. +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VHostCGIMode" id="VHostCGIMode">VHostCGIMode</a> <a name="vhostcgimode" id="vhostcgimode">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VHostCGIMode On|Off|Secure</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>VHostCGIMode On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM).</td></tr> +</table> + <p>Determines whether the virtual host is allowed to run fork and exec, + the <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privileges</a> required to run subprocesses. If this is set to + <var>Off</var> the virtualhost is denied the privileges and will not + be able to run traditional CGI programs or scripts under the traditional + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, nor similar external programs such as those + created by <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> or + <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> <var>prog</var>. + Note that it does not prevent CGI programs running under alternative + process and security models such as <a href="https://httpd.apache.org/mod_fcgid/">mod_fcgid</a>, which is a recommended solution in Solaris.</p> + <p>If set to <var>On</var> or <var>Secure</var>, the virtual host + is permitted to run external programs and scripts as above. + Setting <code class="directive">VHostCGIMode</code> <var>Secure</var> has + the effect of denying privileges to the subprocesses, as described + for <code class="directive">VHostSecure</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VHostCGIPrivs" id="VHostCGIPrivs">VHostCGIPrivs</a> <a name="vhostcgiprivs" id="vhostcgiprivs">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM) +and when <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> is compiled with the +<var>BIG_SECURITY_HOLE</var> compile-time option.</td></tr> +</table> + <p><code class="directive">VHostCGIPrivs</code> can be used to assign arbitrary <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privileges</a> to subprocesses created by a virtual host, as discussed + under <code class="directive">VHostCGIMode</code>. Each <var>privilege-name</var> + is the name of a Solaris privilege, such as <var>file_setid</var> + or <var>sys_nfs</var>.</p> + + <p>A <var>privilege-name</var> may optionally be prefixed by + + or -, which will respectively allow or deny a privilege. + If used with neither + nor -, all privileges otherwise assigned + to the virtualhost will be denied. You can use this to override + any of the default sets and construct your own privilege set.</p> + + <div class="warning"><h3>Security</h3> + <p>This directive can open huge security holes in apache subprocesses, + up to and including running them with root-level powers. Do not + use it unless you fully understand what you are doing!</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VHostGroup" id="VHostGroup">VHostGroup</a> <a name="vhostgroup" id="vhostgroup">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the Group ID under which a virtual host runs.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VHostGroup <var>unix-groupid</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Inherits the group id specified in +<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM).</td></tr> +</table> + <p>The <code class="directive">VHostGroup</code> directive sets the Unix group + under which the server will process requests to a virtualhost. + The group is set before the request is processed and reset afterwards + using <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Solaris Privileges</a>. Since the setting applies to the + <em>process</em>, this is not compatible with threaded MPMs.</p> + <p><var>Unix-group</var> is one of:</p> + <dl> + <dt>A group name</dt> + <dd>Refers to the given group by name.</dd> + + <dt><code>#</code> followed by a group number.</dt> + <dd>Refers to a group by its number.</dd> + </dl> + + <div class="warning"><h3>Security</h3> + <p>This directive cannot be used to run apache as root! + Nevertheless, it opens potential security issues similar to + those discussed in the <a href="../suexec.html">suexec</a> + documentation.</p></div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VHostPrivs" id="VHostPrivs">VHostPrivs</a> <a name="vhostprivs" id="vhostprivs">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assign arbitrary privileges to a virtual host.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM) +and when <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> is compiled with the +<var>BIG_SECURITY_HOLE</var> compile-time option.</td></tr> +</table> + <p><code class="directive">VHostPrivs</code> can be used to assign arbitrary <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privileges</a> to a virtual host. Each <var>privilege-name</var> + is the name of a Solaris privilege, such as <var>file_setid</var> + or <var>sys_nfs</var>.</p> + + <p>A <var>privilege-name</var> may optionally be prefixed by + + or -, which will respectively allow or deny a privilege. + If used with neither + nor -, all privileges otherwise assigned + to the virtualhost will be denied. You can use this to override + any of the default sets and construct your own privilege set.</p> + + <div class="warning"><h3>Security</h3> + <p>This directive can open huge security holes in apache, up to + and including running requests with root-level powers. Do not + use it unless you fully understand what you are doing!</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VHostSecure" id="VHostSecure">VHostSecure</a> <a name="vhostsecure" id="vhostsecure">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VHostSecure On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>VHostSecure On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM).</td></tr> +</table> + <p>Determines whether the virtual host processes requests with + security enhanced by removal of <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privileges</a> that are rarely needed in a webserver, but which are + available by default to a normal Unix user and may therefore + be required by modules and applications. It is recommended that + you retain the default (On) unless it prevents an application running. + Since the setting applies to the <em>process</em>, this is not + compatible with threaded MPMs.</p> + <div class="note"><h3>Note</h3> + <p>If <code class="directive">VHostSecure</code> prevents an application + running, this may be a warning sign that the application should be + reviewed for security.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VHostUser" id="VHostUser">VHostUser</a> <a name="vhostuser" id="vhostuser">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the User ID under which a virtual host runs.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VHostUser <var>unix-userid</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Inherits the userid specified in +<code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available on Solaris 10 and OpenSolaris with +non-threaded MPMs (<code class="module"><a href="../mod/prefork.html">prefork</a></code> or custom MPM).</td></tr> +</table> + <p>The <code class="directive">VHostUser</code> directive sets the Unix userid + under which the server will process requests to a virtualhost. + The userid is set before the request is processed and reset afterwards + using <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Solaris Privileges</a>. Since the setting applies to the + <em>process</em>, this is not compatible with threaded MPMs.</p> + <p><var>Unix-userid</var> is one of:</p> + <dl> + <dt>A username</dt> + <dd>Refers to the given user by name.</dd> + + <dt><code>#</code> followed by a user number.</dt> + <dd>Refers to a user by its number.</dd> + </dl> + + <div class="warning"><h3>Security</h3> + <p>This directive cannot be used to run apache as root! + Nevertheless, it opens potential security issues similar to + those discussed in the <a href="../suexec.html">suexec</a> + documentation.</p></div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_privileges.html" title="English"> en </a> | +<a href="../fr/mod/mod_privileges.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_privileges.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_privileges.html.fr.utf8 b/docs/manual/mod/mod_privileges.html.fr.utf8 new file mode 100644 index 0000000..e91e740 --- /dev/null +++ b/docs/manual/mod/mod_privileges.html.fr.utf8 @@ -0,0 +1,480 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_privileges - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_privileges</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_privileges.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_privileges.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>privileges_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_privileges.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache sur les +plates-formes Solaris 10 et OpenSolaris</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module permet l'exécution de différents serveurs virtuels sous +différents identifiants Unix <var>User</var> et <var>Group</var>, +et avec différents <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges +Solaris</a>. 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é.</p> + +<p>À la différence de perchild, <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> n'est +pas un module MPM. Il travaille <em>au sein</em> d'un modèle de +traitement pour définir les privilèges et les User/Group <em>pour chaque +requête</em> 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.</p> + +<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> traite des problèmes de sécurité +similaires à ceux de <a href="../suexec.html">suexec</a> ; 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 +<strong>mod_php</strong>, 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 <strong>mod_perl</strong>, +<strong>mod_python</strong>, et <strong>mod_ruby</strong>, ainsi qu'aux +applications en langage C telles que les modules Apache pour lesquels la +séparation des privilèges constitue un problème.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations à propos de sécurité</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dtraceprivileges">DTracePrivileges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#privilegesmode">PrivilegesMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostcgimode">VHostCGIMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostgroup">VHostGroup</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostprivs">VHostPrivs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostsecure">VHostSecure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostuser">VHostUser</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_privileges">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_privileges">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="security" id="security">Considérations à propos de sécurité</a></h2> + +<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> introduit de nouveaux problèmes de +sécurité dans les situations où du <strong>code non sûr</strong> peut +s'exécuter <strong>à l'intérieur du processus du serveur web</strong>. +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.</p> + +<p>Les principaux problèmes de sécurité que l'on rencontre avec +mod_privileges sont :</p> + + +<ul><li>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.</li> +<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par <strong>mod_privileges</strong>, +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 <var>BIG_SECURITY_HOLE</var>.</li> +<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par <strong>mod_privileges</strong>, +pourrait élever ses privilèges pour s'attribuer +l'identifiant utilisateur d'un autre utilisateur (et/ou groupe) +système.</li> +</ul> + +<p>La directive <code class="directive">PrivilegesMode</code> vous permet de +sélectionner soit le mode <var>FAST</var>, soit le mode +<var>SECURE</var>. Vous pouvez panacher les modes en utilisant par +exemple le mode <var>FAST</var> pour les utilisateurs de confiance et +les chemins contenant du code entièrement audité, tout en imposant le +mode <var>SECURE</var> où un utilisateur non sûr a la possibilité +d'introduire du code.</p> +<p>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.</p> +<dl> +<dt>Mode FAST</dt> +<dd>En mode <var>FAST</var>, 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".</dd> +<dt>Mode SECURE</dt> +<dd>Une requête en mode <var>SECURE</var> 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.</dd> +</dl> +<p>Vous pouvez sélectionner différents +<code class="directive">PrivilegesMode</code>s pour chaque serveur virtuel, et +même dans un contexte de répertoire à l'intérieur d'un serveur virtuel. +Le mode <var>FAST</var> convient lorsque les utilisateurs sont sûrs +et/ou n'ont pas le privilège de charger du code "in-process". Le mode +<var>SECURE</var> convient dans les cas où du code non sûr peut +s'exécuter "in-process". Cependant, même en mode <var>SECURE</var>, il +n'y a pas de protection contre un utilisateur malveillant qui a la +possibilité d'introduire du code supportant les privilèges <em>avant le +début du cycle de traitement de la requête.</em></p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="dtraceprivileges" id="dtraceprivileges">Directive</a> <a name="DTracePrivileges" id="DTracePrivileges">DTracePrivileges</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les privilèges requis par dtrace sont +activés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DTracePrivileges On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DTracePrivileges Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>Cette directive qui s'applique à l'ensemble du serveur permet de + déterminer si Apache s'exécutera avec les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter <a href="http://sosc-dr.sun.com/bigadmin/content/dtrace/">dtrace</a>. + Notez que la définition <var>DTracePrivileges On</var> n'activera + pas à elle-seule DTrace, mais que <var>DTracePrivileges Off</var> + l'empêchera de fonctionner.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="privilegesmode" id="privilegesmode">Directive</a> <a name="PrivilegesMode" id="PrivilegesMode">PrivilegesMode</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PrivilegesMode FAST|SECURE|SELECTIVE</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PrivilegesMode FAST</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec des +modules MPMs non threadés (comme <code class="module"><a href="../mod/prefork.html">prefork</a></code> ou un module +personnalisé).</td></tr> +</table><p>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 <var>SECURE</var>, chaque requête est traitée +dans un sous-processus sécurisé, ce qui induit une dégradation sensible +des performances. En mode <var>FAST</var>, le serveur n'est pas protégé +contre l'augmentation de privilège comme décrit plus haut.</p> +<p>Cette directive est sensiblement différente selon qu'elle se trouve +dans une section <code><Directory></code> (ou Location/Files/If) +ou au niveau global ou dans un <code><VirtualHost></code>.</p> +<p>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 <code><Directory></code> +sera <strong>ignorée</strong>. Le pseudo-mode SELECTIVE confie le choix +du mode FAST ou SECURE aux directives contenues dans une +section<code><Directory></code>.</p> +<p>Dans une section <code><Directory></code>, 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).</p> +<div class="warning"><h3>Avertissement</h3> + Lorsque le mode SELECTIVE a été défini pour un serveur virtuel, + l'activation des privilèges doit être reportée <em>après</em> + la détermination, par la phase de comparaison du traitement de + la requête, du contexte <code><Directory></code> qui + s'applique à la requête. Ceci peut donner à un attaquant + l'opportunité d'introduire du code via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> s'exécutant au + niveau global ou d'un serveur virtuel <em>avant</em> que les + privilèges n'aient été supprimés et l'uid/gid défini. +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="vhostcgimode" id="vhostcgimode">Directive</a> <a name="VHostCGIMode" id="VHostCGIMode">VHostCGIMode</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostCGIMode On|Off|Secure</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostCGIMode On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>Détermine si le serveur virtuel est autorisé à exécuter fork et + exec, et définit les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter des sous-processus. Si cette + directive est définie à <var>Off</var> 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 + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, ni des programmes externes similaires tels + que ceux créés via le module <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ou les + programmes de réécriture externes utilisés par la directive + <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. 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 <a href="https://httpd.apache.org/mod_fcgid/">mod_fcgid</a>, ce qui est la + solution recommandée sous Solaris.</p> + <p>Si cette directive est définie à <var>On</var> ou + <var>Secure</var>, le serveur virtuel pourra exécuter les scripts et + programmes externes cités ci-dessus. Définir la directive + <code class="directive">VHostCGIMode</code> à <var>Secure</var> a pour effet + supplémentaire de n'accorder aucun privilège aux sous-processus, + comme décrit dans la directive + <code class="directive">VHostSecure</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="vhostcgiprivs" id="vhostcgiprivs">Directive</a> <a name="VHostCGIPrivs" id="VHostCGIPrivs">VHostCGIPrivs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit +avec l'option de compilation +<var>BIG_SECURITY_HOLE</var>.</td></tr> +</table> + <p>La directive <code class="directive">VHostCGIPrivs</code> permet + d'assigner des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix aux sous-processus créés par un serveur + virtuel, comme décrit dans la directive + <code class="directive">VHostCGIMode</code>. Chaque + <var>privilege-name</var> correspond à un privilège Solaris tel que + <var>file_setid</var> ou <var>sys_nfs</var>.</p> + + <p><var>privilege-name</var> peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + <var>nom-privilège</var> 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.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>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 !</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="vhostgroup" id="vhostgroup">Directive</a> <a name="VHostGroup" id="VHostGroup">VHostGroup</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostGroup <var>identifiant-groupe-unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant du groupe spécifié par la directive +<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>La directive <code class="directive">VHostGroup</code> 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 <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges + Solaris</a>. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <p><var>Unix-group</var> peut être :</p> + <dl> + <dt>Un nom de groupe</dt> + <dd>Fait référence au groupe donné par son nom.</dd> + + <dt><code>#</code> suivi d'un numéro de groupe.</dt> + <dd>Fait référence au groupe donné par son numéro.</dd> + </dl> + + <div class="warning"><h3>Sécurité</h3> + <p>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 <a href="../suexec.html">suexec</a>.</p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="vhostprivs" id="vhostprivs">Directive</a> <a name="VHostPrivs" id="VHostPrivs">VHostPrivs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges à un serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit +avec l'option de compilation +<var>BIG_SECURITY_HOLE</var>.</td></tr> +</table> + <p>La directive <code class="directive">VHostPrivs</code> permet d'assigner + des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix à un serveur virtuel. Chaque + <var>nom-privilège</var> correspond à un privilège Solaris tel que + <var>file_setid</var> ou <var>sys_nfs</var>.</p> + + <p><var>nom-privilège</var> peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + <var>nom-privilège</var> 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.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>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 !</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="vhostsecure" id="vhostsecure">Directive</a> <a name="VHostSecure" id="VHostSecure">VHostSecure</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostSecure On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostSecure On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>Détermine si les serveurs virtuels traitent les requêtes avec une + sécurité avancée en supprimant les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges</a> 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 <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <div class="note"><h3>Note</h3> + <p>Le fait que la directive <code class="directive">VHostSecure</code> + empêche une application de fonctionner peut constituer un signal + d'avertissement indiquant que la sécurité de l'application doit être + revue.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="vhostuser" id="vhostuser">Directive</a> <a name="VHostUser" id="VHostUser">VHostUser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostUser <var>identifiant-utilisateur-unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant utilisateur spécifié par la directive +<code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>La directive <code class="directive">VHostUser</code> 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 <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges + Solaris</a>. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <p><var>identifiant-utilisateur-unix</var> peut être :</p> + <dl> + <dt>Un nom d'utilisateur</dt> + <dd>Fait référence à l'utilisateur donné par son nom.</dd> + + <dt><code>#</code> suivi d'un numéro d'utilisateur.</dt> + <dd>Fait référence à l'utilisateur donné par son numéro.</dd> + </dl> + + <div class="warning"><h3>Sécurité</h3> + <p>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 <a href="../suexec.html">suexec</a>.</p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_privileges.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_privileges.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_privileges.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy.html b/docs/manual/mod/mod_proxy.html new file mode 100644 index 0000000..407ce09 --- /dev/null +++ b/docs/manual/mod/mod_proxy.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en new file mode 100644 index 0000000..88e3562 --- /dev/null +++ b/docs/manual/mod/mod_proxy.html.en @@ -0,0 +1,2173 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multi-protocol proxy/gateway server</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy.c</td></tr></table> +<h3>Summary</h3> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying with <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> until you have <a href="#access">secured your server</a>. Open proxy servers are dangerous both to your + network and to the Internet at large.</p> + </div> + + <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and related modules implement a + proxy/gateway for Apache HTTP Server, supporting a number of popular + protocols as well as several different load balancing algorithms. + Third-party modules can add support for additional protocols and + load balancing algorithms.</p> + + <p>A set of modules must be loaded into the server to provide the + necessary features. These modules can be included statically at + build time or dynamically via the + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive). + The set must include:</p> + + <ul> + <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, which provides basic proxy + capabilities</li> + + <li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and one or more + balancer modules if load balancing is required. (See + <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> for more information.)</li> + + <li>one or more proxy scheme, or protocol, modules: + + <table class="bordered"> + <tr><th>Protocol</th><th>Module</th></tr> + <tr><td>AJP13 (Apache JServe Protocol version + 1.3)</td><td><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></td></tr> + <tr><td>CONNECT (for + SSL)</td><td><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></td></tr> + <tr><td>FastCGI</td><td><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></td></tr> + <tr><td>ftp</td><td><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></td></tr> + <tr><td>HTTP/0.9, HTTP/1.0, and + HTTP/1.1</td><td><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></td></tr> + <tr><td>HTTP/2.0</td><td><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code></td></tr> + <tr><td>SCGI</td><td><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></td></tr> + <tr><td>UWSGI</td><td><code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code></td></tr> + <tr><td>WS and WSS (Web-sockets)</td><td><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></td></tr> + </table> + </li> + </ul> + + <p>In addition, extended features are provided by other modules. + Caching is provided by <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> and related + modules. The ability to contact remote servers using the SSL/TLS + protocol is provided by the <code>SSLProxy*</code> directives of + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. These additional modules will need + to be loaded and configured to take advantage of these features.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Forward Proxies and Reverse + Proxies/Gateways</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Basic Examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#handler">Access via Handler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#workers">Workers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#access">Controlling Access to Your Proxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startup">Slow Startup</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#intranet">Intranet Proxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Protocol Adjustments</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Request Bodies</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">Reverse Proxy Request Headers</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxy"><Proxy></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxy100continue">Proxy100Continue</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch"><ProxyMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li> +<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="forwardreverse" id="forwardreverse">Forward Proxies and Reverse + Proxies/Gateways</a></h2> + <p>Apache HTTP Server can be configured in both a <dfn>forward</dfn> and + <dfn>reverse</dfn> proxy (also known as <dfn>gateway</dfn>) mode.</p> + + <p>An ordinary <dfn>forward proxy</dfn> is an intermediate + server that sits between the client and the <em>origin + server</em>. In order to get content from the origin server, + the client sends a request to the proxy naming the origin server + as the target. The proxy then requests the content from the + origin server and returns it to the client. The client must be + specially configured to use the forward proxy to access other + sites.</p> + + <p>A typical usage of a forward proxy is to provide Internet + access to internal clients that are otherwise restricted by a + firewall. The forward proxy can also use caching (as provided + by <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) to reduce network usage.</p> + + <p>The forward proxy is activated using the <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> directive. Because + forward proxies allow clients to access arbitrary sites through + your server and to hide their true origin, it is essential that + you <a href="#access">secure your server</a> so that only + authorized clients can access the proxy before activating a + forward proxy.</p> + + <p>A <dfn>reverse proxy</dfn> (or <dfn>gateway</dfn>), by + contrast, appears to the client just like an ordinary web + server. No special configuration on the client is necessary. + The client makes ordinary requests for content in the namespace + of the reverse proxy. The reverse proxy then decides where to + send those requests and returns the content as if it were itself + the origin.</p> + + <p>A typical usage of a reverse proxy is to provide Internet + users access to a server that is behind a firewall. Reverse + proxies can also be used to balance load among several back-end + servers or to provide caching for a slower back-end server. + In addition, reverse proxies can be used simply to bring + several servers into the same URL space.</p> + + <p>A reverse proxy is activated using the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive or the + <code>[P]</code> flag to the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive. It is + <strong>not</strong> necessary to turn <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> on in order to + configure a reverse proxy.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Basic Examples</a></h2> + + <p>The examples below are only a very basic idea to help you + get started. Please read the documentation on the individual + directives.</p> + + <p>In addition, if you wish to have caching enabled, consult + the documentation from <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p> + + <div class="example"><h3>Reverse Proxy</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar" +ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre> +</div> + + <div class="example"><h3>Forward Proxy</h3><pre class="prettyprint lang-config">ProxyRequests On +ProxyVia On + +<Proxy "*"> + Require host internal.example.com +</Proxy></pre> +</div> + <div class="example"><h3><a id="wsupgrade" name="wsupgrade">Websocket Upgrade (2.4.47 and later)</a></h3><pre class="prettyprint lang-config">ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket</pre> +</div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="handler" id="handler">Access via Handler</a></h2> + + <p>You can also force a request to be handled as a reverse-proxy + request, by creating a suitable Handler pass-through. The example + configuration below will pass all requests for PHP scripts to the + specified FastCGI server using reverse proxy: + </p> + + <div class="example"><h3>Reverse Proxy PHP scripts</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$"> + # Unix sockets require 2.4.7 or later + SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" +</FilesMatch></pre> +</div> + + <p>This feature is available in Apache HTTP Server 2.4.10 and later.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="workers" id="workers">Workers</a></h2> + <p>The proxy manages the configuration of origin servers and their + communication parameters in objects called <dfn>workers</dfn>. + There are two built-in workers: the default forward proxy worker and the + default reverse proxy worker. Additional workers can be configured + explicitly.</p> + + <p>The two default workers have a fixed configuration + and will be used if no other worker matches the request. + They do not use HTTP Keep-Alive or connection reuse. + The TCP connections to the origin server will instead be + opened and closed for each request.</p> + + <p>Explicitly configured workers are identified by their URL. + They are usually created and configured using + <code class="directive"><a href="#proxypass">ProxyPass</a></code> or + <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> when used + for a reverse proxy:</p> + + <pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre> + + + <p>This will create a worker associated with the origin server URL + <code>http://backend.example.com</code> that will use the given timeout + values. When used in a forward proxy, workers are usually defined + via the <code class="directive"><a href="#proxyset">ProxySet</a></code> directive:</p> + + <pre class="prettyprint lang-config">ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30</pre> + + + <p>or alternatively using <code class="directive"><a href="#proxy">Proxy</a></code> + and <code class="directive"><a href="#proxyset">ProxySet</a></code>:</p> + + <pre class="prettyprint lang-config"><Proxy "http://backend.example.com"> + ProxySet connectiontimeout=5 timeout=30 +</Proxy></pre> + + + <p>Using explicitly configured workers in the forward mode is + not very common, because forward proxies usually communicate with many + different origin servers. Creating explicit workers for some of the + origin servers can still be useful if they are used very often. + Explicitly configured workers have no concept of forward or reverse + proxying by themselves. They encapsulate a common concept of + communication with origin servers. A worker created by + <code class="directive"><a href="#proxypass">ProxyPass</a></code> for use in a + reverse proxy will also be used for forward proxy requests whenever + the URL to the origin server matches the worker URL, and vice versa.</p> + + <p>The URL identifying a direct worker is the URL of its + origin server including any path components given:</p> + + <pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples" +ProxyPass "/docs" "http://backend.example.com/docs"</pre> + + + <p>This example defines two different workers, each using a separate + connection pool and configuration.</p> + + <div class="warning"><h3>Worker Sharing</h3> + <p>Worker sharing happens if the worker URLs overlap, which occurs when + the URL of some worker is a leading substring of the URL of another + worker defined later in the configuration file. In the following example</p> + + <pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60 +ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre> + + + <p>the second worker isn't actually created. Instead the first + worker is used. The benefit is, that there is only one connection pool, + so connections are more often reused. Note that all configuration attributes + given explicitly for the later worker will be ignored. This will be logged + as a warning. In the above example, the resulting timeout value + for the URL <code>/examples</code> will be <code>60</code> instead + of <code>10</code>!</p> + + <p>If you want to avoid worker sharing, sort your worker definitions + by URL length, starting with the longest worker URLs. If you want to maximize + worker sharing, use the reverse sort order. See also the related warning about + ordering <code class="directive"><a href="#proxypass">ProxyPass</a></code> directives.</p> + + </div> + + <p>Explicitly configured workers come in two flavors: + <dfn>direct workers</dfn> and <dfn>(load) balancer workers</dfn>. + They support many important configuration attributes which are + described below in the <code class="directive"><a href="#proxypass">ProxyPass</a></code> + directive. The same attributes can also be set using + <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p> + + <p>The set of options available for a direct worker + depends on the protocol which is specified in the origin server URL. + Available protocols include <code>ajp</code>, <code>fcgi</code>, + <code>ftp</code>, <code>http</code> and <code>scgi</code>.</p> + + <p>Balancer workers are virtual workers that use direct workers known + as their members to actually handle the requests. Each balancer can + have multiple members. When it handles a request, it chooses a member + based on the configured load balancing algorithm.</p> + + <p>A balancer worker is created if its worker URL uses + <code>balancer</code> as the protocol scheme. + The balancer URL uniquely identifies the balancer worker. + Members are added to a balancer using + <code class="directive"><a href="#balancermember">BalancerMember</a></code>.</p> + + <div class="note"><h3>DNS resolution for origin domains</h3> + <p>DNS resolution happens when the socket to + the origin domain is created for the first time. + When connection reuse is enabled, each backend domain is resolved + only once per child process, and cached for all further connections + until the child is recycled. This information should to be considered + while planning DNS maintenance tasks involving backend domains. + Please also check <code class="directive"><a href="#proxypass">ProxyPass</a></code> + parameters for more details about connection reuse. + </p> + </div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="access" id="access">Controlling Access to Your Proxy</a></h2> + <p>You can control who can access your proxy via the <code class="directive"><a href="#proxy"><Proxy></a></code> control block as in + the following example:</p> + + <pre class="prettyprint lang-config"><Proxy "*"> + Require ip 192.168.0 +</Proxy></pre> + + + <p>For more information on access control directives, see + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p> + + <p>Strictly limiting access is essential if you are using a + forward proxy (using the <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> directive). + Otherwise, your server can be used by any client to access + arbitrary hosts while hiding his or her true identity. This is + dangerous both for your network and for the Internet at large. + When using a reverse proxy (using the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive with + <code>ProxyRequests Off</code>), access control is less + critical because clients can only contact the hosts that you + have specifically configured.</p> + + <p><strong>See Also</strong> the <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a> environment variable.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="startup" id="startup">Slow Startup</a></h2> + <p>If you're using the <code class="directive"><a href="#proxyblock">ProxyBlock</a></code> directive, hostnames' IP addresses are looked up + and cached during startup for later match test. This may take a few + seconds (or more) depending on the speed with which the hostname lookups + occur.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intranet" id="intranet">Intranet Proxy</a></h2> + <p>An Apache httpd proxy server situated in an intranet needs to forward + external requests through the company's firewall (for this, configure + the <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> directive + to forward the respective <var>scheme</var> to the firewall proxy). + However, when it has to + access resources within the intranet, it can bypass the firewall when + accessing hosts. The <code class="directive"><a href="#noproxy">NoProxy</a></code> + directive is useful for specifying which hosts belong to the intranet and + should be accessed directly.</p> + + <p>Users within an intranet tend to omit the local domain name from their + WWW requests, thus requesting "http://somehost/" instead of + <code>http://somehost.example.com/</code>. Some commercial proxy servers + let them get away with this and simply serve the request, implying a + configured local domain. When the <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> directive is used and the server is <a href="#proxyrequests">configured for proxy service</a>, Apache httpd can return + a redirect response and send the client to the correct, fully qualified, + server address. This is the preferred method since the user's bookmark + files will then contain fully qualified hosts.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="envsettings" id="envsettings">Protocol Adjustments</a></h2> + <p>For circumstances where <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> is sending + requests to an origin server that doesn't properly implement + keepalives or HTTP/1.1, there are two <a href="../env.html">environment variables</a> that can force the + request to use HTTP/1.0 with no keepalive. These are set via the + <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> directive.</p> + + <p>These are the <code>force-proxy-request-1.0</code> and + <code>proxy-nokeepalive</code> notes.</p> + + <pre class="prettyprint lang-config"><Location "/buggyappserver/"> + ProxyPass "http://buggyappserver:7001/foo/" + SetEnv force-proxy-request-1.0 1 + SetEnv proxy-nokeepalive 1 +</Location></pre> + + + <p> In 2.4.26 and later, the "no-proxy" environment variable can be set to disable + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> processing the current request. + This variable should be set with <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, as <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> + is not evaluated early enough.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="request-bodies" id="request-bodies">Request Bodies</a></h2> + + <p>Some request methods such as POST include a request body. + The HTTP protocol requires that requests which include a body + either use chunked transfer encoding or send a + <code>Content-Length</code> request header. When passing these + requests on to the origin server, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + will always attempt to send the <code>Content-Length</code>. But + if the body is large and the original request used chunked + encoding, then chunked encoding may also be used in the upstream + request. You can control this selection using <a href="../env.html">environment variables</a>. Setting + <code>proxy-sendcl</code> ensures maximum compatibility with + upstream servers by always sending the + <code>Content-Length</code>, while setting + <code>proxy-sendchunked</code> minimizes resource usage by using + chunked encoding.</p> + + <p>Under some circumstances, the server must spool request bodies + to disk to satisfy the requested handling of request bodies. For + example, this spooling will occur if the original body was sent with + chunked encoding (and is large), but the administrator has + asked for backend requests to be sent with Content-Length or as HTTP/1.0. + This spooling can also occur if the request body already has a + Content-Length header, but the server is configured to filter incoming + request bodies.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="x-headers" id="x-headers">Reverse Proxy Request Headers</a></h2> + + <p>When acting in a reverse-proxy mode (using the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive, for example), + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> adds several request headers in + order to pass information to the origin server. These headers + are:</p> + + <dl> + <dt><code>X-Forwarded-For</code></dt> + <dd>The IP address of the client.</dd> + <dt><code>X-Forwarded-Host</code></dt> + <dd>The original host requested by the client in the <code>Host</code> + HTTP request header.</dd> + <dt><code>X-Forwarded-Server</code></dt> + <dd>The hostname of the proxy server.</dd> + </dl> + + <p>Be careful when using these headers on the origin server, since + they will contain more than one (comma-separated) value if the + original request already contained one of these headers. For + example, you can use <code>%{X-Forwarded-For}i</code> in the log + format string of the origin server to log the original clients IP + address, but you may get more than one address if the request + passes through several proxies.</p> + + <p>See also the <code class="directive"><a href="#proxypreservehost">ProxyPreserveHost</a></code> and <code class="directive"><a href="#proxyvia">ProxyVia</a></code> directives, which control + other request headers.</p> + + <p>Note: If you need to specify custom request headers to be + added to the forwarded request, use the + <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code> + directive.</p> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a> <a name="balancergrowth" id="balancergrowth">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BalancerGrowth 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>BalancerGrowth is only available in Apache HTTP Server 2.3.13 + and later.</td></tr> +</table> + <p>This directive allows for growth potential in the number of + Balancers available for a virtualhost in addition to the + number pre-configured. It only takes effect if there is at + least one pre-configured Balancer.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerInherit" id="BalancerInherit">BalancerInherit</a> <a name="balancerinherit" id="balancerinherit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerInherit On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BalancerInherit On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>BalancerInherit is only available in Apache HTTP Server 2.4.5 and later.</td></tr> +</table> + <p>This directive will cause the current server/vhost to "inherit" ProxyPass + Balancers and Workers defined in the main server. This can cause issues and + inconsistent behavior if using the Balancer Manager and so should be disabled + if using that feature.</p> + <p>The setting in the global server defines the default for all vhosts.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add a member to a load balancing group</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>BalancerMember is only available in Apache HTTP Server 2.2 + and later.</td></tr> +</table> + <p>This directive adds a member to a load balancing group. It can be used + within a <code><Proxy <var>balancer://</var>...></code> container + directive and can take any of the key value pair parameters available to + <code class="directive"><a href="#proxypass">ProxyPass</a></code> directives.</p> + <p>One additional parameter is available only to <code class="directive">BalancerMember</code> directives: + <var>loadfactor</var>. This is the member load factor - a decimal number between 1.0 + (default) and 100.0, which defines the weighted load to be applied to the + member in question.</p> + <p>The <var>balancerurl</var> is only needed when not within a + <code><Proxy <var>balancer://</var>...></code> + container directive. It corresponds to the url of a balancer defined in + <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p> + <p>The path component of the balancer URL in any + <code><Proxy <var>balancer://</var>...></code> container directive + is ignored.</p> + <p>Trailing slashes should typically be removed from the URL of a + <code class="directive">BalancerMember</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerPersist" id="BalancerPersist">BalancerPersist</a> <a name="balancerpersist" id="balancerpersist">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerPersist On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BalancerPersist Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>BalancerPersist is only available in Apache HTTP Server 2.4.4 and later.</td></tr> +</table> + <p>This directive will cause the shared memory storage associated + with the balancers and balancer members to be persisted across + restarts. This allows these local changes to not be lost during the + normal restart/graceful state transitions.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Hosts, domains, or networks that will be connected to +directly</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NoProxy <var>host</var> [<var>host</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This directive is only useful for Apache httpd proxy servers within + intranets. The <code class="directive">NoProxy</code> directive specifies a + list of subnets, IP addresses, hosts and/or domains, separated by + spaces. A request to a host which matches one or more of these is + always served directly, without forwarding to the configured + <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> proxy server(s).</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81" +NoProxy ".example.com" "192.168.112.0/21"</pre> +</div> + + <p>The <var>host</var> arguments to the <code class="directive">NoProxy</code> + directive are one of the following type list:</p> + + <dl> + + <dt><var><a name="domain" id="domain">Domain</a></var></dt> + <dd> + <p>A <dfn>Domain</dfn> is a partially qualified DNS domain name, preceded + by a period. It represents a list of hosts which logically belong to the + same DNS domain or zone (<em>i.e.</em>, the suffixes of the hostnames are + all ending in <var>Domain</var>).</p> + + <div class="example"><h3>Examples</h3><p><code> + .com .example.org. + </code></p></div> + + <p>To distinguish <var>Domain</var>s from <var><a href="#hostname">Hostname</a></var>s (both syntactically and semantically; a DNS domain can + have a DNS A record, too!), <var>Domain</var>s are always written with a + leading period.</p> + + <div class="note"><h3>Note</h3> + <p>Domain name comparisons are done without regard to the case, and + <var>Domain</var>s are always assumed to be anchored in the root of the + DNS tree; therefore, the two domains <code>.ExAmple.com</code> and + <code>.example.com.</code> (note the trailing period) are considered + equal. Since a domain comparison does not involve a DNS lookup, it is much + more efficient than subnet comparison.</p> + </div></dd> + + + <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt> + <dd> + <p>A <dfn>SubNet</dfn> is a partially qualified internet address in + numeric (dotted quad) form, optionally followed by a slash and the netmask, + specified as the number of significant bits in the <var>SubNet</var>. It is + used to represent a subnet of hosts which can be reached over a common + network interface. In the absence of the explicit net mask it is assumed + that omitted (or zero valued) trailing digits specify the mask. (In this + case, the netmask can only be multiples of 8 bits wide.) Examples:</p> + + <dl> + <dt><code>192.168</code> or <code>192.168.0.0</code></dt> + <dd>the subnet 192.168.0.0 with an implied netmask of 16 valid bits + (sometimes used in the netmask form <code>255.255.0.0</code>)</dd> + <dt><code>192.168.112.0/21</code></dt> + <dd>the subnet <code>192.168.112.0/21</code> with a netmask of 21 + valid bits (also used in the form <code>255.255.248.0</code>)</dd> + </dl> + + <p>As a degenerate case, a <em>SubNet</em> with 32 valid bits is the + equivalent to an <var><a href="#ipaddr">IPAddr</a></var>, while a <var>SubNet</var> with zero + valid bits (<em>e.g.</em>, 0.0.0.0/0) is the same as the constant + <var>_Default_</var>, matching any IP address.</p></dd> + + + <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt> + <dd> + <p>A <dfn>IPAddr</dfn> represents a fully qualified internet address in + numeric (dotted quad) form. Usually, this address represents a host, but + there need not necessarily be a DNS domain name connected with the + address.</p> + <div class="example"><h3>Example</h3><p><code> + 192.168.123.7 + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>An <var>IPAddr</var> does not need to be resolved by the DNS system, so + it can result in more effective apache performance.</p> + </div></dd> + + + <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt> + <dd> + <p>A <dfn>Hostname</dfn> is a fully qualified DNS domain name which can + be resolved to one or more <var><a href="#ipaddr">IPAddrs</a></var> via the + DNS domain name service. It represents a logical host (in contrast to + <var><a href="#domain">Domain</a></var>s, see above) and must be resolvable + to at least one <var><a href="#ipaddr">IPAddr</a></var> (or often to a list + of hosts with different <var><a href="#ipaddr">IPAddr</a></var>s).</p> + + <div class="example"><h3>Examples</h3><p><code> + prep.ai.example.edu<br /> + www.example.org + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>In many situations, it is more effective to specify an <var><a href="#ipaddr">IPAddr</a></var> in place of a <var>Hostname</var> since a + DNS lookup can be avoided. Name resolution in Apache httpd can take a remarkable + deal of time when the connection to the name server uses a slow PPP + link.</p> + <p><var>Hostname</var> comparisons are done without regard to the case, + and <var>Hostname</var>s are always assumed to be anchored in the root + of the DNS tree; therefore, the two hosts <code>WWW.ExAmple.com</code> + and <code>www.example.com.</code> (note the trailing period) are + considered equal.</p> + </div></dd> + </dl> + +<h3>See also</h3> +<ul> +<li><a href="../dns-caveats.html">DNS Issues</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Proxy" id="Proxy"><Proxy></a> <a name="proxy" id="proxy">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Container for directives applied to proxied resources</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Proxy <var>wildcard-url</var>> ...</Proxy></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Directives placed in <code class="directive"><Proxy></code> + sections apply only to matching proxied content. Shell-style wildcards are + allowed.</p> + + <p>For example, the following will allow only hosts in + <code>yournetwork.example.com</code> to access content via your proxy + server:</p> + + <pre class="prettyprint lang-config"><Proxy "*"> + Require host yournetwork.example.com +</Proxy></pre> + + + <p>The following example will process all files in the <code>foo</code> + directory of <code>example.com</code> through the <code>INCLUDES</code> + filter when they are sent through the proxy server:</p> + + <pre class="prettyprint lang-config"><Proxy "http://example.com/foo/*"> + SetOutputFilter INCLUDES +</Proxy></pre> + + + <div class="note"><h3>Differences from the Location configuration section</h3> + <p>A backend URL matches the configuration section if it begins with the + the <var>wildcard-url</var> string, even if the last path segment in the + directive only matches a prefix of the backend URL. For example, + <Proxy "http://example.com/foo"> matches all of + http://example.com/foo, http://example.com/foo/bar, and + http://example.com/foobar. The matching of the final URL differs + from the behavior of the <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section, which for purposes of this note + treats the final path component as if it ended in a slash.</p> + <p>For more control over the matching, see <code class="directive"><ProxyMatch></code>.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#proxymatch"><ProxyMatch></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Proxy100Continue" id="Proxy100Continue">Proxy100Continue</a> <a name="proxy100continue" id="proxy100continue">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Forward 100-continue expectation to the origin server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Proxy100Continue Off|On</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Proxy100Continue On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.40 and later</td></tr> +</table> + <p>This directive determines whether the proxy should forward 100-continue + <em>Expect:</em>ation to the origin server and thus let it decide when/if + the HTTP request body should be read, or when <code>Off</code> the proxy + should generate <em>100 Continue</em> intermediate response by itself before + forwarding the request body.</p> + <div class="note"><h3>Effectiveness</h3> + <p>This option is of use only for HTTP proxying, as handled by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a> <a name="proxyaddheaders" id="proxyaddheaders">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add proxy information in X-Forwarded-* headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyAddHeaders On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.10 and later</td></tr> +</table> + <p>This directive determines whether or not proxy related information should be passed to the + backend server through X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server HTTP headers.</p> + <div class="note"><h3>Effectiveness</h3> + <p>This option is of use only for HTTP proxying, as handled by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a> <a name="proxybadheader" id="proxybadheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines how to handle bad header lines in a +response</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyBadHeader IsError</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>The <code class="directive">ProxyBadHeader</code> directive determines the + behavior of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> if it receives syntactically invalid + response header lines (<em>i.e.</em> containing no colon) from the origin + server. The following arguments are possible:</p> + + <dl> + <dt><code>IsError</code></dt> + <dd>Abort the request and end up with a 502 (Bad Gateway) response. This is + the default behavior.</dd> + + <dt><code>Ignore</code></dt> + <dd>Treat bad header lines as if they weren't sent.</dd> + + <dt><code>StartBody</code></dt> + <dd>When receiving the first bad header line, finish reading the headers and + treat the remainder as body. This helps to work around buggy backend servers + which forget to insert an empty line between the headers and the body.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a> <a name="proxyblock" id="proxyblock">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Words, hosts, or domains that are banned from being +proxied</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>The <code class="directive">ProxyBlock</code> directive specifies a list of + words, hosts and/or domains, separated by spaces. HTTP, HTTPS, and + FTP document requests to sites whose names contain matched words, + hosts or domains are <em>blocked</em> by the proxy server. The proxy + module will also attempt to determine IP addresses of list items which + may be hostnames during startup, and cache them for match test as + well. That may slow down the startup time of the server.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"</pre> +</div> + + <p>Note that <code>example</code> would also be sufficient to match any + of these sites.</p> + + <p>Hosts would also be matched if referenced by IP address.</p> + + <p>Note also that</p> + + <pre class="prettyprint lang-config">ProxyBlock "*"</pre> + + + <p>blocks connections to all sites.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a> <a name="proxydomain" id="proxydomain">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default domain name for proxied requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyDomain <var>Domain</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This directive is only useful for Apache httpd proxy servers within + intranets. The <code class="directive">ProxyDomain</code> directive specifies + the default domain which the apache proxy server will belong to. If a + request to a host without a domain name is encountered, a redirection + response to the same host with the configured <var>Domain</var> appended + will be generated.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81" +NoProxy ".example.com" "192.168.112.0/21" +ProxyDomain ".example.com"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a> <a name="proxyerroroverride" id="proxyerroroverride">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Override error pages for proxied content</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyErrorOverride Off|On [<var>code</var> ...]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyErrorOverride Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The list of status codes was added in 2.4.47</td></tr> +</table> + <p>This directive is useful for reverse-proxy setups where you want to + have a common look and feel on the error pages seen by the end user. + This also allows for included files (via + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>'s SSI) to get + the error code and act accordingly. (Default behavior would display + the error page of the proxied server. Turning this on shows the SSI + Error message.)</p> + + <p>This directive does not affect the processing of informational (1xx), + normal success (2xx), or redirect (3xx) responses.</p> + + <p>By default <code class="directive">ProxyErrorOverride</code> affects all responses with codes between 400 (including) + and 600 (excluding).</p> + + <div class="example"><h3>Example for default behavior</h3><pre class="prettyprint lang-config">ProxyErrorOverride On</pre> +</div> + + <p>To change the default behavior, you can specify the status codes to consider, separated by spaces. + If you do so, all other status codes will be ignored. + You can only specify status codes, that are considered error codes: between 400 (including) + and 600 (excluding).</p> + + <div class="example"><h3>Example for custom status codes</h3><pre class="prettyprint lang-config">ProxyErrorOverride On 403 405 500 501 502 503 504</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a> <a name="proxyiobuffersize" id="proxyiobuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine size of internal data throughput buffer</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyIOBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>The <code class="directive">ProxyIOBufferSize</code> directive adjusts the size + of the internal buffer which is used as a scratchpad for the data between + input and output. The size must be at least <code>512</code>.</p> + + <p>In almost every case, there's no reason to change that value.</p> + + <p>If used with AJP, this directive sets the maximum AJP packet size in + bytes. Values larger than 65536 are set to 65536. If you change it from + the default, you must also change the <code>packetSize</code> attribute of + your AJP connector on the Tomcat side! The attribute + <code>packetSize</code> is only available in Tomcat <code>5.5.20+</code> + and <code>6.0.2+</code></p> + + <p>Normally it is not necessary to change the maximum packet size. + Problems with the default value have been reported when sending + certificates or certificate chains.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyMatch" id="ProxyMatch"><ProxyMatch></a> <a name="proxymatch" id="proxymatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Container for directives applied to regular-expression-matched +proxied resources</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><ProxyMatch <var>regex</var>> ...</ProxyMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>The <code class="directive"><ProxyMatch></code> directive is + identical to the <code class="directive"><a href="#proxy"><Proxy></a></code> directive, except that it matches URLs + using <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>.</p> + + <p>From 2.4.8 onwards, named groups and backreferences are captured and + written to the environment with the corresponding name prefixed with + "MATCH_" and in upper case. This allows elements of URLs to be referenced + from within <a href="../expr.html">expressions</a> and modules like + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered + (unnamed) backreferences are ignored. Use named groups instead.</p> + +<pre class="prettyprint lang-config"><ProxyMatch "^http://(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</ProxyMatch></pre> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#proxy"><Proxy></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a> <a name="proxymaxforwards" id="proxymaxforwards">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of proxies that a request can be forwarded +through</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyMaxForwards <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyMaxForwards -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Default behaviour changed in 2.2.7</td></tr> +</table> + <p>The <code class="directive">ProxyMaxForwards</code> directive specifies the + maximum number of proxies through which a request may pass if there's no + <code>Max-Forwards</code> header supplied with the request. This may + be set to prevent infinite proxy loops or a DoS attack.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyMaxForwards 15</pre> +</div> + + <p>Note that setting <code class="directive">ProxyMaxForwards</code> is a + violation of the HTTP/1.1 protocol (RFC2616), which forbids a Proxy + setting <code>Max-Forwards</code> if the Client didn't set it. + Earlier Apache httpd versions would always set it. A negative + <code class="directive">ProxyMaxForwards</code> value, including the + default -1, gives you protocol-compliant behavior but may + leave you open to loops.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPass" id="ProxyPass">ProxyPass</a> <a name="proxypass" id="proxypass">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps remote servers into the local server URL-space</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Unix Domain Socket (UDS) support added in 2.4.7</td></tr> +</table> + <p>This directive allows remote servers to be mapped into the + space of the local server. The local server does not act as a + proxy in the conventional sense but appears to be a mirror of the + remote server. The local server is often called a <dfn>reverse + proxy</dfn> or <dfn>gateway</dfn>. The <var>path</var> is the name of + a local virtual path; <var>url</var> is a partial URL for the + remote server and cannot include a query string.</p> + + <div class="note">It is strongly suggested to review the concept of a + <a href="#workers">Worker</a> before proceeding any further + with this section.</div> + + <div class="note">This directive is not supported within + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, + <code class="directive"><a href="../mod/core.html#if"><If></a></code> and + <code class="directive"><a href="../mod/core.html#files"><Files></a></code> containers. + </div> + + <div class="warning">The <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> directive should + usually be set <strong>off</strong> when using + <code class="directive">ProxyPass</code>.</div> + + <p>In 2.4.7 and later, support for using a Unix Domain Socket is available by using a target + which prepends <code>unix:/path/lis.sock|</code>. For example, to proxy + HTTP and target the UDS at /home/www.socket, you would use + <code>unix:/home/www.socket|http://localhost/whatever/</code>.</p> + + <div class="note"><strong>Note:</strong> The path associated with the <code>unix:</code> + URL is <code class="directive">DefaultRuntimeDir</code> aware.</div> + + <p>When used inside a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section, the first argument is omitted and the local + directory is obtained from the <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. The same will occur inside a + <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> section; + however, ProxyPass does not interpret the regexp as such, so it is necessary + to use <code class="directive">ProxyPassMatch</code> in this situation instead.</p> + + <p>Suppose the local server has address <code>http://example.com/</code>; + then</p> + + <pre class="prettyprint lang-config"><Location "/mirror/foo/"> + ProxyPass "http://backend.example.com/" +</Location></pre> + + + <p>will cause a local request for + <code>http://example.com/mirror/foo/bar</code> to be internally converted + into a proxy request to <code>http://backend.example.com/bar</code>.</p> + + <p>If you require a more flexible reverse-proxy configuration, see the + <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the + <code>[P]</code> flag.</p> + + <p>The following alternative syntax is possible; however, it can carry a + performance penalty when present in very large numbers. The advantage of + the below syntax is that it allows for dynamic control via the + <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> interface:</p> + + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"</pre> + + + <div class="warning"> + <p>If the first argument ends with a trailing <strong>/</strong>, the second + argument should also end with a trailing <strong>/</strong>, and vice + versa. Otherwise, the resulting requests to the backend may miss some + needed slashes and do not deliver the expected results. + </p> + </div> + + <p>The <code>!</code> directive is useful in situations where you don't want + to reverse-proxy a subdirectory, <em>e.g.</em></p> + + <pre class="prettyprint lang-config"><Location "/mirror/foo/"> + ProxyPass "http://backend.example.com/" +</Location> +<Location "/mirror/foo/i"> + ProxyPass "!" +</Location></pre> + + + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!" +ProxyPass "/mirror/foo" "http://backend.example.com"</pre> + + + <p>will proxy all requests to <code>/mirror/foo</code> to + <code>backend.example.com</code> <em>except</em> requests made to + <code>/mirror/foo/i</code>.</p> + + <p>Mixing ProxyPass settings in different contexts does not work:</p> + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!" +<Location "/mirror/foo/"> + ProxyPass "http://backend.example.com/" +</Location></pre> + + <p>In this case, a request to <code>/mirror/foo/i</code> will get proxied, + because the <code class="directive">ProxyPass</code> directive in the Location block will be evaluated + first. The fact that <code class="directive">ProxyPass</code> supports both server and directory contexts + does not mean that their scope and position in the configuration file will + guarantee any ordering or override.</p> + + <div class="warning"><h3>Ordering ProxyPass Directives</h3> + <p>The configured <code class="directive"><a href="#proxypass">ProxyPass</a></code> + and <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> + rules are checked in the order of configuration. The first rule that + matches wins. So usually you should sort conflicting + <code class="directive"><a href="#proxypass">ProxyPass</a></code> rules starting with the + longest URLs first. Otherwise, later rules for longer URLS will be hidden + by any earlier rule which uses a leading substring of the URL. Note that + there is some relation with worker sharing.</p> + </div> + <div class="warning"><h3>Ordering ProxyPass Directives in Locations</h3> + <p>Only one <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive + can be placed in a <code class="directive"><a href="../mod/core.html#location">Location</a></code> block, + and the most specific location will take precedence.</p> + </div> + <div class="warning"><h3>Exclusions and the no-proxy environment variable</h3> + <p>Exclusions must come <em>before</em> the + general <code class="directive">ProxyPass</code> directives. In 2.4.26 and later, the "no-proxy" + environment variable is an alternative to exclusions, and is the only + way to configure an exclusion of a <code class="directive">ProxyPass</code> + directive in <code class="directive"><a href="../mod/core.html#location">Location</a></code> context. + This variable should be set with <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, as <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> + is not evaluated early enough. + </p> + + </div> + + <p><strong>ProxyPass <code>key=value</code> Parameters</strong></p> + + <p>In Apache HTTP Server 2.1 and later, mod_proxy supports pooled + connections to a backend server. Connections created on demand + can be retained in a pool for future use. Limits on the pool size + and other settings can be coded on + the <code class="directive">ProxyPass</code> directive + using <code>key=value</code> parameters, described in the tables + below.</p> + + <div class="warning"><h3>Maximum connections to the backend</h3> + <p>By default, mod_proxy will allow and retain the maximum number of + connections that could be used simultaneously by that web server child + process. Use the <code>max</code> parameter to reduce the number from + the default. The pool of connections is maintained per web server child + process, and <code>max</code> and other settings are not coordinated + among all child processes, except when only one child process is allowed + by configuration or MPM design.</p> + </div> + + <p>Use the <code>ttl</code> parameter to set an optional + time to live; connections which have been unused for at least + <code>ttl</code> seconds will be closed. <code>ttl</code> can be used + to avoid using a connection which is subject to closing because of the + backend server's keep-alive timeout.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre> +</div> + + <table class="bordered"><tr><th>Worker|BalancerMember parameters</th></tr></table> + <table> + <tr><th>Parameter</th> + <th>Default</th> + <th>Description</th></tr> + <tr><td>min</td> + <td>0</td> + <td>Minimum number of connection pool entries, unrelated to the + actual number of connections. This only needs to be modified from the + default for special circumstances where heap memory associated with the + backend connections should be preallocated or retained.</td></tr> + <tr><td>max</td> + <td>1...n</td> + <td>Maximum number of connections that will be allowed to the + backend server. The default for this limit is the number of threads + per process in the active MPM. In the Prefork MPM, this is always 1, + while with other MPMs, it is controlled by the + <code class="directive">ThreadsPerChild</code> directive.</td></tr> + <tr><td>smax</td> + <td>max</td> + <td>Retained connection pool entries above this limit are freed + during certain operations if they have been unused for longer than + the time to live, controlled by the <code>ttl</code> parameter. If + the connection pool entry has an associated connection, it will be + closed. This only needs to be modified from the default for special + circumstances where connection pool entries and any associated + connections which have exceeded the time to live need to be freed or + closed more aggressively.</td></tr> + <tr><td>acquire</td> + <td>-</td> + <td>If set, this will be the maximum time to wait for a free + connection in the connection pool, in milliseconds. If there are no free + connections in the pool, the Apache httpd will return <code>SERVER_BUSY</code> + status to the client. + </td></tr> + <tr><td>connectiontimeout</td> + <td>timeout</td> + <td>Connect timeout in seconds. + The number of seconds Apache httpd waits for the creation of a connection to + the backend to complete. By adding a postfix of ms, the timeout can be + also set in milliseconds. + </td></tr> + <tr><td>disablereuse</td> + <td>Off</td> + <td>This parameter should be used when you want to force mod_proxy + to immediately close a connection to the backend after being used, and + thus, disable its persistent connection and pool for that backend. + This helps in various situations where a firewall between Apache + httpd and + the backend server (regardless of protocol) tends to silently + drop connections or when backends themselves may be under round- + robin DNS. + When connection reuse is enabled each backend domain is resolved + (with a DNS query) only once per child process and cached for all further + connections until the child is recycled. To disable connection reuse, + set this property value to <code>On</code>. + </td></tr> + <tr><td>enablereuse</td> + <td>On</td> + <td>This is the inverse of 'disablereuse' above, provided as a + convenience for scheme handlers that require opt-in for connection + reuse (such as <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>). 2.4.11 and later only. + </td></tr> + <tr><td>flushpackets</td> + <td>off</td> + <td>Determines whether the proxy module will auto-flush the output + brigade after each "chunk" of data. 'off' means that it will flush + only when needed; 'on' means after each chunk is sent; and + 'auto' means poll/wait for a period of time and flush if + no input has been received for 'flushwait' milliseconds. + Currently, this is in effect only for mod_proxy_ajp and mod_proxy_fcgi. + </td></tr> + <tr><td>flushwait</td> + <td>10</td> + <td>The time to wait for additional input, in milliseconds, before + flushing the output brigade if 'flushpackets' is 'auto'. + </td></tr> + <tr><td>iobuffersize</td> + <td>8192</td> + <td>Adjusts the size of the internal scratchpad IO buffer. This allows you + to override the <code class="directive">ProxyIOBufferSize</code> for a specific worker. + This must be at least 512 or set to 0 for the system default of 8192. + </td></tr> + <tr><td>responsefieldsize</td> + <td>8192</td> + <td>Adjust the size of the proxy response field buffer. The buffer size + should be at least the size of the largest expected header size from + a proxied response. Setting the value to 0 will use the system + default of 8192 bytes.<br /> + Available in Apache HTTP Server 2.4.34 and later. + </td></tr> + <tr><td>keepalive</td> + <td>Off</td> + <td><p>This parameter should be used when you have a firewall between your + Apache httpd and the backend server, which tends to drop inactive connections. + This flag will tell the Operating System to send <code>KEEP_ALIVE</code> + messages on inactive connections and thus prevent the firewall from dropping + the connection. + To enable keepalive, set this property value to <code>On</code>. </p> + <p>The frequency of initial and subsequent TCP keepalive probes + depends on global OS settings, and may be as high as 2 hours. To be useful, + the frequency configured in the OS must be smaller than the threshold used + by the firewall.</p> + </td></tr> + <tr><td>lbset</td> + <td>0</td> + <td>Sets the load balancer cluster set that the worker is a member + of. The load balancer will try all members of a lower numbered + lbset before trying higher numbered ones. + </td></tr> + <tr><td>ping</td> + <td>0</td> + <td>Ping property tells the webserver to "test" the connection to + the backend before forwarding the request. For AJP, it causes + <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> to send a <code>CPING</code> + request on the ajp13 connection (implemented on Tomcat 3.3.2+, 4.1.28+ + and 5.0.13+). For HTTP, it causes <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + to send a <code>100-Continue</code> to the backend (only valid for + HTTP/1.1 - for non HTTP/1.1 backends, this property has no + effect). In both cases, the parameter is the delay in seconds to wait + for the reply. + This feature has been added to avoid problems with hung and + busy backends. + This will increase the network traffic during the normal operation + which could be an issue, but it will lower the + traffic in case some of the cluster nodes are down or busy. + By adding a postfix of ms, the delay can be also set in + milliseconds. + </td></tr> + <tr><td>receivebuffersize</td> + <td>0</td> + <td>Adjusts the size of the explicit (TCP/IP) network buffer size for + proxied connections. This allows you to override the + <code class="directive">ProxyReceiveBufferSize</code> for a specific worker. + This must be at least 512 or set to 0 for the system default. + </td></tr> + <tr><td>redirect</td> + <td>-</td> + <td>Redirection Route of the worker. This value is usually + set dynamically to enable safe removal of the node from + the cluster. If set, all requests without session id will be + redirected to the BalancerMember that has route parameter + equal to this value. + </td></tr> + <tr><td>retry</td> + <td>60</td> + <td>Connection pool worker retry timeout in seconds. + If the connection pool worker to the backend server is in the error state, + Apache httpd will not forward any requests to that server until the timeout + expires. This enables to shut down the backend server for maintenance + and bring it back online later. A value of 0 means always retry workers + in an error state with no timeout. + </td></tr> + <tr><td>route</td> + <td>-</td> + <td>Route of the worker when used inside load balancer. + The route is a value appended to session id. + </td></tr> + <tr><td><a name="status_table">status</a></td> + <td>-</td> + <td>Single letter value defining the initial status of + this worker. + <table> + <tr><td>D: Worker is disabled and will not accept any requests.</td></tr> + <tr><td>S: Worker is administratively stopped.</td></tr> + <tr><td>I: Worker is in ignore-errors mode and will always be considered available.</td></tr> + <tr><td>R: Worker is a hot spare. For each worker in a given lbset that is unusable + (draining, stopped, in error, etc.), a usable hot spare with the same lbset will be used in + its place. Hot spares can help ensure that a specific number of workers are always available + for use by a balancer.</td></tr> + <tr><td>H: Worker is in hot-standby mode and will only be used if no other + viable workers or spares are available in the balancer set.</td></tr> + <tr><td>E: Worker is in an error state.</td></tr> + <tr><td>N: Worker is in drain mode and will only accept existing sticky sessions + destined for itself and ignore all other requests.</td></tr> + </table>Status + can be set (which is the default) by prepending with '+' or + cleared by prepending with '-'. + Thus, a setting of 'S-E' sets this worker to Stopped and + clears the in-error flag. + </td></tr> + <tr><td>timeout</td> + <td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td> + <td>Connection timeout in seconds. + The number of seconds Apache httpd waits for data sent by / to the backend. + </td></tr> + <tr><td>ttl</td> + <td>-</td> + <td>Time to live for inactive connections and associated connection + pool entries, in seconds. Once reaching this limit, a + connection will not be used again; it will be closed at some + later time. + </td></tr> + <tr><td>flusher</td> + <td>flush</td> + <td><p>Name of the provider used by <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>. + See the documentation of this module for more details.</p> + </td></tr> + <tr><td>secret</td> + <td>-</td> + <td>Value of secret used by <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>. + It must be identical to the secret configured on the server side of the + AJP connection.<br /> + Available in Apache HTTP Server 2.4.42 and later. + </td></tr> + <tr><td><a id="upgrade" name="upgrade">upgrade</a></td> + <td>-</td> + <td><p>Protocol accepted by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> or + <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> for the HTTP Upgrade mechanism + upon negotiation by the HTTP client/browser (per + <a href="https://www.ietf.org/rfc/rfc9110.html#name-upgrade">RFC 9110 - Upgrade</a>). + See the <a href="#protoupgrade">Protocol Upgrade</a> note below</p> + </td></tr> + <tr><td>mapping</td> + <td>-</td> + <td><p>Type of mapping between the <var>path</var> and the <var>url</var>. + This determines the normalization and/or (non-)decoding that <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> + will apply to the requested <var>uri-path</var> before matching the <var>path</var>. If + a mapping matches, it's committed to the <var>uri-path</var> such that all the directory + contexts that use a path (like <code><Location></code>) will be matched using the + same mapping.</p> + <p><code>mapping=encoded</code> prevents the %-decoding of the <var>uri-path</var> so + that one can use for instance configurations like:</p> + <pre class="prettyprint lang-config">ProxyPass "/special%3Fsegment" "https://example.com/special%3Fsegment" mapping=encoded</pre> + + <pre class="prettyprint lang-config"><Location "/special%3Fsegment"> + Require ip 172.17.2.0/24 +</Location></pre> + + <p><code>mapping=servlet</code> refers to the normalization defined by the Servlet + specification, which is for instance applied by Apache Tomcat for servlet containers + (notably the path parameters are ignored for the mapping). An <var>uri-path</var> like + <code>/some;foo/path</code> is then mapped as <code>/some/path</code> hence matches any + of the below regardless of the requested path parameters:</p> + <pre class="prettyprint lang-config">ProxyPass "/some/path" "https://servlet.example.com/some/path" mapping=servlet</pre> + + <pre class="prettyprint lang-config"><Location "/some/path"> + Require valid-user +</Location></pre> + + <div class="note"><h3>Note</h3> + <p>It is recommended to use the same mapping on the Apache httpd side than the one + used on the backend side. For instance when configuring authorizations in + <code><Location></code> blocks for paths that are mapped by <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> + to some servlet containers (like applications running on Apache Tomcat), one should + use the <code>mapping=servlet</code> setting to prevent path parameters and alike from + interfering with the authorizations that are to be enforced in by the Apache httpd.</p> + </div> + </td></tr> + + </table> + + <p>If the Proxy directive scheme starts with the + <code>balancer://</code> (eg: <code>balancer://cluster</code>, + any path information is ignored), then a virtual worker that does not really + communicate with the backend server will be created. Instead, it is responsible + for the management of several "real" workers. In that case, the special set of + parameters can be added to this virtual worker. + See <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> for more information about how + the balancer works. + </p> + <table class="bordered"><tr><th>Balancer parameters</th></tr></table> + <table> + <tr><th>Parameter</th> + <th>Default</th> + <th>Description</th></tr> + <tr><td>lbmethod</td> + <td>byrequests</td> + <td>Balancer load-balance method. Select the load-balancing scheduler + method to use. Either <code>byrequests</code>, to perform weighted + request counting; <code>bytraffic</code>, to perform weighted + traffic byte count balancing; or <code>bybusyness</code>, to perform + pending request balancing. The default is <code>byrequests</code>. + </td></tr> + <tr><td>maxattempts</td> + <td>One less than the number of workers, or 1 with a single worker.</td> + <td>Maximum number of failover attempts before giving up. + </td></tr> + <tr><td>nofailover</td> + <td>Off</td> + <td>If set to <code>On</code>, the session will break if the worker is in + error state or disabled. Set this value to <code>On</code> if backend + servers do not support session replication. + </td></tr> + <tr><td>stickysession</td> + <td>-</td> + <td>Balancer sticky session name. The value is usually set to something + like <code>JSESSIONID</code> or <code>PHPSESSIONID</code>, + and it depends on the backend application server that support sessions. + If the backend application server uses different name for cookies + and url encoded id (like servlet containers) use | to separate them. + The first part is for the cookie the second for the path.<br /> + Available in Apache HTTP Server 2.4.4 and later. + </td></tr> + <tr><td>stickysessionsep</td> + <td>"."</td> + <td>Sets the separation symbol in the session cookie. Some backend application servers + do not use the '.' as the symbol. For example, the Oracle Weblogic server uses + '!'. The correct symbol can be set using this option. The setting of 'Off' + signifies that no symbol is used. + </td></tr> + <tr><td>scolonpathdelim</td> + <td>Off</td> + <td>If set to <code>On</code>, the semi-colon character ';' will be + used as an additional sticky session path delimiter/separator. This + is mainly used to emulate mod_jk's behavior when dealing with paths such + as <code>JSESSIONID=6736bcf34;foo=aabfa</code> + </td></tr> + <tr><td>timeout</td> + <td>0</td> + <td>Balancer timeout in seconds. If set, this will be the maximum time + to wait for a free worker. The default is to not wait. + </td></tr> + <tr><td>failonstatus</td> + <td>-</td> + <td>A single or comma-separated list of HTTP status codes. If set, this will + force the worker into error state when the backend returns any status code + in the list. Worker recovery behaves the same as other worker errors. + </td></tr> + <tr><td>failontimeout</td> + <td>Off</td> + <td>If set, an IO read timeout after a request is sent to the backend will + force the worker into error state. Worker recovery behaves the same as other + worker errors.<br /> + Available in Apache HTTP Server 2.4.5 and later. + </td></tr> + <tr><td>nonce</td> + <td><auto></td> + <td>The protective nonce used in the <code>balancer-manager</code> application page. + The default is to use an automatically determined UUID-based + nonce, to provide for further protection for the page. If set, + then the nonce is set to that value. A setting of <code>None</code> + disables all nonce checking. + <div class="note"><h3>Note</h3> + <p>In addition to the nonce, the <code>balancer-manager</code> page + should be protected via an ACL.</p> + </div> + </td></tr> + <tr><td>growth</td> + <td>0</td> + <td>Number of additional BalancerMembers to allow to be added + to this balancer in addition to those defined at configuration. + </td></tr> + <tr><td>forcerecovery</td> + <td>On</td> + <td>Force the immediate recovery of all workers without considering the + retry parameter of the workers if all workers of a balancer are + in error state. There might be cases where an already overloaded backend + can get into deeper trouble if the recovery of all workers is enforced + without considering the retry parameter of each worker. In this case, + set to <code>Off</code>.<br /> + Available in Apache HTTP Server 2.4.2 and later. + </td></tr> + + </table> + <p>A sample balancer setup:</p> + <pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10 +ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On +<Proxy "balancer://mycluster"> + BalancerMember "ajp://1.2.3.4:8009" + BalancerMember "ajp://1.2.3.5:8009" loadfactor=20 + # Less powerful server, don't send as many requests there, + BalancerMember "ajp://1.2.3.6:8009" loadfactor=5 +</Proxy></pre> + + + <p>Configuring hot spares can help ensure that a certain number of + workers are always available for use per load balancer set:</p> + <pre class="prettyprint lang-config">ProxyPass "/" "balancer://sparecluster/" +<Proxy balancer://sparecluster> + BalancerMember ajp://1.2.3.4:8009 + BalancerMember ajp://1.2.3.5:8009 + # The servers below are hot spares. For each server above that is unusable + # (draining, stopped, unreachable, in error state, etc.), one of these spares + # will be used in its place. Two servers will always be available for a request + # unless one or more of the spares is also unusable. + BalancerMember ajp://1.2.3.6:8009 status=+R + BalancerMember ajp://1.2.3.7:8009 status=+R +</Proxy></pre> + + + <p>Setting up a hot-standby that will only be used if no other + members (or spares) are available in the load balancer set:</p> + <pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/" +<Proxy "balancer://hotcluster"> + BalancerMember "ajp://1.2.3.4:8009" loadfactor=1 + BalancerMember "ajp://1.2.3.5:8009" loadfactor=2.25 + # The server below is on hot standby + BalancerMember "ajp://1.2.3.6:8009" status=+H + ProxySet lbmethod=bytraffic +</Proxy></pre> + + + <p><strong>Additional ProxyPass Keywords</strong></p> + + <p>Normally, mod_proxy will canonicalise ProxyPassed URLs. + But this may be incompatible with some backends, particularly those + that make use of <var>PATH_INFO</var>. The optional <var>nocanon</var> + keyword suppresses this and passes the URL path "raw" to the + backend. Note that this keyword may affect the security of your backend, + as it removes the normal limited protection against URL-based attacks + provided by the proxy.</p> + + <p>Normally, mod_proxy will include the query string when + generating the <var>SCRIPT_FILENAME</var> environment variable. + The optional <var>noquery</var> keyword (available in + httpd 2.4.1 and later) prevents this.</p> + + <p>The optional <code>interpolate</code> keyword, in combination with + <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, causes the ProxyPass + to interpolate environment variables, using the syntax + <var>${VARNAME}</var>. Note that many of the standard CGI-derived + environment variables will not exist when this interpolation happens, + so you may still have to resort to <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + for complex rules. Also note that interpolation is supported + within the scheme/hostname/port portion of a URL only for variables that + are available when the directive is parsed + (like <code class="directive"><a href="../mod/core.html#define">Define</a></code>). Dynamic determination of + those fields can be accomplished with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. + The following example describes how to use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + to dynamically set the scheme to http or https:</p> + + <pre class="prettyprint lang-config">RewriteEngine On + +RewriteCond "%{HTTPS}" =off +RewriteRule "." "-" [E=protocol:http] +RewriteCond "%{HTTPS}" =on +RewriteRule "." "-" [E=protocol:https] + +RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P] +ProxyPassReverse "/mirror/foo/" "http://backend.example.com/" +ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre> + + + <div class="note"><h3><a id="protoupgrade" name="protoupgrade">Protocol Upgrade</a></h3> + <p>Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled + end-to-end by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> using the <code class="directive">ProxyPass</code> + parameter <var><a href="#upgrade">upgrade</a></var>.</p> + <p>End-to-end means that the HTTP Upgrade request from the client/browser is first + forwarded by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> to the origin server and the connection + will be upgraded (and tunneled by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>) only if the origin + server accepts/initiates the upgrade (HTTP response <code>101 Switching Protocols</code>). + If the origin server responds with anything else <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + will continue forwarding (and enforcing) the HTTP protocol as usual for this + connection.</p> + <p>See <a href="#wsupgrade">Websocket Upgrade (2.4.47 and later)</a> for an example of + configuration using <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + <p>For Apache HTTP Server 2.4.46 and earlier (or if + <code class="directive"><a href="../mod/mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></code> + from 2.4.48 and later disables <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handling), see the + documentation of <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> for how to proxy the WebSocket + protocol.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a> <a name="proxypassinherit" id="proxypassinherit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inherit ProxyPass directives defined from the main server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyPassInherit On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>ProxyPassInherit is only available in Apache HTTP Server 2.4.5 and later. + </td></tr> +</table> + <p>This directive will cause the current server/vhost to "inherit" + <code class="directive"><a href="#proxypass">ProxyPass</a></code> + directives defined in the main server. This can cause issues and + inconsistent behavior if using the Balancer Manager for dynamic changes + and so should be disabled if using that feature.</p> + <p>The setting in the global server defines the default for all vhosts.</p> + <p>Disabling ProxyPassInherit also disables <code class="directive"><a href="#balancerinherit">BalancerInherit</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a> <a name="proxypassinterpolateenv" id="proxypassinterpolateenv">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.2.9 and later</td></tr> +</table> + <p>This directive, together with the <code>interpolate</code> argument to + <code class="directive">ProxyPass</code>, <code class="directive">ProxyPassReverse</code>, + <code class="directive">ProxyPassReverseCookieDomain</code>, and + <code class="directive">ProxyPassReverseCookiePath</code>, + enables reverse proxies to be dynamically + configured using environment variables which may be set by + another module such as <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. + It affects the <code class="directive">ProxyPass</code>, + <code class="directive">ProxyPassReverse</code>, + <code class="directive">ProxyPassReverseCookieDomain</code>, and + <code class="directive">ProxyPassReverseCookiePath</code> directives + and causes them to substitute the value of an environment + variable <code>varname</code> for the string <code>${varname}</code> + in configuration directives if the <code>interpolate</code> option is set.</p> + <p>The scheme/hostname/port portion of <code class="directive">ProxyPass</code> may + contain variables, but only the ones available when the directive is parsed + (for example, using <code class="directive"><a href="../mod/core.html#define">Define</a></code>). + For all the other use cases, please consider using + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> instead.</p> + <div class="warning"><h3>Performance warning</h3> + <p>Keep this turned off unless you need it! + Adding variables to <code class="directive">ProxyPass</code> for example may lead to + the use of the default mod_proxy's workers configured (that don't allow any fine + tuning like connections reuse, etc..).</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a> <a name="proxypassmatch" id="proxypassmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This directive is equivalent to <code class="directive"><a href="#proxypass">ProxyPass</a></code> + but makes use of regular expressions instead of simple prefix matching. The + supplied regular expression is matched against the <var>url</var>, and if it + matches, the server will substitute any parenthesized matches into the given + string and use it as a new <var>url</var>.</p> + + <div class="note"><strong>Note: </strong>This directive cannot be used within a + <code><Directory></code> context.</div> + + <p>Suppose the local server has address <code>http://example.com/</code>; + then</p> + + <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com/$1"</pre> + + + <p>will cause a local request for + <code>http://example.com/foo/bar.gif</code> to be internally converted + into a proxy request to <code>http://backend.example.com/foo/bar.gif</code>.</p> + <div class="note"><h3>Note</h3> + <p>The URL argument must be parsable as a URL <em>before</em> regexp + substitutions (as well as after). This limits the matches you can use. + For instance, if we had used</p> + <pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com:8000$1"</pre> + + <p>in our previous example, it would fail with a syntax error + at server startup. This is a bug (PR 46665 in the ASF bugzilla), + and the workaround is to reformulate the match:</p> + <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre> + + </div> + <p>The <code>!</code> directive is useful in situations where you don't want + to reverse-proxy a subdirectory.</p> + + <p>When used inside a <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> section, the first argument is omitted and the + regexp is obtained from the <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>.</p> + + <p>If you require a more flexible reverse-proxy configuration, see the + <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the + <code>[P]</code> flag.</p> + + <div class="note"> + <h3>Default Substitution</h3> + <p>When the URL parameter doesn't use any backreferences into the regular + expression, the original URL will be appended to the URL parameter. + </p> + </div> + + <div class="warning"> + <h3>Security Warning</h3> + <p>Take care when constructing the target URL of the rule, considering + the security impact from allowing the client influence over the set of + URLs to which your server will act as a proxy. Ensure that the scheme + and hostname part of the URL is either fixed or does not allow the + client undue influence.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adjusts the URL in HTTP response headers sent from a reverse +proxied server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassReverse [<var>path</var>] <var>url</var> +[interpolate]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This directive lets Apache httpd adjust the URL in the <code>Location</code>, + <code>Content-Location</code> and <code>URI</code> headers on HTTP + redirect responses. This is essential when Apache httpd is used as a + reverse proxy (or gateway) to avoid bypassing the reverse proxy + because of HTTP redirects on the backend servers which stay behind + the reverse proxy.</p> + + <p>Only the HTTP response headers specifically mentioned above + will be rewritten. Apache httpd will not rewrite other response + headers, nor will it by default rewrite URL references inside HTML pages. + This means that if the proxied content contains absolute URL + references, they will bypass the proxy. To rewrite HTML content to + match the proxy, you must load and enable <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>. + </p> + + <p><var>path</var> is the name of a local virtual path; <var>url</var> is a + partial URL for the remote server. + These parameters are used the same way as for the + <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p> + + <p>For example, suppose the local server has address + <code>http://example.com/</code>; then</p> + + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/" +ProxyPassReverse "/mirror/foo/" "http://backend.example.com/" +ProxyPassReverseCookieDomain "backend.example.com" "public.example.com" +ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre> + + + <p>will not only cause a local request for the + <code>http://example.com/mirror/foo/bar</code> to be internally converted + into a proxy request to <code>http://backend.example.com/bar</code> + (the functionality which <code>ProxyPass</code> provides here). + It also takes care of redirects which the server <code>backend.example.com</code> + sends when redirecting <code>http://backend.example.com/bar</code> to + <code>http://backend.example.com/quux</code> . Apache httpd adjusts this to + <code>http://example.com/mirror/foo/quux</code> before forwarding the HTTP + redirect response to the client. Note that the hostname used for + constructing the URL is chosen in respect to the setting of the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> directive.</p> + + <p>Note that this <code class="directive">ProxyPassReverse</code> directive can + also be used in conjunction with the proxy feature + (<code>RewriteRule ... [P]</code>) from <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + because it doesn't depend on a corresponding <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p> + + <p>The optional <code>interpolate</code> keyword, used together with + <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, enables interpolation + of environment variables specified using the format <var>${VARNAME}</var>. + Note that interpolation is not supported within the scheme portion of a + URL.</p> + + <p>When used inside a <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section, the first argument is omitted and the local + directory is obtained from the <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. The same occurs inside a <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> section, but will probably not work as + intended, as ProxyPassReverse will interpret the regexp literally as a + path; if needed in this situation, specify the ProxyPassReverse outside + the section or in a separate <code class="directive"><a href="../mod/core.html#location"><Location></a></code> section.</p> + + <p>This directive is not supported in <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> or <code class="directive"><a href="../mod/core.html#files"><Files></a></code> sections.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a> <a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassReverseCookieDomain <var>internal-domain</var> +<var>public-domain</var> [interpolate]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> +<p>Usage is basically similar to +<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, but instead of +rewriting headers that are a URL, this rewrites the <code>domain</code> +string in <code>Set-Cookie</code> headers.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a> <a name="proxypassreversecookiepath" id="proxypassreversecookiepath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassReverseCookiePath <var>internal-path</var> +<var>public-path</var> [interpolate]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> +<p> +Useful in conjunction with +<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> +in situations where backend URL paths are mapped to public paths on the +reverse proxy. This directive rewrites the <code>path</code> string in +<code>Set-Cookie</code> headers. If the beginning of the cookie path matches +<var>internal-path</var>, the cookie path will be replaced with +<var>public-path</var>. +</p><p> +In the example given with +<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, the directive: +</p> + <pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre> + +<p> +will rewrite a cookie with backend path <code>/</code> (or +<code>/example</code> or, in fact, anything) to <code>/mirror/foo/</code>. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a> <a name="proxypreservehost" id="proxypreservehost">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use incoming Host HTTP request header for proxy +request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyPreserveHost Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Usable in directory +context in 2.3.3 and later.</td></tr> +</table> + <p>When enabled, this option will pass the <code>Host:</code> line from the incoming + request to the proxied host, instead of the hostname specified in the + <code class="directive"><a href="#proxypass">ProxyPass</a></code> line.</p> + + <p>This option should normally be turned <code>Off</code>. It is mostly + useful in special configurations like proxied mass name-based virtual + hosting, where the original Host header needs to be evaluated by the + backend server.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a> <a name="proxyreceivebuffersize" id="proxyreceivebuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Network buffer size for proxied HTTP and FTP +connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>The <code class="directive">ProxyReceiveBufferSize</code> directive specifies an + explicit (TCP/IP) network buffer size for proxied HTTP and FTP connections, + for increased throughput. It has to be greater than <code>512</code> or set + to <code>0</code> to indicate that the system's default buffer size should + be used.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyReceiveBufferSize 2048</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a> <a name="proxyremote" id="proxyremote">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remote proxy used to handle certain requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyRemote <var>match</var> <var>remote-server</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This defines remote proxies to this proxy. <var>match</var> is either the + name of a URL-scheme that the remote server supports, or a partial URL + for which the remote server should be used, or <code>*</code> to indicate + the server should be contacted for all requests. <var>remote-server</var> is + a partial URL for the remote server. Syntax:</p> + + <div class="example"><p><code> + <dfn>remote-server</dfn> = + <var>scheme</var>://<var>hostname</var>[:<var>port</var>] + </code></p></div> + + <p><var>scheme</var> is effectively the protocol that should be used to + communicate with the remote server; only <code>http</code> and <code>https</code> + are supported by this module. When using <code>https</code>, the requests + are forwarded through the remote proxy using the HTTP CONNECT method.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyRemote "http://goodguys.example.com/" "http://mirrorguys.example.com:8000" +ProxyRemote "*" "http://cleverproxy.localdomain" +ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"</pre> +</div> + + <p>In the last example, the proxy will forward FTP requests, encapsulated + as yet another HTTP proxy request, to another proxy which can handle + them.</p> + + <p>This option also supports reverse proxy configuration; a backend + webserver can be embedded within a virtualhost URL space even if that + server is hidden by another forward proxy.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a> <a name="proxyremotematch" id="proxyremotematch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remote proxy used to handle requests matched by regular +expressions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>The <code class="directive">ProxyRemoteMatch</code> is identical to the + <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> directive, except that + the first argument is a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a> + match against the requested URL.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a> <a name="proxyrequests" id="proxyrequests">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables forward (standard) proxy requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyRequests On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyRequests Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This allows or prevents Apache httpd from functioning as a forward proxy + server. (Setting ProxyRequests to <code>Off</code> does not disable use of + the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.)</p> + + <p>In a typical reverse proxy or gateway configuration, this + option should be set to + <code>Off</code>.</p> + + <p>In order to get the functionality of proxying HTTP or FTP sites, you + need also <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> or <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> + (or both) present in the server.</p> + + <p>In order to get the functionality of (forward) proxying HTTPS sites, you + need <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> enabled in the server.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying with <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> until you have <a href="#access">secured your server</a>. Open proxy servers are dangerous + both to your network and to the Internet at large.</p> + </div> + +<h3>See also</h3> +<ul> +<li><a href="#forwardreverse">Forward and Reverse Proxies/Gateways</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set various Proxy balancer or member parameters</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxySet <var>url</var> <var>key=value [key=value ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>ProxySet is only available in Apache HTTP Server 2.2 + and later.</td></tr> +</table> + <p>This directive is used as an alternate method of setting any of the + parameters available to Proxy balancers and workers normally done via the + <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive. If used + within a <code><Proxy <var>balancer url|worker url</var>></code> + container directive, the <var>url</var> argument is not required. As a side + effect the respective balancer or worker gets created. This can be useful + when doing reverse proxying via a + <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> instead of a + <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p> + + <div class="example"><pre class="prettyprint lang-config"><Proxy "balancer://hotcluster"> + BalancerMember "http://www2.example.com:8080" loadfactor=1 + BalancerMember "http://www3.example.com:8080" loadfactor=2 + ProxySet lbmethod=bytraffic +</Proxy></pre> +</div> + + <pre class="prettyprint lang-config"><Proxy "http://backend"> + ProxySet keepalive=On +</Proxy></pre> + + + <pre class="prettyprint lang-config">ProxySet "balancer://foo" lbmethod=bytraffic timeout=15</pre> + + + <pre class="prettyprint lang-config">ProxySet "ajp://backend:7001" timeout=15</pre> + + + <div class="warning"><h3>Warning</h3> + <p>Keep in mind that the same parameter key can have a different meaning + depending whether it is applied to a balancer or a worker, as shown by + the two examples above regarding timeout.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a> <a name="proxysourceaddress" id="proxysourceaddress">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set local IP address for outgoing proxy connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxySourceAddress <var>address</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3.9 and later</td></tr> +</table> + <p>This directive allows to set a specific local address to bind to when connecting + to a backend server.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Show Proxy LoadBalancer status in mod_status</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyStatus Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2 and later</td></tr> +</table> + <p>This directive determines whether or not proxy + loadbalancer status data is displayed via the <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> + server-status page.</p> + <div class="note"><h3>Note</h3> + <p><strong>Full</strong> is synonymous with <strong>On</strong></p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Network timeout for proxied requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Value of <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This directive allows a user to specify a timeout on proxy requests. + This is useful when you have a slow/buggy appserver which hangs, and you + would rather just return a timeout and fail gracefully instead of waiting + however long it takes the server to return.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyVia" id="ProxyVia">ProxyVia</a> <a name="proxyvia" id="proxyvia">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information provided in the <code>Via</code> HTTP response +header for proxied requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyVia Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>This directive controls the use of the <code>Via:</code> HTTP + header by the proxy. Its intended use is to control the flow of + proxy requests along a chain of proxy servers. See <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1), section + 14.45 for an explanation of <code>Via:</code> header lines.</p> + + <ul> + <li>If set to <code>Off</code>, which is the default, no special processing + is performed. If a request or reply contains a <code>Via:</code> header, + it is passed through unchanged.</li> + + <li>If set to <code>On</code>, each request and reply will get a + <code>Via:</code> header line added for the current host.</li> + + <li>If set to <code>Full</code>, each generated <code>Via:</code> header + line will additionally have the Apache httpd server version shown as a + <code>Via:</code> comment field.</li> + + <li>If set to <code>Block</code>, every proxy request will have all its + <code>Via:</code> header lines removed. No new <code>Via:</code> header will + be generated.</li> + </ul> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy.html.fr.utf8 b/docs/manual/mod/mod_proxy.html.fr.utf8 new file mode 100644 index 0000000..ad4f103 --- /dev/null +++ b/docs/manual/mod/mod_proxy.html.fr.utf8 @@ -0,0 +1,2472 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle multi-protocole</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy.c</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avec la directive + <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant + d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs + mandataires ouverts sont dangereux pour votre réseau, + mais aussi pour l'Internet au sens large.</p> + </div> + + <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et ses modules associés implémentent + un mandataire/passerelle pour le serveur HTTP Apache, et supportent + de nombreux protocoles courants, ainsi que plusieurs algorithmes de + répartition de charge. Le support de protocoles et d'algorithmes de + répartition de charge supplémentaires peut être assuré par des + modules tiers.</p> + + <p>Un jeu de modules chargés dans le serveur permet de fournir les + fonctionnalités souhaitées. Ces modules peuvent être inclus + statiquement à la compilation, ou dynamiquement via la directive + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Ce jeu de module + doit comporter :</p> + + <ul> + <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, qui fournit les fonctionnalités de + base d'un mandataire</li> + + <li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et un ou plusieurs modules + de répartition, si la répartition de charge doit être mise en + oeuvre (Voir la documentation de + <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus de détails).</li> + + <li>un ou plusieurs modules de types de mandataire, ou protocoles + : + + <table class="bordered"> + <tr><th>Protocole</th><th>Module</th></tr> + <tr><td>AJP13 (Protocole Apache JServe version + 1.3)</td><td><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></td></tr> + <tr><td>CONNECT (pour + SSL)</td><td><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></td></tr> + <tr><td>FastCGI</td><td><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></td></tr> + <tr><td>ftp</td><td><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></td></tr> + <tr><td>HTTP/0.9, HTTP/1.0, et + HTTP/1.1</td><td><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></td></tr> + <tr><td>HTTP/2.0</td><td><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code></td></tr> + <tr><td>SCGI</td><td><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></td></tr> + <tr><td>UWSGI</td><td><code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code></td></tr> + <tr><td>WS and WSS (Web-sockets)</td><td><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></td></tr> + </table> + </li> + </ul> + + <p>En outre, d'autres modules fournissent des fonctionnalités + étendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associés + fournissent la mise en cache. Les directives <code>SSLProxy*</code> + du module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> permettent de contacter des + serveurs distants en utilisant le protocole SSL/TLS. Ces modules + additionnels devront être chargés et configurés pour pouvoir + disposer de ces fonctionnalités.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Mandataires directs et + mandataires/passerelles inverses</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples simples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#handler">Accès via un gestionnaire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#workers">Workers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#access">Contrôler l'accès à votre + mandataire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startup">Ralentissement au démarrage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#intranet">Mandataire en Intranet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Ajustements relatifs au + protocole</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Corps de requêtes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">En-têtes de requête du mandataire + inverse</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxy"><Proxy></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxy100continue">Proxy100Continue</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch"><ProxyMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li> +<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="forwardreverse" id="forwardreverse">Mandataires directs et + mandataires/passerelles inverses</a></h2> + <p>Le serveur HTTP Apache peut être configuré dans les deux modes mandataire + <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nommé + mode <dfn>passerelle</dfn>).</p> + + <p>Un <dfn>mandataire direct</dfn> standard est un serveur + intermédiaire qui s'intercale entre le client et le <em>serveur + demandé</em>. Pour obtenir un contenu hébergé par + le serveur demandé, le client envoie une requête au + mandataire en nommant le serveur demandé comme + cible. Le mandataire extrait alors le contenu depuis le + serveur demandé et le renvoie enfin au client. Le client doit être + configuré de manière appropriée pour pouvoir utiliser le mandataire + direct afin d'accéder à d'autres sites.</p> + + <p>L'accès à Internet depuis des clients situés derrière un + pare-feu est une utilisation typique du mandataire direct. Le + mandataire direct peut aussi utiliser la mise en cache (fournie + par <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) pour réduire la charge du + réseau.</p> + + <p>La fonctionnalité de mandataire direct est activée via la + directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code>. + Comme les mandataires directs permettent aux clients d'accéder à + des sites quelconques via votre serveur et de dissimuler leur + véritable origine, il est indispensable de <a href="#access">sécuriser votre serveur</a> de façon à ce que seuls + les clients autorisés puissent accéder à votre serveur avant + d'activer la fonctionnalité de mandataire direct.</p> + + <p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>), + quant à lui, apparaît au client comme un serveur web standard. + Aucune configuration particulière du client n'est nécessaire. Le + client adresse ses demandes de contenus ordinaires dans l'espace + de nommage du mandataire inverse. Ce dernier décide alors où + envoyer ces requêtes, et renvoie le contenu au client comme s'il + l'hébergeait lui-même.</p> + + <p>L'accès d'utilisateurs depuis Internet vers un serveur situé + derrière un pare-feu est une utilisation typique du mandataire + inverse. On peut aussi utiliser les mandataires inverses pour + mettre en oeuvre une répartition de charge entre plusieurs + serveurs en arrière-plan, ou fournir un cache pour un serveur + d'arrière-plan plus lent. Les mandataires inverses peuvent aussi + tout simplement servir à rassembler plusieurs serveurs dans le + même espace de nommage d'URLs.</p> + + <p>La fonctionnalité de mandataire inverse est activée via la + directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou + le drapeau <code>[P]</code> de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Il n'est + <strong>pas</strong> nécessaire de définir <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> pour configurer + un mandataire inverse.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples simples</a></h2> + + <p>Les exemples ci-dessous illustrent de manière très basique la + mise en oeuvre de la fonctionnalité de mandataire et ne sont là que + pour vous aider à démarrer. Reportez-vous à la documentation de + chaque directive.</p> + + <p>Si en outre, vous désirez activer la mise en cache, consultez la + documentation de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p> + + <div class="example"><h3>Mandataire inverse</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar" +ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre> +</div> + + <div class="example"><h3>Mandataire direct</h3><pre class="prettyprint lang-config">ProxyRequests On +ProxyVia On + +<Proxy "*"> + Require host internal.example.com +</Proxy></pre> +</div> + <div class="example"><h3><a id="wsupgrade" name="wsupgrade">Promotion de protocole + vers Websocket (versions 2.4.47 et ultérieures)</a></h3><pre class="prettyprint lang-config">ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket</pre> +</div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="handler" id="handler">Accès via un gestionnaire</a></h2> + + <p>Vous pouvez aussi forcer le traitement d'une requête en tant que + requête de mandataire inverse en créant un gestionnaire de transfert + approprié. Dans l'exemple suivant, toutes les requêtes pour + des scripts PHP seront transmises au serveur FastCGI + spécifié via un mandat inverse : + </p> + + <div class="example"><h3>Scripts PHP et mandataire inverse</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$"> + # Les sockets Unix nécessitent une version 2.4.7 ou supérieure du + # serveur HTTP Apache + SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" +</FilesMatch></pre> +</div> + + <p>Cette fonctionnalité est disponible à partir de la version + 2.4.10 du serveur HTTP Apache.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="workers" id="workers">Workers</a></h2> + <p>Le mandataire gère la configuration et les paramètres de + communication des serveurs originaux au sein d'objets nommés + <dfn>workers</dfn>. Deux types de worker sont fournis : le worker + par défaut du mandataire direct et le worker par défaut du + mandataire inverse. Il est aussi possible de définir explicitement + des workers supplémentaires.</p> + + <p>Les deux workers par défaut possèdent une configuration figée + et seront utilisés si aucun autre worker ne correspond à la + requête. Ils ne réutilisent pas les connexions et n'utilisent pas les + connexions HTTP persistantes (Keep-Alive). En effet, les + connexions TCP vers le serveur original sont fermées et ouvertes + pour chaque requête.</p> + + <p>Les workers définis explicitement sont identifiés par leur URL. + Ils sont en général définis via les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> lorsqu'on les + utilise dans le cadre d'un mandataire inverse :</p> + + <div class="example"><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre> +</div> + + + <p>Cette directive va créer un worker associé à l'URL du serveur + original <code>http://backend.example.com</code> qui utilisera les + valeurs de timeout données. Lorsqu'ils sont utilisés dans le cadre + d'un mandataire direct, les workers sont en général définis via la + directive <code class="directive"><a href="#proxyset">ProxySet</a></code>,</p> + + <div class="example"><pre class="prettyprint lang-config">ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30</pre> +</div> + + + <p>ou encore via les directives <code class="directive"><a href="#proxy">Proxy</a></code> et <code class="directive"><a href="#proxyset">ProxySet</a></code> :</p> + + <pre class="prettyprint lang-config"><Proxy "http://backend.example.com"> + ProxySet connectiontimeout=5 timeout=30 +</Proxy></pre> + + + <p>L'utilisation de workers définis explicitement dans le mode + mandataire direct n'est pas très courante, car les mandataires + directs communiquent en général avec de nombreux serveurs + originaux. La création explicite de workers pour certains serveurs + originaux peut cependant s'avérer utile si ces serveurs sont + très souvent sollicités. A leur niveau, les workers explicitement + définis ne possèdent aucune notion de mandataire direct ou + inverse. Ils encapsulent un concept de communication commun avec + les serveurs originaux. Un worker créé via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour être utilisé dans le + cadre d'un mandataire inverse sera aussi utilisé dans le cadre + d'un mandataire directe chaque fois que l'URL vers le serveur + original correspondra à l'URL du worker, et vice versa.</p> + + <p>L'URL qui identifie un worker correspond à l'URL de son serveur + original, y compris un éventuel chemin donné :</p> + + <pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples" +ProxyPass "/docs" "http://backend.example.com/docs"</pre> + + + <p>Dans cet exemple, deux workers différents sont définis, chacun + d'eux utilisant des configurations et jeux de connexions + séparés.</p> + + <div class="warning"><h3>Partage de workers</h3> + <p>Le partage de workers intervient lorsque les URLs des workers + s'entrecoupent, ce qui arrive lorsque l'URL d'un worker + correspond au début de l'URL d'un autre worker défini plus loin + dans le fichier de configuration. Dans l'exemple suivant,</p> + + <pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60 +ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre> + + + <p>le second worker n'est pas vraiment créé. C'est le premier + worker qui est en fait utilisé. L'avantage de ceci réside dans + le fait qu'il n'existe qu'un seul jeu de connexions, ces + dernières étant donc réutilisées plus souvent. Notez que tous + les attributs de configuration définis explicitement pour le + deuxième worker seront ignorés, ce qui sera journalisé en tant + qu'avertissement. Ainsi, dans l'exemple ci-dessus, la valeur de + timeout retenue pour l'URL <code>/exemples</code> sera + <code>60</code>, et non <code>10</code> !</p> + + <p>Si vous voulez empêcher le partage de workers, classez vos + définitions de workers selon la longueur des URLs, de la plus + longue à la plus courte. Si au contraire vous voulez favoriser + ce partage, utilisez l'ordre de classement inverse. Voir aussi + l'avertissement à propos de l'ordre de classement des directives + <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p> + + </div> + + <p>Les workers définis explicitement sont de deux sortes : + <dfn>workers directs</dfn> et <dfn>workers de répartition (de + charge)</dfn>. Ils supportent de nombreux attributs de + configuration importants décrits dans la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Ces mêmes attributs + peuvent aussi être définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p> + + <p>Le jeu d'options disponibles pour un worker direct dépend du + protocole spécifié dans l'URL du serveur original. Les protocoles + disponibles comprennent <code>ajp</code>, <code>fcgi</code>, + <code>ftp</code>, <code>http</code> et <code>scgi</code>.</p> + + <p>Les workers de répartition sont des workers virtuels qui + utilisent les workers directs, connus comme faisant partie de leurs + membres, pour le traitement effectif des requêtes. Chaque + répartiteur peut comporter plusieurs membres. Lorsqu'il traite une + requête, il choisit un de ses membres en fonction de l'algorithme + de répartition de charge défini.</p> + + <p>Un worker de répartition est créé si son URL de worker comporte + <code>balancer</code> comme indicateur de protocole. L'URL du + répartiteur permet d'identifier de manière unique le worker de + répartition. La directive <code class="directive"><a href="#balancermember">BalancerMember</a></code> permet d'ajouter des + membres au répartiteur.</p> + + <div class="note"><h3>Résolution DNS pour les domaines originaux</h3> + <p>La résolution DNS s'effectue lorsque le socket vers le + domaine original est créé pour la première fois. Lorsque la réutilisation + des connexions est activée, chaque domaine d'arrière-plan n'est résolu qu'une + seule fois pour chaque processus enfant, et cette résolution est mise en + cache pour toutes les connexions ultérieures jusqu'à ce que le processus enfant + soit recyclé. Ce comportement doit être pris en considération lorsqu'on + planifie des tâches de maintenance du DNS impactant les domaines + d'arrière-plan. Veuillez aussi vous reporter aux paramètres de la + directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour plus de + détails à propos de la réutilisation des connexions.</p> + </div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="access" id="access">Contrôler l'accès à votre + mandataire</a></h2> + <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc + de contrôle <code class="directive"><a href="#proxy"><Proxy></a></code> comme dans + l'exemple suivant :</p> + + <pre class="prettyprint lang-config"><Proxy "*"> + Require ip 192.168.0 +</Proxy></pre> + + + <p>Pour plus de détails sur les directives de contrôle d'accès, + voir la documentation du module + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p> + + <p>Restreindre l'accès de manière stricte est essentiel si vous + mettez en oeuvre un mandataire direct (en définissant la directive + <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à "on"). + Dans le cas contraire, votre serveur pourrait être utilisé par + n'importe quel client pour accéder à des serveurs quelconques, + tout en masquant sa véritable identité. Ceci représente un danger + non seulement pour votre réseau, mais aussi pour l'Internet au + sens large. Dans le cas de la mise en oeuvre d'un mandataire + inverse (en utilisant la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> avec <code>ProxyRequests Off</code>), le contrôle + d'accès est moins critique car les clients ne peuvent contacter + que les serveurs que vous avez spécifiés.</p> + + <p><strong>Voir aussi</strong> la variable d'environnement <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="startup" id="startup">Ralentissement au démarrage</a></h2> + <p>Si vous utilisez la directive <code class="directive"><a href="#proxyblock">ProxyBlock</a></code>, les noms d'hôtes sont résolus en adresses + IP puis ces dernières mises en cache au cours du démarrage + à des fins de tests de comparaisons ultérieurs. Ce processus peut + durer plusieurs secondes (ou d'avantage) en fonction de la vitesse + à laquelle s'effectue la résolution des noms d'hôtes.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intranet" id="intranet">Mandataire en Intranet</a></h2> + <p>Un serveur mandataire Apache httpd situé à l'intérieur d'un Intranet + doit faire suivre les requêtes destinées à un serveur externe à + travers le pare-feu de l'entreprise (pour ce faire, définissez la + directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> de + façon à ce qu'elle fasse suivre le <var>protocole</var> concerné + vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder + à des ressources situées dans l'Intranet, il peut se passer du + pare-feu pour accéder aux serveurs. A cet effet, la directive + <code class="directive"><a href="#noproxy">NoProxy</a></code> permet de + spécifier quels hôtes appartiennent à l'Intranet et peuvent donc + être accédés directement.</p> + + <p>Les utilisateurs d'un Intranet ont tendance à oublier le nom du + domaine local dans leurs requêtes WWW, et demandent par exemple + "http://un-serveur/" au lieu de + <code>http://un-serveur.example.com/</code>. Certains serveurs + mandataires commerciaux acceptent ce genre de requête et les + traitent simplement en utilisant un nom de domaine local + implicite. Lorsque la directive <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> est utilisée et si le + serveur est <a href="#proxyrequests">configuré comme + mandataire</a>, Apache httpd peut renvoyer une réponse de redirection et + ainsi fournir au client l'adresse de serveur correcte, + entièrement qualifiée. C'est la méthode à privilégier car le + fichier des marque-pages de l'utilisateur contiendra alors des + noms de serveurs entièrement qualifiés.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="envsettings" id="envsettings">Ajustements relatifs au + protocole</a></h2> + <p>Pour les cas où <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requêtes + vers un serveur qui n'implémente pas correctement les connexions + persistantes ou le protocole HTTP/1.1, il existe deux variables + d'environnement qui permettent de forcer les requêtes à utiliser + le protocole HTTP/1.0 avec connexions non persistantes. Elles + peuvent être définies via la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>.</p> + + <p>Il s'agit des variables <code>force-proxy-request-1.0</code> et + <code>proxy-nokeepalive</code>.</p> + + <pre class="prettyprint lang-config"><Location "/buggyappserver/"> + ProxyPass "http://buggyappserver:7001/foo/" + SetEnv force-proxy-request-1.0 1 + SetEnv proxy-nokeepalive 1 +</Location></pre> + + + <p>A partir de la version 2.4.26 du serveur HTTP Apache, la définition de + la variable d'environnement "no-proxy" permet de désactiver + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> dans le traitement de la requête courante. + Cette variable doit être définie via la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée assez tôt.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="request-bodies" id="request-bodies">Corps de requêtes</a></h2> + + <p>Certaines méthodes de requêtes comme POST comportent un corps de + requête. Le protocole HTTP stipule que les requêtes qui comportent + un corps doivent soit utiliser un codage de transmission + fractionnée (chunked transfer encoding), soit envoyer un en-tête de requête + <code>Content-Length</code>. Lorsqu'il fait suivre ce genre de + requête vers le serveur demandé, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + s'efforce toujours d'envoyer l'en-tête <code>Content-Length</code>. + Par contre, si la taille du corps est importante, et si la requête + originale utilise un codage à fractionnement, ce dernier peut aussi + être utilisé dans la requête montante. Ce comportement peut être + contrôlé à l'aide de <a href="../env.html">variables + d'environnement</a>. Ainsi, si elle est définie, la variable + <code>proxy-sendcl</code> assure une compatibilité maximale avec les + serveurs demandés en imposant l'envoi de l'en-tête + <code>Content-Length</code>, alors que + <code>proxy-sendchunked</code> diminue la consommation de ressources + en imposant l'utilisation d'un codage à fractionnement.</p> + + <p>Dans certaines circonstances, le serveur doit mettre en file + d'attente sur disque les corps de requêtes afin de satisfaire le + traitement demandé des corps de requêtes. Par exemple, cette mise en + file d'attente se produira si le corps original a été envoyé selon un + codage morcelé (et possède une taille importante), alors que + l'administrateur a demandé que les requêtes du serveur + d'arrière-plan soient envoyées avec l'en-tête Content-Length ou en + HTTP/1.0. Cette mise en file d'attente se produira aussi si le corps + de la requête contient déjà un en-tête Content-Length, alors que le + serveur est configuré pour filtrer les corps des requêtes entrantes.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="x-headers" id="x-headers">En-têtes de requête du mandataire + inverse</a></h2> + + <p>Lorsqu'il est configuré en mode mandataire inverse (en utilisant + par exemple la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>), + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ajoute plusieurs en-têtes de requête + afin de transmettre des informations au serveur demandé. Ces + en-têtes sont les suivants :</p> + + <dl> + <dt><code>X-Forwarded-For</code></dt> + <dd>L'adresse IP du client.</dd> + <dt><code>X-Forwarded-Host</code></dt> + <dd>L'hôte d'origine demandé par le client dans l'en-tête de + requête HTTP <code>Host</code>.</dd> + <dt><code>X-Forwarded-Server</code></dt> + <dd>Le nom d'hôte du serveur mandataire.</dd> + </dl> + + <p>Ces en-têtes doivent être utilisés avec précautions sur le + serveur demandé, car ils contiendront plus d'une valeur (séparées + par des virgules) si la requête originale contenait déjà un de ces + en-têtes. Par exemple, vous pouvez utiliser + <code>%{X-Forwarded-For}i</code> dans la chaîne de format du journal + du serveur demandé pour enregistrer les adresses IP des clients + originaux, mais il est possible que vous obteniez plusieurs adresses + si la requête passe à travers plusieurs mandataires.</p> + + <p>Voir aussi les directives <code class="directive"><a href="#proxypreservehost">ProxyPreserveHost</a></code> et <code class="directive"><a href="#proxyvia">ProxyVia</a></code> directives, qui permettent + de contrôler d'autres en-têtes de requête.</p> + + <p>Note : Si vous devez ajouter des en-têtes particuliers à la + requête mandatée, utilisez la directive <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>.</p> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="balancergrowth" id="balancergrowth">Directive</a> <a name="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de membres supplémentaires pouvant être ajoutés +après la configuration initiale</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerGrowth 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerGrowth est disponible depuis la version 2.3.13 du +serveur HTTP Apache</td></tr> +</table> + <p>Cette directive permet de définir le nombre de membres pouvant + être ajoutés au groupe de répartition de charge préconfiguré d'un + serveur virtuel. Elle n'est active que si le groupe a été + préconfiguré avec un membre au minimum.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="balancerinherit" id="balancerinherit">Directive</a> <a name="BalancerInherit" id="BalancerInherit">BalancerInherit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des membres du groupes de répartition de + charge du mandataire définis au niveau du serveur principal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerInherit On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerInherit On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur + HTTP Apache.</td></tr> +</table> + <p>Cette directive permet d'attribuer au serveur virtuel courant + l'héritage des membres de groupes de répartition de charge + définis au niveau du serveur + principal. Elle ne doit pas être activée si vous + utilisez la fonctionnalité de modifications dynamiques du + gestionnaire de répartition de charge (Balancer Manager) pour + éviter des problèmes et des comportements inattendus.</p> + <p>Les définitions au niveau du serveur principal constituent + les définitions par défaut au niveau des serveurs virtuels.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="balancermember" id="balancermember">Directive</a> <a name="BalancerMember" id="BalancerMember">BalancerMember</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre à un groupe de répartition de +charge</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 du serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive permet d'ajouter un membre à un groupe de + répartition de charge. Elle peut se trouver dans un conteneur + <code><Proxy <var>balancer://</var>...></code>, et accepte + tous les paramètres de paires clé/valeur que supporte la directive + <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p> + <p>La directive <code class="directive">BalancerMember</code> accepte un paramètre + supplémentaire : <var>loadfactor</var>. Il s'agit du facteur de + charge du membre - un nombre décimal entre 1.0 (valeur par défaut) et 100.0, qui + définit la charge à appliquer au membre en question.</p> + <p>L'argument <var>balancerurl</var> n'est requis que s'il ne se trouve pas + dèjà dans la directive de conteneur <code><Proxy + <var>balancer://</var>...></code>. Il correspond à l'URL d'un + répartiteur de charge défini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p> + <p>La partie chemin de l'URL du répartiteur dans toute directive de + conteneur <code><Proxy <var>balancer://</var>...></code> est + ignorée.</p> + <p>En particulier, le slash de fin de l'URL d'un + <code class="directive">BalancerMember</code> doit être supprimé.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="balancerpersist" id="balancerpersist">Directive</a> <a name="BalancerPersist" id="BalancerPersist">BalancerPersist</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de conserver les changements effectués par le + gestionnaire de répartition de charge après un redémarrage du + serveur.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerPersist On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerPersist Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerPersist n'est disponible qu'à partir de la + version 2.4.4 du serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive permet de conserver le contenu de l'espace + mémoire partagé associé aux répartiteurs de charge et à leurs + membres après un redémarrage du serveur. Ces modifications + locales ne sont ainsi pas perdues lors des transitions d'état + dues à un redémarrage.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="noproxy" id="noproxy">Directive</a> <a name="NoProxy" id="NoProxy">NoProxy</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou réseaux auquels on se connectera +directement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NoProxy <var>domaine</var> [<var>domaine</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive n'a d'utilité que pour les serveurs mandataires + Apache httpd au sein d'Intranets. La directive + <code class="directive">NoProxy</code> permet de spécifier une liste de + sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés + par des espaces. Une requête pour un serveur qui correspond à un ou + plusieurs critères sera toujours servie par ce serveur directement, + sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par + la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81" +NoProxy ".example.com" "192.168.112.0/21"</pre> +</div> + + <p>Le type des arguments <var>serveur</var> de la directive + <code class="directive">NoProxy</code> appartiennent à la liste suivante + :</p> + + <dl> + + <dt><var><a name="domain" id="domain">Domaine</a></var></dt> + <dd> + <p>Un <dfn>domaine</dfn> est ici un nom de domaine DNS partiellement + qualifié précédé d'un point. Il représente une liste de serveurs qui + appartiennent logiquement au même domaine ou à la même zonz DNS + (en d'autres termes, les nom des serveurs se terminent tous par + <var>domaine</var>).</p> + + <div class="example"><h3>Exemple</h3><p><code> + .com .example.org. + </code></p></div> + + <p>Pour faire la distinction entre <var>domaine</var>s et <var><a href="#hostname">nom d'hôte</a></var>s (des points de vue à la fois + syntaxique et + sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS + de type A !), les <var>domaine</var>s sont toujours spécifiés en les + préfixant par un point.</p> + + <div class="note"><h3>Note</h3> + <p>Les comparaisons de noms de domaines s'effectuent sans tenir + compte de la casse, et les parties droites des <var>Domaine</var>s + sont toujours censées correspondre à la racine de l'arborescence + DNS, si bien que les domaines <code>.ExEmple.com</code> et + <code>.exemple.com.</code> (notez le point à la fin du nom) sont + considérés comme identiques. Comme une comparaison de domaines ne + nécessite pas de recherche DNS, elle est beaucoup plus efficace + qu'une comparaison de sous-réseaux.</p> + </div></dd> + + + <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt> + <dd> + <p>Un <dfn>Sous-réseau</dfn> est une adresse internet partiellement + qualifiée sous forme numérique (quatre nombres séparés par des + points), optionnellement suivie d'un slash et du masque de + sous-réseau spécifiant le nombre de bits significatifs dans le + <var>Sous-réseau</var>. Il représente un sous-réseau de serveurs qui + peuvent être atteints depuis la même interface réseau. En l'absence + de masque de sous-réseau explicite, il est sous-entendu que les + digits manquants (ou caractères 0) de fin spécifient le masque de + sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être + qu'un multiple de 8). Voici quelques exemples :</p> + + <dl> + <dt><code>192.168</code> ou <code>192.168.0.0</code></dt> + <dd>le sous-réseau 192.168.0.0 avec un masque de sous-réseau + implicite de 16 bits significatifs (parfois exprimé sous la forme + <code>255.255.0.0</code>)</dd> + <dt><code>192.168.112.0/21</code></dt> + <dd>le sous-réseau <code>192.168.112.0/21</code> avec un masque de + sous-réseau implicite de 21 bits significatifs (parfois exprimé + sous la forme<code>255.255.248.0</code>)</dd> + </dl> + + <p>Comme cas extrêmes, un <em>Sous-réseau</em> avec un masque de + sous-réseau de 32 bits significatifs est équivalent à une <var><a href="#ipaddr">adresse IP</a></var>, alors qu'un <em>Sous-réseau</em> avec un masque de + sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est + identique à la constante <var>_Default_</var>, et peut correspondre + à toute adresse IP.</p></dd> + + + <dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt> + <dd> + <p>Une <dfn>Adresse IP</dfn> est une adresse internet pleinement + qualifiée sous forme numérique (quatre nombres séparés par des + points). En général, cette adresse représente un serveur, mais elle + ne doit pas nécessairement correspondre à un nom de domaine DNS.</p> + <div class="example"><h3>Exemple</h3><p><code> + 192.168.123.7 + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>Une <dfn>Adresse IP</dfn> ne nécessite pas de résolution DNS, + et peut ainsi s'avérer plus efficace quant aux performances + d'Apache.</p> + </div></dd> + + + <dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt> + <dd> + <p>Un <dfn>Nom de serveur</dfn> est un nom de domaine DNS pleinement + qualifié qui peut être résolu en une ou plusieurs adresses IP par le + service de noms de domaines DNS. Il représente un hôte logique (par + opposition aux <var><a href="#domain">Domaine</a></var>s, voir + ci-dessus), et doit pouvoir être résolu en une ou plusieurs <var><a href="#ipaddr">adresses IP</a></var> (ou souvent en une liste + d'hôtes avec différentes <var><a href="#ipaddr">adresses + IP</a></var>).</p> + + <div class="example"><h3>Exemples</h3><p><code> + prep.ai.example.edu<br /> + www.example.org + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>Dans de nombreuses situations, il est plus efficace de + spécifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un + <var>Nom de serveur</var> car cela évite d'avoir à effectuer une + recherche DNS. La résolution de nom dans Apache httpd peut prendre un + temps très long lorsque la connexion avec le serveur de noms + utilise une liaison PPP lente.</p> + <p>Les comparaisons de <var>Nom de serveur</var> s'effectuent sans tenir + compte de la casse, et les parties droites des <var>Noms de serveur</var> + sont toujours censées correspondre à la racine de l'arborescence + DNS, si bien que les domaines <code>WWW.ExEmple.com</code> et + <code>www.example.com.</code> (notez le point à la fin du nom) sont + considérés comme identiques.</p> + </div></dd> + </dl> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../dns-caveats.html">Problèmes liés au DNS</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxy" id="proxy">Directive</a> <a name="Proxy" id="Proxy"><Proxy></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources +mandatées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Proxy <var>url-avec-jokers</var>> ...</Proxy></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Les directives situées dans une section <code class="directive"><Proxy></code> ne s'appliquent qu'au contenu + mandaté concerné. Les jokers de style shell sont autorisés.</p> + + <p>Par exemple, les lignes suivantes n'autoriseront à accéder à un + contenu via votre serveur mandataire que les hôtes appartenant à + <code>votre-reseau.example.com</code> :</p> + + <pre class="prettyprint lang-config"><Proxy "*"> + Require host votre-reseau.example.com +</Proxy></pre> + + + <p>Dans l'exemple suivant, tous les fichiers du répertoire + <code>foo</code> de <code>example.com</code> seront traités par le + filtre <code>INCLUDES</code> lorsqu'ils seront envoyés par + l'intermédiaire du serveur mandataire :</p> + + <pre class="prettyprint lang-config"><Proxy "http://example.com/foo/*"> + SetOutputFilter INCLUDES +</Proxy></pre> + + + <div class="note"><h3>Différences avec la section de configuration Location</h3> + <p>Une URL d'arrière-plan sera concernée par le conteneur Proxy si + elle commence par la <var>url-avec-jokers</var>, même si le + dernier segment de chemin de la directive ne correspond qu'à un + préfixe de segment dee chemin de l'URL d'arrière-plan. Par exemple, <Proxy + "http://example.com/foo"> correspondra entre autres aux URLs + http://example.com/foo, http://example.com/foo/bar, et + http://example.com/foobar. La correspondance de l'URL finale + diffère du comportement de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> qui, pour le cas de cette note, + traitera le segment de chemin final comme s'il se terminait par un + slash.</p> + <p>Pour un contrôle plus fin de la correspondance des URL, voir la + directive <code class="directive"><ProxyMatch></code>.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#proxymatch"><ProxyMatch></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxy100continue" id="proxy100continue">Directive</a> <a name="Proxy100Continue" id="Proxy100Continue">Proxy100Continue</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmission du message "100-continue" au serveur d'origine</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Proxy100Continue Off|On</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Proxy100Continue On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.40 du serveur HTTP Apache</td></tr> +</table> + <p>Cette directive permet de contrôler le transfert par le mandataire du + message "100-continue" (<em>Expect:</em>ation) vers le serveur d'origine. Si + elle est définie à "On", le serveur d'origine décidera lui-même si le corps + de la requête HTTP doit être lu. Si elle est définie à "Off", le mandataire + générera lui-même une réponse intermédiaire <em>100 Continue</em> avant de + transférer le corps de la requête.</p> + <div class="note"><h3>Contexte d'utilisation</h3> + <p>Cette option n'est utilisable qu'avec les mandataires HTTP gérés par + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyaddheaders" id="proxyaddheaders">Directive</a> <a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des informations à propos du mandataire aux +en-têtes X-Forwarded-*</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyAddHeaders On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.10</td></tr> +</table> + <p>Cette directive permet de passer au serveur d'arrière-plan des + informations à propos du mandataire via les en-têtes HTTP + X-Forwarded-For, X-Forwarded-Host et X-Forwarded-Server.</p> + <div class="note"><h3>Utilité</h3> + <p>Cette option n'est utile que dans le cas du mandat HTTP traité + par <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxybadheader" id="proxybadheader">Directive</a> <a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière de traiter les lignes d'en-tête +incorrectes d'une réponse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBadHeader IsError</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>La directive <code class="directive">ProxyBadHeader</code> permet de + déterminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il + reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est + à dire ne contenant pas de caractère ':') en provenance du serveur + original. Les arguments disponibles sont :</p> + + <dl> + <dt><code>IsError</code></dt> + <dd>Annule la requête et renvoie une réponse de code 502 (mauvaise + passerelle). C'est le comportement par défaut.</dd> + + <dt><code>Ignore</code></dt> + <dd>Traite les lignes d'en-tête incorrectes comme si elles n'avaient + pas été envoyées.</dd> + + <dt><code>StartBody</code></dt> + <dd>A la réception de la première ligne d'en-tête incorrecte, les + autres en-têtes sont lus et ce qui reste est traité en tant que + corps. Ceci facilite la prise en compte des serveurs d'arrière-plan + bogués qui oublient d'insérer une ligne vide entre les + en-têtes et le corps.</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyblock" id="proxyblock">Directive</a> <a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Termes, serveurs ou domaines bloqués par le +mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBlock *|<var>terme</var>|<var>serveur</var>|<var>domaine</var> +[<var>terme</var>|<var>serveur</var>|<var>domaine</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>La directive <code class="directive">ProxyBlock</code> permet de + spécifier une liste de termes, serveurs et/ou domaines, séparés par + des espaces. Les requêtes de documents HTTP, HTTPS, FTP vers des + sites dont les noms contiennent des termes, noms de serveur ou + domaine correspondants seront <em>bloqués</em> par le serveur + mandataire. La module proxy va aussi tenter de déterminer les + adresses IP des éléments de la liste qui peuvent correspondre à des + noms d'hôtes au cours du démarrage, et les mettra en cache à des + fins de comparaisons ultérieures. Ceci peut ralentir le démarrage du + serveur.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"</pre> +</div> + + <p>Notez qu'<code>example</code> suffirait aussi pour atteindre + ces sites.</p> + + <p>Hosts conviendrait aussi s'il était référencé par adresse IP.</p> + + <p>Notez aussi que</p> + + <pre class="prettyprint lang-config">ProxyBlock "*"</pre> + + + <p>bloque les connexions vers tous les sites.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxydomain" id="proxydomain">Directive</a> <a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par défaut pour les requêtes +mandatées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyDomain <var>Domaine</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive n'a d'utilité que pour les serveurs mandataires + Apache httpd au sein d'un Intranet. La directive + <code class="directive">ProxyDomain</code> permet de spécifier le domaine + par défaut auquel le serveur mandataire apache appartient. Si le + serveur reçoit une requête pour un hôte sans nom de domaine, il va + générer une réponse de redirection vers le même hôte suffixé par le + <var>Domaine</var> spécifié.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81" +NoProxy ".example.com" "192.168.112.0/21" +ProxyDomain ".example.com"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyerroroverride" id="proxyerroroverride">Directive</a> <a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Outrepasser les pages d'erreur pour les contenus +mandatés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride Off|On [<var>code</var> ...]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La liste de codes d'états a été ajoutée à partir de la version +2.4.47 du serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive est utile pour les configurations de mandataires + inverses, lorsque vous souhaitez que les pages d'erreur envoyées + aux utilisateurs finaux présentent un aspect homogène. Elle permet + aussi l'inclusion de fichiers (via les SSI de + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>) pour obtenir le code d'erreur et agir + en conséquence (le comportement par défaut afficherait la page + d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI + qui sera affiché si cette directive est à "on").</p> + + <p>Cette directive n'affecte pas le traitement des réponses + informatives (1xx), de type succès normal (2xx), ou de redirection + (3xx).</p> + + <p>Par défaut, <code class="directive">ProxyErrorOverride</code> affecte toutes les + réponses avec un code compris entre 400 inclus et 600 exclus.</p> + + <div class="example"><h3>Exemple de configuration par défaut</h3><pre class="prettyprint lang-config">ProxyErrorOverride On</pre> +</div> + + <p>Pour n'affecter que les réponses possèdant certains codes d'état + particuliers, vous pouvez spécifier ces derniers sous la forme d'une liste + en les séparant par des espaces. Les réponses dont le code d'état ne fait + pas partie de la liste ne seront pas affectées. Vous ne pouvez spécifier que + des codes d'erreurs, donc compris entre 400 inclus et 600 exclus.</p> + + <div class="example"><h3>Exemple de configuration personnalisée</h3><pre class="prettyprint lang-config">ProxyErrorOverride On 403 405 500 501 502 503 504</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyiobuffersize" id="proxyiobuffersize">Directive</a> <a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la taille du tampon interne de transfert de +données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyIOBufferSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>La directive <code class="directive">ProxyIOBufferSize</code> permet + d'ajuster la taille du tampon interne utilisé comme bloc-note pour + les transferts de données entre entrée et sortie. La taille minimale + est de <code>512</code> octets.</p> + + <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette + valeur.</p> + + <p>Si elle est utilisée avec AJP, cette directive permet de définir + la taille maximale du paquet AJP en octets. Si la valeur spécifiée + est supérieure à 65536, elle est corrigée et prend la valeur 65536. + Si vous ne conservez pas + la valeur par défaut, vous devez aussi modifier l'attribut + <code>packetSize</code> de votre connecteur AJP du côté de Tomcat ! + L'attribut <code>packetSize</code> n'est disponible que dans Tomcat + <code>5.5.20+</code> et <code>6.0.2+</code>.</p> + <p>Il n'est normalement pas nécessaire de modifier la taille + maximale du paquet. Des problèmes ont cependant été rapportés avec + la valeur par défaut lors de l'envoi de certificats ou de chaînes de + certificats.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxymatch" id="proxymatch">Directive</a> <a name="ProxyMatch" id="ProxyMatch"><ProxyMatch></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources +mandatées correspondant à une expression rationnelle</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><ProxyMatch <var>regex</var>> ...</ProxyMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>La directive <code class="directive"><ProxyMatch></code> est + identique à la directive <code class="directive"><a href="#proxy"><Proxy></a></code>, à l'exception qu'elle définit + les URLs auxquelles elle s'applique en utilisant une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p> + + <p>A partir de la version 2.4.8, les groupes nommés et les + références arrières sont extraits et enregistrés dans + l'environnement avec leur nom en majuscules et préfixé par "MATCH_". Ceci permet + de référencer des URLs dans des <a href="../expr.html">expressions</a> + ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour + éviter toute confusion, les références arrières numérotées (non + nommées) sont ignorées. Vous devez utiliser à la place des groupes + nommés.</p> + +<pre class="prettyprint lang-config"><ProxyMatch "^http://(?<sitename>[^/]+)"> + Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example +</ProxyMatch></pre> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#proxy"><Proxy></a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxymaxforwards" id="proxymaxforwards">Directive</a> <a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de mandataires à travers lesquelles une +requête peut être redirigée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyMaxForwards <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyMaxForwards -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Comportement par défaut +modifié dans 2.2.7</td></tr> +</table> + <p>La directive <code class="directive">ProxyMaxForwards</code> permet de + spécifier le nombre maximum de mandataires à travers lesquels une + requête peut passer dans le cas où la la requête ne contient pas + d'en-tête <code>Max-Forwards</code>. Ceci permet de se prémunir + contre les boucles infinies de mandataires ou contre les attaques de + type déni de service.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyMaxForwards 15</pre> +</div> + + <p>Notez que la définition de la directive + <code class="directive">ProxyMaxForwards</code> constitue une violation du + protocole HTTP/1.1 (RFC2616), qui interdit à un mandataire de + définir <code>Max-Forwards</code> si le client ne l'a pas fait + lui-même. Les versions précédentes d'Apache httpd la définissaient + systématiquement. Une valeur négative de + <code class="directive">ProxyMaxForwards</code>, y compris la valeur par + défaut -1, implique un comportement compatible avec le protocole, + mais vous expose aux bouclages infinis.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypass" id="proxypass">Directive</a> <a name="ProxyPass" id="ProxyPass">ProxyPass</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Référencer des serveurs distants depuis +l'espace d'URLs du serveur local</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var> + <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les sockets de style Unix (Unix Domain Socket - UDS) +sont supportés à partir de la version 2.4.7 du serveur HTTP Apache</td></tr> +</table> + <p>Cette directive permet de référencer des serveurs distants depuis + l'espace d'URLs du serveur local. Le serveur + local n'agit pas en tant que mandataire au sens conventionnel, mais + plutôt comme miroir du serveur distant. Le serveur local est + souvent nommé <dfn>mandataire inverse</dfn> ou + <dfn>passerelle</dfn>. L'argument <var>chemin</var> est le nom d'un + chemin virtuel local ; <var>url</var> est une URL partielle pour le + serveur distant et ne doit pas contenir de chaîne d'arguments.</p> + + <div class="note">Il est fortement recommandé de revoir le concept de <a href="#workers">Worker</a> avant d'aller plus loin.</div> + + <div class="note">Cette directive n'est pas supportée au sein des sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#if"><If></a></code> et <code class="directive"><a href="../mod/core.html#files"><Files></a></code>.</div> + + <div class="warning">En général, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit être définie à + <strong>off</strong> lorsqu'on utilise la directive + <code class="directive">ProxyPass</code>.</div> + + <p>Les sockets de style Unix sont supportés à partir de la version + 2.4.7 du serveur HTTP Apache ; pour utiliser cette fonctionnalité, + il suffit d'utiliser une URL cible préfixée par + <code>unix:/path/lis.sock|</code>. Par exemple, pour mandater HTTP + et cibler l'UDS /home/www.socket, vous devez utiliser + <code>unix:/home/www.socket|http://localhost/whatever/</code>.</p> + + <div class="note"><strong>Note :</strong>Le chemin associé à l'URL + <code>unix:</code> tient compte de la directive + <code class="directive">DefaultRuntimeDir</code>.</div> + + <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier + argument est omis et le répertoire local est obtenu à partir de + l'argument de la directive <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en est de même à l'intérieur + d'une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, mais le résultat ne sera + probablement pas celui attendu car ProxyPassReverse va interpréter + l'expression rationnelle littéralement comme un chemin ; si besoin + est dans ce cas, définissez la directive ProxyPassReverse en dehors + de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> séparée.</p> + + <p>Supposons que le serveur local a pour adresse + <code>http://example.com/</code> ; alors la ligne</p> + + <pre class="prettyprint lang-config"><Location "/mirror/foo/"> + ProxyPass "http://backend.example.com/" +</Location></pre> + + + <p>va convertir en interne toute requête pour + <code>http://example.com/mirror/foo/bar</code> en une requête + mandatée pour <code>http://backend.example.com/bar</code>.</p> + + <p>Si vous avez besoin d'un configuration de mandataire inverse plus + souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau + <code>[P]</code>.</p> + + <p>La syntaxe alternative suivante est valide, bien qu'elle puisse + induire une dégradation des performances lorsqu'elle est + présente en très grand nombre. Elle possède l'avantage de + permettre un contrôle dynamique via l'interface <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> :</p> + + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"</pre> + + + <div class="warning"> + <p>Si le premier argument se termine par un slash + <strong>/</strong>, il doit en être de même pour le second argument + et vice versa. Dans le cas contraire, il risque de manquer des + slashes nécessaires dans la requête résultante vers le serveur + d'arrière-plan et les résulats ne seront pas ceux attendus. + </p> + </div> + + <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire + du mandat inverse, comme dans l'exemple suivant :</p> + + <pre class="prettyprint lang-config"><Location "/mirror/foo/"> + ProxyPass "http://backend.example.com/" +</Location> +<Location "/mirror/foo/i"> + ProxyPass "!" +</Location></pre> + + + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!" +ProxyPass "/mirror/foo" "http://backend.example.com"</pre> + + + <p>va mandater toutes les requêtes pour <code>/mirror/foo</code> + vers <code>backend.example.com</code>, <em>sauf</em> les requêtes + pour <code>/mirror/foo/i</code>.</p> + + <p>Mélanger plusieurs configurations ProxyPass dans différents contextes ne + fonctionne pas :</p> + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!" +<Location "/mirror/foo/"> + ProxyPass "http://backend.example.com/" +</Location></pre> + + <p>Dans ce cas, une requête pour <code>/mirror/foo/i</code> sera tout de + même mandatée car c'est la directive <code class="directive">ProxyPass</code> de la + section Location qui sera évaluée en premier. Le fait que la directive + <code class="directive">ProxyPass</code> supporte les deux contextes serveur + principal et répertoire ne signifie pas que sa portée et sa position dans le + fichier de configuration va garantir une quelconque priorité et/ou + chronologie de prise en compte.</p> + + <div class="warning"><h3>Ordre de classement des directives ProxyPass</h3> + <p>Les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> et <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> sont évaluées dans + l'ordre de leur apparition dans le fichier de configuration. La + première règle qui correspond s'applique. Vous devez donc en + général classer les règles <code class="directive"><a href="#proxypass">ProxyPass</a></code> qui entrent en conflit de + l'URL la plus longue à la plus courte. Dans le cas contraire, les + règles situées après une règle dont l'URL correspond au début de + leur propre URL seront ignorées. Notez que tout ceci est en + relation avec le partage de workers.</p> + + </div> + <div class="warning"><h3>Chronologie de prise en compte des directives + ProxyPass au sein des sections Locations</h3> + <p>On ne peut placer + qu'une seule directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> dans une section + <code class="directive"><a href="../mod/core.html#location">Location</a></code>, et c'est la section + la plus spécifique qui l'emportera.</p> + </div> + <div class="warning"><h3>Exclusions et variable d'environnement no-proxy</h3> + <p>Les exclusions doivent se situer <em>avant</em> + les directives <code class="directive">ProxyPass</code> générales. A partir de la + version 2.4.26 du serveur HTTP Apache, la variable + d'environnement "no-proxy" est une alternative aux exclusions et constitue + le seul moyen de configurer une exclusion pour une directive + <code class="directive">ProxyPass</code> dans le contexte d'une section <code class="directive"><a href="../mod/core.html#location">Location</a></code>. Cette variable doit être définie via + la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la + directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée + assez tôt.</p> + + </div> + + <p><strong>ProxyPass <code>clé=valeur</code> Paramètres</strong></p> + + <p>Depuis la version 2.1 du serveur HTTP Apache, mod_proxy supporte + les groupements de connexions vers un serveur d'arrière-plan. Les + connexions créées à la demande peuvent être enregistrées dans un + groupement pour une utilisation ultérieure. La taille du groupe + ainsi que d'autres caractéristiques peuvent être définies via la + directive <code class="directive">ProxyPass</code> au moyen de paramètres + <code>clé=valeur</code> dont la description fait l'objet des + tableaux ci-dessous.</p> + + <div class="warning"><h3>Nombre maximum de connexions vers + l'arrière-plan</h3> + <p>Par défaut, mod_proxy permet et met en réserve le + nombre maximum de connexions pouvant être utilisées simultanément par le + processus enfant concerné du serveur web. Le paramètre <code>max</code> + permet de réduire cette valeur par défaut. Le jeu de connexions est maintenu + au niveau de chaque processus enfant du serveur web, <code>max</code> et les + autres réglages n'étant pas coordonnés entre ces différents processus, sauf + bien entendu lorsqu'un seul processus enfant n'est autorisé par la + configuration ou le MPM utilisé.</p> </div> + + <p>Le paramètre <code>ttl</code>, + quant à lui, permet de définir une durée de vie optionnelle ; les + connexions qui n'ont pas été utilisées pendant au moins + <code>ttl</code> secondes seront fermées. <code>ttl</code> permet + aussi d'empêcher l'utilisation d'une connexion susceptible d'être + fermée suite à une fin de vie de connexion persistante sur le + serveur d'arrière-plan.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre> +</div> + + <table class="bordered"><tr><th>Paramètres de worker (directive BalancerMember)</th></tr></table> + <table> + <tr><th>Paramètre</th> + <th>Défaut</th> + <th>Description</th></tr> + <tr><td>min</td> + <td>0</td> + <td>Nombre minimum d'entrées dans le pool de connexions, + distinct du nombre de connexions effectif. La valeur par défaut + ne doit être modifiée que dans des circonstances particulières + où la mémoire associée aux connexions avec le serveur + d'arrière-plan doit être préallouée ou réservée dans le tas.</td></tr> + <tr><td>max</td> + <td>1...n</td> + <td>Nombre maximum de connexions autorisées vers le serveur + d'arrière-plan. La valeur par défaut correspond au nombre de + threads par processus pour le MPM (Module Multi Processus) + actif. La valeur sera toujours 1 pour le MPM Prefork, alors + qu'elle dépendra de la définition de la directive + <code class="directive">ThreadsPerChild</code> pour les autres MPMs.</td></tr> + <tr><td>smax</td> + <td>max</td> + <td>Les entrées du pool de connexions conservées au delà de + cette limite sont libérées au cours de certaines opérations si + elles n'ont pas été utilisées au cours de leur durée de vie, + définie par le paramètre <code>ttl</code>. Si l'entrée du pool + de connexions est associée à une connexion, cette dernière sera + fermée. La valeur par défaut ne doit être modifiée que dans des + circonstances particulières où les entrées du pool de connexions + et toutes connexions associées qui ont dépassé leur durée de vie + doivent être libérées ou fermées de manière plus autoritaire.</td></tr> + <tr><td>acquire</td> + <td>-</td> + <td>Cette clé permet de définir le délai maximum d'attente pour + une connexion libre dans le jeu de connexions, en millisecondes. + S'il n'y a pas de connexion libre dans le jeu, Apache httpd renverra + l'état <code>SERVER_BUSY</code> au client. + </td></tr> + <tr><td>connectiontimeout</td> + <td>timeout</td> + <td>Délai d'attente d'une connexion en secondes. + La durée en secondes pendant laquelle Apache httpd va attendre pour + l'établissement d'une connexion vers le serveur d'arrière-plan. + Le délai peut être spécifié en millisecondes en ajoutant le + suffixe ms. + </td></tr> + <tr><td>disablereuse</td> + <td>Off</td> + <td>Vous pouvez utiliser cette clé pour forcer mod_proxy à + fermer immédiatement une connexion vers le serveur + d'arrière-plan après utilisation, et ainsi désactiver le jeu de + connexions permanentes vers ce serveur. Ceci peut s'avérer utile + dans des situations où un pare-feu situé entre Apache httpd et le + serveur d'arrière-plan (quelque soit le protocole) interrompt + des connexions de manière silencieuse, ou lorsque le serveur + d'arrière-plan lui-même est accessible par rotation de DNS + (round-robin DNS). Lorsque la réutilisation des connexions est activée, + chaque domaine d'arrière-plan n'est résolu (via une requête DNS) qu'une + seule fois par chaque processus enfant et mis en cache pour toutes les + connexions ultérieures jusqu'au recyclage du processus concerné. + Pour désactiver la réutilisation du jeu de + connexions, définissez cette clé à <code>On</code>. + </td></tr> + <tr><td>enablereuse</td> + <td>On</td> + <td>Ce paramètre est utilisé par les gestionnaires de protocole pour + lesquels la réutilisation des connexions est optionnelle (comme + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>). C'est le contraire du + paramètre 'disablereuse' ci-dessus, et il est supporté par les + versions 2.4.11 et supérieures du serveur HTTP Apache. + </td></tr> + <tr><td>flushpackets</td> + <td>off</td> + <td>Permet de définir si le module mandataire doit vider + automatiquement le tampon de sortie après chaque tronçon de + données. 'off' signifie que le tampon sera vidé si + nécessaire ; + 'on' signifie que le tampon sera vidé après chaque envoi d'un + tronçon de données, et 'auto' que le tampon sera vidé après un + délai de 'flushwait' millisecondes si aucune entrée n'est reçue. + Actuellement, cette clé n'est supportée que par mod_proxy_ajp et + mod_proxy_fcgi. + </td></tr> + <tr><td>flushwait</td> + <td>10</td> + <td>Le délai d'attente pour une entrée additionnelle, en + millisecondes, avant le vidage du tampon en sortie dans le cas + où 'flushpackets' est à 'auto'. + </td></tr> + <tr><td>iobuffersize</td> + <td>8192</td> + <td>Permet de définir la taille du tampon d'entrées/sorties du + bloc-notes interne. Cette clé vous permet d'outrepasser la + directive <code class="directive">ProxyIOBufferSize</code> pour un + serveur cible spécifique. La valeur doit être au minimum 512 ou définie + à 0 pour la valeur par défaut du système de 8192. + </td></tr> + <tr><td>responsefieldsize</td> + <td>8192</td> + <td>Contrôle la taille du tampon pour le champ de la réponse mandatée. + Cette taille doit être au moins égale à la taille attendue du plus grand + en-tête d'une réponse mandatée. Une valeur de 0 implique l'utilisation + de la valeur par défaut du système, à savoir 8192 octets.<br /> + Disponible à partir de la version 2.4.34 du serveur HTTP Apache. + </td></tr> + <tr><td>keepalive</td> + <td>Off</td> + <td><p>Cette clé doit être utilisée lorsque vous avez un pare-feu + entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend + à interrompre les connexions inactives. Cette clé va faire en + sorte que le système d'exploitation envoie des messages + <code>KEEP_ALIVE</code> sur chacune des connexions inactives et + ainsi éviter la fermeture de la connexion par le pare-feu. + Pour conserver les connexions persistantes, definissez cette + propriété à <code>On</code>.</p> + <p>La fréquence de vérification des connexions TCP persistantes + initiale et subséquentes dépend de la configuration globale de l'OS, + et peut atteindre 2 heures. Pour être utile, la fréquence configurée + dans l'OS doit être inférieure au seuil utilisé par le pare-feu.</p> + + </td></tr> + <tr><td>lbset</td> + <td>0</td> + <td>Définit le groupe de répartition de charge dont le serveur cible + est membre. Le répartiteur de charge va essayer tous les membres + d'un groupe de répartition de charge de numéro inférieur avant + d'essayer ceux dont le groupe possède un numéro supérieur. + </td></tr> + <tr><td>ping</td> + <td>0</td> + <td>Avec la clé Ping, le serveur web va "tester" la connexion + vers le serveur d'arrière-plan avant de transmettre la requête. + Avec AJP, <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> envoie une requête + <code>CPING</code> sur la connexion ajp13 (implémenté sur Tomcat + 3.3.2+, 4.1.28+ et 5.0.13+). Avec HTTP, + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> envoie <code>100-Continue</code> + au serveur d'arrière-plan (seulement avecHTTP/1.1 - pour les + serveurs d'arrière-plan non HTTP/1.1, cette clé ne produit + aucun effet). Dans les deux cas, ce paramètre correspond au + délai en secondes pour l'attente de la réponse. Cette + fonctionnalité a été ajoutée pour éviter les problèmes avec les + serveurs d'arrière-plan bloqués ou surchargés. + + Le trafic + réseau peut s'en trouver augmenté en fonctionnement normal, ce + qui peut poser problème, mais peut s'en trouver diminué dans les + cas où les noeuds de cluster sont arrêtés ou + surchargés. Le délai peut + aussi être défini en millisecondes en ajoutant le suffixe + ms. + </td></tr> + <tr><td>receivebuffersize</td> + <td>0</td> + <td>Définit la taille du tampon réseau explicite (TCP/IP) pour + les connexions mandatées. Cette clé vous permet d'outrepasser la + directive <code class="directive">ProxyReceiveBufferSize</code> pour un + serveur cible spécifique. Sa valeur doit être au minimum 512 ou définie + à 0 pour la valeur par défaut du système. + </td></tr> + <tr><td>redirect</td> + <td>-</td> + <td>Route pour la redirection du serveur cible. Cette valeur est en + général définie dynamiquement pour permettre une suppression + sécurisée du noeud du cluster. Si cette clé est définie, toutes + les requêtes sans identifiant de session seront redirigées vers + le membre de groupe de répartition de charge dont la route + correspond à la valeur de la clé. + </td></tr> + <tr><td>retry</td> + <td>60</td> + <td>Délai entre deux essais du serveur cible du jeu de connexions en + secondes. Si le serveur cible du jeu de connexions vers le serveur + d'arrière-plan est dans un état d'erreur, Apache httpd ne redirigera + pas de requête vers ce serveur avant l'expiration du délai + spécifié. Ceci permet d'arrêter le serveur d'arrière-plan pour + maintenance, et de le remettre en ligne plus tard. Une valeur de + 0 implique de toujours essayer les serveurs cibles dans un état d'erreur + sans délai. + </td></tr> + <tr><td>route</td> + <td>-</td> + <td>La route du serveur cible lorsqu'il est utilisé au sein d'un + répartiteur de charge. La route est une valeur ajoutée à + l'identifiant de session. + </td></tr> + <tr><td><a name="status_table">status</a></td> + <td>-</td> + <td>Valeur constituée d'une simple lettre et définissant l'état + initial de ce serveur cible. + <table> + <tr><td>D: le serveur cible est désactivé et n'accepte aucune requête.</td></tr> + <tr><td>S: le serveur cible est arrêté.</td></tr> + <tr><td>I: le serveur cible est en mode "erreurs ignorées", + et sera toujours considéré comme disponible.</td></tr> + <tr><td>R: Le serveur cible sert de remplaçant à + chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable + (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à + chaud libre de même lbset sera utilisé à sa place. Les remplaçants à + chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles + sera toujours disponible pour un répartiteur de charge.</td></tr> + <tr><td>H: le serveur cible est en mode d'attente et ne sera + utilisé que si aucun autre serveur ou remplaçant à chaud n'est + disponible dans le jeu de serveurs cibles.</td></tr> + <tr><td>E: le serveur cible est en erreur.</td></tr> + <tr><td>N: le serveur cible est en mode vidage, n'acceptera que + les sessions persistantes qui lui appartiennent, et refusera + toutes les autres requêtes.</td></tr> + </table> + Une valeur d'état peut être définie (ce qui + correspond au comportement par défaut) en préfixant la valeur + par '+', ou annulée en préfixant la valeur par '-'. Ainsi, la + valeur 'S-E' définit l'état de ce serveur cible à "arrêté" et supprime + le drapeau "en-erreur". + </td></tr> + <tr><td>timeout</td> + <td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td> + <td>Délai d'attente de la connexion en secondes. Le nombre de + secondes pendant lesquelles Apache httpd attend l'envoi de + données vers le serveur d'arrière-plan. + </td></tr> + <tr><td>ttl</td> + <td>-</td> + <td>Durée de vie des connexions inactives et des entrées du pool + de connexions associées en secondes. Une fois cette + limite atteinte, une connexion ne sera pas réutilisée ; elle + sera fermée après un délai variable. + </td></tr> + <tr><td>flusher</td> + <td>flush</td> + <td><p>Nom du fournisseur utilisé par <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>. + Voir la documentation de ce module pour plus de détails.</p> + </td></tr> + <tr><td>secret</td> + <td>-</td> + <td>Le mot de passe utilisé par <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>. Il doit + identique au mot de passe configuré sur le côté serveur de la connexion + AJP.<br /> + Disponible à partir de la version 2.4.42 du serveur HTTP Apache. + </td></tr> + <tr><td><a id="upgrade" name="upgrade">upgrade</a></td> + <td>-</td> + <td><p>Protocole pris en charge par <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ou + <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> pour le mécanisme de promotion de + protocole HTTP lors d'une négociation du client/navigateur HTTP (en + accord avec <a href="https://www.ietf.org/rfc/rfc9110.html#name-upgrade">RFC 9110 - + Upgrade</a>). Voir la note <a href="#protoupgrade">Promotion de + protocole</a> ci-dessous</p> + </td></tr> + <tr><td>mapping</td> + <td>-</td> + <td><p>Type de mappage entre le <var>chemin</var> et l'<var>url</var>. + Détermine la normalisation et/ou le (non-)décodage que + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> appliquera au <var>chemin de l'uri</var> + demandé avant de rechercher une correspondance avec le <var>chemin</var>. + Si un mappage correspond, il est appliqué au <var>chemin de l'uri</var> + de façon à ce que tous les contextes de répertoire qui utilisent un + chemin (comme <code><Location></code>) fassent l'objet d'une + recherche de correspondance en utilisant le même mappage.</p> + <p><code>mapping=encoded</code> empêche le décodage des caractères % + contenus dans le <var>chemin de l'uri</var> de façon à ce que l'on + puisse par exemple utiliser des configurations telles que :</p> + <pre class="prettyprint lang-config">ProxyPass "/special%3Fsegment" "https://example.com/special%3Fsegment" mapping=encoded</pre> + + <pre class="prettyprint lang-config"><Location "/special%3Fsegment"> + Require ip 172.17.2.0/24 +</Location></pre> + + <p><code>mapping=servlet</code> se réfère à la normalisation définie par + la spécification de la Servlet qui sera par exemple appliquée par Apache + Tomcat pour les conteneurs de servlet (en particulier, les paramètres du + chemin sont ignorés pour le mappage). Un <var>chemin d'uri</var> comme + <code>/some;foo/path</code> sera alors mappé comme + <code>/some/path</code> et correspondra donc à tout ce qui suit sans + tenir compte des paramètres du chemin demandé :</p> + <pre class="prettyprint lang-config">ProxyPass "/some/path" "https://servlet.example.com/some/path" mapping=servlet</pre> + + <pre class="prettyprint lang-config"><Location "/some/path"> + Require valid-user +</Location></pre> + + <div class="note"><h3>Note</h3> + <p>Il est recommandé d'utiliser le même mappage côté Apache httpd + que celui utilisé côté arrière-plan. Par exemple, lors de la + configuration des autorisations dans les sections + <code><Location></code> pour des chemins mappés par + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> comme conteneurs de servlet (comme les + applications s'exécutant sous Apache Tomcat), on doit utiliser la + définition <code>mapping=servlet</code> pour éviter que les + paramètres du chemin et similaires n'interfèrent avec les + autorisations qui doivent être définies par Apache httpd.</p> + </div> + </td></tr> + + </table> + + <p>Si l'URL de la directive Proxy débute par + <code>balancer://</code> (par exemple: + <code>balancer://cluster</code>, toute information relative au + chemin est ignorée), alors un serveur cible virtuel ne communiquant pas + réellement avec le serveur d'arrière-plan sera créé. Celui-ci sera + en fait responsable de la gestion de plusieurs serveurs cibles "réels". Dans + ce cas, un jeu de paramètres particuliers s'applique à ce serveur cible + virtuel. Voir <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus + d'informations à propos du fonctionnement du répartiteur de + charge. + </p> + <table class="bordered"><tr><th>Paramètres du répartiteur</th></tr></table> + <table> + <tr><th>Paramètre</th> + <th>Défaut</th> + <th>Description</th></tr> + <tr><td>lbmethod</td> + <td>byrequests</td> + <td>Méthode de répartition de charge utilisée. Permet de + sélectionner la méthode de planification de la répartition de + charge à utiliser. La valeur est soit <code>byrequests</code>, + pour effectuer un décompte de requêtes pondérées, soit + <code>bytraffic</code>, pour effectuer une répartition en + fonction du décompte des octets transmis, soit + <code>bybusyness</code>, pour effectuer une répartition en + fonction des requêtes en attente. La valeur par défaut est + <code>byrequests</code>. + </td></tr> + <tr><td>maxattempts</td> + <td>1 de moins que le nombre de workers, ou 1 avec un seul + worker</td> + <td>Nombre maximum d'échecs avant abandon. + </td></tr> + <tr><td>nofailover</td> + <td>Off</td> + <td>Si ce paramètre est défini à <code>On</code>, la session va + s'interrompre si le serveur cible est dans un état d'erreur ou + désactivé. Définissez ce paramètre à <code>On</code> si le serveur + d'arrière-plan ne supporte pas la réplication de session. + </td></tr> + <tr><td>stickysession</td> + <td>-</td> + <td>Nom de session persistant du répartiteur. La valeur est + généralement du style <code>JSESSIONID</code> ou + <code>PHPSESSIONID</code>, et dépend du serveur d'application + d'arrière-plan qui supporte les sessions. Si le serveur + d'application d'arrière-plan utilise un nom différent pour + les cookies et les identifiants codés d'URL (comme les + conteneurs de servlet), séparez-les par le caractère '|'. La + première partie contient le cookie et la seconde le chemin.<br /> + Disponible depuis la version 2.4.4 du serveur HTTP Apache. + </td></tr> + <tr><td>stickysessionsep</td> + <td>"."</td> + <td>Définit le caractère de séparation dans le cookie de + session. Certains serveurs d'application d'arrière-plan + n'utilisent pas le caractère '.' comme séparateur. Par exemple + le serveur Oracle Weblogic utilise le caractère '!'. Cette + option permet d'attribuer au caractère de séparation la valeur + appropriée. Si elle est définie à 'Off', aucun caractère de + séparation n'est utilisé. + </td></tr> + <tr><td>scolonpathdelim</td> + <td>Off</td> + <td>Si ce paramètre est défini à <code>On</code>, le caractère + ';' sera utilisé comme séparateur de chemin de session + persistante additionnel. Ceci permet principalement de simuler + le comportement de mod_jk lorsqu'on utilise des chemins du style + <code>JSESSIONID=6736bcf34;foo=aabfa</code>. + </td></tr> + <tr><td>timeout</td> + <td>0</td> + <td>Délai du répartiteur en secondes. Si ce paramètre est + défini, sa valeur correspond à la durée maximale d'attente pour + un serveur cible libre. Le comportement par défaut est de ne pas + attendre. + </td></tr> + <tr><td>failonstatus</td> + <td>-</td> + <td>Une liste de codes d'état HTTP séparés par des virgules. Si + ce paramètre est présent, le worker se mettra en erreur si le + serveur d'arrière-plan renvoie un des codes d'état spécifiés + dans la liste. La récupération du worker s'effectue comme dans + le cas des autres erreurs de worker. + </td></tr> + <tr><td>failontimeout</td> + <td>Off</td> + <td>Si ce paramètre est défini à "On", un délai d'attente + dépassé en entrée/sortie après envoi d'une requête au serveur + d'arrière-plan va mettre le processus en état d'erreur. La + sortie de cet état d'erreur se passe de la même façon que pour + les autres erreurs.<br /> + Disponible à partir de la version 2.4.5 du serveur HTTP Apache. + </td></tr> + <tr><td>nonce</td> + <td><auto></td> + <td>Le nombre à usage unique de protection utilisé dans la page + de l'application <code>balancer-manager</code>. Par défaut, la + protection de la page est assurée par un nombre à usage unique + automatique à base d'UUID. Si une valeur est précisée, elle sera + utilisée comme nombre à usage unique. La valeur + <code>None</code> désactive la vérification du nombre à usage + unique. + <div class="note"><h3>Note</h3> + <p>En plus du nombre à usage unique, la page de l'application + <code>balancer-manager</code> peut être protégée par une ACL.</p> + </div> + </td></tr> + <tr><td>growth</td> + <td>0</td> + <td>Nombre de membres supplémentaires que l'on peut ajouter à ce + répartiteur en plus de ceux définis au niveau de la + configuration. + </td></tr> + <tr><td>forcerecovery</td> + <td>On</td> + <td>Force la relance immédiate de tous les membres sans tenir + compte de leur paramètre retry dans le cas où ils sont tous en + état d'erreur. Il peut cependant arriver qu'un membre déjà + surchargé entre dans une situation critique si la relance de + tous les membres est forcée sans tenir compte du paramètre retry + de chaque membre. Dans ce cas, définissez ce paramètre à + <code>Off</code>.<br /> + Disponible depuis la version 2.4.2 du serveur HTTP Apache. + </td></tr> + + </table> + <p>Exemple de configuration d'un répartiteur de charge</p> + <pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10 +ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On +<Proxy "balancer://mycluster"> + BalancerMember "ajp://1.2.3.4:8009" + BalancerMember "ajp://1.2.3.5:8009" loadfactor=20 + # Less powerful server, don't send as many requests there, + BalancerMember "ajp://1.2.3.6:8009" loadfactor=5 +</Proxy></pre> + + + <p>La définition de remplaçants à chaud permet de s'assurer qu'un nombre + déterminé de serveurs sera toujours disponible dans le jeu de serveurs + cibles :</p> + <pre class="prettyprint lang-config">ProxyPass "/" "balancer://sparecluster/" +<Proxy balancer://sparecluster> + BalancerMember ajp://1.2.3.4:8009 + BalancerMember ajp://1.2.3.5:8009 + # Les serveurs ci-dessous sont des remplaçants à chaud. Pour chaque serveur + # ci-dessus qui viendrait à être inutilisable (maintenance, arrêt, non + # contactable, en erreur, etc...), un de ces remplaçants à chaud prendra sa + # place. Deux serveurs seront toujours disponibles pour traiter une requête + # (à moins qu'un ou plusieurs remplaçant à chaud soit lui aussi + # indisponible). + BalancerMember ajp://1.2.3.6:8009 status=+R + BalancerMember ajp://1.2.3.7:8009 status=+R +</Proxy></pre> + + + <p>Configuration d'un serveur cible de réserve qui ne sera utilisé que si + aucun autre serveur cible ou remplaçant à chaud n'est disponible dans le jeu + de serveurs cibles :</p> + <pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/" +<Proxy "balancer://hotcluster"> + BalancerMember "ajp://1.2.3.4:8009" loadfactor=1 + BalancerMember "ajp://1.2.3.5:8009" loadfactor=2.25 + # The server below is on hot standby + BalancerMember "ajp://1.2.3.6:8009" status=+H + ProxySet lbmethod=bytraffic +</Proxy></pre> + + + <p><strong>Mots-clés additionnels de ProxyPass</strong></p> + + <p>Normalement, mod_proxy va mettre sous leur forme canonique les + URLs traitées par ProxyPass. Mais ceci peut être incompatible avec + certains serveurs d'arrière-plan, et en particulier avec ceux qui + utilisent <var>PATH_INFO</var>. Le mot-clé optionnel + <var>nocanon</var> modifie ce comportement et permet de transmettre + le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez + que ceci peut affecter la sécurité de votre serveur d'arrière-plan, + car la protection limitée contre les attaques à base d'URL que + fournit le mandataire est alors supprimée.</p> + + <p>Par défaut, mod_proxy inclut la chaîne de paramètres lors de la + génération de la variable d'environnement + <var>SCRIPT_FILENAME</var>. Le mot-clé optionnel <var>noquery</var> + (disponible à partir de la version 2.4.1) permet d'exclure cette + chaîne.</p> + + <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une + section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier argument est omis et le répertoire + local est obtenu à partir de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en sera de même dans une + section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> ; cependant, ProxyPass + n'interprète pas les expressions rationnelles, et il sera ici + nécessaire d'utiliser la directive + <code class="directive">ProxyPassMatch</code> à la place.</p> + + <p>Cette directive ne peut pas être placée dans une section + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou + <code class="directive"><a href="../mod/core.html#files"><Files></a></code>.</p> + + <p>Si vous avez besoin d'un configuration de mandataire inverse plus + souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau + <code>[P]</code>.</p> + + <p>Le mot-clé optionnel <code>interpolate</code>, en combinaison avec la directive + <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, permet à ProxyPass + d'interpoler les variables d'environnement à l'aide de la syntaxe + <var>${VARNAME}</var>. Notez que de nombreuses variables + d'environnement standard dérivées de CGI n'existeront pas lorsque + l'interpolation se produit ; vous devrez alors encore avoir avoir + recours à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour des règles + complexes. Notez aussi que l'interpolation n'est supportée dans + la partie protocole/hostname/port d'une URL que pour les variables qui sont + disponibles au moment où la directive est interprétée (comme pour la + directive <code class="directive"><a href="../mod/core.html#define">Define</a></code>). La détermination + dynamique de ces champs peut être effectuée à l'aide de + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, et l'exemple suivant décrit comment utiliser + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour définir dynamiquement le protocole à http + ou https :</p> + + <pre class="prettyprint lang-config">RewriteEngine On + +RewriteCond "%{HTTPS}" =off +RewriteRule "". "-" [E=protocol:http] +RewriteCond "%{HTTPS}" =on +RewriteRule "." "-" [E=protocol:https] + +RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P] +ProxyPassReverse "/mirror/foo/" "http://backend.example.com/" +ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre> + + + <div class="note"><h3><a id="protoupgrade" name="protoupgrade">Promotion de + protocole</a></h3> + <p>Depuis la version 2.4.47 du serveur HTTP Apache, la promotion de + protocole (tunneling) peut être géré bout à bout par + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> en utilisant le paramètre <var><a href="#upgrade">upgrade</a></var>.</p> + <p>Bout à bout signifie que la requête de promotion de protocole en + provenance du client/navigateur est tout d'abord transmise par + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> au serveur origine et que le protocole de + la connexion ne sera modifié (et « tunnelisé » par + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>) que si le serveur origine accepte/initie + la promotion (réponse HTTP <code>101 Switching Protocols</code>). Si le + serveur origine renvoie une réponse différente, + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> continuera la transmission en utilisant + (et en forçant) le protocole HTTP habituel pour cette connexion.</p> + <p>Voir <a href="#wsupgrade">Promotion de protocole vers Websocket + (versions 2.4.47 et ultérieures)</a> pour un exemple de configuration qui + utilise<code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + <p>Avec les versions 2.4.46 et antérieures du serveur HTTP Apache (ou si + la directive <code class="directive"><a href="../mod/mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></code> + des versions 2.4.48 et ultérieures désactive la prise en charge par + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>), voir la documentation de + <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> pour la méthode permettant de mandater + le protocole WebSocket.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypassinherit" id="proxypassinherit">Directive</a> <a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des directives ProxyPass définies au niveau du +serveur principal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInherit On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur +HTTP Apache.</td></tr> +</table> + <p>Cette directive permet à un serveur virtuel d'hériter des + directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> définies + au niveau du serveur principal. Si vous utilisez la fonctionnalité de + modifications dynamiques du Balancer Manager, cette directive peut + causer des problèmes et des comportements inattendus et doit donc + être désactivée.</p> + <p>Les valeurs définies au niveau du serveur principal + constituent les valeurs par défaut pour tous les serveurs virtuels.</p> + <p>La désactivation de ProxyPassInherit désactive aussi la + directive <code class="directive"><a href="#balancerinherit">BalancerInherit</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypassinterpolateenv" id="proxypassinterpolateenv">Directive</a> <a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'interpolation des variables d'environnement dans +les configurations de mandataires inverses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.9 d'Apache</td></tr> +</table> + <p>Cette directive, ainsi que l'argument <code>interpolate</code> des + directives <code class="directive">ProxyPass</code>, + <code class="directive">ProxyPassReverse</code>, + <code class="directive">ProxyPassReverseCookieDomain</code> et + <code class="directive">ProxyPassReverseCookiePath</code>, permet de + configurer dynamiquement un mandataire inverse à l'aide de + variables d'environnement, ces dernières pouvant être définies par un + autre module comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Elle affecte les + directives <code class="directive">ProxyPass</code>, + <code class="directive">ProxyPassReverse</code>, + <code class="directive">ProxyPassReverseCookieDomain</code>, et + <code class="directive">ProxyPassReverseCookiePath</code>, en leur indiquant + de remplacer la chaîne <code>${nom_var}</code> dans les directives + de configuration par la valeur de la variable d'environnement + <code>nom_var</code> (si l'option <code>interpolate</code> est + spécifiée).</p> + <p>La partie protocole/hostname/port de <code class="directive">ProxyPass</code> + peut contenir des variables, mais seulement celles qui sont accessibles au + moment où la directive est interprétée (similairement à la directive + <code class="directive"><a href="../mod/core.html#define">Define</a></code>). Pour tous les autres cas, + utilisez plutôt <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> + <div class="warning"><h3>Avertissement concernant les performances</h3> + <p>Laissez cette directive à off, à moins que vous n'en ayez réellemnt + besoin ! Par exemple, ajouter des variables à + <code class="directive">ProxyPass</code> peut entraîner l'utilisation des serveurs + d'arrière-plan de mod_proxy configurés par défaut, et ceux-ci ne permettent + pas un réglage fin comme la réutilisation des connexions, entre + autres...).</p> </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypassmatch" id="proxypassmatch">Directive</a> <a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre des serveurs distants dans l'espace d'URL +du serveur local en utilisant des expressions rationnelles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var> +[<var>clé=valeur</var> + <var>[clé=valeur</var> ...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive est identique à la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>, mais fait usage des + expressions rationnelles, au lieu d'une simple comparaison de + préfixes. L'expression rationnelle spécifiée est comparée à + l'<var>url</var>, et si elle correspond, le serveur va substituer + toute correspondance entre parenthèses dans la chaîne donnée et + l'utiliser comme nouvelle <var>url</var>.</p> + + <div class="note"><strong>Note : </strong>Cette directive ne peut pas être + utilisée dans un contexte de niveau répertoire.</div> + + <p>Supposons que le serveur local a pour adresse + <code>http://example.com/</code> ; alors</p> + + <pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com/$1"</pre> + + + <p>va provoquer la conversion interne de la requête locale + <code>http://example.com/foo/bar.gif</code> en une requête mandatée + pour <code>http://backend.example.com/foo/bar.gif</code>.</p> + + <div class="note"><h3>Note</h3> + <p>L'argument URL doit pouvoir être interprété en tant qu'URL + <em>avant</em> les substitutions d'expressions rationnelles (et + doit aussi l'être après). Ceci limite les correspondances que vous + pouvez utiliser. Par exemple, si l'on avait utilisé</p> + <pre class="prettyprint lang-config"> ProxyPassMatch "^(/.*\.gif)$" + "http://backend.example.com:8000$1"</pre> + + <p>dans l'exemple précédent, nous aurions provoqué une erreur de + syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans + ASF bugzilla), et il est possible de la contourner en reformulant + la correspondance :</p> + <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre> + + </div> + + <p>Le drapeau <code>!</code> vous permet de ne pas mandater un + sous-répertoire donné.</p> + + <p>Dans une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, le premier argument est + omis et l'expression rationnelle est obtenue à partir de la directive + <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>.</p> + + <p>Si vous avez besoin d'une configuration du mandataire inverse + plus flexible, voyez la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> avec le drapeau + <code>[P]</code>.</p> + + <div class="note"> + <h3>Substitution par défaut</h3> + <p>Lorsque le paramètre URL n'utilise pas de références arrières + dans l'expression rationnelle, l'URL originale sera ajoutée au + paramètre URL. + </p> + </div> + + <div class="warning"> + <h3>Avertissement à propos de la sécurité</h3> + <p>Lors de la construction de l'URL cible de la règle, il convient + de prendre en compte l'impact en matière de sécurité qu'aura le + fait de permettre au client d'influencer le jeu d'URLs pour + lesquelles votre serveur agira en tant que mandataire. + Assurez-vous que la partie protocole://nom-serveur de l'URL soit + fixe, ou ne permette pas au client de l'influencer induement.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypassreverse" id="proxypassreverse">Directive</a> <a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée +par un serveur mandaté en inverse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverse [<var>chemin</var>] <var>url</var> +[interpolate]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive permet de faire en sorte qu'Apache httpd ajuste l'URL + dans les en-têtes <code>Location</code>, + <code>Content-Location</code> et <code>URI</code> des réponses de + redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilisé en + tant que mandataire inverse (ou passerelle), afin d'éviter de + court-circuiter le mandataire inverse suite aux redirections HTTP + sur le serveur d'arrière-plan qui restent derrière le mandataire + inverse.</p> + + <p>Seuls les en-têtes de réponse HTTP spécialement mentionnés + ci-dessus seront réécrits. Apache httpd ne réécrira ni les autres en-têtes + de réponse, ni par défaut les références d'URLs dans les pages HTML. Cela + signifie que dans le cas où un contenu mandaté contient des + références à des URLs absolues, elles court-circuiteront le + mandataire. Pour réécrire un contenu HTML afin qu'il corresponde au + mandataire, vous devez charger et activer le module + <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>. + </p> + + <p><var>chemin</var> est le nom d'un chemin virtuel local. + <var>url</var> est une URL partielle pour le serveur distant. Ces + paramètres s'utilisent de la même façon qu'avec la + directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p> + + <p>Supposons par exemple que le serveur local a pour adresse + <code>http://example.com/</code> ; alors</p> + + <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/" +ProxyPassReverse "/mirror/foo/" "http://backend.example.com/" +ProxyPassReverseCookieDomain "backend.example.com" "public.example.com" +ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre> + + + <p>ne va pas seulement provoquer la conversion interne d'une requête + locale pour <code>http://example.com/mirror/foo/bar</code> en une + requête mandatée pour <code>http://backend.example.com/bar</code> + (la fonctionnalité fournie par <code>ProxyPass</code>). Il va + aussi s'occuper des redirections que le serveur + <code>backend.example.com</code> envoie lorsqu'il redirige + <code>http://backend.example.com/bar</code> vers + <code>http://backend.example.com/quux</code>. Apache + httpd corrige ceci en <code>http://example.com/mirror/foo/quux</code> + avant de faire suivre la redirection HTTP au client. Notez que le + nom d'hôte utilisé pour construire l'URL est choisi en respectant la + définition de la directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</p> + + <p>Notez que la directive <code class="directive">ProxyPassReverse</code> + peut aussi être utilisée en conjonction avec la + fonctionnalité de mandataire + (<code>RewriteRule ... [P]</code>) du module + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, car elle ne dépend pas d'une directive + <code class="directive"><a href="#proxypass">ProxyPass</a></code> + correspondante.</p> + + <p>Le mot-clé optionnel <code>interpolate</code>, en combinaison avec la + directive <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, + permet l'interpolation des variables d'environnement spécifiées en utilisant + le format <var>${VARNAME}</var> Notez que l'interpolation n'est pas + supportée dans la partie protocole d'une URL. </p> + + <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier + argument est omis et le répertoire local est obtenu à partir de + l'argument de la directive <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en est de même à l'intérieur + d'une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, mais le résultat ne sera + probablement pas celui attendu car ProxyPassReverse va interpréter + l'expression rationnelle littéralement comme un chemin ; si besoin + est dans ce cas, définissez la directive ProxyPassReverse en dehors + de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> séparée.</p> + + <p>Cette directive ne peut pas être placée dans une section + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou + <code class="directive"><a href="../mod/core.html#files"><Files></a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a> <a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au domaine dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookieDomain <var>domaine-interne</var> +<var>domaine-public</var> [interpolate]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> +<p>L'utilisation de cette directive est similaire à celle de la +directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, +mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle +réécrit la chaîne correspondant au domaine dans les en-têtes +<code>Set-Cookie</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypassreversecookiepath" id="proxypassreversecookiepath">Directive</a> <a name="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au chemin dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookiePath <var>chemin-interne</var> +<var>chemin-public</var> [interpolate]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> +<p> +Cette directive s'avère utile en conjonction avec la directive +<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> dans les +situations où les chemins d'URL d'arrière-plan correspondent à des +chemins publics sur le mandataire inverse. Cette directive permet de +réécrire la chaîne <code>path</code> dans les en-têtes +<code>Set-Cookie</code>. Si le début du chemin du cookie correspond à +<var>chemin-interne</var>, le chemin du cookie sera remplacé par +<var>chemin-public</var>. +</p><p> +Dans l'exemple fourni avec la directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, la directive : +</p> + <pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre> + +<p> +va réécrire un cookie possédant un chemin d'arrière-plan <code>/</code> +(ou <code>/example</code> ou en fait tout chemin) +en <code>/mirror/foo/</code>.. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxypreservehost" id="proxypreservehost">Directive</a> <a name="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise l'en-tête de requête entrante Host pour la requête +du mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPreserveHost Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisable +dans un contexte de répertoire depuis la version 2.3.3.</td></tr> +</table> + <p>Lorsqu'elle est activée, cette directive va transmettre l'en-tête + <code>Host:</code> de la requête entrante vers le serveur mandaté, au lieu + du nom d'hôte spécifié par la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p> + + <p>Cette directive est habituellement définie à <code>Off</code>. + Elle est principalement utile dans les configurations particulières + comme l'hébergement virtuel mandaté en masse à base de nom, où + l'en-tête Host d'origine doit être évalué par le serveur + d'arrière-plan.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyreceivebuffersize" id="proxyreceivebuffersize">Directive</a> <a name="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon réseau pour les connexions mandatées HTTP +et FTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyReceiveBufferSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>La directive <code class="directive">ProxyReceiveBufferSize</code> permet + de spécifier une taille de tampon réseau explicite (TCP/IP) pour les + connexions mandatées HTTP et FTP, afin d'améliorer le débit de + données. Elle doit être supérieure à <code>512</code> ou définie à + <code>0</code> pour indiquer que la taille de tampon par défaut du + système doit être utilisée.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyReceiveBufferSize 2048</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyremote" id="proxyremote">Directive</a> <a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mandataire distant à utiliser pour traiter certaines +requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemote <var>comparaison</var> <var>serveur-distant</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive permet de définir des mandataires distants pour + ce mandataire. <var>comparaison</var> est soit le nom d'un protocole + que supporte le serveur distant, soit une URL partielle pour + laquelle le serveur distant devra être utilisé, soit <code>*</code> + pour indiquer que le serveur distant doit être utilisé pour toutes + les requêtes. <var>serveur-distant</var> est une URL partielle + correspondant au serveur distant. Syntaxe : </p> + + <div class="example"><p><code> + <dfn>serveur-distant</dfn> = + <var>protocole</var>://<var>nom-serveur</var>[:<var>port</var>] + </code></p></div> + + <p><var>protocole</var> est effectivement le protocole à utiliser + pour communiquer avec le serveur distant ; ce module ne supporte que + <code>http</code> et <code>https</code>. Lorsqu'on utilise + <code>https</code>, les requêtes sont redirigées par le mandataire + distant en utilisant la méthode HTTP CONNECT.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "http://goodguys.example.com/" "http://mirrorguys.example.com:8000" +ProxyRemote "*" "http://cleverproxy.localdomain" +ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"</pre> +</div> + + <p>Dans la dernière ligne de l'exemple, le mandataire va faire + suivre les requêtes FTP, encapsulées dans une autre requête mandatée + HTTP, vers un autre mandataire capable de les traiter.</p> + + <p>Cette directive supporte aussi les configurations de mandataire + inverse ; un serveur web d'arrière-plan peut être intégré dans + l'espace d'URL d'un serveur virtuel, même si ce serveur est caché + par un autre mandataire direct.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyremotematch" id="proxyremotematch">Directive</a> <a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le mandataire distant à utiliser pour traiter les requêtes +correspondant à une expression rationnelle</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>La directive <code class="directive">ProxyRemoteMatch</code> est + identique à la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>, à l'exception du + premier argument qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression + rationnelle</a> à mettre en correspondance avec l'URL de la + requête.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyrequests" id="proxyrequests">Directive</a> <a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité (standard) de mandataire +direct</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRequests On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyRequests Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive permet d'activer/désactiver la fonctionnalité de + serveur mandataire direct d'Apache httpd. Définir ProxyRequests à + <code>Off</code> n'interdit pas l'utilisation de la directive + <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p> + + <p>Pour une configuration typique de mandataire inverse ou + passerelle, cette directive doit être définie à + <code>Off</code>.</p> + + <p>Afin d'activer la fonctionnalité de mandataire pour des sites + HTTP et/ou FTP, les modules <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> et/ou + <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> doivent également être chargés dans le + serveur.</p> + + <p>Pour activer la fonctionnalité de mandataire sur les sites chiffrés en HTTPS, le module + <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> doit également être chargé dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avec la directive + <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant + d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs + mandataires ouverts sont dangereux non seulement pour votre + réseau, mais aussi pour l'Internet au sens large.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="#forwardreverse">Mandataires/Passerelles directs et +inverses</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyset" id="proxyset">Directive</a> <a name="ProxySet" id="ProxySet">ProxySet</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit différents paramètres relatifs à la répartition de +charge des mandataires et aux membres des groupes de répartition de +charge</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>ProxySet n'est disponible que depuis la version 2.2 +du serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive propose une méthode alternative pour définir tout + paramètre relatif aux répartiteurs de charge et serveurs cibles de + mandataires normalement définis via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Si elle se trouve dans un + conteneur <code><Proxy <var>url de répartiteur|url de + serveur cible</var>></code>, l'argument <var>url</var> n'est pas + nécessaire. Comme effet de bord, le répartiteur ou serveur cible respectif + est créé. Ceci peut s'avérer utile pour la mise en oeuvre d'un + mandataire inverse via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> au lieu de <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p> + + <div class="example"><pre class="prettyprint lang-config"><Proxy "balancer://hotcluster"> + BalancerMember "http://www2.example.com:8080" loadfactor=1 + BalancerMember "http://www3.example.com:8080" loadfactor=2 + ProxySet lbmethod=bytraffic +</Proxy></pre> +</div> + + <pre class="prettyprint lang-config"><Proxy "http://backend"> + ProxySet keepalive=On +</Proxy></pre> + + + <pre class="prettyprint lang-config">ProxySet "balancer://foo" lbmethod=bytraffic timeout=15</pre> + + + <pre class="prettyprint lang-config">ProxySet "ajp://backend:7001" timeout=15</pre> + + + <div class="warning"><h3>Avertissement</h3> + <p>Gardez à l'esprit qu'une même clé de paramètre peut avoir + différentes significations selon qu'elle s'applique à un + répartiteur ou à un serveur cible, et ceci est illustré par les deux + exemples précédents où il est question d'un timeout.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxysourceaddress" id="proxysourceaddress">Directive</a> <a name="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'adresse IP locale pour les connexions mandatées +sortantes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySourceAddress <var>adresse</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9</td></tr> +</table> + <p>Cette directive permet de définir une adresse IP locale + spécifique à laquelle faire référence lors d'une connexion à un + serveur d'arrière-plan.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxystatus" id="proxystatus">Directive</a> <a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Affiche l'état du répartiteur de charge du mandataire dans +mod_status</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyStatus Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 d'Apache</td></tr> +</table> + <p>Cette directive permet de spécifier si les données d'état du + répartiteur de charge du mandataire doivent être affichées via la + page d'état du serveur du module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p> + <div class="note"><h3>Note</h3> + <p>L'argument <strong>Full</strong> produit le même effet que + l'argument <strong>On</strong>.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxytimeout" id="proxytimeout">Directive</a> <a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente réseau pour les requêtes +mandatées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyTimeout <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive permet à l'utilisateur de spécifier un délai pour + les requêtes mandatées. Ceci s'avère utile dans le cas d'un serveur + d'applications lent et bogué qui a tendance à se bloquer, et si vous + préférez simplement renvoyer une erreur timeout et abandonner la + connexion en douceur plutôt que d'attendre jusqu'à ce que le serveur + veuille bien répondre.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyvia" id="proxyvia">Directive</a> <a name="ProxyVia" id="ProxyVia">ProxyVia</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information fournie dans l'en-tête de réponse HTTP +<code>Via</code> pour les requêtes mandatées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyVia Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr> +</table> + <p>Cette directive permet de contrôler l'utilisation de l'en-tête + HTTP <code>Via:</code> par le mandataire. Le but recherché est de + contrôler le flux des requêtes mandatées tout au long d'une chaîne + de serveurs mandataires. Voir <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1), + section 14.45 pour une description des lignes d'en-tête + <code>Via:</code>.</p> + + <ul> + <li>Si elle est définie à <code>Off</code>, valeur par défaut, cette + directive n'effectue aucun traitement particulier. Si une requête ou + une réponse contient un en-tête <code>Via:</code>, il est transmis + sans modification.</li> + + <li>Si elle est définie à <code>On</code>, chaque requête ou réponse + se verra ajouter une ligne d'en-tête <code>Via:</code> pour le + serveur courant.</li> + + <li>Si elle est définie à <code>Full</code>, chaque ligne d'en-tête + <code>Via:</code> se verra ajouter la version du serveur Apache + httpd sous la forme d'un champ de commentaire <code>Via:</code>.</li> + + <li>Si elle est définie à <code>Block</code>, chaque requête + mandatée verra ses lignes d'en-tête <code>Via:</code> supprimées. + Aucun nouvel en-tête <code>Via:</code> ne sera généré.</li> + </ul> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy.html.ja.utf8 b/docs/manual/mod/mod_proxy.html.ja.utf8 new file mode 100644 index 0000000..0de94ef --- /dev/null +++ b/docs/manual/mod/mod_proxy.html.ja.utf8 @@ -0,0 +1,1288 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_proxy</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>HTTP/1.1 プロキシ/ゲートウェイサーバ</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>proxy_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy.c</td></tr></table> +<h3>概要</h3> + + <div class="warning"><h3>警告</h3> + <p><a href="#access">サーバを安全にする</a>まで <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> は有効にしないでください。 + オープンプロキシサーバはあなた自身のネットワークにとっても、 + インターネット全体にとっても危険です。</p> + </div> + + <p>このモジュールは Apache のプロキシ/ゲートウェイ機能を実装しています。 + <code>AJP13</code> (Apache JServe Protocol version 1.3), + <code>FTP</code>, <code>CONNECT</code> (SSL 用), + <code>HTTP/0.9</code>, <code>HTTP/1.0</code>, <code>HTTP/1.1</code> + のプロキシ機能を実装しています。これらのプロトコルやその他のプロトコル用の + プロキシ機能を持った、他のモジュールに接続するようにも設定できます。</p> + + <p>Apache のプロキシ機能は <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> の他に、 + いくつかのモジュールに分割されています: + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>, <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>, + <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>, <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, + <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> です。ですから、 + 特定のプロキシの機能を使いたい場合は、<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> <em>と</em> + 該当するモジュールをサーバに (コンパイル時に静的に行なうか + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> で動的に読み込むかして) + 組み込む必要があります。</p> + + <p>これに加えて、他のモジュールによって拡張機能が提供されています。 + キャッシュは <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> と関連モジュールで + 提供されています。SSL/TLS で遠隔サーバに接続する機能は + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> の <code>SSLProxy*</code> ディレクティブで + 提供されています。これらの機能を利用するためには、該当するモジュールを + 組み込んで設定しなければなりません。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">フォワードプロキシとリバースプロキシ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">基本の例</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#access">プロキシへのアクセス制御</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startup">遅い起動</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#intranet">イントラネットプロキシ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">プロトコルの調整</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">リクエストボディ</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxy"><Proxy></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxy100continue">Proxy100Continue</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch"><ProxyMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="forwardreverse" id="forwardreverse">フォワードプロキシとリバースプロキシ</a></h2> + <p>Apache は<dfn>フォワード</dfn>プロキシとしても、 + <dfn>リバース</dfn>プロキシとしても設定することができます。</p> + + <p>通常の<dfn>フォワードプロキシ</dfn>はクライアントと + <em>オリジンサーバ</em> <span class="transnote">(<em>訳注:</em> コンテンツ生成元のサーバ)</span> + の間に位置する中間サーバです。 + オリジンサーバからコンテンツを取得する過程では、クライアントは + 行き先としてオリジンサーバを指定しつつプロキシにリクエストを送り、 + プロキシはオリジンサーバからコンテンツ取得のリクエストを送り、 + コンテンツが取得できればそれをクライアントに返します。 + クライアントが他のサイトにフォワードプロクシ経由でアクセスするには、 + 特別にそれ用の設定をしなければなりません。</p> + + <p>フォワードプロキシの一般的な使用方法は、ファイアウォールによって + 制限されている内部のクライアントにインターネットへのアクセスを + 提供するものです。フォワードプロキシはネットワークの使用量を + 減らすために (<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> で提供されている) + キャッシュ機能を用いることもできます。</p> + + <p>フォワードプロキシは <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブで + 有効になります。フォワードプロキシでは、クライアントは本当の身元を + 隠して任意のサイトにアクセスできるようになるため、フォワードプロキシを + 有効にする前に、承認されたクライアントのみがプロキシにアクセスできるように + <a href="#access">サーバを安全にする</a>ことが重要です。</p> + + <p>一方<dfn>リバースプロキシ</dfn>は、クライアントには普通の + ウェブサーバのように見えます。クライアント側に特別な設定は必要ありません。 + クライアントはリバースプロキシの名前空間に対して通常のコンテンツへの + リクエストを行ないます。プロキシはリクエストをどこに送れば良いかを判定し、 + あたかも自分自身がオリジンサーバであったかのようにクライアントに + コンテンツを返します。</p> + + <p>リバースプロキシのよくある利用方法は、インターネットユーザに + ファイアウォールの中にあるサーバにアクセスを与えるというものです。 + リバースプロキシは複数のバックエンドサーバへ負荷分散をするために + 使ったり、遅いバックエンドエンドサーバのためにキャッシュ機能を提供したり + するために使えます。また、リバースプロキシは複数のサーバを + 同じ URL 空間にまとめるために使うこともできます。</p> + + <p>リバースプロキシは <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブや + <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブの + <code>[P]</code> フラグを使うことで有効になります。リバースプロキシの + 設定のために <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> を設定する必要は + <em>ありません</em>。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">基本の例</a></h2> + + <p>以下の例は手始めの簡単な例です。個々のディレクティブの意味は + それぞれの説明をお読みください。</p> + + <p>またキャッシュ機能を有効にしたい場合は、<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> + の説明を読んでください。</p> + + <div class="example"><h3>フォワードプロキシ</h3><p><code> + ProxyRequests On<br /> + ProxyVia On<br /> + <br /> + <Proxy *><br /> + <span class="indent"> + Order deny,allow<br /> + Deny from all<br /> + Allow from internal.example.com<br /> + </span> + </Proxy> + </code></p></div> + + <div class="example"><h3>リバースプロキシ</h3><p><code> + ProxyRequests Off<br /> + <br /> + <Proxy *><br /> + <span class="indent"> + Order deny,allow<br /> + Allow from all<br /> + </span> + </Proxy><br /> + <br /> + ProxyPass /foo http://foo.example.com/bar<br /> + ProxyPassReverse /foo http://foo.example.com/bar + </code></p></div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="access" id="access">プロキシへのアクセス制御</a></h2> + <p>プロキシのアクセスは以下のように <code class="directive"><a href="#proxy"><Proxy></a></code> コンテナの中に + ディレクティブを書くことで制御できます:</p> + + <div class="example"><p><code> + <Proxy *><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from 192.168.0<br /> + </span> + </Proxy> + </code></p></div> + + <p>アクセス制御のためのディレクティブのより詳しい情報は + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> をお読みください。</p> + + <p>(<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブを + 使って) フォワードプロキシを設定している場合は、厳しくアクセス + 制限を行なうことが非常に大切です。そうしないと、任意のクライアントが + 身元を明かすことなく任意のホストにアクセスするためにサーバを使うことが + できてしまいます。これはあなた自身のネットワークにとっても、インターネット + 全体にとっても危険なことです。(<code>ProxyRequests Off</code> にして + <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブを使って) + リバースプロキシを使っている場合には、クライアントはあなたが明示的に + 設定したホストにしかアクセスできないため、フォワードプロキシのとき + ほどアクセス制御に力を注がなくても大丈夫です。</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="startup" id="startup">遅い起動</a></h2> + <p><code class="directive"><a href="#proxyblock">ProxyBlock</a></code> ディレクティブを使っている場合、 + 後のテストのために起動時にホストの + IP アドレスが調べられてキャッシュされます。ホスト名のルックアップの + 速さによっては、数秒 (かそれ以上) かかるかもしれません。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="intranet" id="intranet">イントラネットプロキシ</a></h2> + <p>イントラネットにある Apache プロキシサーバは外部へのリクエストを + 会社のファイアウォールを通して送らなければなりません。(このためには + 個々の <var>scheme</var> についてそれぞれ、ファイアウォールの + プロキシにフォワードされるように + <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブを + 設定してください)。しかしイントラネット内のリソースにアクセスするときは、 + ファイアウォールを通さないでもアクセスできます。 + どのホストがイントラネットに属し、直接アクセスすべきかを指定するには、 + <code class="directive"><a href="#noproxy">NoProxy</a></code> ディレクティブが + 役に立ちます。</p> + + <p>イントラネット内のユーザは WWW のリクエストでローカルドメインを + 省略することがよくあります。<code>http://somehost.example.com/</code> + というリクエストの代わりに "http://somehost/" をリクエストしたりします。 + このようなリクエストを受け付け、サーバに設定されているローカルドメインが + 暗黙のうちに使われていると解釈して、単純にリクエストを処理するものも + 商用プロキシサーバの中にはあります。 + サーバが <a href="#proxyrequests">プロキシのサービス用に設定されていて</a> + <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> ディレクティブが + 使用された場合には、Apache はクライアントにリダイレクト応答を送って、 + 正しい、完全な (<span class="transnote">(<em>訳注:</em> fully qualified)</span>) + サーバのアドレスに送ることができます。このように + リダイレクトすると、ユーザのブックマークが正しい完全なホスト名を含む + ことにもなるため、より好ましい方法と言えるでしょう。</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="envsettings" id="envsettings">プロトコルの調整</a></h2> + <p>Keepalive や HTTP/1.1 を適切に実装していないアプリケーションサーバに対して + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> がリクエストを送信する場合、 + HTTP/1.0 を使って keepalive を無しにしてリクエストを送るようにする + 環境変数が二つあります。これらは <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> ディレクティブで設定します。</p> + + <p><code>force-proxy-request-1.0</code> と <code>proxy-nokeepalive</code> + がその環境変数です。</p> + + <div class="example"><p><code> + <Location /buggyappserver/><br /> + <span class="indent"> + ProxyPass http://buggyappserver:7001/foo/<br /> + SetEnv force-proxy-request-1.0 1<br /> + SetEnv proxy-nokeepalive 1<br /> + </span> + </Location> + </code></p></div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="request-bodies" id="request-bodies">リクエストボディ</a></h2> + + <p>POST メソッドなどのリクエストには、リクエストボディがあります。 + HTTP プロトコル仕様によると、ボディのあるリクエストは chunked + 転送を使うか、<code>Content-Length</code> + ヘッダを送信しなければなりません。 + このようなリクエストをオリジンサーバに送信する場合、 + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> は常に <code>Content-Length</code> + を送ろうと試みます。しかし。ボディが大きく、オリジナルのリクエストで + chunked 転送が使われている場合、上流へのリクエストに + chunked 転送も使われます。 + この挙動は <a href="../env.html">環境変数</a>で制御できます。 + <code>proxy-sendcl</code> を設定すると、可能な限り常に + <code>Content-Length</code> を付与して、 + 上流サーバに送信するようになります。 + 逆に <code>proxy-sendchunked</code> を設定すると、リソース消費を抑え、 + chnked エンコードを使って送信するようになります。</p> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a> <a name="balancergrowth" id="balancergrowth">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BalancerGrowth 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>BalancerGrowth is only available in Apache HTTP Server 2.3.13 + and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerInherit" id="BalancerInherit">BalancerInherit</a> <a name="balancerinherit" id="balancerinherit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerInherit On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BalancerInherit On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>BalancerInherit is only available in Apache HTTP Server 2.4.5 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Add a member to a load balancing group</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BalancerPersist" id="BalancerPersist">BalancerPersist</a> <a name="balancerpersist" id="balancerpersist">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerPersist On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BalancerPersist Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>BalancerPersist is only available in Apache HTTP Server 2.4.4 and later.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>直接接続する ホスト、ドメイン、ネットワーク</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>NoProxy <var>host</var> [<var>host</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p>このディレクティブはイントラネット中の Apache プロキシサーバにのみ + 有用です。<code class="directive">NoProxy</code> ディレクティブは空白区切りで、 + サブネット、IP アドレス、ホスト、ドメインのリストを指定します。 + これらのどれかにマッチするホストへのリクエストは <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> で設定されたプロキシサーバに + フォワードされず、直接処理されます。</p> + + <div class="example"><h3>例</h3><p><code> + ProxyRemote * http://firewall.mycompany.com:81<br /> + NoProxy .mycompany.com 192.168.112.0/21 + </code></p></div> + + <p><code class="directive">NoProxy</code> ディレクティブの <var>host</var> 引数は + 以下の種類のどれかです:</p> + + <dl> + + <dt><var><a name="domain" id="domain">Domain</a></var></dt> + <dd> + <p><dfn>Domain</dfn> は先頭にピリオドの着いた部分 DNS ドメイン名です。 + 同一 DNS ドメイン及びゾーン (<em>すなわち</em>、ホスト名の末尾がすべて + <var>Domain</var> で終わっているということ) に属するホストのリストを + 表します)。</p> + + <div class="example"><h3>例</h3><p><code> + .com .apache.org. + </code></p></div> + + <p><var>Domain</var> を <a href="#hostname">Hostname</a> と区別するために (意味的にも構文的にも。DNS ドメインも + DNS の A レコードを持つことができるのです!)、<var>Domain</var> は + 常にピリオドで始まります。</p> + + <div class="note"><h3>注</h3> + <p>ドメイン名の比較は大文字小文字を区別せずに行なわれ、<var>Domain</var> + は常に DNS ツリーのルートから始まるものとみなされます。ですから、 + 次の二つのドメイン <code>.MyDomain.com</code> と + <code>.mydomain.com.</code> (最後のピリオドに注目) は同一であると + みなされます。ドメインの比較は DNS ルックアップなしで行なわれるため、 + サブネットの比較よりもずっと効率的です。</p> + </div></dd> + + + <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt> + <dd> + <p><dfn>SubNet</dfn> は数値形式 (ドットで区切られた四つの数字) の + 部分インターネットアドレスです。後にスラッシュと <var>Subnet</var> + の意味のあるビット数を指定するネットマスクとを続けることができます。 + 共通のネットワークインタフェースを使って到達することのできるサブネットを + 表すために使われます。明示的にネットマスクを指定しない場合は + 最後の省略された (もしくは値が 0 の) 数字がマスクを指定します。 + (この場合は、ネットマスクは 8 ビット単位でしか指定できません。) + 例:</p> + + <dl> + <dt><code>192.168</code> もしくは <code>192.168.0.0</code></dt> + <dd>サブネット 192.168.0.0 と暗黙の 16 ビット有効なネットマスク + (<code>255.255.0.0</code> というネットマスクの形式で使われることも + あります)</dd> + <dt><code>192.168.112.0/21</code></dt> + <dd>サブネット<code>192.168.112.0/21</code> と 21 ビット有効な + ネットマスク (<code>255.255.248.0</code> という形式で使われることも + あります)</dd> + </dl> + + <p>特別な場合に、32 ビット有効な <em>SubNet</em> は + <var><a href="#ipadr">IPAddr</a></var> と同等で、 + 0 ビット有効な <var>SubNet</var> (<em>例えば</em>、0.0.0.0/0) は + すべての IP アドレスにマッチする定数 <var>_Default_</var> と同じです。</p> + </dd> + + + <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt> + <dd> + <p><dfn>IPAddr</dfn> は数値形式 (ドットで区切られた四つの数字) の + 完全インターネットアドレスです。通常はこのアドレスはホストを + 表しますが、必ずしもアドレスに対応する DNS ドメイン名があるわけでは + ありません。</p> + + <div class="example"><h3>例</h3><p><code> + 192.168.123.7 + </code></p></div> + + <div class="note"><h3>注</h3> + <p><var>IPAddr</var> は DNS システムにより解決される必要がないので、 + apache の性能が向上するかもしれません。</p> + </div></dd> + + + <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt> + <dd> + <p><dfn>Hostname</dfn> は DNS ドメインサービスにより一つもしくは + 複数の <var><a href="#ipaddr">IPAddr</a></var> に解決可能な + 完全な DNS ドメイン名です。これは (<var><a href="#domain">Domain</a></var> + と違って、説明は上記を参照) 論理的なホストを表し、少くとも一つの + <var><a href="#ipaddr">IPAddr</a></var> (もしくは違う + <var><a href="#ipaddr">IPAddr</a></var> のホストのリスト) に解決 + されなければなりません)。</p> + + <div class="example"><h3>例</h3><p><code> + prep.ai.mit.edu<br /> + www.apache.org + </code></p></div> + + <div class="note"><h3>注</h3> + <p>多くの場合、<var>Hostname</var> の代わりに <var><a href="#ipaddr">IPAddr</a></var> を指定した方が、DNS ルックアップを + 避けることができるため、効率が良くなります。Apache の名前解決は + ネームサーバへの接続が遅い PPP 上の場合などにかなり時間を取られる + ことがあります。</p> + <p><var>Hostname</var> の比較は大文字小文字を区別せずに行なわれ、 + <var>Hostname</var> は常に DNS ツリーのルートから始まるものとみなされます。 + ですから、二つのドメイン <code>WWW.MyDomain.com</code> と + <code>www.mydomain.com.</code> (最後のピリオドに注目) は同一であると + みなされます。</p> + </div></dd> + </dl> + +<h3>参照</h3> +<ul> +<li><a href="../dns-caveats.html">DNS に関する問題</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Proxy" id="Proxy"><Proxy></a> <a name="proxy" id="proxy">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされるリソースに適用されるコンテナ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Proxy <var>wildcard-url</var>> ...</Proxy></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p><code class="directive"><Proxy></code> セクション中の + ディレクティブはマッチするプロキシされるコンテンツにのみ適用されます。 + シェル形式のワイルドカードが使えます。</p> + + <p>例えば、次の設定は <code>yournetwork.example.com</code> の + ホストにのみプロキシサーバを経由したアクセスを許可します:</p> + + <div class="example"><p><code> + <Proxy *><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from yournetwork.example.com<br /> + </span> + </Proxy> + </code></p></div> + + <p>次の例は <code>example.com</code> の <code>foo</code> ディレクトリの + すべてのファイルに対して、プロキシサーバを通して送られたときには + <code>INCLUDES</code> フィルタを通して送るように設定します:</p> + + <div class="example"><p><code> + <Proxy http://example.com/foo/*><br /> + <span class="indent"> + SetOutputFilter INCLUDES<br /> + </span> + </Proxy> + </code></p></div> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Proxy100Continue" id="Proxy100Continue">Proxy100Continue</a> <a name="proxy100continue" id="proxy100continue">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Forward 100-continue expectation to the origin server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Proxy100Continue Off|On</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Proxy100Continue On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.4.40 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a> <a name="proxyaddheaders" id="proxyaddheaders">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Add proxy information in X-Forwarded-* headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyAddHeaders On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.3.10 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a> <a name="proxybadheader" id="proxybadheader">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>応答におかしなヘッダがある場合の扱い方を決める</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyBadHeader IsError</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.44 以降</td></tr> +</table> + <p><code class="directive">ProxyBadHeader</code> ディレクティブは構文的に + 間違ったヘッダ (<em>つまり</em> コロンを含まないもの) を受け取ったときに + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> がどう振る舞うかを決めます。以下の引数を + 取ることができます:</p> + + <dl> + <dt><code>IsError</code></dt> + <dd>リクエストを中止して 502 (Bad Gateway) 応答を返す。 + これがデフォルトの動作です。</dd> + + <dt><code>Ignore</code></dt> + <dd>間違ったヘッダ行をそもそも存在しなかったものとして扱う。</dd> + + <dt><code>StartBody</code></dt> + <dd>間違ったヘッダ行を受け取ったら、ヘッダの読み込みを終了して、 + それ以降の残りをボディとして扱う。これはヘッダとボディの間に空行を入れ忘れて + しまっているような、きちんと動作していないバックエンドサーバがあるときに、 + 問題を回避するのに役に立ちます。</dd> + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a> <a name="proxyblock" id="proxyblock">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシ接続を禁止する語句、ホスト名、ドメインを指定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p><code class="directive">ProxyBlock</code> ディレクティブは空白で区切られた + 語句、ホスト名、ドメインのリストを指定します。サイト名にその語句、ホスト名、 + ドメインを含むサイトへの HTTP、HTTPS、FTP によるドキュメントのリクエストは + プロキシサーバにより<em>ブロックされます</em>。プロキシモジュールは + 起動時にホスト名と思しき項目の IP アドレスを調べ、後のテストのために + キャッシュします。これにより、サーバの起動が少し遅くなるかもしれません。</p> + + <div class="example"><h3>Example</h3><p><code> + ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu + </code></p></div> + + <p><code>rocky.wotsamattau.edu</code> が IP アドレスで参照されたときでも + マッチします。</p> + + <p><code>wotsamattau.edu</code> のマッチには <code>wotsamattau</code> + だけでも十分です。</p> + + <div class="example"><p><code> + ProxyBlock * + </code></p></div> + + <p>はすべてのサイトへの接続をブロックすることに注意してください。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a> <a name="proxydomain" id="proxydomain">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたリクエストのデフォルトのドメイン名</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyDomain <var>Domain</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p>このディレクティブはイントラネット内の Apache プロキシサーバにのみ + 有用です。<code class="directive">ProxyDomain</code> ディレクティブは + apache プロキシサーバが属するデフォルトのドメインを指定します。 + ドメイン名の無いリクエストを受けた場合、設定された <var>Domain</var> + が追加された同じホストへのリダイレクト応答が返されます。</p> + + <div class="example"><h3>例</h3><p><code> + ProxyRemote * http://firewall.mycompany.com:81<br /> + NoProxy .mycompany.com 192.168.112.0/21<br /> + ProxyDomain .mycompany.com + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a> <a name="proxyerroroverride" id="proxyerroroverride">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたコンテンツのエラーページを上書きする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyErrorOverride Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0 以降で使用可能</td></tr> +</table> + <p>このディレクティブはリバースプロキシを使用していて、 + エンドユーザに送られるエラーページの外見を共通のものにしたいときに + 有用です。このディレクティブは (<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> の SSI によって) + インクルードされたファイルがエラーコードを取得して、正しく動作を + するようにもします (デフォルトの動作は、プロキシされたサーバの + エラーページの表示で、このディレクティブを有効にすると SSI のエラー + メッセージを表示します)。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a> <a name="proxyiobuffersize" id="proxyiobuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>内部データスループットバッファのサイズを決定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyIOBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p><code class="directive">ProxyIOBufferSize</code> ディレクティブは入力と + 出力用の一時メモリとして使われる内部バッファのサイズを調整します。 + サイズは <code>8192</code> 以下でなければなりません。</p> + + <p>ほとんどすべての場合、この値を変更する理由はありません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyMatch" id="ProxyMatch"><ProxyMatch></a> <a name="proxymatch" id="proxymatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現でのマッチによるプロキシリソース用のディレクティブコンテナ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><ProxyMatch <var>regex</var>> ...</ProxyMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p><code class="directive"><ProxyMatch></code> は URL のマッチに + <a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a> を用いることを除いて + <code class="directive"><Proxy></code> ディレクティブと同じです。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a> <a name="proxymaxforwards" id="proxymaxforwards">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストがフォワードされるプロキシの最大数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyMaxForwards <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyMaxForwards 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 以降で使用可能</td></tr> +</table> + <p><code class="directive">ProxyMaxForwards</code> ディレクティブは + リクエストに <code>Max-Forwards</code> ヘッダが指定されていない場合に + リクエストが通過可能なプロキシの最大数を設定します。これは + プロキシの無限ループや DoS 攻撃を防ぐために設定されています。</p> + + <div class="example"><h3>例</h3><p><code> + ProxyMaxForwards 15 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPass" id="ProxyPass">ProxyPass</a> <a name="proxypass" id="proxypass">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リモートサーバをローカルサーバの URL 空間にマップする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p>このディレクティブはリモートサーバをローカルサーバの名前空間に + マップできるようにします。ローカルサーバは通常の意味でのプロキシと + しては動作せず、リモートサーバのミラーとして振る舞います。 + <var>path</var> はローカルの仮想パスの名前です。<var>url</var> は + リモートサーバの部分 URL になり、クエリー文字列を含むことはできません。</p> + + <div class="warning"><code class="directive">ProxyPass</code> ディレクティブを + 使っているときは <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブは通常は + <strong>off</strong> に設定されているべきです。</div> + + <p>ローカルサーバのアドレスが <code>http://example.com/</code> であると + します。すると、</p> + + <div class="example"><p><code> + ProxyPass /mirror/foo/ http://backend.example.com/ + </code></p></div> + + <p>と設定すると <code>http://example.com/mirror/foo/bar</code> への + リクエストが内部的に <code>http://backend.example.com/bar</code> への + プロキシリクエストに変換されることになります。</p> + + <p>サブディレクトリをリバースプロキシしたくないときに <code>!</code> は + 役に立ちます。<em>例えば</em>、</p> + + <div class="example"><p><code> + ProxyPass /mirror/foo/i !<br /> + ProxyPass /mirror/foo http://backend.example.com + </code></p></div> + + <p>は <code>/mirror/foo/i</code> を<em>除く</em> + <code>/mirror/foo</code> へのすべてのリクエストを + <code>backend.example.com</code> にプロキシします。</p> + + <div class="note"><h3>注</h3> + <p>順番は重要です。一般的な <code class="directive">ProxyPass</code> + ディレクティブの<em>前に</em> + 除外ディレクティブを置く必要があります。</p> + </div> + + <p>2.1 の機能で、バックエンドサーバとの接続にプールされたコネクションを + 使えるようになりました。<code>key=value</code> 形式のパラメータで + このコネクションプーリングの調整ができます。<code>Hard Maximum</code> + のデフォルト値は、有効になっている MPM でのプロセス当たりのスレッド数と + 同じ数のコネクション数です。prefork MPM では通常は 1 で、worker MPM では + <code class="directive">ThreadsPerChild</code> で調整されます。</p> + + <p><code>min</code> の設定で、バックエンドサーバとの間に何本のコネクションを + 常時開くかが決まります。Soft Maximum <code>smax</code> の数に + 達するまで必要に応じてコネクションは生成されます。<code>smax</code> + を超えた数のコネクションは、生存時間 <code>ttl</code> で切断されます。 + バックエンドサーバと Hard Maximum <code>max</code> の数以上のコネクションを + 生成することはありません。</p> + + <div class="example"><p><code> + ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300 + </code></p></div> + + <table> + <tr><th>パラメータ</th> + <th>デフォルト値</th> + <th>説明</th></tr> + <tr><td>min</td> + <td>0</td> + <td>バックエンドサーバとの接続で + 常に開いているコネクション数の最小値</td></tr> + <tr><td>max</td> + <td>1...n</td> + <td>バックエンドサーバとの接続数の Hard Maximum + <span class="transnote">(<em>訳注:</em> ハードリミット)</span>。 + デフォルト値は、使用している MPM のプロセスあたりのスレッド数になっています。 + Prefork MPM では常に 1 で、Worker MPM では <code class="directive">ThreadsPerChild</code> + で調節できます。Hard Maximum 以上にバックエンドサーバとのコネクションを + 生成することはありません。</td></tr> + <tr><td>smax</td> + <td>max</td> + <td>接続数の Soft Maximum <span class="transnote">(<em>訳注:</em> ソフトリミット)</span>まで、 + コネクションは必要に応じて生成されます。 + <code>smax</code> を超えた数のコネクションは生存時間 <code>ttl</code> + で切断されます。 + </td></tr> + <tr><td>ttl</td> + <td>-</td> + <td><code>smax</code> 数を超えた非活動状態のコネクションの生存時間を、 + 秒で指定します。この期間内に使用されなかったコネクションは、 + 全て閉じられます。 + </td></tr> + <tr><td>timeout</td> + <td><code class="directive">Timeout</code></td> + <td>コネクションタイムアウトを秒で指定します。特に指定されなければ、 + フリーなコネクションを取得できるまで待ちます。このディレクティブは + <code>max</code> パラメータと合わせて使うことで、バックエンドサーバとの + 接続数を制御するのに使います。 + </td></tr> + <tr><td>acquire</td> + <td>-</td> + <td>設定すると、コネクションプールからフリーのコネクションを取得するために + 待機する待ち時間の最大値になります。フリーのコネクションがプールになかった場合は、 + <code>SERVER_BUSY</code> ステータスがクライアントに返されます。 + </td></tr> + <tr><td>keepalive</td> + <td>Off</td> + <td>バックエンドサーバと Apache の間にファイアーウォールがある場合には、 + このパラメータを使ってください。ファイアウォールは往々にして、 + 非活動状態のコネクションを落とそうとします。 + このフラグは OS に指示して、<code>KEEP_ALIVE</code> メッセージを非活動状態の + コネクションでも送るようにします (間隔は OS のグローバル設定に依存し、 + 通常は 120ms 間隔) 。これによってファイアウォールによってコネクションが + 落とされることを防げます。keepalive を有効にするには、このプロパティを + <code>On</code> にしてください。 + </td></tr> + <tr><td>retry</td> + <td>60</td> + <td>コネクションをプーリングするための、リトライのタイムアウトを秒で + 指定します。バックエンドサーバへのコネクションプーリングが失敗した場合は、 + タイムアウトの期間が過ぎるまで、そのサーバにリクエストをフォワードしません。 + この機能を使うと、バックエンドサーバをメンテナンスのためにシャットダウンし、 + 後でオンラインに復帰させるといったことができます。 + </td></tr> + <tr><td>loadfactor</td> + <td>1</td> + <td>ワーカーあたりの負荷係数です。BalancerMember で使います。 + 1 から 100 までの数字でそのワーカーに対する正規化された負荷率を指定します。 + </td></tr> + <tr><td>route</td> + <td>-</td> + <td>ロードバランサで使った場合、ワーカーのルーティングをします。 + ルートはセッション ID に付加された値になります。 + </td></tr> + <tr><td>redirect</td> + <td>-</td> + <td>ワーカーのリダイレクション経路です。この値は通常は、 + 安全にクラスタからノードを取り去る設定を動的に入れるために使います。 + セッション ID の無いリクエスト全てを指定した場合は、 + この値と同じルーティングパラメータを持つ + BalancerMember にリダイレクトされます。 + </td></tr> + + </table> + + <p>Proxy ディレクティブのスキームが <code>balancer://</code> になっている場合は、 + バックエンドサーバと実際には通信しない仮想ワーカーが生成されます。 + このワーカーは幾つかの "本物の" ワーカーの管理をつかさどります。 + この場合パラメータは、この仮想ワーカーに対して設定されます。 + </p> + <table> + <tr><th>パラメータ</th> + <th>デフォルト値</th> + <th>説明</th></tr> + <tr><td>lbmethod</td> + <td>-</td> + <td>Balancer のロードバランス方法。使用するロードバランスの + スケジューリング方法を選びます。処理したリクエストの数で重み付けする + <code>byrequests</code> か、転送量のバイト数で重み付けする + <code>bytraffic</code> を設定できます。デフォルトは + <code>byrequests</code> です。 + </td></tr> + <tr><td>stickysession</td> + <td>-</td> + <td>バランサーのスティッキーセッション名です。通常はこの値は <code>JSESSIONID</code> + や <code>PHPSESSIONID</code> といったものになりますが、この値は + バックエンドアプリケーションのサポートするセッションに依存します。 + </td></tr> + <tr><td>nofailover</td> + <td>Off</td> + <td><code>On</code> になっていると、ワーカーがエラーを起こしたり + 無効になっている場合にセッションが切れます。 + バックエンドサーバがセッションレプリケーションをサポートしていない場合は、 + On にしてください。 + </td></tr> + <tr><td>timeout</td> + <td>0</td> + <td>バランサーのタイムアウトを秒で指定します。 + この値を設定すると、フリーのワーカーを取得するまでの最大待機時間になります。 + デフォルトでは待機しません。 + </td></tr> + <tr><td>maxattempts</td> + <td>1</td> + <td>フェイルオーバーを試みる最大の回数を指定します。 + </td></tr> + + </table> + <div class="example"><p><code> + ProxyPass /special-area http://special.example.com/ smax=5 max=10<br /> + ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On<br /> + <Proxy balancer://mycluster><br /> + <span class="indent"> + BalancerMember http://1.2.3.4:8009<br /> + BalancerMember http://1.2.3.5:8009 smax=10<br /> + # Less powerful server, don't send as many requests there<br /> + BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br /> + </span> + </Proxy> + </code></p></div> + + <p><code class="directive"><a href="../mod/core.html#location"><Location></a></code> セクションの中で使われた場合、最初の引数は + 省略され、ローカルディレクトリは <code class="directive"><a href="../mod/core.html#location"><Location></a></code> から取得されます。</p> + + <p>より柔軟なリバースプロキシの設定が必要な場合は、<code>[P]</code> + フラグ付きの <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> + ディレクティブを参照してください。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a> <a name="proxypassinherit" id="proxypassinherit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Inherit ProxyPass directives defined from the main server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyPassInherit On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>ProxyPassInherit is only available in Apache HTTP Server 2.4.5 and later. + </td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a> <a name="proxypassinterpolateenv" id="proxypassinterpolateenv">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a> <a name="proxypassmatch" id="proxypassmatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リバースプロキシされたサーバから送られた HTTP 応答ヘッダの +URL を調整する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassReverse [<var>path</var>] <var>url</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p>このディレクティブは Apache に HTTP リダイレクト応答の + <code>Location</code>, <code>Content-Location</code>, <code>URI</code> + ヘッダの調整をさせます。これは、Apache がリバースプロキシとして使われている + ときに、リバースプロキシを通さないでアクセスすることを防ぐために + 重要です。これによりバックエンドサーバの HTTP リダイレクトが + リバースプロキシとバックエンドの間で扱われるようになります。</p> + + <p>ディレクティブで明示されている HTTP 応答ヘッダのみが書き換えられます。 + Apache は他の応答ヘッダを書き換えたり、HTML ページの中の URL 参照を + 書き換えたりすることはありません。HTML の中を見て、URL 参照を書き換える + モジュールに Nick Kew さんの <a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a> があります。</p> + + <p><var>path</var> はローカル仮想パスの名前です。<var>url</var> は + リモートサーバの部分 URL です。これらは <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブと同様です。</p> + + <p>例えば、ローカルサーバのアドレスが <code>http://example.com/</code> + だとします。すると</p> + + <div class="example"><p><code> + ProxyPass /mirror/foo/ http://backend.example.com/<br /> + ProxyPassReverse /mirror/foo/ http://backend.example.com/<br /> + ProxyPassReverseCookieDomain backend.example.com public.example.com<br /> + ProxyPassReverseCookiePath / /mirror/foo/ + </code></p></div> + + <p>という設定をすると、<code>http://example.com/mirror/foo/bar</code> + へのローカルリクエストが <code>http://backend.example.com/bar</code> + へのプロキシリクエストに内部でリダイレクトされるだけではありません + (これは <code>ProxyPass</code> の機能です)。<code>backend.example.com</code> + が送るリダイレクトの面倒もみます。<code>http://backend.example.com/bar</code> + が <code>http://backend.example.com/quux</code> にリダイレクトされたとき、 + Apache は HTTP リダイレクト応答をクライアントに送る前に、 + <code>http://example.com/mirror/foo/quux</code> に変更します。 + URL を構成するのに使われるホスト名は <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> の設定に応じて選択されることに + 注意してください。</p> + + <p><code class="directive">ProxyPassReverse</code> ディレクティブは + 対応する <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブには依存しないため、 + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> のプロキシ通過機能 + (<code>RewriteRule ... [P]</code>) と併せて使用することができます。</p> + + <p><code class="directive"><a href="../mod/core.html#location"><Location></a></code> セクションの中で使われた場合は、 + 最初の引数は省略され、ローカルディレクトリは <code class="directive"><a href="../mod/core.html#location"><Location></a></code> から取得されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a> <a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リバースプロキシサーバからの Set-Cookie ヘッダの Domain 文字列を +調整する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassReverseCookieDomain <var>internal-domain</var> <var>public-domain</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> +<p>使用法は基本的に +<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> と同じですが、 +ヘッダの URL の代わりに <code>Set-Cookie</code> ヘッダの +<code>domain</code> 文字列を書き換えます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a> <a name="proxypassreversecookiepath" id="proxypassreversecookiepath">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Reverse プロキシサーバからの Set-Cookie ヘッダの Path 文字列を +調整する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassReverseCookiePath <var>internal-path</var> <var>public-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> +<p>使用法は基本的に +<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> と同じですが、 +ヘッダの URL の代わりに <code>Set-Cookie</code> ヘッダの +<code>path</code> 文字列を書き換えます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a> <a name="proxypreservehost" id="proxypreservehost">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシリクエストに、受け付けた Host HTTP ヘッダを使う</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyPreserveHost Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.31 以降で使用可能</td></tr> +</table> + <p>このオプションが有効になっている場合、<code class="directive">ProxyPass</code> + で指定したホスト名の代わりに、受け付けたリクエストの Host: 行を + プロキシ先のホストに送ります。</p> + + <p>このオプションは通常は <code>Off</code> に設定してください。 + ほとんどの場合、これは大量の名前ベースのバーチャルホスティングを行なっていて、 + 元々の Host ヘッダをバックエンドサーバが解釈する必要のあるときのような、 + 特別な設定が必要な場合にのみ有用です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a> <a name="proxyreceivebuffersize" id="proxyreceivebuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされる HTTP と FTP 接続のためのネットワークバッファサイズ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p><code class="directive">ProxyReceiveBufferSize</code> ディレクティブは + スループットを上げるために明示的に (TCP/IP) ネットワークバッファのサイズを + 設定します。値は <code>512</code> 以上か、システムのデフォルトのバッファ + サイズを意味する <code>0</code> でなければなりません。</p> + + <div class="example"><h3>例</h3><p><code> + ProxyReceiveBufferSize 2048 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a> <a name="proxyremote" id="proxyremote">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定のリクエストを扱う時に使われるリモートプロキシを指定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRemote <var>match</var> <var>remote-server</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p>このディレクティブはこのプロキシに対するリモートプロキシを定義します。 + <var>match</var> はリモートサーバがサポートする URL スキーム、 + リモートサーバが使うはずの URL の一部分、サーバがすべての + リクエストに使われることを示す <code>*</code> のどれかになります。 + <var>remote-server</var> はリモートサーバの部分 URL です。構文:</p> + + <div class="example"><p><code> + <dfn>remote-server</dfn> = + <var>scheme</var>://<var>hostname</var>[:<var>port</var>] + </code></p></div> + + <p><var>scheme</var> は実際上リモートサーバとの通信に使われるプロトコルを + 決定します。このモジュールでは <code>http</code> だけがサポートされて + います。</p> + + <div class="example"><h3>例</h3><p><code> + ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000<br /> + ProxyRemote * http://cleversite.com<br /> + ProxyRemote ftp http://ftpproxy.mydomain.com:8080 + </code></p></div> + + <p>この例では、プロキシは FTP リクエストを別の HTTP リクエストで包んで + そのようなリクエストを扱える別のプロキシに転送します。</p> + + <p>このオプションはリバースプロキシの設定もサポートします。 + サーバが別のフォワードプロキシの後ろに隠されている場合でも + バックエンドウェブサーバをバーチャルホストの URL 空間に入れることが + できます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a> <a name="proxyremotematch" id="proxyremotematch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現でのマッチによるリクエストを扱うリモートプロキシの指定</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p><code class="directive">ProxyRemoteMatch</code> は最初の引数がリクエストされた + URL にマッチする<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>であることを除けば <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブと同じです。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a> <a name="proxyrequests" id="proxyrequests">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>フォワード (標準の) プロキシリクエストを有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRequests On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyRequests Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p>これは Apache のフォワードプロキシサーバとしての動作を + 有効もしくは無効にします。(ProxyRequests を <code>Off</code> に + 設定しても、<code class="directive"><a href="#proxypass">ProxyPass</a></code> + の設定は無効になりません。)</p> + + <p>通常のリバースプロキシの設定では、このオプションは <code>Off</code> + に設定してください。</p> + + <p>HTTP や FTP サイトへのプロキシの機能を有効にしたい場合は、 + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> や <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> が + サーバに組み込まれていなければなりません。</p> + + <div class="warning"><h3>警告</h3> + <p><a href="#access">サーバを安全にする</a>まで <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> は有効にしないでください。 + オープンプロキシサーバはあなた自身のネットワークにとっても、 + インターネット全体にとっても危険です。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set various Proxy balancer or member parameters</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a> <a name="proxysourceaddress" id="proxysourceaddress">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set local IP address for outgoing proxy connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxySourceAddress <var>address</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.3.9 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Show Proxy LoadBalancer status in mod_status</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたリクエストのネットワークタイムアウト</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyTimeout 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.31 以降で使用可能</td></tr> +</table> + <p>このディレクティブはユーザがプロキシリクエストのタイムアウトを + 指定できるようにします。これはハングしてしまう遅い、もしくは挙動の + 怪しいサーバがあり、サーバがデータを返すまでひたすら待ち続けるよりも + タイムアウトを返してより緩やかに<span class="transnote">(<em>訳注:</em> graceful に)</span> + 失敗させたい場合に役に立ちます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyVia" id="ProxyVia">ProxyVia</a> <a name="proxyvia" id="proxyvia">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたリクエストの <code>Via</code> HTTP 応答ヘッダ +により提供される情報</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyVia Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr> +</table> + <p>このディレクティブはプロキシの <code>Via:</code> HTTP ヘッダの使用を + 制御します。想定されている使い方は、プロキシサーバがいくつも繋がっているときに + プロキシリクエストの流れを制御することです。<code>Via:</code> ヘッダ行の + 説明は <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1) + の 14.45 節を読んでください。</p> + + <ul> + <li>デフォルトの <code>Off</code> に設定されていると、特別な処理は + 行なわれません。リクエストやリプライに <code>Via:</code> ヘッダがあれば、 + 変更されずにそのまま渡します。</li> + + <li><code>On</code> に設定されていれば、各リクエストとリプライに + <code>Via:</code> 行が追加されます。</li> + + <li><code>Full</code> に設定されていれば、<code>Via:</code> ヘッダは + コメント部分に Apache サーバのバージョンも含むようになります。</li> + + <li><code>Block</code> に設定されていれば、すべてのプロキシリクエストから + <code>Via:</code> ヘッダが取り除かれます。新たに <code>Via:</code> が + 生成されることはありません。</li> + </ul> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.html b/docs/manual/mod/mod_proxy_ajp.html new file mode 100644 index 0000000..3b34786 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_ajp.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_ajp.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_proxy_ajp.html.en new file mode 100644 index 0000000..1d8cb01 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.en @@ -0,0 +1,639 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_ajp - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_ajp</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ajp.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>AJP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_ajp_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_ajp.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the + <code>Apache JServ Protocol version 1.3</code> (hereafter + <em>AJP13</em>).</p> + + <p>Thus, in order to get the ability of handling <code>AJP13</code> + protocol, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and + <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> have to be present in the server.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Usage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Environment Variables</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#overviewprotocol">Overview of the protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basppacketstruct">Basic Packet Structure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rpacetstruct">Request Packet Structure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#resppacketstruct">Response Packet Structure</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ajp">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ajp">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="../env.html">Environment Variable documentation</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Usage</a></h2> + <p>This module is used to reverse proxy to a backend application server + (e.g. Apache Tomcat) using the AJP13 protocol. The usage is similar to + an HTTP reverse proxy, but uses the <code>ajp://</code> prefix:</p> + + <div class="example"><h3>Simple Reverse Proxy</h3><pre class="prettyprint lang-config">ProxyPass "/app" "ajp://backend.example.com:8009/app"</pre> +</div> + + <p>Options such as the <code>secret</code> option of Tomcat (required by + default since Tomcat 8.5.51 and 9.0.31) can just be added as a separate + parameter at the end of <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> + or <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code>. This parameter + is available in Apache HTTP Server 2.4.42 and later:</p> + <div class="example"><h3>Simple Reverse Proxy with <code>secret</code> option</h3><pre class="prettyprint lang-config">ProxyPass "/app" "ajp://backend.example.com:8009/app" secret=YOUR_AJP_SECRET</pre> +</div> + + <p>Balancers may also be used:</p> + <div class="example"><h3>Balancer Reverse Proxy</h3><pre class="prettyprint lang-config"><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"</pre> +</div> + + <p>Note that usually no + <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> + directive is necessary. The AJP request includes the original host + header given to the proxy, and the application server can be expected + to generate self-referential headers relative to this host, so no + rewriting is necessary.</p> + + <p>The main exception is when the URL path on the proxy differs from that + on the + backend. In this case, a redirect header can be rewritten relative to the + original host URL (not the backend <code>ajp://</code> URL), for + example:</p> + <div class="example"><h3>Rewriting Proxied Path</h3><pre class="prettyprint lang-config">ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo" +ProxyPassReverse "/apps/foo" "http://www.example.com/foo"</pre> +</div> + <p>However, it is usually better to deploy the application on the backend + server at the same path as the proxy rather than to take this approach. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Environment Variables</a></h2> + <p>Environment variables whose names have the prefix <code>AJP_</code> + are forwarded to the origin server as AJP request attributes + (with the <code>AJP_</code> prefix removed from the name of the key).</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="overviewprotocol" id="overviewprotocol">Overview of the protocol</a></h2> + <p>The <code>AJP13</code> protocol is packet-oriented. A binary format + was presumably chosen over the more readable plain text for reasons of + performance. The web server communicates with the servlet container over + TCP connections. To cut down on the expensive process of socket creation, + the web server will attempt to maintain persistent TCP connections to the + servlet container, and to reuse a connection for multiple request/response + cycles.</p> + <p>Once a connection is assigned to a particular request, it will not be + used for any others until the request-handling cycle has terminated. In + other words, requests are not multiplexed over connections. This makes + for much simpler code at either end of the connection, although it does + cause more connections to be open at once.</p> + <p>Once the web server has opened a connection to the servlet container, + the connection can be in one of the following states:</p> + <ul> + <li> Idle <br /> No request is being handled over this connection. </li> + <li> Assigned <br /> The connection is handling a specific request.</li> + </ul> + <p>Once a connection is assigned to handle a particular request, the basic + request information (e.g. HTTP headers, etc) is sent over the connection in + a highly condensed form (e.g. common strings are encoded as integers). + Details of that format are below in Request Packet Structure. If there is a + body to the request <code>(content-length > 0)</code>, that is sent in a + separate packet immediately after.</p> + <p>At this point, the servlet container is presumably ready to start + processing the request. As it does so, it can send the + following messages back to the web server:</p> + <ul> + <li>SEND_HEADERS <br />Send a set of headers back to the browser.</li> + <li>SEND_BODY_CHUNK <br />Send a chunk of body data back to the browser. + </li> + <li>GET_BODY_CHUNK <br />Get further data from the request if it hasn't all + been transferred yet. This is necessary because the packets have a fixed + maximum size and arbitrary amounts of data can be included the body of a + request (for uploaded files, for example). (Note: this is unrelated to + HTTP chunked transfer).</li> + <li>END_RESPONSE <br /> Finish the request-handling cycle.</li> + </ul> + <p>Each message is accompanied by a differently formatted packet of data. + See Response Packet Structures below for details.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basppacketstruct" id="basppacketstruct">Basic Packet Structure</a></h2> + <p>There is a bit of an XDR heritage to this protocol, but it differs + in lots of ways (no 4 byte alignment, for example).</p> + <p>AJP13 uses network byte order for all data types.</p> + <p>There are four data types in the protocol: bytes, booleans, + integers and strings.</p> + <dl> + <dt><strong>Byte</strong></dt><dd>A single byte.</dd> + <dt><strong>Boolean</strong></dt> + <dd>A single byte, <code>1 = true</code>, <code>0 = false</code>. + Using other non-zero values as true (i.e. C-style) may work in some places, + but it won't in others.</dd> + <dt><strong>Integer</strong></dt> + <dd>A number in the range of <code>0 to 2^16 (32768)</code>. Stored in + 2 bytes with the high-order byte first.</dd> + <dt><strong>String</strong></dt> + <dd>A variable-sized string (length bounded by 2^16). Encoded with + the length packed into two bytes first, followed by the string + (including the terminating '\0'). Note that the encoded length does + <strong>not</strong> include the trailing '\0' -- it is like + <code>strlen</code>. This is a touch confusing on the Java side, which + is littered with odd autoincrement statements to skip over these + terminators. I believe the reason this was done was to allow the C + code to be extra efficient when reading strings which the servlet + container is sending back -- with the terminating \0 character, the + C code can pass around references into a single buffer, without copying. + if the \0 was missing, the C code would have to copy things out in order + to get its notion of a string.</dd> + </dl> + + <h3>Packet Size</h3> + <p>According to much of the code, the max packet size is <code> + 8 * 1024 bytes (8K)</code>. The actual length of the packet is encoded in + the header.</p> + + <h3>Packet Headers</h3> + <p>Packets sent from the server to the container begin with + <code>0x1234</code>. Packets sent from the container to the server + begin with <code>AB</code> (that's the ASCII code for A followed by the + ASCII code for B). After those first two bytes, there is an integer + (encoded as above) with the length of the payload. Although this might + suggest that the maximum payload could be as large as 2^16, in fact, the + code sets the maximum to be 8K.</p> + <table> + + <tr> + <th colspan="6"><em>Packet Format (Server->Container)</em></th> + </tr> + <tr> + <th>Byte</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contents</th> + <td>0x12</td> + <td>0x34</td> + <td colspan="2">Data Length (n)</td> + <td>Data</td> + </tr> + </table> + <table> + + <tr> + <th colspan="6"><em>Packet Format (Container->Server)</em></th> + </tr> + <tr> + <th>Byte</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contents</th> + <td>A</td> + <td>B</td> + <td colspan="2">Data Length (n)</td> + <td>Data</td> + </tr> + </table> + <p>For most packets, the first byte of the payload encodes the type of + message. The exception is for request body packets sent from the server to + the container -- they are sent with a standard packet header (<code> + 0x1234</code> and then length of the packet), but without any prefix code + after that.</p> + <p>The web server can send the following messages to the servlet + container:</p> + <table> + + <tr> + <td>Code</td> + <td>Type of Packet</td> + <td>Meaning</td> + </tr> + <tr> + <td>2</td> + <td>Forward Request</td> + <td>Begin the request-processing cycle with the following data</td> + </tr> + <tr> + <td>7</td> + <td>Shutdown</td> + <td>The web server asks the container to shut itself down.</td> + </tr> + <tr> + <td>8</td> + <td>Ping</td> + <td>The web server asks the container to take control + (secure login phase).</td> + </tr> + <tr> + <td>10</td> + <td>CPing</td> + <td>The web server asks the container to respond quickly with a CPong. + </td> + </tr> + <tr> + <td>none</td> + <td>Data</td> + <td>Size (2 bytes) and corresponding body data.</td> + </tr> + </table> + <p>To ensure some basic security, the container will only actually do the + <code>Shutdown</code> if the request comes from the same machine on which + it's hosted.</p> + <p>The first <code>Data</code> packet is send immediately after the + <code>Forward Request</code> by the web server.</p> + <p>The servlet container can send the following types of messages to the + webserver:</p> + <table> + + <tr> + <td>Code</td> + <td>Type of Packet</td> + <td>Meaning</td> + </tr> + <tr> + <td>3</td> + <td>Send Body Chunk</td> + <td>Send a chunk of the body from the servlet container to the web + server (and presumably, onto the browser). </td> + </tr> + <tr> + <td>4</td> + <td>Send Headers</td> + <td>Send the response headers from the servlet container to the web + server (and presumably, onto the browser).</td> + </tr> + <tr> + <td>5</td> + <td>End Response</td> + <td>Marks the end of the response (and thus the request-handling cycle). + </td> + </tr> + <tr> + <td>6</td> + <td>Get Body Chunk</td> + <td>Get further data from the request if it hasn't all been + transferred yet.</td> + </tr> + <tr> + <td>9</td> + <td>CPong Reply</td> + <td>The reply to a CPing request</td> + </tr> + </table> + <p>Each of the above messages has a different internal structure, detailed + below.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="rpacetstruct" id="rpacetstruct">Request Packet Structure</a></h2> + <p>For messages from the server to the container of type + <em>Forward Request</em>:</p> + <div class="example"><pre>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</pre></div> + <p>The <code>request_headers</code> have the following structure: + </p><div class="example"><pre>req_header_name := + sc_req_header_name | (string) [see below for how this is parsed] + +sc_req_header_name := 0xA0xx (integer) + +req_header_value := (string)</pre></div> + <p>The <code>attributes</code> are optional and have the following + structure:</p> + <div class="example"><pre>attribute_name := sc_a_name | (sc_a_req_attribute string) + +attribute_value := (string)</pre></div> + <p>Not that the all-important header is <code>content-length</code>, + because it determines whether or not the container looks for another + packet immediately.</p> + <h3>Detailed description of the elements of Forward Request + </h3> + <h3>Request prefix</h3> + <p>For all requests, this will be 2. See above for details on other Prefix + codes.</p> + + <h3>Method</h3> + <p>The HTTP method, encoded as a single byte:</p> + <table> + <tr><td>Command Name</td><td>Code</td></tr> + <tr><td>OPTIONS</td><td>1</td></tr> + <tr><td>GET</td><td>2</td></tr> + <tr><td>HEAD</td><td>3</td></tr> + <tr><td>POST</td><td>4</td></tr> + <tr><td>PUT</td><td>5</td></tr> + <tr><td>DELETE</td><td>6</td></tr> + <tr><td>TRACE</td><td>7</td></tr> + <tr><td>PROPFIND</td><td>8</td></tr> + <tr><td>PROPPATCH</td><td>9</td></tr> + <tr><td>MKCOL</td><td>10</td></tr> + <tr><td>COPY</td><td>11</td></tr> + <tr><td>MOVE</td><td>12</td></tr> + <tr><td>LOCK</td><td>13</td></tr> + <tr><td>UNLOCK</td><td>14</td></tr> + <tr><td>ACL</td><td>15</td></tr> + <tr><td>REPORT</td><td>16</td></tr> + <tr><td>VERSION-CONTROL</td><td>17</td></tr> + <tr><td>CHECKIN</td><td>18</td></tr> + <tr><td>CHECKOUT</td><td>19</td></tr> + <tr><td>UNCHECKOUT</td><td>20</td></tr> + <tr><td>SEARCH</td><td>21</td></tr> + <tr><td>MKWORKSPACE</td><td>22</td></tr> + <tr><td>UPDATE</td><td>23</td></tr> + <tr><td>LABEL</td><td>24</td></tr> + <tr><td>MERGE</td><td>25</td></tr> + <tr><td>BASELINE_CONTROL</td><td>26</td></tr> + <tr><td>MKACTIVITY</td><td>27</td></tr> + </table> + <p>Later version of ajp13, will transport + additional methods, even if they are not in this list.</p> + + <h3>protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl</h3> + <p>These are all fairly self-explanatory. Each of these is required, and + will be sent for every request.</p> + + <h3>Headers</h3> + <p>The structure of <code>request_headers</code> is the following: + First, the number of headers <code>num_headers</code> is encoded. + Then, a series of header name <code>req_header_name</code> / value + <code>req_header_value</code> pairs follows. + Common header names are encoded as integers, + to save space. If the header name is not in the list of basic headers, + it is encoded normally (as a string, with prefixed length). The list of + common headers <code>sc_req_header_name</code>and their codes + is as follows (all are case-sensitive):</p> + <table> + <tr><td>Name</td><td>Code value</td><td>Code name</td></tr> + <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr> + <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET + </td></tr> + <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING + </td></tr> + <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE + </td></tr> + <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td> + </tr> + <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr> + <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td> + </tr> + <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td> + </tr> + <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr> + <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr> + <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr> + <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr> + <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr> + <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr> + </table> + <p>The Java code that reads this grabs the first two-byte integer and if + it sees an <code>'0xA0'</code> in the most significant + byte, it uses the integer in the second byte as an index into an array of + header names. If the first byte is not <code>0xA0</code>, it assumes that + the two-byte integer is the length of a string, which is then read in.</p> + <p>This works on the assumption that no header names will have length + greater than <code>0x9FFF (==0xA000 - 1)</code>, which is perfectly + reasonable, though somewhat arbitrary.</p> + <div class="note"><h3>Note:</h3> + The <code>content-length</code> header is extremely + important. If it is present and non-zero, the container assumes that + the request has a body (a POST request, for example), and immediately + reads a separate packet off the input stream to get that body. + </div> + + <h3>Attributes</h3> + <p>The attributes prefixed with a <code>?</code> + (e.g. <code>?context</code>) are all optional. For each, there is a + single byte code to indicate the type of attribute, and then its value + (string or integer). They can be sent in any order (though the C code + always sends them in the order listed below). A special terminating code + is sent to signal the end of the list of optional attributes. The list of + byte codes is:</p> + <table> + <tr><td>Information</td><td>Code Value</td><td>Type Of Value</td><td>Note</td></tr> + <tr><td>?context</td><td>0x01</td><td>-</td><td>Not currently implemented + </td></tr> + <tr><td>?servlet_path</td><td>0x02</td><td>-</td><td>Not currently implemented + </td></tr> + <tr><td>?remote_user</td><td>0x03</td><td>String</td><td /></tr> + <tr><td>?auth_type</td><td>0x04</td><td>String</td><td /></tr> + <tr><td>?query_string</td><td>0x05</td><td>String</td><td /></tr> + <tr><td>?jvm_route</td><td>0x06</td><td>String</td><td /></tr> + <tr><td>?ssl_cert</td><td>0x07</td><td>String</td><td /></tr> + <tr><td>?ssl_cipher</td><td>0x08</td><td>String</td><td /></tr> + <tr><td>?ssl_session</td><td>0x09</td><td>String</td><td /></tr> + <tr><td>?req_attribute</td><td>0x0A</td><td>String</td><td>Name (the name of the + attribute follows)</td></tr> + <tr><td>?ssl_key_size</td><td>0x0B</td><td>Integer</td><td /></tr> + <tr><td>?secret</td><td>0x0C</td><td>String</td><td>Supported since 2.4.42</td></tr> + <tr><td>are_done</td><td>0xFF</td><td>-</td><td>request_terminator</td></tr> + </table> + <p>The <code>context</code> and <code>servlet_path</code> are not + currently set by the C code, and most of the Java code completely ignores + whatever is sent over for those fields (and some of it will actually break + if a string is sent along after one of those codes). I don't know if this + is a bug or an unimplemented feature or just vestigial code, but it's + missing from both sides of the connection.</p> + <p>The <code>remote_user</code> and <code>auth_type</code> presumably + refer to HTTP-level authentication, and communicate the remote user's + username and the type of authentication used to establish their identity + (e.g. Basic, Digest).</p> + <p>The <code>query_string</code>, <code>ssl_cert</code>, + <code>ssl_cipher</code>, <code>ssl_session</code> and + <code>ssl_key_size</code> refer to the + corresponding pieces of HTTP and HTTPS.</p> + <p>The <code>jvm_route</code>, is used to support sticky + sessions -- associating a user's sesson with a particular Tomcat instance + in the presence of multiple, load-balancing servers.</p> + <p>The <code>secret</code> is sent when the <code>secret=secret_keyword</code> + parameter is used in + <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> or + <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> directives. + The backend needs to support secret and the values must match. + <code>request.secret</code> or <code>requiredSecret</code> are documented in the AJP + configuration of the Apache Tomcat.</p> + <p>Beyond this list of basic attributes, any number of other attributes + can be sent via the <code>req_attribute</code> code <code>0x0A</code>. + A pair of strings to represent the attribute name and value are sent + immediately after each instance of that code. Environment values are passed + in via this method.</p> + <p>Finally, after all the attributes have been sent, the attribute + terminator, <code>0xFF</code>, is sent. This signals both the end of the + list of attributes and also then end of the Request Packet.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="resppacketstruct" id="resppacketstruct">Response Packet Structure</a></h2> + <p>for messages which the container can send back to the server.</p> + <div class="example"><pre>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) [see below for how this is parsed] + +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)</pre></div> + <h3>Details:</h3> + <h3>Send Body Chunk</h3> + <p>The chunk is basically binary data, and is sent directly back to the + browser.</p> + + <h3>Send Headers</h3> + <p>The status code and message are the usual HTTP things + (e.g. <code>200</code> and <code>OK</code>). The response header names are + encoded the same way the request header names are. See header_encoding above + for details about how the codes are distinguished from the strings.<br /> + The codes for common headers are:</p> + <table> + <tr><td>Name</td><td>Code value</td></tr> + <tr><td>Content-Type</td><td>0xA001</td></tr> + <tr><td>Content-Language</td><td>0xA002</td></tr> + <tr><td>Content-Length</td><td>0xA003</td></tr> + <tr><td>Date</td><td>0xA004</td></tr> + <tr><td>Last-Modified</td><td>0xA005</td></tr> + <tr><td>Location</td><td>0xA006</td></tr> + <tr><td>Set-Cookie</td><td>0xA007</td></tr> + <tr><td>Set-Cookie2</td><td>0xA008</td></tr> + <tr><td>Servlet-Engine</td><td>0xA009</td></tr> + <tr><td>Status</td><td>0xA00A</td></tr> + <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr> + </table> + <p> After the code or the string header name, the header value is + immediately encoded.</p> + + <h3>End Response</h3> + <p>Signals the end of this request-handling cycle. If the + <code>reuse</code> flag is true <code>(anything other than 0 in the actual + C code)</code>, this TCP connection can now be used to handle new incoming + requests. If <code>reuse</code> is false (==0), the connection should + be closed.</p> + + <h3>Get Body Chunk</h3> + <p>The container asks for more data from the request (If the body was + too large to fit in the first packet sent over or when the request is + chunked). The server will send a body packet back with an amount of data + which is the minimum of the <code>request_length</code>, the maximum send + body size <code>(8186 (8 Kbytes - 6))</code>, and the number of bytes + actually left to send from the request body.<br /> + If there is no more data in the body (i.e. the servlet container is + trying to read past the end of the body), the server will send back an + <em>empty</em> packet, which is a body packet with a payload length of 0. + <code>(0x12,0x34,0x00,0x00)</code></p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ajp.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_ajp.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.html.fr.utf8 b/docs/manual/mod/mod_proxy_ajp.html.fr.utf8 new file mode 100644 index 0000000..d119074 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.fr.utf8 @@ -0,0 +1,693 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_ajp - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_ajp</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de support AJP pour +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_ajp_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ajp.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.1 du serveur HTTP +Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module nécessite le chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du <code>Protocole Apache + JServ version 1.3</code> (nommé dans la suite de ce document + <em>AJP13</em>).</p> + + <p>Pour être en mesure d'exploiter le protocole <code>AJP13</code>, + il est donc nécessaire de charger les modules + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large. </p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#overviewprotocol">Vue d'ensemble du protocole</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basppacketstruct">Structure de base des paquets</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rpacetstruct">Structure des paquets de +requête</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#resppacketstruct">Structure du paquet de la +réponse</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ajp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ajp">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="../env.html">Documentation sur les variables +d'environnement</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Utilisation</a></h2> + <p>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 <code>ajp://</code> :</p> + + <div class="example"><h3>Mandataire inverse simple</h3><pre class="prettyprint lang-config">ProxyPass "/app" "ajp://backend.example.com:8009/app"</pre> +</div> + + <p>Les options telles que l'option <code>secret</code> de Tomcat (requise + par défaut depuis Tomcat 8.5.51 et 9.0.31) peut tout simplement être ajoutée + en tant que paramètre séparé à la fin des directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code>. Ce paramètre est disponible à + partir de la version 2.4.42 du serveur HTTP Apache :</p> + <div class="example"><h3>Mandataire inverse simple avec l'option <code>secret</code></h3><pre class="prettyprint lang-config">ProxyPass "/app" "ajp://backend.example.com:8009/app" secret=YOUR_AJP_SECRET</pre> +</div> + + <p>On peut aussi configurer un répartiteur de charge :</p> + <div class="example"><h3>Mandataire inverse avec répartiteur de charge</h3><pre class="prettyprint lang-config"><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"</pre> +</div> + + <p>Notez qu'en général, la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> 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.</p> + + <p>La situation la plus courante dans laquelle la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> 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 <code>ajp://</code> URL) + ; par exemple :</p> + <div class="example"><h3>Réécriture d'un chemin mandaté</h3><pre class="prettyprint lang-config">ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo" +ProxyPassReverse "/apps/foo" "http://www.example.com/foo"</pre> +</div> + <p>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. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Variables d'environnement</a></h2> + <p>Les variables d'environnement dont le nom possède le préfixe + <code>AJP_</code> sont transmises au serveur original en tant + qu'attributs de requête AJP (le préfixe <code>AJP_</code> étant supprimé du + nom de la clé).</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="overviewprotocol" id="overviewprotocol">Vue d'ensemble du protocole</a></h2> + <p>Le protocole <code>AJP13</code> 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.</p> + <p>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.</p> + <p>Lorsque le serveur web a ouvert une connexion vers le conteneur + de servlets, celle-ci peut se trouver dans l'un des états suivants + :</p> + <ul> + <li> Idle <br /> Aucune requête n'est traitée sur cette + connexion. </li> + <li> Assigned <br /> La connexion fait l'objet d'un traitement de + requête.</li> + </ul> + <p>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 <code>(content-length > 0)</code>, il est envoyé dans un + paquet séparé immédiatement après.</p> + <p>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 :</p> + <ul> + <li>SEND_HEADERS <br />Renvoie un jeu d'en-têtes au navigateur.</li> + <li>SEND_BODY_CHUNK <br />Renvoie un tronçon de corps de requête au + navigateur. + </li> + <li>GET_BODY_CHUNK <br />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é.</li> + <li>END_RESPONSE <br /> Termine le cycle du traitement de la + requête.</li> + </ul> + <p>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.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basppacketstruct" id="basppacketstruct">Structure de base des paquets</a></h2> + <p>Ce protocole hérite en partie de XDR, mais il diffère sur de + nombreux points (pas d'alignement sur 4 bits, par exemple).</p> + <p>AJP13 utilise les octets selon leur ordre d'arrivée par le réseau + pour tous les types de données.</p> + <p>Le protocole comporte quatre types de données : octets, booléens, + entiers et chaînes de caractères.</p> + <dl> + <dt><strong>Octet</strong></dt><dd>Un seul octet.</dd> + <dt><strong>Booléen</strong></dt> + <dd>Un seul octet, <code>1 = vrai</code>, <code>0 = faux</code>. + L'utilisation d'autres valeurs non nulles (dans le style C) peut + fonctionner dans certains cas, mais pas dans certains autres..</dd> + <dt><strong>Entier</strong></dt> + <dd>Un nombre compris entre <code>0 et 2^16 (32768)</code>, stocké + sur 2 octets en débutant par l'octet de poids forts.</dd> + <dt><strong>Chaîne</strong></dt> + <dd>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 <code>strlen</code>. 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.</dd> + </dl> + + <h3>Taille du paquet</h3> + <p>Selon la majorité du code, la taille maximale du paquet est de + <code>8 * 1024 bytes (8K)</code>. La taille réelle du paquet est + encodée dans l'en-tête.</p> + + <h3>En-têtes de paquet</h3> + <p>Les paquets envoyés par le serveur vers le conteneur commencent + par <code>0x1234</code>. Les paquets envoyés par le conteneur vers + le serveur commencent par <code>AB</code> (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.</p> + <table> + + <tr> + <th colspan="6"><em>Format du paquet (Serveur->Conteneur)</em></th> + </tr> + <tr> + <th>Octet</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contenu</th> + <td>0x12</td> + <td>0x34</td> + <td colspan="2">Taille des données (n)</td> + <td>Data</td> + </tr> + </table> + <table> + + <tr> + <th colspan="6"><em>Format du paquet + (Conteneur->Serveur)</em></th> + </tr> + <tr> + <th>Octet</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contenu</th> + <td>A</td> + <td>B</td> + <td colspan="2">Taille des données (n)</td> + <td>Data</td> + </tr> + </table> + <p>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 (<code>0x1234</code> suivi de la taille + du paquet), mais celui-ci n'est suivi d'aucun préfixe.</p> + <p>Le serveur web peut envoyer les messages suivants au conteneur + de servlets :</p> + <table> + + <tr> + <td>Code</td> + <td>Type de paquet</td> + <td>Signification</td> + </tr> + <tr> + <td>2</td> + <td>Fait suivre la requête</td> + <td>Débute le cycle de traitement de la requête avec les données + qui suivent.</td> + </tr> + <tr> + <td>7</td> + <td>Arrêt</td> + <td>Le serveur web demande au conteneur de s'arrêter.</td> + </tr> + <tr> + <td>8</td> + <td>Ping</td> + <td>Le serveur web demande au conteneur de prendre le contrôle + (phase de connexion sécurisée).</td> + </tr> + <tr> + <td>10</td> + <td>CPing</td> + <td>Le serveur web demande au conteneur de répondre rapidement + avec un CPong. + </td> + </tr> + <tr> + <td>none</td> + <td>Données</td> + <td>Taille (2 octets) et les données correspondantes.</td> + </tr> + </table> + <p>À des fins de sécurité, le conteneur n'effectuera réellement son + <code>Arrêt</code> que si la demande provient de la machine par + laquelle il est hébergé.</p> + <p>Le premier paquet <code>Données</code> est envoyé immédiatement + après le paquet <code>Faire suivre la requête</code> par le serveur + web.</p> + <p>Le conteneur de servlets peut envoyer les types de messages + suivants au serveur web :</p> + <table> + + <tr> + <td>Code</td> + <td>Type de paquet</td> + <td>Signification</td> + </tr> + <tr> + <td>3</td> + <td>Envoi d'un tronçon de corps</td> + <td>Envoi d'un tronçon de corps depuis le conteneur de servlets + vers le serveur web (et probablement vers le navigateur).</td> + </tr> + <tr> + <td>4</td> + <td>Envoie les en-têtes</td> + <td>Envoi des en-têtes de réponse depuis le conteneur de + servlets vers le serveur web (et probablement vers le + navigateur).</td> + </tr> + <tr> + <td>5</td> + <td>Fin de la réponse</td> + <td>Marque la fin de la réponse (et par conséquent du cycle de + traitement de la requête). + </td> + </tr> + <tr> + <td>6</td> + <td>Réception du tronçon de corps suivant</td> + <td>Réception de la suite des données de la requête si elles + n'ont pas encore été entièrement transmises.</td> + </tr> + <tr> + <td>9</td> + <td>Réponse CPong</td> + <td>La réponse à une requête CPing</td> + </tr> + </table> + <p>Chacun des messages ci-dessus possède une structure interne + différente dont vous trouverez les détails ci-dessous.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="rpacetstruct" id="rpacetstruct">Structure des paquets de +requête</a></h2> + <p>Pour les messages de type <em>Faire suivre la requête</em> depuis + le serveur vers le conteneur :</p> + <div class="example"><pre>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</pre></div> + <p>Les <code>request_headers</code> possèdent la structure suivante + : + </p><div class="example"><pre>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)</pre></div> + <p>Les <code>attributes</code> sont optionnels et possèdent la + structure suivante :</p> + <div class="example"><pre>attribute_name := sc_a_name | (sc_a_req_attribute string) + +attribute_value := (string)</pre></div> + <p>Un des en-têtes les plus importants est + <code>content-length</code>, car il indique si le conteneur doit ou + non attendre un autre paquet immédiatement.</p> + <h3>Description détaillée de la requête que le serveur + fait suivre vers le conteneur + </h3> + <h3>Préfixe de la requête</h3> + <p>Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour + les détails des autres codes de préfixes.</p> + + <h3>Méthode</h3> + <p>La méthode HTTP, encodée sous la forme d'un seul octet :</p> + <table> + <tr><td>Nom commande</td><td>Code</td></tr> + <tr><td>OPTIONS</td><td>1</td></tr> + <tr><td>GET</td><td>2</td></tr> + <tr><td>HEAD</td><td>3</td></tr> + <tr><td>POST</td><td>4</td></tr> + <tr><td>PUT</td><td>5</td></tr> + <tr><td>DELETE</td><td>6</td></tr> + <tr><td>TRACE</td><td>7</td></tr> + <tr><td>PROPFIND</td><td>8</td></tr> + <tr><td>PROPPATCH</td><td>9</td></tr> + <tr><td>MKCOL</td><td>10</td></tr> + <tr><td>COPY</td><td>11</td></tr> + <tr><td>MOVE</td><td>12</td></tr> + <tr><td>LOCK</td><td>13</td></tr> + <tr><td>UNLOCK</td><td>14</td></tr> + <tr><td>ACL</td><td>15</td></tr> + <tr><td>REPORT</td><td>16</td></tr> + <tr><td>VERSION-CONTROL</td><td>17</td></tr> + <tr><td>CHECKIN</td><td>18</td></tr> + <tr><td>CHECKOUT</td><td>19</td></tr> + <tr><td>UNCHECKOUT</td><td>20</td></tr> + <tr><td>SEARCH</td><td>21</td></tr> + <tr><td>MKWORKSPACE</td><td>22</td></tr> + <tr><td>UPDATE</td><td>23</td></tr> + <tr><td>LABEL</td><td>24</td></tr> + <tr><td>MERGE</td><td>25</td></tr> + <tr><td>BASELINE_CONTROL</td><td>26</td></tr> + <tr><td>MKACTIVITY</td><td>27</td></tr> + </table> + <p>Les versions futures d'ajp13 pourront transmettre des méthodes + supplémentaires, même si elles ne font pas partie de cette + liste.</p> + + <h3>protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl</h3> + <p>Les significations de ces éléments sont triviales. Ils sont tous + obligatoires et seront envoyés avec chaque requête.</p> + + <h3>En-têtes</h3> + <p>La structure de <code>request_headers</code> est la suivante + : tout d'abord, le nombre d'en-têtes <code>num_headers</code> est + encodé, suivi d'une liste de paires nom d'en-tête + <code>req_header_name</code> / valeur <code>req_header_value</code>. + 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 + <code>sc_req_header_name</code> avec leurs codes se présente comme + suit (il sont tous sensibles à la casse) :</p> + <table> + <tr><td>Nom</td><td>Valeur du code</td><td>Nom du code</td></tr> + <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr> + <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET + </td></tr> + <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING + </td></tr> + <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE + </td></tr> + <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td> + </tr> + <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr> + <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td> + </tr> + <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td> + </tr> + <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr> + <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr> + <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr> + <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr> + <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr> + <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr> + </table> + <p>Le code Java qui lit ceci extrait l'entier représenté par les + deux premiers octets, et si le premier octet est + <code>'0xA0'</code>, 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 <code>0xA0</code>, l'entier représenté par les deux + octets est considéré comme la longueur d'une chaîne qui est alors + lue.</p> + <p>Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède + une taille supérieure à <code>0x9FFF (==0xA000 - 1)</code>, ce qui + est vraisemblable, bien qu'un peu arbitraire.</p> + <div class="note"><h3>Note:</h3> + L'en-tête <code>content-length</code> 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. + </div> + + <h3>Attributs</h3> + <p>Les attributs préfixés par <code>?</code> (par exemple + <code>?context</code>) 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 + :</p> + <table> + <tr><td>Information</td><td>Valeur code</td><td>Type de valeur</td><td>Note</td></tr> + <tr><td>?context</td><td>0x01</td><td>-</td><td>Non implémenté + actuellement + </td></tr> + <tr><td>?servlet_path</td><td>0x02</td><td>-</td><td>Non implémenté + actuellement + </td></tr> + <tr><td>?remote_user</td><td>0x03</td><td>String</td><td /></tr> + <tr><td>?auth_type</td><td>0x04</td><td>String</td><td /></tr> + <tr><td>?query_string</td><td>0x05</td><td>String</td><td /></tr> + <tr><td>?jvm_route</td><td>0x06</td><td>String</td><td /></tr> + <tr><td>?ssl_cert</td><td>0x07</td><td>String</td><td /></tr> + <tr><td>?ssl_cipher</td><td>0x08</td><td>String</td><td /></tr> + <tr><td>?ssl_session</td><td>0x09</td><td>String</td><td /></tr> + <tr><td>?req_attribute</td><td>0x0A</td><td>String</td><td>Nom (le + nom de l'attribut vient ensuite)</td></tr> + <tr><td>?ssl_key_size</td><td>0x0B</td><td>Integer</td><td /></tr> + <tr><td>?secret</td><td>0x0C</td><td>String</td><td>Supporté depuis la + version 2.4.42</td></tr> + <tr><td>are_done</td><td>0xFF</td><td>-</td><td>request_terminator</td></tr> + </table> + <p><code>context</code> et <code>servlet_path</code> 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.</p> + <p><code>remote_user</code> et <code>auth_type</code> 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).</p> + <p><code>query_string</code>, <code>ssl_cert</code>, + <code>ssl_cipher</code>, <code>ssl_session</code> et + <code>ssl_key_size</code> contiennent les + éléments HTTP et HTTPS correspondants.</p> + <p><code>jvm_route</code> 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.</p> + <p>Le <code>mot de passe</code> est envoyé lorsque la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> utilise le paramètre + <code>secret=secret_keyword</code>. Le serveur d'arrière-plan doit savoir + utiliser les mots de passe et les valeurs doivent correspondre. + <code>request.secret</code> ou <code>requiredSecret</code> sont documentés + dans la configuration AJP d'Apache Tomcat.</p> + <p>Au delà de cette liste de base, tout autre attribut + supplémentaire peut être envoyé via le code + <code>req_attribute</code> <code>0x0A</code>. 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.</p> + <p>Enfin, lorsque tous les attributs ont été transmis, le + terminateur d'attributs, <code>0xFF</code>, est envoyé. Ce dernier + indique à la fois la fin de la liste d'attributs et la fin du paquet + de la requête</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="resppacketstruct" id="resppacketstruct">Structure du paquet de la +réponse</a></h2> + <p>Pour les messages que le conteneur peut renvoyer au + serveur.</p> + <div class="example"><pre>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)</pre></div> + <h3>Détails:</h3> + <h3>Envoi d'un tronçon de corps</h3> + <p>Le tronçon se compose essentiellement de données binaires et est + renvoyé directement au navigateur.</p> + + <h3>Envoi des en-têtes</h3> + <p>Les code et message d'état correspondent aux code et message HTTP + habituels (par exemple <code>200</code> et <code>OK</code>). 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.<br /> + Les codes des en-têtes courants sont ::</p> + <table> + <tr><td>Nom</td><td>Valeur code</td></tr> + <tr><td>Content-Type</td><td>0xA001</td></tr> + <tr><td>Content-Language</td><td>0xA002</td></tr> + <tr><td>Content-Length</td><td>0xA003</td></tr> + <tr><td>Date</td><td>0xA004</td></tr> + <tr><td>Last-Modified</td><td>0xA005</td></tr> + <tr><td>Location</td><td>0xA006</td></tr> + <tr><td>Set-Cookie</td><td>0xA007</td></tr> + <tr><td>Set-Cookie2</td><td>0xA008</td></tr> + <tr><td>Servlet-Engine</td><td>0xA009</td></tr> + <tr><td>Status</td><td>0xA00A</td></tr> + <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr> + </table> + <p>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.</p> + + <h3>Fin de la réponse</h3> + <p>Signale la fin de ce cycle de traitement de requête. Si le + drapeau <code>reuse</code> est à true <code>(toute valeur autre que + 0 en langage C pur)</code>, cette + connexion TCP peut être réutilisée pour traiter de nouvelles + requêtes entrantes. Si <code>reuse</code> est à false + (==0), la connexion sera fermée.</p> + + <h3>Réception d'un tronçon de corps</h3> + <p>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 + <code>request_length</code>, la taille maximale de corps envoyée + <code>(8186 (8 Koctets - 6))</code>, et le nombre réel d'octets + restants à envoyer pour ce corps de requête.<br /> + 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 <em>vide</em> + dont la charge utile est de longueur 0 et se présentant sous la + forme <code>(0x12,0x34,0x00,0x00)</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_ajp.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 new file mode 100644 index 0000000..086b6f9 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 @@ -0,0 +1,565 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_ajp - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_proxy_ajp</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> で AJP +をサポートするためのモジュール</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>proxy_ajp_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy_ajp.c</td></tr></table> +<h3>概要</h3> + + <p>本モジュールには <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> が<em>必要です</em>。 + <code>Apache JServ Protocol version 1.3</code> (以降 <em>AJP13</em>) + をサポートします。</p> + + <p><code>AJP13</code> プロトコルを扱えるようにするには + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> と <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> + をサーバに組み込む必要があります。</p> + + <div class="warning"><h3>警告</h3> + <p><a href="#access">安全なサーバにする</a>までプロクシ機能は有効にしないでください。 + オープンプロキシサーバはあなた自身のネットワークにとっても、 + インターネット全体にとっても危険です。</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#overviewprotocol">プロトコルの概要</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basppacketstruct">基本パケット構造</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rpacetstruct">リクエストパケット構造</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#resppacketstruct">レスポンスパケット構造</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<p>このモジュールにディレクティブはありません。</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ajp">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ajp">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="overviewprotocol" id="overviewprotocol">プロトコルの概要</a></h2> + <p><code>AJP13</code> プロトコルはパケット指向です。 + 可読なプレーンテキスト形式ではなくバイナリ形式になったのは、 + おそらくパフォーマンス上の理由によります。 + ウェブサーバはサーブレットコンテナと TCP コネクションで通信します。 + ソケット生成は重い処理なので、負荷を減らすために、サーブレットコンテナとの + TCP 接続を維持し、複数のリクエスト・レスポンス処理サイクルに対して一つの + コネクションを使いまわすようになっています。</p> + <p>あるリクエストにコネクションが割り当てられると、その処理サイクルが + 完了するまで他のものに使われることはありません。 + つまりコネクション上では、リクエストの同時処理は行われません。 + このため、コネクション両端での実行するコードを簡潔にできる一方で、 + 同時に開くコネクションは多くなっています。</p> + <p>サーブレットコンテナへのコネクションを開いた後は、コネクションの状態は + 次のどれかになります:</p> + <ul> + <li> Idle <br />コネクション上で処理されているリクエストはありません。</li> + <li> Assigned <br />コネクションはリクエストを処理中です。</li> + </ul> + <p>コネクションが特定のリクエストにアサインされると、基本的な情報 (例えば + HTTP ヘッダ等) が圧縮された形 (例えば通常の文字列は整数にエンコードされます) + で転送されます。詳細は下記の「リクエストパケットの構造」を参照してください。 + リクエストにボディが存在 <code>(content-length > 0)</code> すれば、 + 基本的な情報の直後に別パケットで転送されます。</p> + <p>この時点でおそらく、サーブレットコンテナは処理を開始できるようになります。 + ですので、次のメッセージをウェブサーバに戻して知らせられるようになります。</p> + <ul> + <li>SEND_HEADERS <br />ブラウザにヘッダを送信します。</li> + <li>SEND_BODY_CHUNK <br />ブラウザにボディデータのチャンクを送ります。 + </li> + <li>GET_BODY_CHUNK <br />リクエストのデータを全て受け取り終わっていないときに、 + 残っているデータを受け取ります。パケットにある定まった最大長があり、任意の + 大きさのデータがリクエストのボディとして含まれうる場合 + (例えばファイルのアップロードの場合) に必要となります。 + (注: HTTP のチャンク転送とは関連ありません。)</li> + <li>END_RESPONSE <br />リクエスト処理サイクルを終了します。</li> + </ul> + <p>個々のメッセージはそれぞれ異なるデータパケット形式になっています。 + 後述の「レスポンスパケットの構造」を参照してください。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basppacketstruct" id="basppacketstruct">基本パケット構造</a></h2> + <p>このプロトコルには XDR から受け継いだ部分が少しありますが、多くの点で + 異なります (例えば 4 バイトアライメントでないことなど) 。</p> + <p>バイトオーダー: 個々のバイトのエンディアンがどうなっているかは、 + 私は詳しくないのですが、リトルエンディアンになっていると思います。 + XDR 仕様でそうなっているのと、素晴らしいことに sys/socket ライブラリが + (C で) そういう風にできているのでそうなのだと思いました。 + ソケット呼び出しの内部についてより詳しい方がいらっしゃいましたら、 + ご教授ください。</p> + <p>プロトコルには 4 つのデータタイプがあります: byte, boolean, + integer, string です。</p> + <dl> + <dt><strong>Byte</strong></dt><dd>バイト一つです。</dd> + <dt><strong>Boolean</strong></dt> + <dd>バイト一つで、<code>1 = true</code>, <code>0 = false</code> です。 + (C のように) 非零を真として扱ってしまうと、ある場合は動くかもしれませんし、 + 動かないかもしれません。</dd> + <dt><strong>Integer</strong></dt> + <dd><code>0 から 2^16 (32768)</code> の範囲の数字。高次の 2 バイトが + 先に格納されます。</dd> + <dt><strong>String</strong></dt> + <dd>可変長の文字列 (2^16 が長さの上限) 。長さ情報のパケット 2 バイトの後に + 文字列 (終端文字 '\0' を含む) が続く形式でエンコードされます。 + エンコードされている長さ情報は最後の '\0' を<strong>カウントしない</strong> + ことに注意してください――これは <code>strlen</code> と同様です。 + これらの終端文字をスキップするために、あまり意味の無いインクリメント文 + をたくさん書かないといけないのは、 + Java の側から見ると少し紛らわしく感じられるかもしれません。 + こうなった理由はおそらく、Servlet コンテナから返される文字列を読み出す時に、 + 効率よく C のコードを書けるようにする――サーブレットから返される + 文字列は \0 文字で終端されているので、C のコードではわざわざコピーをせずに、 + 一つのバッファへのリファレンスを取り回すように書くことができる―― + ためだと思われます。 + '\0' 文字がない場合は、C では文字列の規則に合うようにコピーしなければ + いけなくなってしまいます。</dd> + </dl> + + <h3>パケットサイズ</h3> + <p>多くのコードでそうなっているのですが、パケットサイズの最大サイズは + <code>8 * 1024 (8K)</code> です。パケットの実際の長さはヘッダに + エンコードされて入っています。</p> + + <h3>パケットヘッダ</h3> + <p>サーバからコンテナに送出されるパケットは <code>0x1234</code> で始まります。 + コンテナからサーバに送られるパケットは <code>AB</code> (ASCII コード A と + ASCII コード B) で始まります。この二バイトの後に、ペイロード長が (上記の形式で) + 続きます。このため、ペイロード長の最大値は 2^16 にできるように思えますが、 + 実際にはコードでは最大値は 8K に設定されています。</p> + <table> + <tr> + <td colspan="6"><em>パケット形式 (Server->Container)</em></td> + </tr> + <tr> + <td>Byte</td> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <td>Contents</td> + <td>0x12</td> + <td>0x34</td> + <td colspan="2">データ長 (n)</td> + <td>Data</td> + </tr> + </table> + <table> + <tr> + <td colspan="6"><em>パケット形式 (Container->Server)</em></td> + </tr> + <tr> + <td>Byte</td> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <td>Contents</td> + <td>A</td> + <td>B</td> + <td colspan="2">データ長 (n)</td> + <td>Data</td> + </tr> + </table> + <p>ほとんどのパケットで、ペイロードの最初のバイトがメッセージの型をエンコード + しています。例外はサーバからコンテナに送られるリクエストボディパケットです + ――これらは標準的なパケット形式 (<code>0x1234</code> とパケット長) + ですが、その後に続くプレフィックスコードがありません。</p> + <p>ウェブサーバは次のメッセージをサーブレットコンテナに送出できます。</p> + <table> + <tr> + <td>コード</td> + <td>パケットの型</td> + <td>意味</td> + </tr> + <tr> + <td>2</td> + <td>Forward Request</td> + <td>リクエスト処理サイクルを後続のデータとともに開始する。</td> + </tr> + <tr> + <td>7</td> + <td>Shutdown</td> + <td>ウェブサーバがコンテナに、コンテナを終了するように伝える。</td> + </tr> + <tr> + <td>8</td> + <td>Ping</td> + <td>ウェブサーバがコンテナに制御を受け持つように伝える + (セキュアログインフェーズ) 。</td> + </tr> + <tr> + <td>10</td> + <td>CPing</td> + <td>ウェブサーバがコンテナに CPong で即座に応答するように伝える。</td> + </tr> + <tr> + <td>none</td> + <td>Data</td> + <td>サイズ (2 バイト) とそれに続くボディデータ。</td> + </tr> + </table> + <p>基本的なセキュリティを確保するため、ホストされているマシンと同一の + マシンからのリクエストに対してのみ、コンテナは実際に <code>Shutdown</code> + を実行します。</p> + <p>最初の <code>Data</code> パケットは、<code>Forward Request</code> + の直後にウェブサーバから送られます。</p> + <p>サーブレットコンテナはウェブサーバに、次のタイプのメッセージを送ることが + できます :</p> + <table> + <tr> + <td>コード</td> + <td>パケットの型</td> + <td>意味</td> + </tr> + <tr> + <td>3</td> + <td>Send Body Chunk</td> + <td>サーブレットコンテナからウェブサーバに + (そしておそらくそのままブラウザに)、ボディのチャンクを送る。</td> + </tr> + <tr> + <td>4</td> + <td>Send Headers</td> + <td>サーブレットコンテナからウェブサーバに (そしておそらくそのままブラウザに) + レスポンスヘッダを送る。</td> + </tr> + <tr> + <td>5</td> + <td>End Response</td> + <td>レスポンス (つまりリクエスト処理サイクル) 終了の目印を送る。 + </td> + </tr> + <tr> + <td>6</td> + <td>Get Body Chunk</td> + <td>まだ全て転送されていない場合、残っているリクエストのデータを受け取る。 + </td> + </tr> + <tr> + <td>9</td> + <td>CPong 応答</td> + <td>CPing リクエストに応答する。</td> + </tr> + </table> + <p>上記メッセージは、それぞれ内部構造が異なっています。詳細は下記をご覧ください。 + </p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="rpacetstruct" id="rpacetstruct">リクエストパケット構造</a></h2> + <p>サーバからコンテナへ送られるメッセージが + <em>Forward Request</em> 型の場合 :</p> + <div class="example"><pre>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</pre></div> + <p><code>request_headers</code> は次のような構造になっています : + </p><div class="example"><pre>req_header_name := + sc_req_header_name | (string) [see below for how this is parsed] + +sc_req_header_name := 0xA0xx (integer) + +req_header_value := (string)</pre></div> + <p><code>属性</code> はオプションで、次のような構造をしています :</p> + <div class="example"><pre>attribute_name := sc_a_name | (sc_a_req_attribute string) + +attribute_value := (string)</pre></div> + <p>もっとも重要なヘッダは <code>content-length</code> だということに + 注意してください。コンテナは次のパケットを探すかどうかを、 + それを見て決めるからです。</p> + <h3>Forward Request 要素の詳細な説明 + </h3> + <h3>Request prefix</h3> + <p>リクエストについては全て、この値は 2 になります。他の Prefix コードの詳細は + 上記をご覧ください。</p> + + <h3>Method</h3> + <p>HTTP メソッドは 1 バイトにエンコードされます :</p> + <table> + <tr><td>Command Name</td><td>Code</td></tr> + <tr><td>OPTIONS</td><td>1</td></tr> + <tr><td>GET</td><td>2</td></tr> + <tr><td>HEAD</td><td>3</td></tr> + <tr><td>POST</td><td>4</td></tr> + <tr><td>PUT</td><td>5</td></tr> + <tr><td>DELETE</td><td>6</td></tr> + <tr><td>TRACE</td><td>7</td></tr> + <tr><td>PROPFIND</td><td>8</td></tr> + <tr><td>PROPPATCH</td><td>9</td></tr> + <tr><td>MKCOL</td><td>10</td></tr> + <tr><td>COPY</td><td>11</td></tr> + <tr><td>MOVE</td><td>12</td></tr> + <tr><td>LOCK</td><td>13</td></tr> + <tr><td>UNLOCK</td><td>14</td></tr> + <tr><td>ACL</td><td>15</td></tr> + <tr><td>REPORT</td><td>16</td></tr> + <tr><td>VERSION-CONTROL</td><td>17</td></tr> + <tr><td>CHECKIN</td><td>18</td></tr> + <tr><td>CHECKOUT</td><td>19</td></tr> + <tr><td>UNCHECKOUT</td><td>20</td></tr> + <tr><td>SEARCH</td><td>21</td></tr> + <tr><td>MKWORKSPACE</td><td>22</td></tr> + <tr><td>UPDATE</td><td>23</td></tr> + <tr><td>LABEL</td><td>24</td></tr> + <tr><td>MERGE</td><td>25</td></tr> + <tr><td>BASELINE_CONTROL</td><td>26</td></tr> + <tr><td>MKACTIVITY</td><td>27</td></tr> + </table> + <p>今後の ajp13 バージョンでは、この一覧にない、今後追加されるメソッドを + 送るかもしれません。</p> + + <h3>protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl</h3> + <p>これらはまさに文字通りのものです。どれも必要で、リクエストの毎回につき + 送られます。</p> + + <h3>Headers</h3> + <p><code>request_headers</code> の構造は次のようなものです : + まずヘッダの数 <code>num_headers</code> がエンコードされます。 + 次にヘッダ名 <code>req_header_name</code> / 値 <code>req_header_value</code> + の組が続きます。効率のため、一般的なヘッダは整数でエンコードして転送します。 + ヘッダ名が基本ヘッダの一覧に無い場合は、通常通り (文字列として、長さ + プレフィックス付きで) 転送されます。一般的なヘッダ + <code>sc_req_header_name</code> の一覧とそのコードは次の通りです + (どれも大文字小文字を区別します) :</p> + <table> + <tr><td>名前</td><td>コードの値</td><td>コード名</td></tr> + <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr> + <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET + </td></tr> + <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING + </td></tr> + <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE + </td></tr> + <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td> + </tr> + <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr> + <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td> + </tr> + <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td> + </tr> + <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr> + <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr> + <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr> + <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr> + <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr> + <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr> + </table> + <p>これを読み込む Java のコードでは、最初の 2 バイト整数を取り込み、 + 目印になるバイト <code>'0xA0'</code> であれば、ヘッダ名の配列の + インデックスを使います。先頭バイトが <code>0xA0</code> でない場合は、 + 先頭 2 バイトは文字列長を表す整数であると解釈し、読み込みはじめます。</p> + <p>ヘッダ名の長さは <code>0x9999 (==0xA000 -1)</code> 以上にならないという + 仮定の下に動いていて、少しあいまいですが合理的な挙動になっています。</p> + <div class="note"><h3>注:</h3> + <code>content-length</code> ヘッダはとても重要です。 + 存在していて非ゼロであれば、リクエストにはボディがある (例えば POST + リクエスト) と推測し、そのボディを取り込むために + 直後のパケットを入力ストリームから読み込みはじめます。 + </div> + + <h3>属性</h3> + <p><code>?</code> プレフィックスで始まる属性 (例 <code>?context</code>) + は。省略可能です。それぞれ属性の型を示す 1 バイトのコードと、 + 値(文字列か整数)が続きます。 + これらは順不同で送ることができます (C のコードは常に下の一覧順に + 送るようですが) 。 + オプションの属性のリストの最後には、特別な終了コードが送られます。 + コードの一覧は : </p> + <table> + <tr><td>Information</td><td>Code Value</td><td>Type Of Value</td><td>Note</td></tr> + <tr><td>?context</td><td>0x01</td><td>-</td><td>未実装 + </td></tr> + <tr><td>?servlet_path</td><td>0x02</td><td>-</td><td>未実装 + </td></tr> + <tr><td>?remote_user</td><td>0x03</td><td>String</td><td /></tr> + <tr><td>?auth_type</td><td>0x04</td><td>String</td><td /></tr> + <tr><td>?query_string</td><td>0x05</td><td>String</td><td /></tr> + <tr><td>?jvm_route</td><td>0x06</td><td>String</td><td /></tr> + <tr><td>?ssl_cert</td><td>0x07</td><td>String</td><td /></tr> + <tr><td>?ssl_cipher</td><td>0x08</td><td>String</td><td /></tr> + <tr><td>?ssl_session</td><td>0x09</td><td>String</td><td /></tr> + <tr><td>?req_attribute</td><td>0x0A</td><td>String</td><td>Name (the name of the + attribute follows)</td></tr> + <tr><td>?ssl_key_size</td><td>0x0B</td><td>Integer</td><td /></tr> + <tr><td>are_done</td><td>0xFF</td><td>-</td><td>request_terminator</td></tr> + </table> + <p><code>context</code> と <code>servlet_path</code> は現在の C の + コードではセットされていません。また、ほとんどの Java のコードでも、 + このフィールドで何が送られても無視されます (これらのコードの後に文字列が + 送られると壊れるものもあります)。 + これがバグなのか、単に未実装なのか、歴史的経緯で残っているコードなのか + 分かりませんが、コネクションの両側ともで見当たりません。</p> + <p><code>remote_user</code> と <code>auth_type</code> はおそらく + HTTP レベルの認証を参照していて、リモートユーザのユーザ名と認証に使用した + タイプ (例 Basic, Digest) についてやり取りします。</p> + <p><code>query_string</code>, <code>ssl_cert</code>, + <code>ssl_cipher</code>, <code>ssl_session</code> + は HTTP と HTTPS の対応する部分を参照します。</p> + <p><code>jvm_route</code> はスティッキーセッションのサポート―― + ロードバランスしている複数のサーバ中の特定の Tomcat インスタンスと、 + ユーザのセッションとを紐付ける機能――に使われます。</p> + <p>この基本属性一覧に無いものについては、<code>req_attribute</code> + コード <code>0x0A</code> 経由で属性を何個でも送ることができます。 + 属性の名前と値の文字列の組を、それぞれこのコードの直後に送ります。 + 環境変数はこの方法で伝えられます。</p> + <p>最後に属性が全て送信された後に、属性の終端を示す <code>0xFF</code> + が送出されます。この信号は属性の一覧の終わりを示すと同時に、リクエスト + パケットの終端をも示しています。</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="resppacketstruct" id="resppacketstruct">レスポンスパケット構造</a></h2> + <p>コンテナがサーバに送り返すことのできるメッセージ:</p> + <div class="example"><pre>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) [see below for how this is parsed] + +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)</pre></div> + <h3>詳細 :</h3> + <h3>Send Body Chunk</h3> + <p>チャンクは基本的にはバイナリデータで、ブラウザに直接送られます。</p> + + <h3>Send Headers</h3> + <p>ステータスコードとメッセージが通常の HTTP の通信にはあります (例 + <code>200</code> と <code>OK</code>)。レスポンスヘッダ名は、 + リクエストヘッダ名と同様の方法でエンコードされます。 + コードと文字列の判別方法の詳細に関しては、上記の header_encoding + を参照してください。 + 一般的なヘッダのコードは :</p> + <table> + <tr><td>名前</td><td>コードの値</td></tr> + <tr><td>Content-Type</td><td>0xA001</td></tr> + <tr><td>Content-Language</td><td>0xA002</td></tr> + <tr><td>Content-Length</td><td>0xA003</td></tr> + <tr><td>Date</td><td>0xA004</td></tr> + <tr><td>Last-Modified</td><td>0xA005</td></tr> + <tr><td>Location</td><td>0xA006</td></tr> + <tr><td>Set-Cookie</td><td>0xA007</td></tr> + <tr><td>Set-Cookie2</td><td>0xA008</td></tr> + <tr><td>Servlet-Engine</td><td>0xA009</td></tr> + <tr><td>Status</td><td>0xA00A</td></tr> + <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr> + </table> + <p>コードかヘッダ文字列の直後には、ヘッダの値がエンコードされます。</p> + + <h3>End Response</h3> + <p>リクエスト処理サイクルの終了を知らせます。<code>reuse</code> フラグが真 + <code>(==1)</code> の場合、現在使用している TCP コネクションは次の新しい + リクエストに使えるようになります。<code>reuse</code> が偽 (C のコードでは + 1 以外の全て) の場合は、コネクションを閉じることになります。</p> + + <h3>Get Body Chunk</h3> + <p>(ボディのサイズが大きすぎて最初のパケットに収まらない場合や、 + リクエストがチャンク転送された場合などには、) コンテナはリクエストからの + データ読み込み要求をします。サーバ側はそれに対して、最小 + <code>request_length</code> 最大 <code>(8186 (8 Kbytes - 6))</code> + の範囲で、未転送で残っているリクエストボディの大きさのデータを + 送り返します。<br /> + ボディにそれ以上データが残っていない場合 (つまりサーブレットが + ボディの最後を超えて読み込もうとした場合) 、サーバは + ペイロード長 0 の<em>空パケット</em><code>(0x12,0x34,0x00,0x00)</code> + を送り返します。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_ajp.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.html b/docs/manual/mod/mod_proxy_balancer.html new file mode 100644 index 0000000..36d46dd --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_balancer.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_balancer.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_proxy_balancer.html.en new file mode 100644 index 0000000..bac074b --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.en @@ -0,0 +1,363 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_balancer - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_balancer</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_balancer.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_balancer_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_balancer.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.1 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and it provides load balancing for + all the supported protocols. The most important ones are:</p> + <ul> + <li>HTTP, using <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li> + <li>FTP, using <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li> + <li>AJP13, using <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li> + <li>WebSocket, using <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li> + </ul> + + <p>The Load balancing scheduler algorithm is not provided by this + module but from other ones such as:</p> + <ul> + <li><code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code></li> + </ul> + + <p>Thus, in order to get the ability of load balancing, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> + and at least one of load balancing scheduler algorithm modules have + to be present in the server.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#scheduler">Load balancer scheduler algorithm</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness">Load balancer stickyness</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Examples of a balancer configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#environment">Exported Environment Variables</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancer_manager">Enabling Balancer Manager Support</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_implementation">Details on load balancer stickyness</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_troubleshooting">Troubleshooting load balancer stickyness</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_balancer">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_balancer">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancergrowth">BalancerGrowth</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerpersist">BalancerPersist</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerinherit">BalancerInherit</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="scheduler" id="scheduler">Load balancer scheduler algorithm</a></h2> + + <p>At present, there are 4 load balancer scheduler algorithms available + for use: Request Counting (<code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>), + Weighted Traffic Counting (<code class="module"><a href="../mod/mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></code>), + Pending Request Counting (<code class="module"><a href="../mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>) and + Heartbeat Traffic Counting (<code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>). + These are controlled via the <code>lbmethod</code> value of + the Balancer definition. See the <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> + directive for more information, especially regarding how to + configure the Balancer and BalancerMembers.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness" id="stickyness">Load balancer stickyness</a></h2> + + <p>The balancer supports stickyness. When a request is proxied + to some back-end, then all following requests from the same user + should be proxied to the same back-end. Many load balancers implement + this feature via a table that maps client IP addresses to back-ends. + This approach is transparent to clients and back-ends, but suffers + from some problems: unequal load distribution if clients are themselves + hidden behind proxies, stickyness errors when a client uses a dynamic + IP address that changes during a session and loss of stickyness, if the + mapping table overflows.</p> + <p>The module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> implements stickyness + on top of two alternative means: cookies and URL encoding. Providing the + cookie can be either done by the back-end or by the Apache web server + itself. The URL encoding is usually done on the back-end.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Examples of a balancer configuration</a></h2> + + <p>Before we dive into the technical details, here's an example of + how you might use <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> to provide + load balancing between two back-end servers: + </p> + + <pre class="prettyprint lang-config"><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"</pre> + + + <p>Another example of how to provide load balancing with stickyness + using <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, even if the back-end server does + not set a suitable session cookie: + </p> + + <pre class="prettyprint lang-config">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"</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="environment" id="environment">Exported Environment Variables</a></h2> + + <p>At present there are 6 environment variables exported:</p> + + <dl> + + <dt><var><a name="balancer_session_sticky" id="balancer_session_sticky">BALANCER_SESSION_STICKY</a></var></dt> + <dd> + <p>This is assigned the <var>stickysession</var> value used for the current + request. It is the name of the cookie or request parameter used for sticky sessions</p> + </dd> + + + <dt><var><a name="balancer_session_route" id="balancer_session_route">BALANCER_SESSION_ROUTE</a></var></dt> + <dd> + <p>This is assigned the <var>route</var> parsed from the current + request.</p> + </dd> + + + <dt><var><a name="balancer_name" id="balancer_name">BALANCER_NAME</a></var></dt> + <dd> + <p>This is assigned the name of the balancer used for the current + request. The value is something like <code>balancer://foo</code>.</p> + </dd> + + + <dt><var><a name="balancer_worker_name" id="balancer_worker_name">BALANCER_WORKER_NAME</a></var></dt> + <dd> + <p>This is assigned the name of the worker used for the current request. + The value is something like <code>http://hostA:1234</code>.</p> + </dd> + + + <dt><var><a name="balancer_worker_route" id="balancer_worker_route">BALANCER_WORKER_ROUTE</a></var></dt> + <dd> + <p>This is assigned the <var>route</var> of the worker that will be + used for the current request.</p> + </dd> + + + <dt><var><a name="balancer_route_changed" id="balancer_route_changed">BALANCER_ROUTE_CHANGED</a></var></dt> + <dd> + <p>This is set to 1 if the session route does not match the + worker route (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE) or the + session does not yet have an established route. This can be used to + determine when/if the client needs to be sent an updated route + when sticky sessions are used.</p> + </dd> + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="balancer_manager" id="balancer_manager">Enabling Balancer Manager Support</a></h2> + + <p>This module <em>requires</em> the service of + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. + Balancer manager enables dynamic update of balancer + members. You can use balancer manager to change the balance + factor of a particular member, or put it in the off line + mode. + </p> + + <p>Thus, in order to get the ability of load balancer management, + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> and <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> + have to be present in the server.</p> + + <p>To enable load balancer management for browsers from the example.com + domain add this code to your <code>httpd.conf</code> + configuration file</p> +<pre class="prettyprint lang-config"><Location "/balancer-manager"> + SetHandler balancer-manager + Require host example.com +</Location></pre> + + + <p>You can now access load balancer manager by using a Web browser + to access the page + <code>http://your.server.name/balancer-manager</code>. Please note + that only Balancers defined outside of <code><Location ...></code> + containers can be dynamically controlled by the Manager.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness_implementation" id="stickyness_implementation">Details on load balancer stickyness</a></h2> + + <p>When using cookie based stickyness, you need to configure the + name of the cookie that contains the information about which back-end + to use. This is done via the <var>stickysession</var> attribute added + to either <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> or + <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. The name of + the cookie is case-sensitive. The balancer extracts the value of the + cookie and looks for a member worker with <var>route</var> equal + to that value. The <var>route</var> must also be set in either + <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> or + <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. The cookie can either + be set by the back-end, or as shown in the above + <a href="#example">example</a> by the Apache web server itself.</p> + <p>Some back-ends use a slightly different form of stickyness cookie, + for instance Apache Tomcat. Tomcat adds the name of the Tomcat instance + to the end of its session id cookie, separated with a dot (<code>.</code>) + from the session id. Thus if the Apache web server finds a dot in the value + of the stickyness cookie, it only uses the part behind the dot to search + for the route. In order to let Tomcat know about its instance name, you + need to set the attribute <code>jvmRoute</code> inside the Tomcat + configuration file <code>conf/server.xml</code> to the value of the + <var>route</var> of the worker that connects to the respective Tomcat. + The name of the session cookie used by Tomcat (and more generally by Java + web applications based on servlets) is <code>JSESSIONID</code> + (upper case) but can be configured to something else.</p> + <p>The second way of implementing stickyness is URL encoding. + The web server searches for a query parameter in the URL of the request. + The name of the parameter is specified again using <var>stickysession</var>. + The value of the parameter is used to lookup a member worker with <var>route</var> + equal to that value. Since it is not easy to extract and manipulate all + URL links contained in responses, generally the work of adding the parameters + to each link is done by the back-end generating the content. + In some cases it might be feasible doing + this via the web server using <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> or + <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>. This can have negative impact on performance though.</p> + <p>The Java standards implement URL encoding slightly different. They use + a path info appended to the URL using a semicolon (<code>;</code>) + as the separator and add the session id behind. As in the cookie case, + Apache Tomcat can include the configured <code>jvmRoute</code> in this path + info. To let Apache find this sort of path info, you need to set + <code>scolonpathdelim</code> to <code>On</code> in + <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> or + <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>.</p> + <p>Finally you can support cookies and URL encoding at the same time, by + configuring the name of the cookie and the name of the URL parameter + separated by a vertical bar (<code>|</code>) as in the following example:</p> + <pre class="prettyprint lang-config">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></pre> + + <p>If the cookie and the request parameter both provide routing information + for the same request, the information from the request parameter is used.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness_troubleshooting" id="stickyness_troubleshooting">Troubleshooting load balancer stickyness</a></h2> + + <p>If you experience stickyness errors, e.g. users lose their + application sessions and need to login again, you first want to + check whether this is because the back-ends are sometimes unavailable + or whether your configuration is wrong. To find out about possible + stability problems with the back-ends, check your Apache error log + for proxy error messages.</p> + <p>To verify your configuration, first check, whether the stickyness + is based on a cookie or on URL encoding. Next step would be logging + the appropriate data in the access log by using an enhanced + <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code>. + The following fields are useful:</p> + <dl> + <dt><code>%{MYCOOKIE}C</code></dt> + <dd>The value contained in the cookie with name <code>MYCOOKIE</code>. + The name should be the same given in the <var>stickysession</var> + attribute.</dd> + <dt><code>%{Set-Cookie}o</code></dt> + <dd>This logs any cookie set by the back-end. You can track, + whether the back-end sets the session cookie you expect, and + to which value it is set.</dd> + <dt><code>%{BALANCER_SESSION_STICKY}e</code></dt> + <dd>The name of the cookie or request parameter used + to lookup the routing information.</dd> + <dt><code>%{BALANCER_SESSION_ROUTE}e</code></dt> + <dd>The route information found in the request.</dd> + <dt><code>%{BALANCER_WORKER_ROUTE}e</code></dt> + <dd>The route of the worker chosen.</dd> + <dt><code>%{BALANCER_ROUTE_CHANGED}e</code></dt> + <dd>Set to <code>1</code> if the route in the request + is different from the route of the worker, i.e. + the request couldn't be handled sticky.</dd> + </dl> + <p>Common reasons for loss of session are session timeouts, + which are usually configurable on the back-end server.</p> + <p>The balancer also logs detailed information about handling + stickyness to the error log, if the log level is set to + <code>debug</code> or higher. This is an easy way to + troubleshoot stickyness problems, but the log volume might + be too high for production servers under high load.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_balancer.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_balancer.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.html.fr.utf8 b/docs/manual/mod/mod_proxy_balancer.html.fr.utf8 new file mode 100644 index 0000000..32ebd8b --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.fr.utf8 @@ -0,0 +1,408 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_balancer - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_balancer</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de +la répartition de charge</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_balancer_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_balancer.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et il fournit le support de + la répartition de charge pour tous les protocoles supportés. Parmi ces + protocoles, les plus importants sont :</p> + <ul> + <li>HTTP, avec le module <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li> + <li>FTP, avec le module <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li> + <li>AJP13, avec le module <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li> + <li>WebSocket, avec le module <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li> + </ul> + + + <p>L'algorithme de planification de la répartition de charge n'est pas + fourni par ce module, mais par ceux-ci :</p> + <ul> + <li><code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code></li> + </ul> + + <p>Ainsi, pour mettre en oeuvre la répartition de charge, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et + au moins un des modules fournissant l'algorithme de planification de + la répartition de charge doivent être chargés dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#scheduler">L'algorithme de planification de la répartition de + charge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness">Répartition de charge avec abonnement utilisateur + (stickyness)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemples de configuration d'un répartiteur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#environment">Variables d'environnement exportées</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancer_manager">Activation du support du gestionnaire de répartiteur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_implementation">Détails à propos de la répartition de charge par abonnement + (stickyness)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par + abonnement</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_balancer">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_balancer">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancergrowth">BalancerGrowth</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerpersist">BalancerPersist</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerinherit">BalancerInherit</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="scheduler" id="scheduler">L'algorithme de planification de la répartition de + charge</a></h2> + + <p>A l'heure actuelle, 4 algorithmes de planification de la répartition de + charge sont disponibles : ils se basent respectivement sur le comptage des + requêtes (<code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>), la mesure de + l'intensité du trafic (<code class="module"><a href="../mod/mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></code>), le comptage + des requêtes en attente (<code class="module"><a href="../mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>) et la + mesure de l'activité du serveur (<code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>). + Ils sont contrôlés par la valeur de <code>lbmethod</code> dans la définition + du répartiteur. Voir la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> pour plus de détails, et en + particulier la configuration du répartiteur et de ses membres.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness" id="stickyness">Répartition de charge avec abonnement utilisateur + (stickyness)</a></h2> + + <p>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.</p> + <p>Le module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> 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.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="example" id="example">Exemples de configuration d'un répartiteur</a></h2> + + <p>Avant de nous plonger dans les détails techniques, voici un + exemple d'utilisation de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> mettant + en oeuvre la répartition de charge entre deux serveurs + d'arrière-plan : + </p> + + <pre class="prettyprint lang-config"><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"</pre> + + + + <p>Voici un autre exemple de répartiteur de charge avec + abonnement utilisant <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, + fonctionnant même si le serveur d'arrière-plan ne définit pas de + cookie de session approprié : + </p> + + <pre class="prettyprint lang-config">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"</pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="environment" id="environment">Variables d'environnement exportées</a></h2> + + <p>A l'heure actuelle, 6 variables d'environnement sont exportées :</p> + + <dl> + + <dt><var><a name="balancer_session_sticky" id="balancer_session_sticky">BALANCER_SESSION_STICKY</a></var></dt> + <dd> + <p>Cette variable se voir assignée la valeur de + <var>stickysession</var> 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.</p> + </dd> + + + <dt><var><a name="balancer_session_route" id="balancer_session_route">BALANCER_SESSION_ROUTE</a></var></dt> + <dd> + <p>Cette variable se voit assignée la <var>route</var> interprétée + pour la requête courante.</p> + </dd> + + + <dt><var><a name="balancer_name" id="balancer_name">BALANCER_NAME</a></var></dt> + <dd> + <p>Cette variable se voit assigné le nom du répartiteur pour la + requête courante. Il s'agit d'une valeur du style + <code>balancer://foo</code>.</p> + </dd> + + + <dt><var><a name="balancer_worker_name" id="balancer_worker_name">BALANCER_WORKER_NAME</a></var></dt> + <dd> + <p>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 <code>http://hostA:1234</code>.</p> + </dd> + + + <dt><var><a name="balancer_worker_route" id="balancer_worker_route">BALANCER_WORKER_ROUTE</a></var></dt> + <dd> + <p>Cette variable se voit assignée la <var>route</var> du membre du + groupe de répartition de charge qui sera utilisé pour la requête + courante.</p> + </dd> + + + <dt><var><a name="balancer_route_changed" id="balancer_route_changed">BALANCER_ROUTE_CHANGED</a></var></dt> + <dd> + <p>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.</p> + </dd> + </dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="balancer_manager" id="balancer_manager">Activation du support du gestionnaire de répartiteur</a></h2> + + <p>Cette fonctionnalité <em>nécessite</em> le chargement du module + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. 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. + </p> + + <p>Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge, + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> + doivent être chargés dans le serveur.</p> + + <p>Pour permettre la gestion du répartiteur de charge aux + navigateurs appartenant au domaine example.com, ajoutez ces lignes à + votre fichier de configuration <code>httpd.conf</code> :</p> +<pre class="prettyprint lang-config"><Location "/balancer-manager"> + SetHandler balancer-manager + Require host example.com +</Location></pre> + + + <p>Vous pourrez alors accéder au gestionnaire du répartiteur de + charge en utilisant un navigateur web pour afficher la page + <code>http://nom.de.votre.serveur/balancer-manager</code>. 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 <code><Location ...></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness_implementation" id="stickyness_implementation">Détails à propos de la répartition de charge par abonnement + (stickyness)</a></h2> + + <p>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 + <var>stickysession</var> avec la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. Le nom du cookie est + sensible à la casse. Le répartiteur extrait le contenu du cookie et + recherche un serveur membre dont la <var>route</var> correspond à + cette valeur. La route doit aussi être définie dans la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. Le cookie peut être défini + soit par le serveur d'arrière-plan, soit, comme indiqué dans l'<a href="#example">exemple</a> ci-dessus par le serveur web Apache + lui-même.</p> + <p>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 <code>jvmRoute</code> dans + son fichier de configuration <code>conf/server.xml</code> à la + valeur de la <var>route</var> 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 + <code>JSESSIONID</code> (en majuscules), mais peut être modifié.</p> + + <p>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 + <var>stickysession</var>. Pour trouver un serveur membre, on + recherche un serveur dont la <var>route</var> 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 <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> ou + <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>, cette méthode peut dégrader les + performances.</p> + + <p>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 (<code>;</code>) 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 <code>jvmRoute</code> dans cette information de chemin. + Pour qu'Apache puisse trouver ce genre d'information de chemin, vous + devez définir <code>scolonpathdelim</code> à <code>On</code> dans la + directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou + <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>.</p> + + <p>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 (<code>|</code>) comme dans + l'exemple suivant :</p> + <pre class="prettyprint lang-config">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></pre> + + <p>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.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness_troubleshooting" id="stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par + abonnement</a></h2> + + <p>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.</p> + <p>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 <code class="directive"><a href="../mod/mod_log_config.html#format de journalisation">format + de journalisation</a></code> personnalisé. Les champs intéressants + sont les suivants :</p> + <dl> + <dt><code>%{MONCOOKIE}C</code></dt> + <dd>La valeur que contient le cookie de nom <code>MONCOOKIE</code>. + Le nom doit correspondre au nom défini par l'attribut + <var>stickysession</var>.</dd> + <dt><code>%{Set-Cookie}o</code></dt> + <dd>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.</dd> + <dt><code>%{BALANCER_SESSION_STICKY}e</code></dt> + <dd>Le nom du cookie ou du paramètre de requête utilisé pour la + recherche de l'information de routage.</dd> + <dt><code>%{BALANCER_SESSION_ROUTE}e</code></dt> + <dd>L'information de routage extraite de la requête.</dd> + <dt><code>%{BALANCER_WORKER_ROUTE}e</code></dt> + <dd>La route du serveur choisi.</dd> + <dt><code>%{BALANCER_ROUTE_CHANGED}e</code></dt> + <dd>Contient la valeur <code>1</code> 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.</dd> + </dl> + <p>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.</p> + <p>Si le niveau de journalisation est défini à <code>debug</code> 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.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_balancer.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 new file mode 100644 index 0000000..5088177 --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 @@ -0,0 +1,349 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_balancer - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_proxy_balancer</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>負荷分散のための <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 拡張</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>proxy_balancer_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy_balancer.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>2.1 以降</td></tr></table> +<h3>概要</h3> + + <p>本モジュールには <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> が<em>必要です</em>。 + <code>HTTP</code>, <code>FTP</code> と <code>AJP13</code> + プロトコルのロードバランス機能を持っています。</p> + + <p>ですから、 ロードバランスを有効にする場合 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> + と <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> がサーバに組み込まれて + いなければいけません。</p> + + <div class="warning"><h3>警告</h3> + <p><a href="mod_proxy.html#access">安全なサーバにする</a>までプロクシ機能は有効にしないでください。 + オープンプロキシサーバはあなた自身のネットワークにとっても、 + インターネット全体にとっても危険です。</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#scheduler">ロードバランサのスケジューラのアルゴリズム</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#requests">Request Counting アルゴリズム</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traffic">Weighted Traffic Counting アルゴリズム</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">バランサマネージャのサポートを有効にする</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<p>このモジュールにディレクティブはありません。</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_balancer">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_balancer">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="scheduler" id="scheduler">ロードバランサのスケジューラのアルゴリズム</a></h2> + + <p>現時点では 2 種類のロードバランサスケジューラアルゴリズムから選べます。 + リクエスト回数によるもの <span class="transnote">(<em>訳注:</em> Request Counting)</span> + と、トラフィック量によるもの <span class="transnote">(<em>訳注:</em> Weighted Traffic Counting)</span> + があります。バランサの設定 <code>lbmethod</code> 値で、どちらを使うか指定します。 + 詳細は <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code> ディレクティブを + 参照してください。</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="requests" id="requests">Request Counting アルゴリズム</a></h2> + + <p><code>lbmethod=byrequests</code> で有効になります。 + このスケジューラの背景にある考え方は、様々なワーカーがそれぞれ、 + 設定されている分担リクエスト数をきちんと受け取れるように、 + リクエストを扱うという考え方です。次のように動作します:</p> + + <p><dfn>lbfactor</dfn> は、<em>どの程度ワーカーに仕事を振るか</em> + つまり<em>ワーカーのクオータ</em>を指します。この値は "分担" + 量を表す正規化された値です。</p> + + <p><dfn>lbstatus</dfn> は、<em>ワーカーのクオータを満たすために + どのぐらい急ぎで働かなければならないか</em>を指します。</p> + + <p><dfn>ワーカー</dfn>はロードバランサのメンバで、通常は、 + サポートされるプロトコルのうちの一つを提供しているリモートホストです。 + </p> + + <p>まず個々のワーカーにワーカークオータを割り振り、どのワーカーが最も急ぎで + 働かなければならないか (lbstatus が最大のもの) を調べます。 + 次に仕事をするようにこのワーカーを選択し、選択したワーカーの lbstatus + を全体に割り振ったぶんだけ差し引きます。ですから、lbstatus の総量は + 結果的に変化しません(*)し、リクエストは期待通りに分散されます。</p> + + <p>あるワーカーが無効になっても、他のものは正常にスケジュールされ続けます。 + </p> + + <div class="example"><pre><code>for each worker in workers + worker lbstatus += worker lbfactor + total factor += worker lbfactor + if worker lbstatus > candidate lbstatus + candidate = worker + +candidate lbstatus -= total factor</code></pre></div> + + <p>バランサを次のように設定した場合:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td></tr> +</table> + + <p>そして <var>b</var> が無効になった場合、次のようなスケジュールが + 行われます。</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">0</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">-25</td> + <td class="data">0</td> + <td class="data"><em>-25</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data"><em>0</em></td></tr> +<tr><td class="data" colspan="5">(repeat)</td></tr> +</table> + + <p>つまりこのようにスケジュールされます: <var>a</var> <var>c</var> + <var>d</var> <var>a</var> <var>c</var> <var>d</var> <var>a</var> + <var>c</var> <var>d</var> ... 次の点に注意してください:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +</table> + + <p>この挙動は、次の設定と全く同じになります:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td></tr> +</table> + + <p>This is because all values of <dfn>lbfactor</dfn> are normalized + with respect to the others. For:</p> + <p><dfn>lbfactor</dfn> は全て正規化されたもので、 + 他との相対値だからです。次の設定では:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">4</td> + <td class="data">1</td></tr> +</table> + + <p>ワーカー <var>b</var> は、平均して、<var>a</var> と <var>c</var> + の 4 倍の数のリクエストを受け持つことになります。</p> + + <p>次のような非対称な設定では、こうなると予想されるでしょう:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th></tr> +<tr><th>lbfactor</th> + <td class="data">70</td> + <td class="data">30</td></tr> +<tr><td class="data" colspan="2"> </td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-30</em></td> + <td class="data">30</td></tr> +<tr><th>lbstatus</th> + <td class="data">40</td> + <td class="data"><em>-40</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>10</em></td> + <td class="data">-10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-20</em></td> + <td class="data">20</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">20</td> + <td class="data"><em>-20</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-10</em></td> + <td class="data">10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-40</em></td> + <td class="data">40</td></tr> +<tr><th>lbstatus</th> + <td class="data">30</td> + <td class="data"><em>-30</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>0</em></td> + <td class="data">0</td></tr> +<tr><td class="data" colspan="3">(repeat)</td></tr> +</table> + + <p>スケジュールは 10 スケジュール後に繰り返され、<var>a</var> 7 回と + <var>b</var> 3 回でまばらに選ばれます。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="traffic" id="traffic">Weighted Traffic Counting アルゴリズム</a></h2> + + <p><code>lbmethod=bytraffic</code> で有効になります。 + このスケジューラの背景にある考え方は、Request Counting + と非常に似ていますが、次の違いがあります:</p> + + <p><dfn>lbfactor</dfn> は <em>どれだけのバイト数のトラフィック量を、 + このワーカーに処理してもらいたいか</em> を表します。 + この値も同様に正規化された値で、ワーカー全体のうちでの "分担" + 量を表現しています。リクエスト数を単純に数える代わりに、 + どれだけの転送量を処理したかを数えます。</p> + + <p>次のようにバランサを設定した場合:</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">2</td> + <td class="data">1</td></tr> +</table> + + <p><var>b</var> には <var>a</var> や <var>c</var> の 2 倍 + 処理してほしいということになります。 + <var>b</var> は 2 倍の I/O を処理するという意味になり、 + 2 倍のリクエスト数を処理するということにはなりません。 + ですからリクエストとレスポンスのサイズが、 + 重み付けと振り分けのアルゴリズムに効いています。</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">バランサマネージャのサポートを有効にする</a></h2> + + <p>このモジュールは <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> のサービスを + <em>必要とします</em>。 + バランサマネージャを使うと、バランサのメンバーの動的な更新が + できます。バランサマネージャを使って、バランス係数 (lbfactor) + を変更したり、メンバーを変更したり、特定のメンバーを + オフラインモードにしたりできます。</p> + + <p>ですから、ロードバランサ管理機能を使いたければ、 + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> と <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> + をサーバに組み込まなければなりません。</p> + + <p>foo.com ドメインのブラウザからロードバランサ管理機能を + 使えるようにするには、次のようなコードを <code>httpd.conf</code> + に追加します。</p> +<div class="example"><p><code> + <Location /balancer-manager><br /> + SetHandler balancer-manager<br /> +<br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .foo.com<br /> + </Location> +</code></p></div> + + <p>こうすると、<code>http://your.server.name/balancer-manager</code> + のページ経由で、ウェブブラウザからロードバランサマネージャに + アクセスできるようになります。</p> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_balancer.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.html b/docs/manual/mod/mod_proxy_connect.html new file mode 100644 index 0000000..6d1857a --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_connect.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_connect.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_proxy_connect.html.en new file mode 100644 index 0000000..71c7f1e --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.en @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_connect - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_connect</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_connect.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for +<code>CONNECT</code> request handling</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_connect_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_connect.c</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the <code>CONNECT</code> + HTTP method. This method is mainly used to tunnel SSL requests + through proxy servers.</p> + + <p>Thus, in order to get the ability of handling <code>CONNECT</code> + requests, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and + <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> have to be present in the server.</p> + + <p>CONNECT is also used when the server needs to send an HTTPS request + through a forward proxy. In this case the server acts as a CONNECT client. + This functionality is part of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and + <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> is not needed in this case.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Request notes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allowconnect">AllowCONNECT</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_connect">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_connect">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Request notes</a></h2> + <p><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> creates the following request notes for + logging using the <code>%{VARNAME}n</code> format in + <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> or + <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code>: + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>The local port used for the connection to the backend server.</dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a> <a name="allowconnect" id="allowconnect">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowCONNECT 443 563</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_connect</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Moved from <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> in Apache 2.3.5. +Port ranges available since Apache 2.3.7.</td></tr> +</table> + <p>The <code class="directive">AllowCONNECT</code> directive specifies a list + of port numbers or ranges to which the proxy <code>CONNECT</code> method + may connect. Today's browsers use this method when a <code>https</code> + connection is requested and proxy tunneling over HTTP is in effect.</p> + + <p>By default, only the default https port (<code>443</code>) and the + default snews port (<code>563</code>) are enabled. Use the + <code class="directive">AllowCONNECT</code> directive to override this default and + allow connections to the listed ports only.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_connect.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_connect.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.html.fr.utf8 b/docs/manual/mod/mod_proxy_connect.html.fr.utf8 new file mode 100644 index 0000000..a20ff98 --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.fr.utf8 @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_connect - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_connect</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le traitement +des requêtes <code>CONNECT</code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_connect_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_connect.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support de la méthode HTTP + <code>CONNECT</code>. Cette méthode est principalement utilisée pour + faire franchir les serveurs mandataires aux requêtes SSL à l'aide + d'un tunnel.</p> + + <p>Ainsi, pour pouvoir traiter les requêtes <code>CONNECT</code>, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> + doivent être chargés dans le serveur.</p> + + <p>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 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, le module + <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> n'est dans ce cas pas nécessaire.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allowconnect">AllowCONNECT</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_connect">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_connect">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Informations sur les requêtes</a></h2> + <p><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> enregistre les informations + suivantes pour journalisation via le format <code>%{NOMVAR}n</code> + dans les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> : + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.</dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="allowconnect" id="allowconnect">Directive</a> <a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ports autorisés à se <code>CONNECT</code>er à travers le +mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowCONNECT 443 563</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_connect</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir +d'Apache 2.3.5. Plages de ports disponibles depuis Apache 2.3.7.</td></tr> +</table> + <p>La directive <code class="directive">AllowCONNECT</code> permet de + spécifier une liste de numéros ou de plages de ports auxquels la + méthode de mandataire <code>CONNECT</code> pourra se connecter. Les + navigateurs récents utilisent cette méthode dans le cas où une + connexion <code>https</code> est requise et où le tunneling + mandataire sur HTTP est en service.</p> + + <p>Par défaut, seuls les ports par défauts https (<code>443</code>) + et snews (<code>563</code>) sont pris en compte. Vous pouvez + utiliser la directive <code class="directive">AllowCONNECT</code> pour + outrepasser ces valeurs par défaut et n'autoriser les connexions que + vers les ports spécifiés.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_connect.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.html.ja.utf8 b/docs/manual/mod/mod_proxy_connect.html.ja.utf8 new file mode 100644 index 0000000..88bda27 --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.ja.utf8 @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_connect - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_proxy_connect</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td><code>CONNECT</code> リクエストを扱う +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 用の拡張</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>proxy_connect_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy_connect.c</td></tr></table> +<h3>概要</h3> + + <p>本モジュールには <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> が<em>必要です</em>。 + <code>CONNECT</code> HTTP メソッドをサポートします。 + このメソッドは主にプロキシに SSL リクエストを通す + <span class="transnote">(<em>訳注:</em> SSLトンネリング)</span>に使われます。</p> + + <p><code>CONNECT</code> リクエストを扱えるようにするには + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> と <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> + をサーバに組み込む必要があります。</p> + + <div class="warning"><h3>警告</h3> + <p><a href="mod_proxy.html#access">安全なサーバにする</a>までプロキシ機能は有効にしないでください。 + オープンプロキシサーバはあなた自身のネットワークにとっても、 + インターネット全体にとっても危険です。</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allowconnect">AllowCONNECT</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_connect">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_connect">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_proxy.html#allowconnect">AllowCONNECT</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a> <a name="allowconnect" id="allowconnect">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowCONNECT 443 563</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy_connect</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Moved from <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> in Apache 2.3.5. +Port ranges available since Apache 2.3.7.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_connect.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_express.html b/docs/manual/mod/mod_proxy_express.html new file mode 100644 index 0000000..85715fb --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_express.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_express.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_express.html.en b/docs/manual/mod/mod_proxy_express.html.en new file mode 100644 index 0000000..3bce29f --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html.en @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_express - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_express</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_express.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_express.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Dynamic mass reverse proxy extension for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_express_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_express.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.13 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module creates dynamically configured mass reverse + proxies, by mapping the <code>Host:</code> header of the HTTP request to + a server name and backend URL stored in a DBM file. + This allows for easy use of a huge number of reverse proxies + with no configuration changes. It is much less feature-full + than <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, which also provides + dynamic growth, but is intended to handle much, much + larger numbers of backends. It is ideally suited as a + front-end HTTP switch and for micro-services architectures.</p> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> + +<div class="note"><h3>Limitations</h3> + <ul> + <li>This module is not intended to replace the dynamic capability of + <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>. Instead, it is intended to be mostly + a lightweight and fast alternative to using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + with <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> and the + <code>[P]</code> flag for mapped reverse proxying. + </li> + <li>It does not support regex or pattern matching at all. + </li> + <li>It emulates: + <pre class="prettyprint lang-config"><VirtualHost *:80> + ServerName front.end.server + ProxyPass "/" "back.end.server:port" + ProxyPassReverse "/" "back.end.server:port" +</VirtualHost></pre> + + That is, the entire URL is appended to the mapped backend + URL. This is in keeping with the intent of being a simple + but fast reverse proxy switch. + </li> + </ul> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressenable">ProxyExpressEnable</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_express">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_express">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancergrowth">BalancerGrowth</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerpersist">BalancerPersist</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerinherit">BalancerInherit</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyExpressDBMFile" id="ProxyExpressDBMFile">ProxyExpressDBMFile</a> <a name="proxyexpressdbmfile" id="proxyexpressdbmfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Pathname to DBM file.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyExpressDBMFile <var>pathname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_express</td></tr> +</table> + <p>The <code class="directive">ProxyExpressDBMFile</code> directive + points to the location of the Express map DBM file. This + file serves to map the incoming server name, obtained from + the <code>Host:</code> header, to a backend URL.</p> + + <div class="note"><h3>Note</h3> + <p>The file is constructed from a plain text file format using + the <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code> + utility.</p> + + <div class="example"><h3>ProxyExpress map file</h3><p><code> + ##<br /> + ##express-map.txt:<br /> + ##<br /> + <br /> + www1.example.com http://192.168.211.2:8080<br /> + www2.example.com http://192.168.211.12:8088<br /> + www3.example.com http://192.168.212.10<br /> + </code></p></div> + + <div class="example"><h3>Create DBM file</h3><p><code> + httxt2dbm -i express-map.txt -o emap<br /> + </code></p></div> + + <div class="example"><h3>Configuration</h3><pre class="prettyprint lang-config">ProxyExpressEnable on +ProxyExpressDBMFile emap</pre> +</div> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyExpressDBMType" id="ProxyExpressDBMType">ProxyExpressDBMType</a> <a name="proxyexpressdbmtype" id="proxyexpressdbmtype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>DBM type of file.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyExpressDBMType <var>type</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyExpressDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_express</td></tr> +</table> + <p>The <code class="directive">ProxyExpressDBMType</code> directive + controls the DBM type expected by the module. The default + is the default DBM type created with <code> + <a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p> + <p>Possible values are (not all may be available at run time):</p> +<table class="bordered"><tr class="header"><th>Value</th><th>Description</th></tr> +<tr><td><code>db</code></td><td> Berkeley DB files</td></tr> +<tr class="odd"><td><code>gdbm</code></td><td> GDBM files</td></tr> +<tr><td><code>ndbm</code></td><td> NDBM files</td></tr> +<tr class="odd"><td><code>sdbm</code></td><td> SDBM files (always available)</td></tr> +<tr><td><code>default</code></td><td> default DBM type</td></tr> +</table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyExpressEnable" id="ProxyExpressEnable">ProxyExpressEnable</a> <a name="proxyexpressenable" id="proxyexpressenable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable the module functionality.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyExpressEnable on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyExpressEnable off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_express</td></tr> +</table> + <p>The <code class="directive">ProxyExpressEnable</code> directive + controls whether the module will be active.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_express.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_express.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_express.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_express.html.fr.utf8 b/docs/manual/mod/mod_proxy_express.html.fr.utf8 new file mode 100644 index 0000000..681476e --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html.fr.utf8 @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_express - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_express</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_express.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_express.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement +dynamique inverse de masse</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_express_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_express.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module crée dynamiquement en masse des mandataires inverses en + faisant correspondre l'en-tête <code>Host:</code> 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 + <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> 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.</p> + + <p>Pour pouvoir être utilisé, ce module nécessite le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez le mandatement que si vous avez <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux pour votre réseau, et + dans une plus large mesure pour Internet.</p> + </div> + +<div class="note"><h3>Limitations</h3> + <ul> + <li>Ce module n'est pas conçu pour remplacer les fonctionnalités dynamiques + de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>. Par contre, il peut constituer une + alternative légère et rapide à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> lorsque ce + dernier utilise la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> et le drapeau <code>[P]</code> + pour le mandatement inverse à partir d'une table de correspondances. + </li> + <li>Il ne supporte pas les mises en correspondance basées sur les + expressions rationnelles ou les modèles. + </li> + <li>Il émule : + <pre class="prettyprint lang-config"><VirtualHost *:80> + ServerName front.end.server + ProxyPass "/" "back.end.server:port" + ProxyPassReverse "/" "back.end.server:port" +</VirtualHost></pre> + + 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. + </li> + </ul> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressenable">ProxyExpressEnable</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_express">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_express">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancergrowth">BalancerGrowth</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerpersist">BalancerPersist</a></code></li> +<li><code class="directive"><a href="../mod/mod_proxy.html#balancerinherit">BalancerInherit</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyexpressdbmfile" id="proxyexpressdbmfile">Directive</a> <a name="ProxyExpressDBMFile" id="ProxyExpressDBMFile">ProxyExpressDBMFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier DBM.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressDBMFile <var>pathname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_express</td></tr> +</table> + <p>La directive <code class="directive">ProxyExpressDBMFile</code> 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 + <code>Host:</code> de la requête entrante avec une URL d'arrière-plan.</p> + + <div class="note"><h3>Note</h3> + <p>Ce fichier est élaboré à partir d'un fichier texte à l'aide de + l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p> + + <div class="example"><h3>Fichier de correspondances ProxyExpress</h3><p><code> + ##<br /> + ##express-map.txt:<br /> + ##<br /> + <br /> + www1.example.com http://192.168.211.2:8080<br /> + www2.example.com http://192.168.211.12:8088<br /> + www3.example.com http://192.168.212.10<br /> + </code></p></div> + + <div class="example"><h3>Création du fichier DBM</h3><p><code> + httxt2dbm -i express-map.txt -o emap<br /> + </code></p></div> + + <div class="example"><h3>Configuration</h3><pre class="prettyprint lang-config">ProxyExpressEnable on +ProxyExpressDBMFile emap</pre> +</div> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyexpressdbmtype" id="proxyexpressdbmtype">Directive</a> <a name="ProxyExpressDBMType" id="ProxyExpressDBMType">ProxyExpressDBMType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type de fichier DBM.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressDBMType <var>type</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyExpressDBMType default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_express</td></tr> +</table> + <p>La directive <code class="directive">ProxyExpressDBMType</code> 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 <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p> + <p>Les valeurs possibles sont (mais toutes ne seront pas disponibles à + l'exécution) :</p> +<table class="bordered"><tr class="header"><th>Value</th><th>Description</th></tr> +<tr><td><code>db</code></td><td>Fichiers Berkeley DB</td></tr> +<tr class="odd"><td><code>gdbm</code></td><td>Fichiers GDBM</td></tr> +<tr><td><code>ndbm</code></td><td>Fichiers NDBM</td></tr> +<tr class="odd"><td><code>sdbm</code></td><td>Fichiers SDBM (toujours disponible)</td></tr> +<tr><td><code>default</code></td><td>type DBM par défaut</td></tr> +</table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyexpressenable" id="proxyexpressenable">Directive</a> <a name="ProxyExpressEnable" id="ProxyExpressEnable">ProxyExpressEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité du module.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressEnable on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyExpressEnable off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_express</td></tr> +</table> + <p>La directive <code class="directive">ProxyExpressEnable</code> permet + d'activer/désactiver le module.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_express.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_express.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_express.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fcgi.html b/docs/manual/mod/mod_proxy_fcgi.html new file mode 100644 index 0000000..e714cf6 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_fcgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_fcgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_fcgi.html.en b/docs/manual/mod/mod_proxy_fcgi.html.en new file mode 100644 index 0000000..3b6d433 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html.en @@ -0,0 +1,356 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_fcgi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_fcgi</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fcgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>FastCGI support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_fcgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_fcgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the + <a href="http://www.fastcgi.com/">FastCGI</a> protocol.</p> + + <p>Thus, in order to get the ability of handling the <code>FastCGI</code> + protocol, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> have to be present in the server.</p> + + <p>Unlike <a href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a> + and <a href="http://www.fastcgi.com/">mod_fastcgi</a>, + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> has no provision for starting the + application process; <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> is provided + (on some platforms) for that purpose. Alternatively, external launching + or process management may be available in the FastCGI application + framework in use.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Environment Variables</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fcgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fcgi">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_authnz_fcgi.html">mod_authnz_fcgi</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + <p>Remember, in order to make the following examples work, you have to + enable <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>.</p> + + <div class="example"><h3>Single application instance</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/"</pre> +</div> + + <p> <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> disables connection reuse by + default, so after a request has been completed the connection will NOT be + held open by that httpd child process and won't be reused. If the + FastCGI application is able to handle concurrent connections + from httpd, you can opt-in to connection reuse as shown in the following + example:</p> + + <div class="example"><h3>Single application instance, connection reuse (2.4.11 and later)</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre> +</div> + + <div class="note"><h3>Enable connection reuse to a FCGI backend like PHP-FPM</h3> + <p>Please keep in mind that PHP-FPM (at the time of writing, February 2018) + uses a prefork model, namely each of its worker processes can handle one + connection at the time.<br /> + By default mod_proxy (configured with <code>enablereuse=on</code>) + allows a connection pool of + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> connections to the + backend for each httpd process when using a threaded mpm (like + <code class="module"><a href="../mod/worker.html">worker</a></code> or <code class="module"><a href="../mod/event.html">event</a></code>), + so the following use cases should be taken into account:</p> + <ul> + <li>Under HTTP/1.1 load it will likely cause the creation of up to + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + connections to the FCGI backend.</li> + <li>Under HTTP/2 load, due to how <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> is implemented, + there are additional h2 worker threads that may force the creation of other + backend connections. The overall count of connections in the pools may raise + to more than <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>.</li> + </ul> + <p>The maximum number of PHP-FPM worker processes needs to be configured wisely, + since there is the chance that they will all end up "busy" handling idle + persistent connections, without any room for new ones to be established, + and the end user experience will be a pile of HTTP request timeouts.</p> + </div> + + <p> The following example passes the request URI as a filesystem + path for the PHP-FPM daemon to run. The request URL is implicitly added + to the 2nd parameter. The hostname and port following fcgi:// are where + PHP-FPM is listening. Connection pooling/reuse is enabled.</p> + <div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on</pre> +</div> + + <p> The following example passes the request URI as a filesystem + path for the PHP-FPM daemon to run. In this case, PHP-FPM is listening on + a unix domain socket (UDS). Requires 2.4.9 or later. With this syntax, + the hostname and optional port following fcgi:// are ignored.</p> + <div class="example"><h3>PHP-FPM with UDS</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"</pre> +</div> + + <p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and + at least one load balancer algorithm module, such as + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>, in addition to the proxy + modules listed above. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> is the + default, and will be used for this example configuration.</p> + + <div class="example"><h3>Balanced gateway to multiple application instances</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "balancer://myappcluster/" +<Proxy "balancer://myappcluster/"> + BalancerMember "fcgi://localhost:4000" + BalancerMember "fcgi://localhost:4001" +</Proxy></pre> +</div> + + <p>You can also force a request to be handled as a reverse-proxy + request, by creating a suitable Handler pass-through. The example + configuration below will pass all requests for PHP scripts to the + specified FastCGI server using reverse proxy. + This feature is available in Apache HTTP Server 2.4.10 and later. For performance + reasons, you will want to define a <a href="mod_proxy.html#workers">worker</a> + representing the same fcgi:// backend. The benefit of this form is that it + allows the normal mapping of URI to filename to occur in the server, and the + local filesystem result is passed to the backend. When FastCGI is + configured this way, the server can calculate the most accurate + PATH_INFO. + </p> + <div class="example"><h3>Proxy via Handler</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$"> + # Note: The only part that varies is /path/to/app.sock + SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" +</FilesMatch> + +# Define a matching worker. +# The part that is matched to the SetHandler is the part that +# follows the pipe. If you need to distinguish, "localhost; can +# be anything unique. +<Proxy "fcgi://localhost/" enablereuse=on max=10> +</Proxy> + +<FilesMatch ...> + SetHandler "proxy:fcgi://localhost:9000" +</FilesMatch> + +<FilesMatch ...> + SetHandler "proxy:balancer://myappcluster/" +</FilesMatch></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Environment Variables</a></h2> + <p>In addition to the configuration directives that control the + behaviour of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, there are a number of + <dfn>environment variables</dfn> that control the FCGI protocol + provider:</p> + <dl> + <dt>proxy-fcgi-pathinfo</dt> + <dd>When configured via <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> or <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> will not + set the <var>PATH_INFO</var> environment variable. This allows + the backend FCGI server to correctly determine <var>SCRIPT_NAME</var> + and <var>Script-URI</var> and be compliant with RFC 3875 section 3.3. + If instead you need <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> to generate + a "best guess" for <var>PATH_INFO</var>, set this env-var. + This is a workaround for a bug in some FCGI implementations. This + variable can be set to multiple values to tweak at how the best guess + is chosen (In 2.4.11 and later only): + <dl> + <dt>first-dot</dt> + <dd>PATH_INFO is split from the slash following the + <em>first</em> "." in the URL.</dd> + <dt>last-dot</dt> + <dd>PATH_INFO is split from the slash following the + <em>last</em> "." in the URL.</dd> + <dt>full</dt> + <dd>PATH_INFO is calculated by an attempt to map the URL to the + local filesystem.</dd> + <dt>unescape</dt> + <dd>PATH_INFO is the path component of the URL, unescaped / + decoded.</dd> + <dt>any other value</dt> + <dd>PATH_INFO is the same as the path component of the URL. + Originally, this was the only proxy-fcgi-pathinfo option.</dd> + </dl> + </dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyFCGIBackendType" id="ProxyFCGIBackendType">ProxyFCGIBackendType</a> <a name="proxyfcgibackendtype" id="proxyfcgibackendtype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify the type of backend FastCGI application</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyFCGIBackendType FPM|GENERIC</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyFCGIBackendType FPM</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_fcgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.26 and later</td></tr> +</table> +<p>This directive allows the type of backend FastCGI application to be +specified. Some FastCGI servers, such as PHP-FPM, use historical quirks of +environment variables to identify the type of proxy server being used. Set +this directive to "GENERIC" if your non PHP-FPM application has trouble +interpreting environment variables such as SCRIPT_FILENAME or PATH_TRANSLATED +as set by the server.</p> + +<p>One example of values that change based on the setting of this directive is +SCRIPT_FILENAME. When using <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> historically, +SCRIPT_FILENAME was prefixed with the string "proxy:fcgi://". This variable is +what some generic FastCGI applications would read as their script input, but +PHP-FPM would strip the prefix then remember it was talking to Apache. In +2.4.21 through 2.4.25, this prefix was automatically stripped by the server, +breaking the ability of PHP-FPM to detect and interoperate with Apache in some +scenarios.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyFCGISetEnvIf" id="ProxyFCGISetEnvIf">ProxyFCGISetEnvIf</a> <a name="proxyfcgisetenvif" id="proxyfcgisetenvif">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_fcgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.26 and later</td></tr> +</table> +<p>Just before passing a request to the configured FastCGI server, the core of +the web server sets a number of environment variables based on details of the +current request. FastCGI programs often uses these environment variables +as inputs that determine what underlying scripts they will process, or what +output they directly produce.</p> +<p>Examples of noteworthy environment variables are:</p> +<ul> + <li>SCRIPT_NAME</li> + <li>SCRIPT_FILENAME</li> + <li>REQUEST_URI</li> + <li>PATH_INFO</li> + <li>PATH_TRANSLATED</li> +</ul> + +<p>This directive allows the environment variables above, or any others of +interest, to be overridden. This directive is evaluated after the initial +values for these variables are set, so they can be used as input into both +the condition expressions and value expressions.</p> +<p>Parameter syntax:</p> +<dl> +<dt>conditional-expression</dt> +<dd>Specifies an expression that controls whether the environment variable that + follows will be modified. For information on the expression syntax, see + the examples that follow or the full specification at the + <a href="../expr.html">ap_expr</a> documentation. + </dd> +<dt>environment-variable-name</dt> +<dd> Specifies the CGI environment variable to change, + such as PATH_INFO. If preceded by an exclamation point, the variable + will be unset.</dd> +<dt>value-expression</dt> +<dd>Specifies the replacement value for the preceding environment variable. + Backreferences, such as "$1", can be included from regular expression + captures in <var>conditional-expression</var>. If omitted, the variable is + set (or overridden) to an empty string — but see the Note below.</dd> +</dl> + +<div class="example"><pre class="prettyprint lang-config"># A basic, unconditional override +ProxyFCGISetEnvIf "true" PATH_INFO "/example" + +# Use an environment variable in the value +ProxyFCGISetEnvIf "true" PATH_INFO "%{reqenv:SCRIPT_NAME}" + +# Use captures in the conditions and backreferences in the replacement +ProxyFCGISetEnvIf "reqenv('PATH_TRANSLATED') =~ m|(/.*prefix)(\d+)(.*)|" PATH_TRANSLATED "$1$3"</pre> +</div> + +<div class="note"><h3>Note: Unset vs. Empty</h3> + The following will unset <code>VARIABLE</code>, preventing it from being sent + to the FastCGI server: + + <pre class="prettyprint lang-config">ProxyFCGISetEnvIf true !VARIABLE</pre> + + + Whereas the following will erase any existing <em>value</em> of + <code>VARIABLE</code> (by setting it to the empty string), but the empty + <code>VARIABLE</code> will still be sent to the server: + + <pre class="prettyprint lang-config">ProxyFCGISetEnvIf true VARIABLE</pre> + + + The CGI/1.1 specification + <a href="https://tools.ietf.org/html/rfc3875#section-4.1">does not + distinguish</a> between a variable with an empty value and a variable that + does not exist. However, many CGI and FastCGI implementations distinguish (or + allow scripts to distinguish) between the two. The choice of which to use is + dependent upon your implementation and your reason for modifying the variable. +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fcgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 b/docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 new file mode 100644 index 0000000..cf495c8 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html.fr.utf8 @@ -0,0 +1,380 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_fcgi - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_fcgi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de FastCGI à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_fcgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fcgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du protocole <a href="http://www.fastcgi.com/">FastCGI</a>.</p> + + <p>Ainsi, pour pouvoir traiter le protocole <code>FastCGI</code>, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> + doivent être chargés dans le serveur.</p> + + <p>A la différence de <a href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a> et <a href="http://www.fastcgi.com/">mod_fastcgi</a>, + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> n'est pas en mesure de démarrer le + processus de l'application ; <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> 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.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_authnz_fcgi.html">mod_authnz_fcgi</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + <p>Pour que ces exemples fonctionnent, vous ne devez pas oublier + d'activer <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>.</p> + + <div class="example"><h3>Instance d'application unique</h3><pre class="prettyprint lang-config">ProxyPass "/mon_appli/" "fcgi://localhost:4000/"</pre> +</div> + + + <p><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> 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 :</p> + + <div class="example"><h3>Instance d'application unique, réutilisation + des connexions (versions 2.4.11 et supérieures)</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre> +</div> + + <div class="note"><h3>Active la réutilisation des connexions vers un serveur FCGI + d'arrière-plan tel que PHP-FPM</h3> + <p>Il faut garder à l'esprit que PHP-FPM (en février 2018) utilise un modèle + du style prefork ; autrement dit, chacun de ses processus de travail ne peut + gérer qu'une connexion à la fois.<br /> Par défaut et lorsqu'il est + configuré avec <code>enablereuse=on</code> et lorsqu'un MPM à base de + threads est utilisé (comme <code class="module"><a href="../mod/worker.html">worker</a></code> ou + <code class="module"><a href="../mod/event.html">event</a></code>), mod_proxy autorise un jeu de <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> connexions vers le serveur + d'arrière-plan pour chaque processus httpd, et par conséquent, il faut + prêter une attention particulière aux situations suivantes :</p> + <ul> + <li>Avec une charge en HTTP/1, il est fort probable que le nombre de + connexions vers le serveur FCGI d'arrière-plan augmente jusqu'à atteindre + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>.</li> + <li>Avec une charge en HTTP/2, et vue la manière dont + <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> est implémenté, il y a des threads de travail + h2 additionnels qui peuvent forcer la création de connexions + supplémentaires vers le serveur d'arrière-plan. Le nombre total de + connexions que contiennent les jeux de connexions peut alors dépasser + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>.</li> + </ul> + <p>Le nombre maximum de processus de travail PHP-FPM doit être défini + judicieusement car il est possible qu'ils finissent par rester dans l'état + occupé ("busy") pour ne gérer que des connexions persistantes inactives, + sans avoir la possibilité d'en établir de nouvelles ; ce qui se traduira + pour l'utilisateur final par une pile de "HTTP request timeouts".</p> + </div> + + <p>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/réutilisation des connexions est activée.</p> + <div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on</pre> +</div> + + <p>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.</p> + <div class="example"><h3>PHP-FPM with UDS</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"</pre> +</div> + + <p>La passerelle à répartition de charge nécessite le chargement du + module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et d'au moins un module + fournissant un algorithme de répartition de charge, comme + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> en plus des modules + déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module + par défaut et sera utilisé dans cet exemple de configuration.</p> + + <div class="example"><h3>Passerelle à répartition de charge vers plusieurs + instances de l'application</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "balancer://myappcluster/" +<Proxy "balancer://myappcluster/"> + BalancerMember "fcgi://localhost:4000" + BalancerMember "fcgi://localhost:4001" +</Proxy></pre> +</div> + + <p>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 <a href="mod_proxy.html#workers">worker (configuration d'un + mandataire)</a> 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é. + </p> + <div class="example"><h3>Mandataire via un gestionnaire</h3><pre class="prettyprint lang-config"><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></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Variables d'environnement</a></h2> + <p>En plus des directives de configuration qui contrôlent le + comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, de nombreuses + <dfn>variables d'environnement</dfn> permettent de piloter le + fournisseur du protocole FCGI :</p> + <dl> + <dt>proxy-fcgi-pathinfo</dt> + <dd>Lorsqu'il est configuré via les directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>, + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> ne définit + pas la variable d'environnement <var>PATH_INFO</var>, + ce qui permet au serveur FCGI d'arrière-plan de déterminer + correctement <var>SCRIPT_NAME</var> et <var>Script-URI</var>, et + de se conformer à la section 3.3 de la RFC 3875. Si au contraire + vous avez souhaitez que <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> génère une + "estimation la plus exacte possible" de <var>PATH_INFO</var>, + définissez la variable d'environnement + <var>proxy-fcgi-pathinfo</var>. 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) : + <dl> + <dt>first-dot</dt> + <dd>PATH_INFO est extrait à partir du slash qui suit le + <em>premier</em> "." de l'URL.</dd> + <dt>last-dot</dt> + <dd>PATH_INFO est extrait à partir du slash qui suit le + <em>dernier</em> "." de l'URL.</dd> + <dt>full</dt> + <dd>PATH_INFO est calculé en supposant que l'URL correspond au + chemin du système de fichiers.</dd> + <dt>unescape</dt> + <dd>PATH_INFO correspond à la partie chemin de l'URL avec ses + séquences d'échappement décodées.</dd> + <dt>toute autre valeur</dt> + <dd>PATH_INFO correspond à la partie chemin de l'URL. + Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.</dd> + </dl> + </dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyfcgibackendtype" id="proxyfcgibackendtype">Directive</a> <a name="ProxyFCGIBackendType" id="ProxyFCGIBackendType">ProxyFCGIBackendType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le type de l'application FastCGI d'arrière-plan</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFCGIBackendType FPM|GENERIC</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFCGIBackendType FPM</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_fcgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache</td></tr> +</table> +<p>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.</p> + +<p>SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette +directive. Historiquement, lorsqu'on utilisait le module +<code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, 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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyfcgisetenvif" id="proxyfcgisetenvif">Directive</a> <a name="ProxyFCGISetEnvIf" id="ProxyFCGISetEnvIf">ProxyFCGISetEnvIf</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'adapter la valeur des variables envoyées aux serveurs +FastCGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_fcgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache.</td></tr> +</table> +<p>Juste avant la transmission d'une requête au serveur FastCGI configuré, le +coeur du programme du serveur web définit un certain nombre de variables +d'environnement en fonction de certains détails de la requête considérée. Les +programmes FastCGI utilisent souvent ces variables comme données en entrée afin +de déterminer quels scripts sous-jacents ils vont exécuter, ou quelles données +en sortie doivent être produites.</p> +<p>Voici quelques exemples de variables d'environnement importantes :</p> +<ul> + <li>SCRIPT_NAME</li> + <li>SCRIPT_FILENAME</li> + <li>REQUEST_URI</li> + <li>PATH_INFO</li> + <li>PATH_TRANSLATED</li> +</ul> + +<p>Cette directive permet de passer outre les variables d'environnement +ci-dessus, entre autres. Elle est évaluée après la définition de la valeur +initiale de ces variables ; elle peuvent donc être utilisées comme entrées dans +les expressions définissants les conditions et les valeurs.</p> +<p>Syntaxe des paramètres :</p> +<dl> +<dt>conditional-expression</dt> +<dd>Définit une condition en fonction de laquelle la +variable d'environnement qui suit sera modifiée ou non. Pour la syntaxe de cette +expression, reportez-vous aux exemples qui suivent ou à la spécification +détaillée dans le document <a href="../expr.html">ap_expr</a>. + </dd> +<dt>environment-variable-name</dt> +<dd>Spécifie le nom de la variable d'environnement à modifier, par exemple +PATH_INFO. Si elle est précédée d'un point d'exclamation, la définition de la +variable sera annulée.</dd> +<dt>value-expression</dt> +<dd>Spécifie la nouvelle valeur de la variable "environment-variable-name". On +peut inclure des +références arrières, comme "$1", issues de captures en provenance de +l'expression rationnelle <var>conditional-expression</var>. Si cette valeur est +omise, la variable est définie (ou sa valeur est écrasée) par une chaîne vide +— voir cependant la note ci-après.</dd> +</dl> + +<div class="example"><pre class="prettyprint lang-config"># Une modification basique, inconditionnelle +ProxyFCGISetEnvIf "true" PATH_INFO "/example" + +# Utilisation d'une variable d'environnement pour spécifier la nouvelle valeur +ProxyFCGISetEnvIf "true" PATH_INFO "%{reqenv:SCRIPT_NAME}" +<br /> +# Utilisation de captures dans la condition et de références arrières dans la +# nouvelle valeur +ProxyFCGISetEnvIf "reqenv('PATH_TRANSLATED') =~ m#(/.*prefix)(\d+)(.*)#" PATH_TRANSLATED "$1$3"</pre> +</div> + +<div class="note"><h3>Note : Annulation définition ou valeur vide</h3> + La ligne suivante annule la définition de la variable <code>VARIABLE</code>, + ce qui l'empêche d'être envoyée au serveur FastCGI : + + <pre class="prettyprint lang-config">ProxyFCGISetEnvIf true !VARIABLE</pre> + + + La ligne suivante, quant à elle, efface la <em>valeur</em> de la variable + <code>VARIABLE</code> en lui affectant la chaîne vide ; cette variable + <code>VARIABLE</code> sera alors tout de même envoyée au serveur FastCGI : + + <pre class="prettyprint lang-config">ProxyFCGISetEnvIf true VARIABLE</pre> + + + La spécification CGI/1.1 <a href="https://tools.ietf.org/html/rfc3875#section-4.1">ne fait pas de + distinction</a> entre une variable contenant une chaîne vide et une variable qui + n'existe pas. De nombreuses implémentations CGI et FastCGI font cependant + cette distinction (ou permettent aux scripts de la faire). Le choix de celle + que vous allez utiliser dépend de votre implémentation et de la raison qui + vous pousse à modifier cette variable. +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fdpass.html b/docs/manual/mod/mod_proxy_fdpass.html new file mode 100644 index 0000000..ee7eb55 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_fdpass.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_fdpass.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_fdpass.html.en b/docs/manual/mod/mod_proxy_fdpass.html.en new file mode 100644 index 0000000..a9b91ba --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html.en @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_fdpass - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_fdpass</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fdpass.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fdpass.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>fdpass external process support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_fdpass_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_fdpass.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available for unix in version 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the passing the socket of the + client to another process.</p> + + <p><code>mod_proxy_fdpass</code> uses the ability of AF_UNIX domain + sockets to <a href="http://www.freebsd.org/cgi/man.cgi?query=recv">pass an + open file descriptor</a> to allow another process to finish handling a request. + </p> + + <p>The module has a <code>proxy_fdpass_flusher</code> provider interface, + which allows another module to optionally send the response headers, or even + the start of the response body. The default <code>flush</code> provider + disables keep-alive, and sends the response headers, letting the external + process just send a response body. + </p> + + <p>In order to use another provider, you have to set the <code>flusher</code> + parameter in the <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive. + </p> + + <p>At this time the only data passed to the external process is the client + socket. To receive a client socket, call recvfrom with an allocated + <a href="http://www.kernel.org/doc/man-pages/online/pages/man3/cmsg.3.html"><code>struct cmsghdr</code></a>. Future versions of this module may include + more data after the client socket, but this is not implemented at this time. + </p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fdpass">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fdpass">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fdpass.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fdpass.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_fdpass.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 b/docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 new file mode 100644 index 0000000..f92f71e --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html.fr.utf8 @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_fdpass - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_fdpass</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fdpass.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fdpass.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support des processus externes fdpass +à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_fdpass_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fdpass.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible pour unix depuis la version 2.3 +d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il permet le passage de la socket du client + vers un autre processus.</p> + + <p><code>mod_proxy_fdpass</code> utilise la capacité des sockets de + domaine AF_UNIX à <a href="http://www.freebsd.org/cgi/man.cgi?query=recv">transmettre un + descripteur de fichier ouvert</a> afin de permettre à un autre + processus de terminer le traitement de la requête. + </p> + + <p>Le module possède une interface de fournisseur + <code>proxy_fdpass_flusher</code> 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 <code>flush</code> 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.</p> + + <p>Pour utiliser un autre fournisseur, vous devez spécifier le paramètre + <code>flusher</code> de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. + </p> + + <p>À l'heure actuelle, la seule donnée transmise au processus + externe est la socket du client. Pour recevoir une socket client, + appelez recvfrom avec une structure <a href="http://www.kernel.org/doc/man-pages/online/pages/man3/ cmsg.3.html"><code>struct cmsghdr</code></a> allouée. Les versions + futures de ce module pourront transmettre d'autres données que le + socket client. + </p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fdpass">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fdpass">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fdpass.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fdpass.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_fdpass.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ftp.html b/docs/manual/mod/mod_proxy_ftp.html new file mode 100644 index 0000000..ad5a4c2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_ftp.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_ftp.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en new file mode 100644 index 0000000..2b60c2f --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html.en @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_ftp - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_ftp</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ftp.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ftp.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>FTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_ftp_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_ftp.c</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the proxying + FTP sites. Note that FTP support is currently limited to + the GET method.</p> + + <p>Thus, in order to get the ability of handling FTP proxy requests, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> + have to be present in the server.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#mimetypes">Why doesn't file type <var>xxx</var> + download via FTP?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#type">How can I force an FTP ASCII download of + file <var>xxx</var>?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ftpnonget">How can I do FTP upload?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#percent2fhck">How can I access FTP files outside + of my home directory?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ftppass">How can I hide the FTP cleartext password + in my browser's URL line?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#wildcard">Why do I get a file listing when I expected + a file to be downloaded?</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ftp">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ftp">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="mimetypes" id="mimetypes">Why doesn't file type <var>xxx</var> + download via FTP?</a></h2> + <p>You probably don't have that particular file type defined as + <code>application/octet-stream</code> in your proxy's mime.types + configuration file. A useful line can be:</p> + + <div class="example"><pre>application/octet-stream bin dms lha lzh exe class tgz taz</pre></div> + <p>Alternatively you may prefer to use the <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code> + directive to default everything to binary:</p> + <div class="example"><pre class="prettyprint lang-config">ForceType application/octet-stream</pre> +</div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="type" id="type">How can I force an FTP ASCII download of + file <var>xxx</var>?</a></h2> + <p>In the rare situation where you must download a specific file using the + FTP <code>ASCII</code> transfer method (while the default transfer is in + <code>binary</code> mode), you can override <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>'s + default by suffixing the request with <code>;type=a</code> to force an + ASCII transfer. (FTP Directory listings are always executed in ASCII mode, + however.)</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ftpnonget" id="ftpnonget">How can I do FTP upload?</a></h2> + <p>Currently, only GET is supported for FTP in <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. You can + of course use HTTP upload (POST or PUT) through an Apache proxy.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="percent2fhck" id="percent2fhck">How can I access FTP files outside + of my home directory?</a></h2> + <p>An FTP URI is interpreted relative to the home directory of the user + who is logging in. Alas, to reach higher directory levels you cannot + use /../, as the dots are interpreted by the browser and not actually + sent to the FTP server. To address this problem, the so called <dfn>Squid + %2f hack</dfn> was implemented in the Apache FTP proxy; it is a + solution which is also used by other popular proxy servers like the <a href="http://www.squid-cache.org/">Squid Proxy Cache</a>. By + prepending <code>/%2f</code> to the path of your request, you can make + such a proxy change the FTP starting directory to <code>/</code> (instead + of the home directory). For example, to retrieve the file + <code>/etc/motd</code>, you would use the URL:</p> + + <div class="example"><p><code> + ftp://<var>user</var>@<var>host</var>/%2f/etc/motd + </code></p></div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ftppass" id="ftppass">How can I hide the FTP cleartext password + in my browser's URL line?</a></h2> + <p>To log in to an FTP server by username and password, Apache uses + different strategies. In absence of a user name and password in the URL + altogether, Apache sends an anonymous login to the FTP server, + <em>i.e.</em>,</p> + + <div class="example"><p><code> + user: anonymous<br /> + password: apache-proxy@ + </code></p></div> + + <p>This works for all popular FTP servers which are configured for + anonymous access.</p> + + <p>For a personal login with a specific username, you can embed the user + name into the URL, like in:</p> + + <div class="example"><p><code> + ftp://<var>username</var>@<var>host</var>/myfile + </code></p></div> + + <p>If the FTP server asks for a password when given this username (which + it should), then Apache will reply with a <code>401</code> (Authorization + required) response, which causes the Browser to pop up the + username/password dialog. Upon entering the password, the connection + attempt is retried, and if successful, the requested resource is + presented. The advantage of this procedure is that your browser does not + display the password in cleartext (which it would if you had used</p> + + <div class="example"><p><code> + ftp://<var>username</var>:<var>password</var>@<var>host</var>/myfile + </code></p></div> + + <p>in the first place).</p> + + <div class="note"><h3>Note</h3> + <p>The password which is transmitted in such a way is not encrypted on + its way. It travels between your browser and the Apache proxy server in + a base64-encoded cleartext string, and between the Apache proxy and the + FTP server as plaintext. You should therefore think twice before + accessing your FTP server via HTTP (or before accessing your personal + files via FTP at all!) When using insecure channels, an eavesdropper + might intercept your password on its way.</p> + </div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="wildcard" id="wildcard">Why do I get a file listing when I expected + a file to be downloaded?</a></h2> + <p>In order to allow both browsing the directories on an FTP server and + downloading files, Apache looks at the request URL. If it looks like + a directory, or contains wildcard characters ("*?[{~"), then it + guesses that a listing is wanted instead of a download.</p> + <p>You can disable the special handling of names with wildcard characters. + See the <code class="directive"><a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></code> directive. + </p> + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyFtpDirCharset" id="ProxyFtpDirCharset">ProxyFtpDirCharset</a> <a name="proxyftpdircharset" id="proxyftpdircharset">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define the character set for proxied FTP listings</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyFtpDirCharset <var>character_set</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.2.7 and later. Moved from <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> in Apache 2.3.5.</td></tr> +</table> + <p>The <code class="directive">ProxyFtpDirCharset</code> directive defines the + character set to be set for FTP directory listings in HTML generated by + <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyFtpEscapeWildcards" id="ProxyFtpEscapeWildcards">ProxyFtpEscapeWildcards</a> <a name="proxyftpescapewildcards" id="proxyftpescapewildcards">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyFtpEscapeWildcards on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyFtpEscapeWildcards on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.3 and later</td></tr> +</table> + <p>The <code class="directive">ProxyFtpEscapeWildcards</code> directive + controls whether wildcard characters ("*?[{~") in requested + filenames are escaped with backslash before sending them to the + FTP server. That is the default behavior, but many FTP servers + don't know about the escaping and try to serve the literal filenames + they were sent, including the backslashes in the names.</p> + <p>Set to "off" to allow downloading files with wildcards + in their names from FTP servers that don't understand wildcard + escaping.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyFtpListOnWildcard" id="ProxyFtpListOnWildcard">ProxyFtpListOnWildcard</a> <a name="proxyftplistonwildcard" id="proxyftplistonwildcard">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyFtpListOnWildcard on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyFtpListOnWildcard on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.3 and later</td></tr> +</table> + <p>The <code class="directive">ProxyFtpListOnWildcard</code> directive + controls whether wildcard characters ("*?[{~") in requested + filenames cause <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> to return a listing + of files instead of downloading a file. By default (value on), + they do.</p> + <p>Set to "off" to allow downloading files even if they + have wildcard characters in their names.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ftp.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ftp.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_ftp.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ftp.html.fr.utf8 b/docs/manual/mod/mod_proxy_ftp.html.fr.utf8 new file mode 100644 index 0000000..6948470 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html.fr.utf8 @@ -0,0 +1,296 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_ftp - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_ftp</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support FTP à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_ftp_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ftp.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du + mandatement des sites FTP. Notez que le support FTP est + actuellement limité à la méthode GET.</p> + + <p>Ainsi, pour pouvoir traiter les requêtes FTP mandatées, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> + doivent être chargés dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#mimetypes">Pourquoi les fichiers du type + <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#type">Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier <var>xxx</var> ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ftpnonget">Comment puis-je effectuer un + chargement FTP ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#percent2fhck">Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ftppass">Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#wildcard">Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ?</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ftp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ftp">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="mimetypes" id="mimetypes">Pourquoi les fichiers du type + <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></h2> + <p>Ce type particulier de fichier n'est probablement pas défini en + temps que <code>application/octet-stream</code> dans le fichier + de configuration mime.types de votre mandataire. La ligne suivante + peut y remédier :</p> + + <div class="example"><pre>application/octet-stream bin dms lha lzh exe class tgz taz</pre></div> + <p>Vous pouvez aussi utiliser la directive <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code> pour définir par défaut tous les types + de fichiers en tant que fichiers binaires :</p> + <div class="example"><pre class="prettyprint lang-config">ForceType application/octet-stream</pre> +</div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="type" id="type">Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier <var>xxx</var> ?</a></h2> + <p>Dans les rares siruations où vous devez télécharger un fichier + spécifique en utilisant la méthode de transfert FTP + <code>ASCII</code> (alors que le mode transfert par défaut est + <code>binary</code>), vous pouvez modifier le mode de transfert de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> en suffixant la requête avec + <code>;type=a</code> pour forcer un transfert en mode ASCII (les + listings de répertoires FTP sont cependant quant à eux transmis en + mode ASCII).</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ftpnonget" id="ftpnonget">Comment puis-je effectuer un + chargement FTP ?</a></h2> + <p>Actuellement, seule la méthode GET est supportée pour FTP dans + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Vous pouvez par contre utiliser le chargement HTTP (POST + or PUT) via un mandataire Apache.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="percent2fhck" id="percent2fhck">Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ?</a></h2> + <p>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 <dfn>Squid %2f hack</dfn> a été implémentée dans le + mandataire FTP Apache ; cette solution est aussi utilisée par + d'autres serveurs mandataires courants comme le <a href="http://www.squid-cache.org/">Cache mandataire Squid</a>. En + préfixant par <code>/%2f</code> le chemin de votre requête, vous + pouvez faire en sorte que le mandataire modifie le répertoire FTP + racine en <code>/</code> (au lieu du répertoire home). Par + exemple, pour extraire le fichier <code>/etc/motd</code>, vous + pourriez utiliser l'URL :</p> + + <div class="example"><p><code> + ftp://<var>utilisateur</var>@<var>serveur</var>/%2f/etc/motd + </code></p></div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ftppass" id="ftppass">Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ?</a></h2> + <p>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 :</p> + + <div class="example"><p><code> + utilisateur : anonymous<br /> + mot de passe : apache-proxy@ + </code></p></div> + + <p>Ceci fonctionne avec tous les serveurs FTP courants configurés + pour accepter les connexions anonymes.</p> + + <p>Pour une connexion personnalisée avec un nom d'utilisateur + spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit + :</p> + + <div class="example"><p><code> + ftp://<var>nom-utilisateur</var>@<var>serveur</var>/mon-fichier + </code></p></div> + + <p>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 <code>401</code> (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 :</p> + + <div class="example"><p><code> + ftp://<var>nom-utilisateur</var>:<var>mot-de-passe</var>@<var>serveur</var>/mon-fichier + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>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.</p> + </div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="wildcard" id="wildcard">Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ?</a></h2> + <p>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.</p> + <p>Vous pouvez désactiver le traitement spécial des noms contenant + des caractères génériques. Voir à cet effet la directive + <code class="directive"><a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></code>. + </p> + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyftpdircharset" id="proxyftpdircharset">Directive</a> <a name="ProxyFtpDirCharset" id="ProxyFtpDirCharset">ProxyFtpDirCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le jeu de caractères des listings FTP +mandatés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpDirCharset <var>character_set</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.2.7 du serveur HTTP Apache. Déplacé +depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir de la version 2.3.5</td></tr> +</table> + <p>La directive <code class="directive">ProxyFtpDirCharset</code> permet de + définir le jeu de caractères à utiliser pour les listings FTP en + HTML générés par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyftpescapewildcards" id="proxyftpescapewildcards">Directive</a> <a name="ProxyFtpEscapeWildcards" id="ProxyFtpEscapeWildcards">ProxyFtpEscapeWildcards</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpEscapeWildcards on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpEscapeWildcards on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyFtpEscapeWildcards</code> 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.</p> + <p>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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyftplistonwildcard" id="proxyftplistonwildcard">Directive</a> <a name="ProxyFtpListOnWildcard" id="ProxyFtpListOnWildcard">ProxyFtpListOnWildcard</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpListOnWildcard on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpListOnWildcard on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyFtpListOnWildcard</code> 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 <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> au lieu de télécharger un + fichier. Il s'agit de leur comportement par défaut (valeur on).</p> + <p>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.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_ftp.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_hcheck.html b/docs/manual/mod/mod_proxy_hcheck.html new file mode 100644 index 0000000..e2a38bb --- /dev/null +++ b/docs/manual/mod/mod_proxy_hcheck.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_hcheck.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_hcheck.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_hcheck.html.en b/docs/manual/mod/mod_proxy_hcheck.html.en new file mode 100644 index 0000000..d86ee12 --- /dev/null +++ b/docs/manual/mod/mod_proxy_hcheck.html.en @@ -0,0 +1,282 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_hcheck - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_hcheck</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_hcheck.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_hcheck.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Dynamic health check of Balancer members (workers) for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_hcheck_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_hcheck.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.21 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides for dynamic health checking of balancer + members (workers). This can be enabled on a worker-by-worker + basis. The health check is done independently of the + actual reverse proxy requests.</p> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>.</p> + +<div class="note"><h3>Parameters</h3> + <p>The health check mechanism is enabled via the use of additional + <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> parameters, which are configured + in the standard way via <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>:</p> + + <p>A new BalancerMember <a href="mod_proxy.html#status_table">status</a> state (flag) + is defined via this module: "<code>C</code>". + When the worker is taken offline due to failures as determined by the health + check module, this flag is set, and can be seen (and modified) via the + <code>balancer-manager</code>.</p> + + <table> + <tr><th>Parameter</th> + <th>Default</th> + <th>Description</th></tr> + <tr><td>hcmethod</td> + <td>None</td> + <td>No dynamic health check performed. Choices are: + <table> + <tr><th>Method</th><th>Description</th><th>Note</th></tr> + <tr><td>None</td><td>No dynamic health checking done</td><td /></tr> + <tr><td>TCP</td><td>Check that a socket to the backend can be created: e.g. "are you up"</td><td /></tr> + <tr><td>OPTIONS</td><td>Send a <code>HTTP OPTIONS</code> request to the backend via <code>HTTP/1.0</code></td><td>*</td></tr> + <tr><td>HEAD</td><td>Send a <code>HTTP HEAD</code> request to the backend via <code>HTTP/1.0</code></td><td>*</td></tr> + <tr><td>GET</td><td>Send a <code>HTTP GET</code> request to the backend via <code>HTTP/1.0</code></td><td>*</td></tr> + <tr><td>OPTIONS11</td><td>Send a <code>HTTP OPTIONS</code> request to the backend via <code>HTTP/1.1</code></td><td>*</td></tr> + <tr><td>HEAD11</td><td>Send a <code>HTTP HEAD</code> request to the backend via <code>HTTP/1.1</code></td><td>*</td></tr> + <tr><td>GET11</td><td>Send a <code>HTTP GET</code> request to the backend via <code>HTTP/1.1</code></td><td>*</td></tr> + + <tr><td colspan="3" /></tr> + <tr><td colspan="3">*: Unless <code>hcexpr</code> is used, a 2xx or 3xx HTTP status will be interpreted as <em>passing</em> the health check</td></tr> + </table> + </td></tr> + <tr><td>hcpasses</td> + <td>1</td> + <td>Number of successful health check tests before worker is re-enabled</td></tr> + <tr><td>hcfails</td> + <td>1</td> + <td>Number of failed health check tests before worker is disabled</td></tr> + <tr><td>hcinterval</td> + <td>30</td> + <td>Period of health checks in seconds (e.g. performed every 30 seconds)</td></tr> + <tr><td>hcuri</td> + <td> </td> + <td>Additional URI to be appended to the worker URL for the health check.</td></tr> + <tr><td>hctemplate</td> + <td> </td> + <td>Name of template, created via <code class="directive"><a href="#proxyhctemplate">ProxyHCTemplate</a></code>, + to use for setting health check parameters for this worker</td></tr> + <tr><td>hcexpr</td> + <td> </td> + <td>Name of expression, created via <code class="directive"><a href="#proxyhcexpr">ProxyHCExpr</a></code>, + used to check response headers for health.<br /> + <em>If not used, 2xx thru 3xx status codes imply success</em></td></tr> + </table> +</div> + +<div class="note"><h3>Compatibility:</h3> + <p><code>OPTIONS11</code>, <code>HEAD11</code> and <code>GET11</code> are + available in 2.4.55 and above.</p> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Usage examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhcexpr">ProxyHCExpr</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhctemplate">ProxyHCTemplate</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhctpsize">ProxyHCTPsize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_hcheck">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_hcheck">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Usage examples</a></h2> + + + <p>The following example shows how one might configured health checking + for various backend servers:</p> + + + <pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} +ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/} +ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/} + +<Proxy balancer://foo> + BalancerMember http://www.example.com/ hcmethod=GET hcexpr=in_maint hcuri=/status.php + BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 + BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3 + BalancerMember http://www4.example.com/ +</Proxy> + +ProxyPass "/" "balancer://foo" +ProxyPassReverse "/" "balancer://foo"</pre> + + +<p>In this scenario, <code>http://www.example.com/</code> is health checked by sending a <code>GET /status.php</code> +request to that server and seeing that the returned page does not include the string <em>Under maintenance</em>. If +it does, that server is put in health-check fail mode, and disabled. This dynamic check is performed +every 30 seconds, which is the default.</p> + +<p><code>http://www2.example.com/</code> is checked by sending a simple <code>HEAD</code> request every +10 seconds and making sure that the response status is 2xx, 3xx or 4xx. <code>http://www3.example.com/</code> is checked +every 5 seconds by simply ensuring that the socket to that server is up. If the backend is marked as +"down" and it passes 2 health check, it will be re-enabled and added back into the load balancer. +It takes 3 back-to-back health check failures to disable the server and move it out +of rotation. Finally, <code>http://www4.example.com/</code> is +not dynamically checked at all.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHCExpr" id="ProxyHCExpr">ProxyHCExpr</a> <a name="proxyhcexpr" id="proxyhcexpr">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> +</table> + <p>The <code class="directive">ProxyHCExpr</code> directive allows + for creating a named condition expression that checks the response + headers of the backend server to determine its health. This named + condition can then be assigned to balancer members via the <code>hcexpr</code> + parameter.</p> + + <div class="example"><h3>ProxyHCExpr: Allow for 2xx/3xx/4xx as passing</h3><pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 +</Proxy></pre> +</div> + + <div class="note"> + The <a href="../expr.html">expression</a> can use curly-parens ("{}") as + quoting deliminators in addition to normal quotes. + </div> + + <p>If using a health check method (eg: <code>GET</code>) which results in a response + body, that body itself can be checked via <code>ap_expr</code> using the <code>hc()</code> + expression function, which is unique to this module.</p> + + <p>In the following example, we send the backend a <code>GET</code> request + and if the response body contains the phrase <em>Under maintenance</em>, + we want to disable the backend.</p> + + <div class="example"><h3>ProxyHCExpr: Checking response body</h3><pre class="prettyprint lang-config">ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/} +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www.example.com/ hcexpr=in_maint hcmethod=get hcuri=/status.php +</Proxy></pre> +</div> + + <p><em>NOTE:</em> Since response body can quite large, it is best if used against specific status pages.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHCTemplate" id="ProxyHCTemplate">ProxyHCTemplate</a> <a name="proxyhctemplate" id="proxyhctemplate">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Creates a named template for setting various health check parameters</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> +</table> + <p>The <code class="directive">ProxyHCTemplate</code> directive allows + for creating a named set (template) of health check parameters + that can then be assigned to balancer members via the <code>hctemplate</code> + parameter.</p> + + <div class="example"><h3>ProxyHCTemplate</h3><pre class="prettyprint lang-config">ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5 +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www2.example.com/ hctemplate=tcp5 +</Proxy></pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHCTPsize" id="ProxyHCTPsize">ProxyHCTPsize</a> <a name="proxyhctpsize" id="proxyhctpsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHCTPsize <em>size</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHCTPsize 16</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> +</table> + <p>If Apache httpd and APR are built with thread support, the health check + module will offload the work of the actual checking to a threadpool + associated with the Watchdog process, allowing for parallel checks. + The <code class="directive">ProxyHCTPsize</code> directive + determines the size of this threadpool. If set to <code>0</code>, no threadpool + is used at all, resulting in serialized health checks.</p> + + <div class="example"><h3>ProxyHCTPsize</h3><pre class="prettyprint lang-config">ProxyHCTPsize 32</pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_hcheck.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_hcheck.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_hcheck.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 b/docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 new file mode 100644 index 0000000..77e717a --- /dev/null +++ b/docs/manual/mod/mod_proxy_hcheck.html.fr.utf8 @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_hcheck - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_hcheck</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Check up dynamique des membres du groupe de répartition de charge +(équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_hcheck_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_hcheck.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet d'effectuer un check up dynamique des membres du groupe + de répartition de charge (équipiers). Ce check up peut être activé pour un + ou plusieurs équipiers et il est indépendant des requêtes de mandataire + inverse proprement dites.</p> + + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement préalable de + <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>.</p> + +<div class="note"><h3>Paramètres</h3> + <p>Le mécanisme de check up est activé via l'utilisation de paramètres + supplémentaires de la directive <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> configurés de manière standard + via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p> + + <p>Ce module définit un nouveau drapeau d'état <a href="mod_proxy.html#status_table">status</a> pour BalancerMember : + "<code>C</code>". Lorsque l'équipier est mis hors service suite à un + disfonctionnement déterminé par le module de check up, ce drapeau est activé + et peut être lu (et modifié) via le <code>balancer-manager</code>.</p> + + <table> + <tr><th>Paramètre</th> + <th>Défaut</th> + <th>Description</th></tr> + <tr><td>hcmethod</td> + <td>None</td> + <td>Aucun check up dynamique n'est effectué. Les choix possibles sont : + <table> + <tr><th>Method</th><th>Description</th><th>Note</th></tr> + <tr><td>None</td><td>Aucun check up dynamique effectué</td><td /></tr> + <tr><td>TCP</td><td>Vérifie qu'un socket vers le serveur + d'arrière-plan peut être créé ; par exemple "es-tu en + état de fonctionner"</td><td /></tr> + <tr><td>OPTIONS</td><td>Envoie une requête <code>HTTP + OPTIONS</code> au serveur d'arrière-plan via + <code>HTTP/1.0</code></td><td>*</td></tr> + <tr><td>HEAD</td><td>Envoie une requête <code>HTTP + HEAD</code> au serveur d'arrière-plan via + <code>HTTP/1.0</code></td><td>*</td></tr> + <tr><td>GET</td><td>Envoie une requête <code>HTTP + GET</code> au serveur d'arrière-plan via + <code>HTTP/1.0</code></td><td>*</td></tr> + <tr><td>OPTIONS11</td><td>Envoie une requête <code>HTTP + OPTIONS</code> au serveur d'arrière-plan via + <code>HTTP/1.1</code></td><td>*</td></tr> + <tr><td>HEAD11</td><td>Envoie une requête <code>HTTP + HEAD</code> au serveur d'arrière-plan via + <code>HTTP/1.1</code></td><td>*</td></tr> + <tr><td>GET11</td><td>Envoie une requête <code>HTTP + GET</code> au serveur d'arrière-plan via + <code>HTTP/1.1</code></td><td>*</td></tr> + + <tr><td colspan="3" /></tr> + <tr><td colspan="3">*: si hcexpr n'est pas + utilisé, un retour HTTP 2xx ou 3xx sera + interprété comme un passage avec succès du check + up.</td></tr> + </table> + </td></tr> + <tr><td>hcpasses</td> + <td>1</td> + <td>Nombre de check up à passer avec succès avant de remettre en service + l'équipier</td></tr> + <tr><td>hcfails</td> + <td>1</td> + <td>Nombre de check up échoués avant mettre hors service l'équipier</td></tr> + <tr><td>hcinterval</td> + <td>30</td> + <td>Intervalle entre deux check up en secondes (par défaut effectué + toutes les 30 secondes)</td></tr> + <tr><td>hcuri</td> + <td> </td> + <td>URI supplémentaire à ajouter à l'URL de l'équipier pour le check up.</td></tr> + <tr><td>hctemplate</td> + <td> </td> + <td>Nom du modèle créé via <code class="directive"><a href="#proxyhctemplate">ProxyHCTemplate</a></code> à + utiliser pour définir les paramètres de check up de cet équipier</td></tr> + <tr><td>hcexpr</td> + <td> </td> + <td>Nom de l'expression créée via <code class="directive"><a href="#proxyhcexpr">ProxyHCExpr</a></code> + utilisée pour analyser les en-têtes de la réponse du check up.<br /> + <em>Si ce paramètre est absent, un état HTTP de 2xx à 3xx est + interprété comme un check up réussi.</em></td></tr> + </table> +</div> + +<div class="note"><h3>Compatibilité :</h3> + <p><code>OPTIONS11</code>, <code>HEAD11</code> et <code>GET11</code> sont + disponibles à partir de la version 2.4.55 du serveur HTTP Apache.</p> +</div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples d'utilisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhcexpr">ProxyHCExpr</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhctemplate">ProxyHCTemplate</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhctpsize">ProxyHCTPsize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_hcheck">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_hcheck">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples d'utilisation</a></h2> + + + <p>L'exemple suivant montre comment configurer le check up pour différents + serveurs d'arrière-plan :</p> + + + <pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} +ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/} +ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/} + +<Proxy balancer://foo> + BalancerMember http://www.example.com/ hcmethod=GET hcexpr=in_maint hcuri=/status.php + BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 + BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3 + BalancerMember http://www4.example.com/ +</Proxy> + +ProxyPass "/" "balancer://foo" +ProxyPassReverse "/" "balancer://foo"</pre> + + +<p>Dans ce scénario, on teste l'équipier <code>http://www.example.com/</code> en lui +envoyant une requête <code>GET /status.php</code> et en regardant si la réponse +contient la chaîne <em>Under maintenance</em>. Si c'est le cas, le check up est +considéré comme ayant échoué et l'équipier est mis hors service. Ce check up +dynamique est effectué toutes les 30 secondes, ce qui correspond à la valeur par +défaut.</p> + +<p>On teste l'équipier <code>http://www2.example.com/</code> en lui envoyant +simplement une requête <code>HEAD</code> toutes les 10 secondes et en vérifiant +que la réponse HTTP est bien un code d'état de 2xx, 3xx ou 4xx. On teste +l'équipier <code>http://www3.example.com/</code> en vérifiant simplement toutes +les 5 secondes que le socket vers ce serveur est bien opérationnel. Si ce +serveur est marqué "hors service", il lui faudra 2 check up réussis pour être +réactivé et participer à nouveau à la répartition de charge. Si à ce moment-là +il échoue à 3 check up successifs, il sera à nouveau mis hors service. Enfin, +l'équipier <code>http://www4.example.com/</code> ne fait l'objet d'aucun check +up.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhcexpr" id="proxyhcexpr">Directive</a> <a name="ProxyHCExpr" id="ProxyHCExpr">ProxyHCExpr</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme une expression conditionnelle à utiliser pour +déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> +</table> + <p>La directive <code class="directive">ProxyHCExpr</code> permet de créer et nommer + une expression conditionnelle dont la valeur calculée en fonction des + en-têtes de la réponse du serveur d'arrière-plan permettra d'évaluer la + santé de ce dernier. Cette expression nommée peut alors être assignée aux + serveurs d'arrière-plan via le paramètre <code>hcexpr</code>.</p> + + <div class="example"><h3>ProxyHCExpr: interprète les réponses 2xx/3xx/4xx comme des + check up réussis</h3><pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 +</Proxy></pre> +</div> + + <div class="note"> + L'<a href="../expr.html">expression</a> peut utiliser des accolades ("{}") + comme délimiteurs en plus des guillemets normaux. + </div> + + <p>Si l'on utilise une méthode de check up (par exemple <code>GET</code>) + qui génère un corps de réponse, ce corps peut lui-même être ausculté via + <code>ap_expr</code> en utilisant la fonction associée aux expressions + <code>hc()</code> spécifique à ce module.</p> + + <p>Dans l'exemple suivant, on envoie une requête <code>GET</code> au serveur + d'arrière-plan, et si le corps de la réponse contient la chaîne <em>Under + maintenance</em>, ce serveur d'arrière-plan est mis hors service.</p> + + <div class="example"><h3>ProxyHCExpr: auscultation du corps de la réponse</h3><pre class="prettyprint lang-config">ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/} +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www.example.com/ hcexpr=in_maint hcmethod=get hcuri=/status.php +</Proxy></pre> +</div> + + <p><em>NOTE:</em> Comme le corps de la réponse peut être assez grand, il est + recommandé de privilégier un check up basé sur les codes d'état.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhctemplate" id="proxyhctemplate">Directive</a> <a name="ProxyHCTemplate" id="ProxyHCTemplate">ProxyHCTemplate</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme un modèle permettant de définir différents +paramètres de check up</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> +</table> + <p>La directive <code class="directive">ProxyHCTemplate</code> permet de créer et + nommer un modèle de paramètres de check up qui peut alors être assigné aux + équipiers via le paramètre <code>hctemplate</code>.</p> + + <div class="example"><h3>ProxyHCTemplate</h3><pre class="prettyprint lang-config">ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5 +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www2.example.com/ hctemplate=tcp5 +</Proxy></pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhctpsize" id="proxyhctpsize">Directive</a> <a name="ProxyHCTPsize" id="ProxyHCTPsize">ProxyHCTPsize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille totale, pour l'ensemble du +serveur, du jeu de threads utilisé pour le check up des +équipiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCTPsize <em>size</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHCTPsize 16</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> +</table> + <p>Si Apache httpd et APR ont été compilés avec le support des threads, le + module de check up peut confier ce travail à un jeu de threads associé au + processus Watchdog, ce qui permet l'exécution des check up en parallèle. La + directive <code class="directive">ProxyHCTPsize</code> permet de déterminer la + taille de ce jeu de threads. Une valeur de <code>0</code> signifie qu'aucun + jeu de threads ne sera utilisé, et le check up des différents équipiers sera + alors effectué séquentiellement.</p> + + <div class="example"><h3>ProxyHCTPsize</h3><pre class="prettyprint lang-config">ProxyHCTPsize 32</pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_hcheck.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_html.html b/docs/manual/mod/mod_proxy_html.html new file mode 100644 index 0000000..ecdf204 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_html.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_html.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_html.html.en b/docs/manual/mod/mod_proxy_html.html.en new file mode 100644 index 0000000..2f94ea4 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html.en @@ -0,0 +1,490 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_html - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_html</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_html.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_html.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Rewrite HTML links in to ensure they are addressable +from Clients' networks in a proxy context.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_html_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_html.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later. Available as a third-party module +for earlier 2.x versions</td></tr></table> +<h3>Summary</h3> + +<p>This module provides an output filter to rewrite HTML links in a +proxy situation, to ensure that links work for users outside the proxy. +It serves the same purpose as Apache's <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> directive does +for HTTP headers, and is an essential component of a reverse proxy.</p> + +<p>For example, if a company has an application server at +<code>appserver.example.com</code> that is only visible from within +the company's internal network, and a public webserver +<code>www.example.com</code>, they may wish to provide a gateway to the +application server at <code>http://www.example.com/appserver/</code>. +When the application server links to itself, those links need to be +rewritten to work through the gateway. <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> serves to rewrite +<code><a href="http://appserver.example.com/foo/bar.html">foobar</a></code> to +<code><a href="http://www.example.com/appserver/foo/bar.html">foobar</a></code> +making it accessible from outside.</p> + +<p>mod_proxy_html was originally developed at WebÞing, whose +extensive <a href="http://apache.webthing.com/mod_proxy_html/">documentation</a> may be useful to users.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_html">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_html">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLBufSize" id="ProxyHTMLBufSize">ProxyHTMLBufSize</a> <a name="proxyhtmlbufsize" id="proxyhtmlbufsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLBufSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLBufSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>In order to parse non-HTML content (stylesheets and scripts) embedded +in HTML documents, <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> +has to read the entire script or stylesheet into a buffer. This buffer will +be expanded as necessary to hold the largest script or stylesheet in a page, +in increments of <var>bytes</var> as set by this directive.</p> +<p>The default is 8192, and will work well for almost all pages. However, +if you know you're proxying pages containing stylesheets and/or +scripts bigger than 8K (that is, for a single script or stylesheet, +NOT in total), it will be more efficient to set a larger buffer +size and avoid the need to resize the buffer dynamically during a request. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLCharsetOut" id="ProxyHTMLCharsetOut">ProxyHTMLCharsetOut</a> <a name="proxyhtmlcharsetout" id="proxyhtmlcharsetout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify a charset for mod_proxy_html output.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLCharsetOut <var>Charset | *</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>This selects an encoding for mod_proxy_html output. It should not +normally be used, as any change from the default <code>UTF-8</code> +(Unicode - as used internally by libxml2) will impose an additional +processing overhead. The special token <code>ProxyHTMLCharsetOut *</code> +will generate output using the same encoding as the input.</p> +<p>Note that this relies on <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> being loaded.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLDocType" id="ProxyHTMLDocType">ProxyHTMLDocType</a> <a name="proxyhtmldoctype" id="proxyhtmldoctype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets an HTML or XHTML document type declaration.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>In the first form, documents will be declared as HTML 4.01 or XHTML 1.0 +according to the option selected. This option also determines whether +HTML or XHTML syntax is used for output. Note that the format of the +documents coming from the backend server is immaterial: the parser will +deal with it automatically. If the optional second argument is set to +<code>Legacy</code>, documents will be declared "Transitional", an option that may +be necessary if you are proxying pre-1998 content or working with defective +authoring/publishing tools.</p> +<p>In the second form, it will insert your own FPI. The optional second +argument determines whether SGML/HTML or XML/XHTML syntax will be used.</p> +<p>The default is changed to omitting any FPI, +on the grounds that no FPI is better than a bogus one. If your backend +generates decent HTML or XHTML, set it accordingly.</p> +<p>If the first form is used, mod_proxy_html +will also clean up the HTML to the specified standard. It cannot +fix every error, but it will strip out bogus elements and attributes. +It will also optionally log other errors at <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> Debug.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLEnable" id="ProxyHTMLEnable">ProxyHTMLEnable</a> <a name="proxyhtmlenable" id="proxyhtmlenable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Turns the proxy_html filter on or off.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLEnable On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLEnable Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +module for earlier 2.x versions.</td></tr> +</table> + <p>A simple switch to enable or disable the proxy_html filter. + If <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> is loaded it will also automatically + set up internationalisation support.</p> + <p>Note that the proxy_html filter will only act on HTML data + (Content-Type text/html or application/xhtml+xml) and when the + data are proxied. You can override this (at your own risk) by + setting the <var>PROXY_HTML_FORCE</var> environment variable.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLEvents" id="ProxyHTMLEvents">ProxyHTMLEvents</a> <a name="proxyhtmlevents" id="proxyhtmlevents">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify attributes to treat as scripting events.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLEvents <var>attribute [attribute ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>Specifies one or more attributes to treat as scripting events and +apply <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>s to where enabled. +You can specify any number of attributes in one or more +<code class="directive">ProxyHTMLEvents</code> directives.</p> +<p>Normally you'll set this globally. If you set <code class="directive">ProxyHTMLEvents</code> in more than +one scope so that one overrides the other, you'll need to specify a complete +set in each of those scopes.</p> +<p>A default configuration is supplied in <var>proxy-html.conf</var> +and defines the events in standard HTML 4 and XHTML 1.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLExtended" id="ProxyHTMLExtended">ProxyHTMLExtended</a> <a name="proxyhtmlextended" id="proxyhtmlextended">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLExtended On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLExtended Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>Set to <code>Off</code>, HTML links are rewritten according to the +<code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code> directives, but links appearing +in Javascript and CSS are ignored.</p> +<p>Set to <code>On</code>, all scripting events (as determined by +<code class="directive"><a href="#proxyhtmlevents">ProxyHTMLEvents</a></code>) and embedded scripts or +stylesheets are also processed by the <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code> +rules, according to the flags set for each rule. Since this requires more +parsing, performance will be best if you only enable it when strictly necessary. +</p><p> +You'll also need to take care over patterns matched, since the parser has no +knowledge of what is a URL within an embedded script or stylesheet. +In particular, extended matching of <code>/</code> is likely to lead to +false matches. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLFixups" id="ProxyHTMLFixups">ProxyHTMLFixups</a> <a name="proxyhtmlfixups" id="proxyhtmlfixups">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fixes for simple HTML errors.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLFixups [lowercase] [dospath] [reset]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>This directive takes one to three arguments as follows:</p> +<ul> +<li><code>lowercase</code> Urls are rewritten to lowercase</li> +<li><code>dospath</code> Backslashes in URLs are rewritten to forward slashes.</li> +<li><code>reset</code> Unset any options set at a higher level in the configuration.</li> +</ul> +<p>Take care when using these. The fixes will correct certain authoring +mistakes, but risk also erroneously fixing links that were correct to start with. +Only use them if you know you have a broken backend server.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLInterp" id="ProxyHTMLInterp">ProxyHTMLInterp</a> <a name="proxyhtmlinterp" id="proxyhtmlinterp">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLInterp On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLInterp Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +module for earlier 2.x versions</td></tr> +</table> + <p>This enables per-request interpolation in + <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code> to- and from- patterns.</p> + <p>If interpolation is not enabled, all rules are pre-compiled at startup. + With interpolation, they must be re-compiled for every request, which + implies an extra processing overhead. It should therefore be + enabled only when necessary.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLLinks" id="ProxyHTMLLinks">ProxyHTMLLinks</a> <a name="proxyhtmllinks" id="proxyhtmllinks">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>Specifies elements that have URL attributes that should be rewritten +using standard <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>s. +You will need one <code class="directive">ProxyHTMLLinks</code> directive per element, +but it can have any number of attributes.</p> +<p>Normally you'll set this globally. If you set <code class="directive">ProxyHTMLLinks</code> in more than +one scope so that one overrides the other, you'll need to specify a complete +set in each of those scopes.</p> +<p>A default configuration is supplied in <var>proxy-html.conf</var> +and defines the HTML links for standard HTML 4 and XHTML 1.</p> +<div class="example"><h3>Examples from proxy-html.conf</h3><pre class="prettyprint lang-config">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</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLMeta" id="ProxyHTMLMeta">ProxyHTMLMeta</a> <a name="proxyhtmlmeta" id="proxyhtmlmeta">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLMeta On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLMeta Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +module for earlier 2.x versions.</td></tr> +</table> + <p>This turns on or off pre-parsing of metadata in HTML + <code><head></code> sections.</p> + <p>If not required, turning ProxyHTMLMeta Off will give a small + performance boost by skipping this parse step. However, it + is sometimes necessary for internationalisation to work correctly.</p> + <p><code class="directive">ProxyHTMLMeta</code> has two effects. Firstly and most importantly + it enables detection of character encodings declared in the form</p> + <pre><meta http-equiv="Content-Type" content="text/html;charset=<var>foo</var>"></pre> + <p>or, in the case of an XHTML document, an XML declaration. + It is NOT required if the charset is declared in a real HTTP header + (which is always preferable) from the backend server, nor if the + document is <var>utf-8</var> (unicode) or a subset such as ASCII. + You may also be able to dispense with it where documents use a + default declared using <code class="directive"><a href="../mod/mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></code>, but that risks propagating an + incorrect declaration. A <code class="directive"><a href="#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></code> + can remove that risk, but is likely to be a bigger processing + overhead than enabling ProxyHTMLMeta.</p> + <p>The other effect of enabling <code class="directive">ProxyHTMLMeta</code> is to parse all + <code><meta http-equiv=...></code> declarations and convert + them to real HTTP headers, in keeping with the original purpose + of this form of the HTML <meta> element.</p> + + <div class="warning"><h3>Warning</h3> + Because ProxyHTMLMeta promotes <strong>all</strong> + <code>http-equiv</code> elements to HTTP headers, it is important that you + only enable it in cases where you trust the HTML content as much as you + trust the upstream server. If the HTML is controlled by bad actors, it + will be possible for them to inject arbitrary, possibly malicious, HTTP + headers into your server's responses. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLStripComments" id="ProxyHTMLStripComments">ProxyHTMLStripComments</a> <a name="proxyhtmlstripcomments" id="proxyhtmlstripcomments">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether to strip HTML comments.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLStripComments On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLStripComments Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +for earlier 2.x versions</td></tr> +</table> +<p>This directive will cause mod_proxy_html to strip HTML comments. +Note that this will also kill off any scripts or styles embedded in +comments (a bogosity introduced in 1995/6 with Netscape 2 for the +benefit of then-older browsers, but still in use today). +It may also interfere with comment-based processors such as SSI or ESI: +be sure to run any of those <em>before</em> mod_proxy_html in the +filter chain if stripping comments!</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyHTMLURLMap" id="ProxyHTMLURLMap">ProxyHTMLURLMap</a> <a name="proxyhtmlurlmap" id="proxyhtmlurlmap">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Defines a rule to rewrite HTML links</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party +module for earlier 2.x versions.</td></tr> +</table> +<p>This is the key directive for rewriting HTML links. When parsing a document, +whenever a link target matches <var>from-pattern</var>, the matching +portion will be rewritten to <var>to-pattern</var>, as modified by any +flags supplied and by the +<code class="directive"><a href="#proxyhtmlextended">ProxyHTMLExtended</a></code> directive. +Only the elements specified using +the <code class="directive"><a href="#proxyhtmllinks">ProxyHTMLLinks</a></code> directive +will be considered as HTML links.</p> + +<p>The optional third argument may define any of the following +<strong>Flags</strong>. Flags are case-sensitive.</p> +<dl> +<dt>h</dt> +<dd><p>Ignore HTML links (pass through unchanged)</p></dd> +<dt>e</dt> +<dd><p>Ignore scripting events (pass through unchanged)</p></dd> +<dt>c</dt> +<dd><p>Pass embedded script and style sections through untouched.</p></dd> + +<dt>L</dt> +<dd><p>Last-match. If this rule matches, no more rules are applied +(note that this happens automatically for HTML links).</p></dd> +<dt>l</dt> +<dd><p>Opposite to L. Overrides the one-change-only default +behaviour with HTML links.</p></dd> +<dt>R</dt> +<dd><p>Use Regular Expression matching-and-replace. <code>from-pattern</code> +is a regexp, and <code>to-pattern</code> a replacement string that may be +based on the regexp. Regexp memory is supported: you can use brackets () +in the <code>from-pattern</code> and retrieve the matches with $1 to $9 +in the <code>to-pattern</code>.</p> + +<p>If R is not set, it will use string-literal search-and-replace. +The logic is <em>starts-with</em> in HTML links, but +<em>contains</em> in scripting events and embedded script and style sections. +</p> +</dd> +<dt>x</dt> +<dd><p>Use POSIX extended Regular Expressions. Only applicable with R.</p></dd> +<dt>i</dt> +<dd><p>Case-insensitive matching. Only applicable with R.</p></dd> + +<dt>n</dt> +<dd><p>Disable regexp memory (for speed). Only applicable with R.</p></dd> +<dt>s</dt> +<dd><p>Line-based regexp matching. Only applicable with R.</p></dd> +<dt>^</dt> +<dd><p>Match at start only. This applies only to string matching +(not regexps) and is irrelevant to HTML links.</p></dd> +<dt>$</dt> +<dd><p>Match at end only. This applies only to string matching +(not regexps) and is irrelevant to HTML links.</p></dd> +<dt>V</dt> +<dd><p>Interpolate environment variables in <code>to-pattern</code>. +A string of the form <code>${varname|default}</code> will be replaced by the +value of environment variable <code>varname</code>. If that is unset, it +is replaced by <code>default</code>. The <code>|default</code> is optional.</p> +<p>NOTE: interpolation will only be enabled if +<code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> is <var>On</var>.</p> +</dd> + +<dt>v</dt> +<dd><p>Interpolate environment variables in <code>from-pattern</code>. +Patterns supported are as above.</p> +<p>NOTE: interpolation will only be enabled if +<code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> is <var>On</var>.</p> +</dd> +</dl> + +<p>The optional fourth <strong>cond</strong> argument defines a condition +that will be evaluated per Request, provided +<code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> is <var>On</var>. +If the condition evaluates FALSE the map will not be applied in this request. +If TRUE, or if no condition is defined, the map is applied.</p> +<p>A <strong>cond</strong> is evaluated by the <a href="../expr.html">Expression Parser</a>. In addition, the simpler syntax of conditions +in mod_proxy_html 3.x for HTTPD 2.0 and 2.2 is also supported.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_html.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_html.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_html.html.fr.utf8 b/docs/manual/mod/mod_proxy_html.html.fr.utf8 new file mode 100644 index 0000000..931483a --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html.fr.utf8 @@ -0,0 +1,555 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_html - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_html</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_html.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>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.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_html_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_html.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures</td></tr></table> +<h3>Sommaire</h3> + + <p>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 <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> d'Apache accomplit pour les + en-têtes HTTP, et fait partie des composants essentiels d'un mandataire + inverse.</p> + +<p>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 <code>www.example.com</code>, il peut +être souhaitable de fournir une passerelle vers le serveur d'application +à l'adresse <code>http://www.example.com/appserver/</code>. 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, +<code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> permet de réécrire <code><a +href="http://appserver.example.com/foo/bar.html">foobar</a></code> +en <code><a +href="http://www.example.com/appserver/foo/bar.html">foobar</a></code>, +ce qui permet de rendre le serveur d'applications accessible depuis +l'extérieur.</p> + +<p>mod_proxy_html a été développé à l'origine à WebÞing, dont la <a href="http://apache.webthing.com/mod_proxy_html/">documentation</a> +détaillée pourra s'avérer utile aux utilisateurs.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_html">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_html">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlbufsize" id="proxyhtmlbufsize">Directive</a> <a name="ProxyHTMLBufSize" id="ProxyHTMLBufSize">ProxyHTMLBufSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLBufSize <var>nb-octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLBufSize 8192</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Pour pouvoir interpréter du contenu non HTML (feuilles de style et +scripts) embarqué dans des documents HTML, <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> 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 <var>nb-octets</var> que cette +directive permet de définir.</p> +<p>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. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlcharsetout" id="proxyhtmlcharsetout">Directive</a> <a name="ProxyHTMLCharsetOut" id="ProxyHTMLCharsetOut">ProxyHTMLCharsetOut</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un jeu de caractères pour la sortie de +mod_proxy_html.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>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 <code>UTF-8</code> (Unicode - +utilisé en interne par libxml2) induit une charge supplémentaire de +traitement. La définition spéciale <code>ProxyHTMLCharsetOut *</code> +permet de générer une sortie qui utilisera le même encodage que +l'entrée.</p> +<p>Notez que tout ceci ne fonctionne que si le module +<code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmldoctype" id="proxyhtmldoctype">Directive</a> <a name="ProxyHTMLDocType" id="ProxyHTMLDocType">ProxyHTMLDocType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une déclaration de type de document HTML ou XHTML.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>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 à <code>Legacy</code>, 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.</p> +<p>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.</p> +<p>Par défaut, aucun FPI n'est inséré, étant donné qu'il vaut mieux pas +de FPI du tout qu'un FPI bogué. Si par contre votre serveur d'arrière-plan +génère du contenu HTML ou XHTML correct, vous pouvez définir cette +directive en conséquence.</p> +<p>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 +<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> est définie à +Debug.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlenable" id="proxyhtmlenable">Directive</a> <a name="ProxyHTMLEnable" id="ProxyHTMLEnable">ProxyHTMLEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'activer/désactiver le filtre proxy_html.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLEnable On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLEnable Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> + <p>Cette directive est un simple commutateur permettant + d'activer/désactiver le filtre proxy_html. Si + <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé, elle va aussi activer + automatiquement le support de l'internationalisation.</p> + <p>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 <var>PROXY_HTML_FORCE</var>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlevents" id="proxyhtmlevents">Directive</a> <a name="ProxyHTMLEvents" id="ProxyHTMLEvents">ProxyHTMLEvents</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les attributs à traiter comme des évènements de +type scripting.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLEvents <var>attribut [attribut ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>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 +<code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code> lorsqu'elles ont été définies. Vous +pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs +directives <code class="directive">ProxyHTMLEvents</code>.</p> +<p>Normalement, cette directive est définie globalement. Si vous +définissez <code class="directive">ProxyHTMLEvents</code> à plusieurs niveaux, certains niveaux +l'emportant sur d'autres, vous devrez spécifier un jeu complet +d'évènements pour chaque niveau.</p> +<p>Le fichier <var>proxy-html.conf</var> fournit une configuration par +défaut et définit les évènements selon les standards +HTML 4 et XHTML 1.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlextended" id="proxyhtmlextended">Directive</a> <a name="ProxyHTMLExtended" id="ProxyHTMLExtended">ProxyHTMLExtended</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLExtended On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLExtended Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Si cette directive est définie à <code>Off</code>, les liens HTML +sont réécrits en fonction des directives +<code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>, mais les liens qui apparaissent +dans le code Javascript et les feuilles de style restent inchangés.</p> +<p>Si elle est définie à <code>On</code>, tous les évènements de type +scripting (définis par la directive +<code class="directive"><a href="#proxyhtmlevents">ProxyHTMLEvents</a></code>) et les scripts inclus ou les +feuilles de style sont aussi +traités par les règles <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>, en +fonction des drapeaux définis pour chacune d'entre elles. Ne définissez +cette directive à <code>On</code> qu'en cas de nécessité absolue, car la +charge supplémentaire induite impacte les performances.</p> +<p>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 <code>/</code> a de fortes chances d'induire des +correspondances erronées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlfixups" id="proxyhtmlfixups">Directive</a> <a name="ProxyHTMLFixups" id="ProxyHTMLFixups">ProxyHTMLFixups</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Corrige les erreurs HTML simples.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLFixups [lowercase] [dospath] [reset]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Cette directive accepte un à trois arguments parmi les suivants :</p> +<ul> +<li><code>lowercase</code> Les Urls sont réécrites en minuscules</li> +<li><code>dospath</code> Les slashes inversés dans les URLs sont +remplacés par des slashes directs.</li> +<li><code>reset</code> Annule toute option définie à un niveau supérieur +dans la configuration</li> +</ul> +<p>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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlinterp" id="proxyhtmlinterp">Directive</a> <a name="ProxyHTMLInterp" id="ProxyHTMLInterp">ProxyHTMLInterp</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la réinterprétation des règles +<code class="directive">ProxyHTMLURLMap</code> pour chaque requête.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLInterp On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLInterp Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> + <p>Cette directive permet d'activer le réinterprétation pour chaque + requête des modèles source et cible de la directive + <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>.</p> + <p>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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmllinks" id="proxyhtmllinks">Directive</a> <a name="ProxyHTMLLinks" id="ProxyHTMLLinks">ProxyHTMLLinks</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Cette directive permet de spécifier les éléments dont les attributs d'URL +doivent être réécrits en utilisant les règles standards <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>. Vous devez définir une +directive <code class="directive">ProxyHTMLLinks</code> pour chaque élément, mais chacune d'entre elles peut +spécifier un nombre quelconque d'attributs</p> <p>Normalement, cette directive +est définie globalement. Si vous définissez <code class="directive">ProxyHTMLLinks</code> à plusieurs niveaux, +certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet +de liens pour chaque niveau.</p> <p>Le fichier <var>proxy-html.conf</var> +fournit une configuration par défaut et définit les liens HTML selon les +standards HTML 4 et XHTML 1.</p> +<div class="example"><h3>Exemples issus de proxy-html.conf</h3><pre class="prettyprint lang-config">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</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlmeta" id="proxyhtmlmeta">Directive</a> <a name="ProxyHTMLMeta" id="ProxyHTMLMeta">ProxyHTMLMeta</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <code><head></code>.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLMeta On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLMeta Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>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.</td></tr> +</table> + <p>Cette directive permet d'activer ou désactiver une + préinterprétation supplémentaire des métadonnées dans les sections + HTML <code><head></code>. 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.</p> + <p>La directive <code class="directive">ProxyHTMLMeta</code> a deux effets. Le premier et le plus + important est la détection des codages de caractères déclarés sous + la forme</p> + <pre><meta http-equiv="Content-Type" content="text/html;charset=<var>foo</var>"></pre> + <p>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 <var>utf-8</var> (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 <code class="directive"><a href="../mod/mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></code>, avec le risque de + propager une déclaration incorrecte. Une directive + <code class="directive"><a href="#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></code> permettra d'annuler ce + risque, mais pourra induire une surcharge de traitement supérieure à + celle de ProxyHTMLMeta.</p> + <p>Le deuxième effet est l'interprétation de toutes les déclarations + <code><meta http-equiv=...></code> et leur conversion en + en-têtes HTTP, afin de conserver le but original de cette forme + de métaélément HTML.</p> + + <div class="warning"><h3>Avertissement</h3> Compte tenu du fait que la + directive ProxyHTMLMeta promeut <strong>tous</strong> les éléments + <code>http-equiv</code> 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. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlstripcomments" id="proxyhtmlstripcomments">Directive</a> <a name="ProxyHTMLStripComments" id="ProxyHTMLStripComments">ProxyHTMLStripComments</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les commentaires HTML doivent être supprimés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLStripComments On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLStripComments Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Si cette directive est définie à <code>On</code>, 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 <em>avant</em> mod_proxy_html +dans la chaîne de filtrage si vous supprimez les commentaires !</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlurlmap" id="proxyhtmlurlmap">Directive</a> <a name="ProxyHTMLURLMap" id="ProxyHTMLURLMap">ProxyHTMLURLMap</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une règle de réécriture des liens HTML</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>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 à <var>modèle-source</var>, la partie du lien concernée +sera réécrite en <var>modèle-cible</var>, en tenant compte des +modifications induites par les drapeaux éventuellement spécifiés et par +la directive <code class="directive"><a href="#proxyhtmlextended">ProxyHTMLExtended</a></code>. +Ne seront considérés comme des liens HTML que les éléments spécifiés via la +directive <code class="directive"><a href="#proxyhtmllinks">ProxyHTMLLinks</a></code>.</p> + +<p>Le troisième argument optionnel permet de définir un des drapeaux +suivants (les drapeaux sont sensibles à la casse) :</p> +<dl> +<dt>h</dt> +<dd><p>Ignore les liens HTML (les traverse sans les modifier)</p></dd> +<dt>e</dt> +<dd><p>Ignore les évènements de scripting (les traverse sans les +modifier)</p></dd> +<dt>c</dt> +<dd><p>Traverse les sections de type style ou script sans les modifier.</p></dd> + +<dt>L</dt> +<dd><p>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).</p></dd> +<dt>l</dt> +<dd><p>L'opposé de L. Passe outre le comportement par défaut du +changement unique pour les liens HTML.</p></dd> +<dt>R</dt> +<dd><p>Utilise des expressions rationnelles pour les modèles. +<code>modèle-source</code> est une expression rationnelle, et +<code>modèle-cible</code> 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 <code>modèle-source</code>, et récupérer la +correspondance de leur contenu via les variables $1 à $9 dans le +<code>modèle-cible</code>.</p> + +<p>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 <em>"commence par"</em> dans les liens HTML, et +<em>"contient"</em> dans les évènements de scripting et les sections de +type style ou script. +</p> +</dd> +<dt>x</dt> +<dd><p>Utilise les expressions rationnelles étendues POSIX. Ne +s'applique qu'avec R.</p></dd> +<dt>i</dt> +<dd><p>Recherche de correspondance sensible à la casse. Ne +s'applique qu'avec R.</p></dd> + +<dt>n</dt> +<dd><p>Désactive la mémorisation dans les expressions rationnelles (pour +améliorer les performances). Ne s'applique qu'avec R.</p></dd> +<dt>s</dt> +<dd><p>Recherche de correspondance dans les expressions rationnelles +basée sur la ligne. Ne s'applique qu'avec R.</p></dd> +<dt>^</dt> +<dd><p>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.</p></dd> +<dt>$</dt> +<dd><p>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.</p></dd> +<dt>V</dt> +<dd><p>Insère des variables d'environnement dans le +<code>modèle-cible</code>. Un <code>modèle-cible</code> de la forme +<code>${varname|default}</code> sera remplacé par la valeur de la +variable d'environnement <code>varname</code>. Si cette dernière n'est +pas définie, <code>modèle-cible</code> sera remplacé par +<code>default</code>. La spécification de <code>|default</code> est +facultative.</p> +<p>NOTE: l'insertion de variables d'environnement n'est possible que si +la directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> a été définie à +<var>On</var>.</p> +</dd> + +<dt>v</dt> +<dd><p>Insère des variables d'environnement dans le +<code>modèle-source</code>. La syntaxe du modèle est identique à la +syntaxe précédente.</p> +<p>NOTE: l'insertion de variables d'environnement n'est possible que si +la directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> a été définie à +<var>On</var>.</p> +</dd> +</dl> + +<p>Le quatrième argument optionnel <strong>cond</strong> définit une +condition qui sera évaluée pour chaque requête, sous réserve que la +directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> ait été définie à +<var>On</var>. 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.</p> +<p>La <strong>condition</strong> est évaluée par l'<a href="../expr.html">interpréteur d'expression</a>. La syntaxe simple des +conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi +supportée.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_html.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http.html b/docs/manual/mod/mod_proxy_http.html new file mode 100644 index 0000000..659bda2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_http.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_http.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_http.html.en b/docs/manual/mod/mod_proxy_http.html.en new file mode 100644 index 0000000..d9956a4 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http.html.en @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_http - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_http</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>HTTP support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_http_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_http.c</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides the features used for + proxying HTTP and HTTPS requests. <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + supports HTTP/0.9, HTTP/1.0 and HTTP/1.1. It does <em>not</em> + provide any caching abilities. If you want to set up a caching + proxy, you might want to use the additional service of the + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> module.</p> + + <p>Thus, in order to get the ability of handling HTTP proxy requests, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + have to be present in the server.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Environment Variables</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Request notes</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Environment Variables</a></h2> + <p>In addition to the configuration directives that control the + behaviour of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, there are a number of + <dfn>environment variables</dfn> that control the HTTP protocol + provider. Environment variables below that don't specify specific values + are enabled when set to any value.</p> + <dl> + <dt>proxy-sendextracrlf</dt> + <dd>Causes proxy to send an extra CR-LF newline on the end of a + request. This is a workaround for a bug in some browsers.</dd> + <dt>force-proxy-request-1.0</dt> + <dd>Forces the proxy to send requests to the backend as HTTP/1.0 + and disables HTTP/1.1 features.</dd> + <dt>proxy-nokeepalive</dt> + <dd>Forces the proxy to close the backend connection after + each request.</dd> + <dt>proxy-chain-auth</dt> + <dd>If the proxy requires authentication, it will read and + consume the proxy authentication credentials sent by the client. + With <var>proxy-chain-auth</var> it will <em>also</em> forward + the credentials to the next proxy in the chain. This may + be necessary if you have a chain of proxies that share + authentication information. <strong>Security Warning:</strong> + Do not set this unless you know you need it, as it forwards + sensitive information!</dd> + <dt>proxy-sendcl</dt> + <dd>HTTP/1.0 required all HTTP requests that include a body + (e.g. POST requests) to include a <var>Content-Length</var> + header. This environment variable forces the Apache proxy to + send this header to the backend server, regardless of what the + Client sent to the proxy. It ensures compatibility when + proxying for an HTTP/1.0 or unknown backend. However, it + may require the entire request to be buffered by the proxy, + so it becomes very inefficient for large requests.</dd> + <dt>proxy-sendchunks or proxy-sendchunked</dt> + <dd>This is the opposite of <var>proxy-sendcl</var>. It allows + request bodies to be sent to the backend using chunked transfer + encoding. This allows the request to be efficiently streamed, + but requires that the backend server supports HTTP/1.1.</dd> + <dt>proxy-interim-response</dt> + <dd>This variable takes values <code>RFC</code> (the default) or + <code>Suppress</code>. Earlier httpd versions would suppress + HTTP interim (1xx) responses sent from the backend. This is + technically a violation of the HTTP protocol. In practice, + if a backend sends an interim response, it may itself be + extending the protocol in a manner we know nothing about, + or just broken. So this is now configurable: set + <code>proxy-interim-response RFC</code> to be fully protocol + compliant, or <code>proxy-interim-response Suppress</code> + to suppress interim responses.</dd> + <dt>proxy-initial-not-pooled</dt> + <dd>If this variable is set, no pooled connection will be reused + if the client request is the initial request on the frontend connection. This avoids + the "proxy: error reading status line from remote server" error message + caused by the race condition that the backend server closed the + pooled connection after the connection check by the proxy and + before data sent by the proxy reached the backend. It has to be + kept in mind that setting this variable downgrades performance, + especially with HTTP/1.0 clients. + </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Request notes</a></h2> + <p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> creates the following request notes for + logging using the <code>%{VARNAME}n</code> format in + <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> or + <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code>: + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>The local port used for the connection to the backend server.</dd> + <dt>proxy-status</dt> + <dd>The HTTP status received from the backend server.</dd> + </dl> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_http.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http.html.fr.utf8 b/docs/manual/mod/mod_proxy_http.html.fr.utf8 new file mode 100644 index 0000000..afd2ba9 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http.html.fr.utf8 @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_http - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_http</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support HTTP à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_http_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du + mandatement des requêtes HTTP et HTTPS. <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + supporte HTTP/0.9, HTTP/1.0 et HTTP/1.1. Il ne fournit + <em>aucune</em> fonctionnalité de mise en cache. Si vous souhaitez + mettre en oeuvre un mandataire qui assure aussi les fonctions de + mise en cache, vous devez utiliser les services du module + <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p> + + <p>Ainsi, pour pouvoir traiter les requêtes HTTP mandatées, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> + doivent être chargés dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Variables d'environnement</a></h2> + <p>Outre les directives de configuration qui contrôlent le + comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, plusieurs <dfn>variables + d'environnement</dfn> permettent de contrôler le fournisseur du + protocole HTTP. Parmi les variables suivantes, celle qui ne + nécessitent pas de valeur particulière sont définies quelle que soit + la valeur qu'on leur affecte.</p> + <dl> + <dt>proxy-sendextracrlf</dt> + <dd>Provoque l'envoi par le mandataire d'une nouvelle ligne + CR-LF supplémentaire à la fin de la requête. + Ceci constitue un + moyen de contournement d'une bogue de certains + navigateurs.</dd> + <dt>force-proxy-request-1.0</dt> + <dd>Force le mandataire à envoyer des requêtes vers le serveur + cible selon le protocole HTTP/1.0 et désactive les + fonctionnalités propres à HTTP/1.1.</dd> + <dt>proxy-nokeepalive</dt> + <dd>Force le mandataire à fermer la connexion avec le serveur + cible après chaque requête.</dd> + <dt>proxy-chain-auth</dt> + <dd>Si le mandataire requiert une authentification, il va lire + et exploiter les données d'authentification pour mandataire + envoyées par le client. Si <var>proxy-chain-auth</var> est + définie, il va <em>aussi</em> faire suivre ces données vers le + mandataire suivant dans la chaîne. Ceci peut s'avérer nécessaire + si une chaîne de mandataires partagent les informations + d'authentification. + <strong>Avertissement concernant la sécurité :</strong> + Ne définissez cette variable que si vous êtes sûr d'en avoir + besoin, car elle peut provoquer la divulgation d'informations + sensibles !</dd> + <dt>proxy-sendcl</dt> + <dd>Avec HTTP/1.0, toutes les requêtes qui possèdent un corps + (par exemple les requêtes POST) doivent comporter un en-tête + <var>Content-Length</var>. Cette variable d'environnement force + le mandataire Apache à envoyer cet en-tête au serveur cible, + sans tenir compte de ce que lui a envoyé le client. Ceci permet + d'assurer la compatibilité lorsqu'on mandate un serveur cible + mettant en oeuvre un protocole de type HTTP/1.0 ou inconnu. Elle + peut cependant nécessiter la mise en tampon de l'intégralité de + la requête par le mandataire, ce qui s'avère très inefficace + pour les requêtes de grande taille.</dd> + <dt>proxy-sendchunks ou proxy-sendchunked</dt> + <dd>Cette variable constitue l'opposé de + <var>proxy-sendcl</var>. Elle permet la transmission des corps + de requêtes vers le serveur cible en utilisant un codage de + transfert fractionné. Ceci permet une transmission des requêtes + plus efficace, mais nécessite que le serveur cible supporte le + protocole HTTP/1.1.</dd> + <dt>proxy-interim-response</dt> + <dd>Cette variable peut prendre les valeurs <code>RFC</code> + (valeur par défaut) ou + <code>Suppress</code>. Les versions précédentes de httpd + supprimaient les réponses intermédiaires HTTP (1xx) envoyées par + le serveur cible. En pratique, si un serveur cible envoie une + réponse intermédiaire, il se peut qu'il étende lui-même le + protocole d'une manière dont nous n'avons pas connaissance, ou + tout simplement non conforme. Le comportement du mandataire est + donc maintenant configurable : définissez + <code>proxy-interim-response RFC</code> pour être totalement + compatible avec le protocole, ou <code>proxy-interim-response + Suppress</code> pour supprimer les réponses intermédiaires.</dd> + <dt>proxy-initial-not-pooled</dt> + <dd>Si cette variable est définie, aucune connexion faisant + partie d'un jeu ne sera réutilisée si la requête + du client est la requête initiale pour une connexion. + Ceci permet d'éviter le message d'erreur + "proxy: error reading status line from remote server" causé par + la situation de compétition au cours de laquelle le serveur + cible ferme la connexion du jeu après la vérification de la + connexion par le mandataire, et avant que les données envoyées + par le mandataire n'atteignent le serveur cible. Il faut + cependant garder à l'esprit que la définition de cette variable + dégrade les performances, particulièrement avec les clients + HTTP/1.0. + </dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Informations sur les requêtes</a></h2> + <p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> enregistre les informations + suivantes pour journalisation via le format <code>%{NOMVAR}n</code> + dans les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> : + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.</dd> + <dt>proxy-status</dt> + <dd>Le code d'état HTTP reçu du serveur d'arrière-plan.</dd> + </dl> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_http.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http2.html b/docs/manual/mod/mod_proxy_http2.html new file mode 100644 index 0000000..8f7d390 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http2.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_http2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_http2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_http2.html.en b/docs/manual/mod/mod_proxy_http2.html.en new file mode 100644 index 0000000..3153959 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http2.html.en @@ -0,0 +1,156 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_http2 - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_http2</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http2.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http2.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>HTTP/2 support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_http2_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_http2.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.19 and later</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> + supports HTTP/2 only, it does <em>not</em> + provide any downgrades to HTTP/1.1. This means that the backend + needs to support HTTP/2 because HTTP/1.1 will not be used instead.</p> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, so in order to get the ability of + handling HTTP/2 proxy requests, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> + need to be both loaded by the server.</p> + + <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> works with incoming fronted requests + using HTTP/1.1 or HTTP/2. In both cases, requests proxied + to the same backend are sent over a single TCP connection + whenever possible (namely when the connection can be re-used).</p> + + <p>Caveat: there will be no attempt to consolidate multiple HTTP/1.1 + frontend requests (configured to be proxied to the same backend) + into HTTP/2 streams belonging to the same HTTP/2 request. + Each HTTP/1.1 frontend request will be proxied to the backend using + a separate HTTP/2 request (trying to re-use the same TCP connection + if possible).</p> + + <p>This module relies on <a href="http://nghttp2.org/">libnghttp2</a> + to provide the core http/2 engine.</p> + + <div class="warning"><h3>Warning</h3> + <p>This module is experimental. Its behaviors, directives, and + defaults are subject to more change from release to + release relative to other standard modules. Users are encouraged to + consult the "CHANGES" file for potential updates.</p> + </div> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Basic Examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Request notes</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http2">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http2">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Basic Examples</a></h2> + + <p>The examples below demonstrate how to configure HTTP/2 for + backend connections for a reverse proxy. </p> + + <div class="example"><h3>HTTP/2 (TLS)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2://app.example.com" +ProxyPassReverse "/app" "https://app.example.com"</pre> +</div> + + <div class="example"><h3>HTTP/2 (cleartext)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2c://app.example.com" +ProxyPassReverse "/app" "http://app.example.com"</pre> +</div> + + <div class="note"> + <p>The schemes to configure above in + <code class="directive">ProxyPassReverse</code> for reverse proxying + <code>h2</code> (or <code>h2c</code>) protocols are the usual + <code>https</code> (resp. <code>http</code>) as expected/used by + the user agent.</p> + </div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Request notes</a></h2> + <p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> creates the following request notes for + logging using the <code>%{VARNAME}n</code> format in + <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> or + <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code>: + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>The local port used for the connection to the backend server.</dd> + <dt>proxy-status</dt> + <dd>The HTTP/2 status received from the backend server.</dd> + </dl> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_http2.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http2.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_http2.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_http2.html.fr.utf8 b/docs/manual/mod/mod_proxy_http2.html.fr.utf8 new file mode 100644 index 0000000..f25a5b2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_http2.html.fr.utf8 @@ -0,0 +1,156 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_http2 - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_http2</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http2.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de HTTP/2 pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_http2_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http2.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> ne + supporte que HTTP/2 et ne permet pas de rétrogradation vers HTTP/1.1. Cela + signifie que le serveur d'arrière-plan doit supporter HTTP/2 car HTTP/1.1 ne + pourra alors pas être utilisé.</p> + + <p>Ce module <em>nécessite</em> la présence de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ; + pour pouvoir traiter les requêtes mandatées HTTP/2, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> doivent donc + être chargés par le serveur.</p> + + <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> travaille avec des requêtes entrantes en + HTTP/1.1 ou HTTP/2. Dans les deux cas, les requêtes vers le même serveur + d'arrière-plan sont envoyées + via une seule connexion TCP, dans la mesure du possible (autrement dit + lorsque la connexion peut être réutilisée).</p> + + <p>Avertissement : il ne sera effectué aucune tentative de fusion de + plusieurs requêtes entrantes HTTP/1 (devant être mandatées vers le même + serveur d'arrière-plan) vers des flux HTTP/2 appartenant à la même requête + HTTP/2. Chaque requête HTTP/1 entrante sera mandatée vers le serveur + d'arrière-plan en utilisant une requête HTTP/2 séparée (tout en réutilisant + si possible la même connexion TCP).</p> + + <p>Ce module s'appuie sur <a href="http://nghttp2.org/">libnghttp2</a> pour + fournir le moteur central http/2.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Ce module en est au + stade expérimental. Ses comportement, directives et valeurs par défauts sont + donc susceptibles de modifications d'une version à l'autre plus fréquentes + que pour les autres modules. A ce titre, il est fortement conseillé aux + utilisateurs de consulter le fichier "CHANGES" pour prendre connaissance de + ces modifications.</p> </div> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas le mandatement avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les serveurs + mandataires ouverts sont dangereux non seulement pour votre propre réseau, + mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples de base</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples de base</a></h2> + + <p>Les exemples ci-dessous montrent comment configurer HTTP/2 pour des + connexions d'arrière-plan vers un mandataire inverse.</p> + + <div class="example"><h3>HTTP/2 (TLS)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2://app.example.com" +ProxyPassReverse "/app" "https://app.example.com"</pre> +</div> + + <div class="example"><h3>HTTP/2 (non sécurisé)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2c://app.example.com" +ProxyPassReverse "/app" "http://app.example.com"</pre> +</div> + + <div class="note"> + <p>Pour mandater en inverse les protocoles <code>h2</code> ou + <code>h2c</code>, on utilise la directive + <code class="directive">ProxyPassReverse</code> avec les schèmes habituels + <code>https</code> et respectivement + <code>http</code> qui sont connus et utilisés par l'agent utilisateur.</p> + </div> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Informations sur les requêtes</a></h2> + <p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> fournit les informations sur les requêtes + suivantes pour enregistrement dans les journaux en utilisant le format + <code>%{VARNAME}n</code> avec les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> : + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>Le numéro de port local utilisé pour la connexion vers le serveur + d'arrière-plan.</dd> + <dt>proxy-status</dt> + <dd>Le statut HTTP/2 en provenance du serveur d'arrière-plan.</dd> + </dl> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_http2.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_http2.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_scgi.html b/docs/manual/mod/mod_proxy_scgi.html new file mode 100644 index 0000000..b890e57 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_scgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_scgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_scgi.html.en b/docs/manual/mod/mod_proxy_scgi.html.en new file mode 100644 index 0000000..ff4d0f8 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html.en @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_scgi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_scgi</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_scgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_scgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_scgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_scgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2.14 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the + <a href="http://python.ca/scgi/protocol.txt">SCGI protocol, version + 1</a>.</p> + + <p>Thus, in order to get the ability of handling the SCGI protocol, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> have to + be present in the server.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Environment Variables</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgisendfile">ProxySCGISendfile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_scgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_scgi">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + <p>Remember, in order to make the following examples work, you have to + enable <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>.</p> + + <div class="example"><h3>Simple gateway</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "scgi://localhost:4000/"</pre> +</div> + + <p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and + at least one load balancer algorithm module, such as + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>, in addition to the proxy + modules listed above. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> is the + default, and will be used for this example configuration.</p> + + <div class="example"><h3>Balanced gateway</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "balancer://somecluster/" +<Proxy "balancer://somecluster"> + BalancerMember "scgi://localhost:4000" + BalancerMember "scgi://localhost:4001" +</Proxy></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Environment Variables</a></h2> + <p>In addition to the configuration directives that control the + behaviour of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, an <dfn>environment + variable</dfn> may also control the SCGI protocol + provider:</p> + <dl> + <dt>proxy-scgi-pathinfo</dt> + <dd>By default <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> will neither create + nor export the <var>PATH_INFO</var> environment variable. This allows + the backend SCGI server to correctly determine <var>SCRIPT_NAME</var> + and <var>Script-URI</var> and be compliant with RFC 3875 section 3.3. + If instead you need <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> to generate + a "best guess" for <var>PATH_INFO</var>, set this env-var. The + variable must be set before <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> + is effective. <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> can be + used instead: <code>SetEnvIf Request_URI . proxy-scgi-pathinfo</code> + </dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxySCGIInternalRedirect" id="ProxySCGIInternalRedirect">ProxySCGIInternalRedirect</a> <a name="proxyscgiinternalredirect" id="proxyscgiinternalredirect">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable or disable internal redirect responses from the +backend</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxySCGIInternalRedirect On|Off|<var>Headername</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxySCGIInternalRedirect On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_scgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The <var>Headername</var> feature is available in version +2.4.13 and later</td></tr> +</table> + <p>The <code class="directive">ProxySCGIInternalRedirect</code> enables the backend + to internally redirect the gateway to a different URL. This feature + originates in <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, which internally redirects the + response if the response status is <code>OK</code> (<code>200</code>) and + the response contains a <code>Location</code> (or configured alternate + header) and its value starts with a slash (<code>/</code>). This value is + interpreted as a new local URL that Apache httpd internally redirects to.</p> + + <p><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> does the same as + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> in this regard, except that you can turn off the + feature or specify the use of a header other than <code>Location</code>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"> ProxySCGIInternalRedirect Off + +# Django and some other frameworks will fully qualify "local URLs" +# set by the application, so an alternate header must be used. +<Location /django-app/> + ProxySCGIInternalRedirect X-Location +</Location></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxySCGISendfile" id="ProxySCGISendfile">ProxySCGISendfile</a> <a name="proxyscgisendfile" id="proxyscgisendfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxySCGISendfile On|Off|<var>Headername</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxySCGISendfile Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_scgi</td></tr> +</table> + <p>The <code class="directive">ProxySCGISendfile</code> directive enables the + SCGI backend to let files be served directly by the gateway. This is useful + for performance purposes — httpd can use <code>sendfile</code> or other + optimizations, which are not possible if the file comes over the backend + socket. Additionally, the file contents are not transmitted twice.</p> + <p>The <code class="directive">ProxySCGISendfile</code> argument determines the + gateway behaviour:</p> + <dl> + <dt><code>Off</code></dt> + <dd>No special handling takes place.</dd> + + <dt><code>On</code></dt> + <dd>The gateway looks for a backend response header called + <code>X-Sendfile</code> and interprets the value as the filename to serve. + The header is removed from the final response headers. This is equivalent to + <code>ProxySCGISendfile X-Sendfile</code>.</dd> + + <dt>anything else</dt> + <dd>Similar to <code>On</code>, but instead of the hardcoded header name + <code>X-Sendfile</code>, the argument is used as the header name.</dd> + </dl> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># Use the default header (X-Sendfile) +ProxySCGISendfile On + +# Use a different header +ProxySCGISendfile X-Send-Static</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_scgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_scgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_scgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_scgi.html.fr.utf8 b/docs/manual/mod/mod_proxy_scgi.html.fr.utf8 new file mode 100644 index 0000000..5a83ae4 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html.fr.utf8 @@ -0,0 +1,230 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_scgi - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_scgi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_scgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_scgi.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de la passerelle SCGI à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_scgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_scgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.14 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du + <a href="http://python.ca/scgi/protocol.txt">protocole SCGI, version + 1</a>.</p> + + <p>Ainsi, pour être en mesure de traiter le protocole SCGI, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> + doivent être chargés dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgisendfile">ProxySCGISendfile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_scgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_scgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + <p>Rappelez-vous, pour que les exemples suivants puissent + fonctionner, vous devez activer <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et + <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>.</p> + + <div class="example"><h3>Passerelle simple</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "scgi://localhost:4000/"</pre> +</div> + + <p>La passerelle à répartition de charge nécessite le chargement du + module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et d'au moins un module + fournissant un algorithme de répartition de charge, comme + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> en plus des modules + déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module + par défaut et sera utilisé dans cet exemple de configuration.</p> + + <div class="example"><h3>Passerelle à répartition de charge</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "balancer://somecluster/" +<Proxy "balancer://somecluster"> + BalancerMember "scgi://localhost:4000" + BalancerMember "scgi://localhost:4001" +</Proxy></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Variables d'environnement</a></h2> + <p>En plus des directives de configuration qui permettent de + contrôler le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, une + <dfn>variable d'environnement</dfn> peut aussi + contrôler le fournisseur de protocole SCGI :</p> + <dl> + <dt>proxy-scgi-pathinfo</dt> + <dd>Par défaut, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> ne créera ni + exportera jamais la variable d'environnement + <var>PATH_INFO</var>. Ceci permet au serveur SCGI d'arrière-plan + de déterminer correctement <var>SCRIPT_NAME</var> et + <var>Script-URI</var>, et de rester en conformité avec la section + 3.3 de la RFC 3875. Si au contraire vous souhaitez que + <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> génère une estimation la plus + précise possible de <var>PATH_INFO</var>, définissez cette + variable d'environnement. La variable doit être définie avant + que la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> ne soit effective. Il est possible + d'utiliser à la place la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> : <code>SetEnvIf Request_URI . proxy-scgi-pathinfo</code> + </dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyscgiinternalredirect" id="proxyscgiinternalredirect">Directive</a> <a name="ProxySCGIInternalRedirect" id="ProxySCGIInternalRedirect">ProxySCGIInternalRedirect</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les réponses de redirection interne en +provenance du serveur cible.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySCGIInternalRedirect On|Off|<var>Headername</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGIInternalRedirect On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_scgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre <var>Headername</var> est disponible depuis +la version 2.4.13 du serveur HTTP Apache.</td></tr> +</table> + <p>La directive <code class="directive">ProxySCGIInternalRedirect</code> + permet au serveur cible de rediriger en interne la passerelle vers + une URL différente. Cette fonctionnalité trouve son origine dans + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> qui redirige la réponse en interne si + l'état de la réponse est <code>OK</code> (<code>200</code>), et si + la réponse contient un en-tête <code>Location</code> + (ou un autre en-tête défini) dont la valeur + débute par un slash (<code>/</code>). Cette valeur est interprétée + comme une nouvelle URL locale vers laquelle Apache httpd effectue sa + redirection.</p> + + <p>De ce point de vue, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> fait la même + chose que <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, mais vous pouvez en plus + désactiver la fonctionnalité ou spécifier + l'utilisation d'un en-tête autre que <code>Location</code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> 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></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyscgisendfile" id="proxyscgisendfile">Directive</a> <a name="ProxySCGISendfile" id="ProxySCGISendfile">ProxySCGISendfile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'évaluation du pseudo en-tête de réponse +<var>X-Sendfile</var></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySCGISendfile On|Off|<var>nom-en-tête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGISendfile Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_scgi</td></tr> +</table> + <p>La directive <code class="directive">ProxySCGISendfile</code> 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 <code>sendfile</code> ou d'autres + optimisations, ce qui n'est pas possible si les fichiers passent par + la socket du serveur cible. En outre, les fichiers ne sont transmis + qu'une seule fois.</p> + <p>L'argument de la directive + <code class="directive">ProxySCGISendfile</code> détermine le comportement + de la passerelle :</p> + <dl> + <dt><code>Off</code></dt> + <dd>Aucun traitement particulier n'est effectué.</dd> + + <dt><code>On</code></dt> + <dd>La passerelle recherche un en-tête dans la réponse du serveur + cible nommé <code>X-Sendfile</code>, 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 + <code>ProxySCGISendfile X-Sendfile</code>.</dd> + + <dt>toute autre valeur</dt> + <dd>Identique à <code>On</code>, mais au lieu de rechercher le nom + d'en-tête codé en dur <code>X-Sendfile</code>, c'est la + valeur de l'argument qui constitue le nom de l'en-tête + à rechercher.</dd> + </dl> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> # 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</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_scgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_scgi.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_scgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_uwsgi.html b/docs/manual/mod/mod_proxy_uwsgi.html new file mode 100644 index 0000000..da9c35f --- /dev/null +++ b/docs/manual/mod/mod_proxy_uwsgi.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_uwsgi.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_uwsgi.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_uwsgi.html.en b/docs/manual/mod/mod_proxy_uwsgi.html.en new file mode 100644 index 0000000..cf06fc3 --- /dev/null +++ b/docs/manual/mod/mod_proxy_uwsgi.html.en @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_uwsgi - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_uwsgi</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_uwsgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_uwsgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_uwsgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_uwsgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.30 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the + <a href="http://uwsgi-docs.readthedocs.io/en/latest/index.html">UWSGI protocol</a>.</p> + + <p>Thus, in order to get the ability of handling the UWSGI protocol, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code> have to + be present in the server.</p> + + <div class="warning"><h3>Warning</h3> + <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy + servers are dangerous both to your network and to the Internet at + large.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_uwsgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_uwsgi">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + <p>Remember, in order to make the following examples work, you have to + enable <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code>.</p> + + <div class="example"><h3>Simple gateway</h3><pre class="prettyprint lang-config">ProxyPass "/uwsgi-bin/" "uwsgi://localhost:4000/"</pre> +</div> + + <p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and + at least one load balancer algorithm module, such as + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>, in addition to the proxy + modules listed above. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> is the + default, and will be used for this example configuration.</p> + + <div class="example"><h3>Balanced gateway</h3><pre class="prettyprint lang-config">ProxyPass "/uwsgi-bin/" "balancer://somecluster/" +<Proxy balancer://somecluster> + BalancerMember uwsgi://localhost:4000 + BalancerMember uwsgi://localhost:4001 +</Proxy></pre> +</div> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_uwsgi.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_uwsgi.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_uwsgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 b/docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 new file mode 100644 index 0000000..7a39e1f --- /dev/null +++ b/docs/manual/mod/mod_proxy_uwsgi.html.fr.utf8 @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_uwsgi - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_uwsgi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_uwsgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_uwsgi.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de passerelle UWSGI pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_uwsgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_uwsgi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP Apache.</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module requiert le chargement préalable de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du <a href="http://uwsgi-docs.readthedocs.io/en/latest/index.html">protocole + UWSGI</a>.</p> + + <p>Pour être en mesure de gérer le protocole UWSGI, le serveur doit donc + pouvoir disposer des modules <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et + <code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez le mandatement que si vous avez <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les serveurs + mandataires ouverts sont dangereux pour votre réseau, mais aussi pour + Internet en général.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_uwsgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_uwsgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + <p>Il est rappelé que vous devez charger les modules + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code> pour que les + exemples suivants fonctionnent.</p> + + <div class="example"><h3>Passerelle simple</h3><pre class="prettyprint lang-config">ProxyPass "/uwsgi-bin/" "uwsgi://localhost:4000/"</pre> +</div> + + <p>La passerelle à répartition de charge nécessite + <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et au moins un module implémentant un + algorithme de répartition de charge comme + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>, en plus des modules de mandatement + listés ci-dessus. Par défaut, c'est <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> + qui sera utilisé, et c'est donc ce dernier qui sera utilisé dans l'exemple + suivant :</p> + + <div class="example"><h3>Passerelle à répartition de charge</h3><pre class="prettyprint lang-config">ProxyPass "/uwsgi-bin/" "balancer://somecluster/" +<Proxy balancer://somecluster> + BalancerMember uwsgi://localhost:4000 + BalancerMember uwsgi://localhost:4001 +</Proxy></pre> +</div> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_uwsgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_uwsgi.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_uwsgi.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_wstunnel.html b/docs/manual/mod/mod_proxy_wstunnel.html new file mode 100644 index 0000000..cf71a85 --- /dev/null +++ b/docs/manual/mod/mod_proxy_wstunnel.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_proxy_wstunnel.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_proxy_wstunnel.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.en b/docs/manual/mod/mod_proxy_wstunnel.html.en new file mode 100644 index 0000000..9f0bfb8 --- /dev/null +++ b/docs/manual/mod/mod_proxy_wstunnel.html.en @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_wstunnel - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_proxy_wstunnel</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_wstunnel.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_wstunnel.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Websockets support module for +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_wstunnel_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy_wstunnel.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.5 and later</td></tr></table> +<h3>Summary</h3> + + <div class="warning"><h3><a id="deprecation" name="deprecation">Deprecation</a></h3> + <p>Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be better handled by + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + <p>See <a href="mod_proxy.html#protoupgrade">Protocol Upgrade</a>.</p> + </div> + + <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. + It provides support for the tunnelling of web + socket connections to a backend websockets server. The connection + is automatically upgraded to a websocket connection:</p> + + <div class="example"><h3>HTTP Response</h3><pre class="prettyprint lang-config">Upgrade: WebSocket +Connection: Upgrade</pre> +</div> + +<p>Proxying requests to a websockets server like <code>echo.websocket.org</code> can be done using the +<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive:</p> + <pre class="prettyprint lang-config">ProxyPass "/ws2/" "ws://echo.websocket.org/" +ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre> + + + <p>Proxying both HTTP and websockets at the same time, with a specific set of URL's being +websocket-only, can be done by specifying the websockets +<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive before the +HTTP directive:</p> +<pre class="prettyprint lang-config">ProxyPassMatch ^/(myApp/ws)$ ws://backend.example.com:9080/$1 +ProxyPass / http://backend.example.com:9080/</pre> + + +<p>Proxying both HTTP and websockets at the same time, where the websockets URL's are not +websocket-only or not known in advance can be done by using the +<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive to +configure the websockets proxying:</p> +<pre class="prettyprint lang-config">ProxyPass / http://example.com:9080/ +RewriteEngine on +RewriteCond %{HTTP:Upgrade} websocket [NC] +RewriteCond %{HTTP:Connection} upgrade [NC] +RewriteRule ^/?(.*) "ws://example.com:9080/$1" [P,L]</pre> + + + +<p>Load balancing for multiple backends can be achieved using <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>.</p> + +<p> +The module can also be used to upgrade to other protocols than WebSocket, by setting +the <var><a href="mod_proxy.html#upgrade">upgrade</a></var> parameter in the +<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> +directive to some custom protocol name. +Special <code>upgrade=NONE</code> and <code>upgrade=ANY</code> values may be used for +testing/forcing the upgrade but they are <strong>not recommended</strong> in production for +security reasons. +<code>NONE</code> means that the check for the header is omitted but still the upgrade/tunneling to +WebSocket always happens. +<code>ANY</code> means that the upgrade/tunneling will happen using any protocol asked by the client. +</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_wstunnel">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_wstunnel">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ProxyWebsocketFallbackToProxyHttp" id="ProxyWebsocketFallbackToProxyHttp">ProxyWebsocketFallbackToProxyHttp</a> <a name="proxywebsocketfallbacktoproxyhttp" id="proxywebsocketfallbacktoproxyhttp">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyWebsocketFallbackToProxyHttp On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyWebsocketFallbackToProxyHttp On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_wstunnel</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.48 and later</td></tr> +</table> + <p>Since httpd 2.4.47, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> can handle WebSocket + upgrading and tunneling in accordance to RFC 7230, this directive controls + whether <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> should hand over to + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> to this, which is the case by default.</p> + <p>Setting to <em>Off</em> lets <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> handle + WebSocket requests as in httpd 2.4.46 and earlier.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_wstunnel.html" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_wstunnel.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 b/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 new file mode 100644 index 0000000..bcf27f6 --- /dev/null +++ b/docs/manual/mod/mod_proxy_wstunnel.html.fr.utf8 @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_wstunnel - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_wstunnel</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_wstunnel.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_wstunnel.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> supportant les +websockets</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_wstunnel_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_wstunnel.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning"><h3><a id="deprecation" name="deprecation">Obsolescence</a></h3> + <p>Depuis la version 2.4.47 du serveur HTTP Apache, la promotion de + protocole (tunneling) peut être pris en charge de manière plus efficace par + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p> + <p>Voir <a href="mod_proxy.html#protoupgrade">Promotion de protocole</a>.</p> + </div> + + <p>Pour utiliser ce module, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être + chargé. Il fournit le support du tunnelling pour les connexions + websocket vers un serveur websockets d'arrière-plan. La connexion + est automatiquement promue en connexion websocket :</p> + + <div class="example"><h3>Réponse HTTP</h3><pre class="prettyprint lang-config">Upgrade: WebSocket +Connection: Upgrade</pre> +</div> + +<p>Le mandatement des requêtes vers un serveur websockets comme +<code>echo.websocket.org</code> peut être configuré via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p> + <pre class="prettyprint lang-config">ProxyPass "/ws2/" "ws://echo.websocket.org/" +ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre> + + +<p>Il est possible de mandater les websockets et HTTP en même temps, avec un jeu +spécifique d'URLs pour les websockets, en définissant la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> concernant les +websockets avant celle concernant HTTP :</p> +<pre class="prettyprint lang-config">ProxyPassMatch ^/(myApp/ws)$ ws://backend.example.com:9080/$1 +ProxyPass / http://backend.example.com:9080/</pre> + + +<p>Il est possible de mandater les websockets et HTTP en même temps, lorsque +les URLs websockets ne concernent pas uniquement les websockets ou ne sont pas +connues à l'avance, en utilisant la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> pour configurer le mandatement des +websockets :</p> +<pre class="prettyprint lang-config">ProxyPass / http://example.com:9080/ +RewriteEngine on +RewriteCond %{HTTP:Upgrade} websocket [NC] +RewriteCond %{HTTP:Connection} upgrade [NC] +RewriteRule ^/?(.*) "ws://example.com:9080/$1" [P,L]</pre> + + +<p>La répartition de charge entre plusieurs serveurs d'arrière-plan peut être +configurée via le module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>.</p> + +<p> +Ce module peut aussi être utilisé pour la promotion vers des protocoles autres +que WebSocket en définissant le paramètre <var><a href="mod_proxy.html#upgrade">upgrade</a></var> de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> avec un nom de +protocole particulier. +Les valeurs spéciales <code>upgrade=NONE</code> et <code>upgrade=ANY</code> +peuvent être utilisées pour tester ou forcer la promotion de protocole mais leur +utilisation <strong>n'est pas recommandée</strong> en production pour des +raisons de sécurité. +<code>NONE</code> signifie que la vérification de l'en-tête est omise mais que +la promotion (tunneling) vers WebSocket s'effectuera quand-même. +<code>ANY</code> signifie que la promotion (tunneling) s'effectuera en utilisant +tout protocole demandé par le client. +</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_wstunnel">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_wstunnel">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxywebsocketfallbacktoproxyhttp" id="proxywebsocketfallbacktoproxyhttp">Directive</a> <a name="ProxyWebsocketFallbackToProxyHttp" id="ProxyWebsocketFallbackToProxyHttp">ProxyWebsocketFallbackToProxyHttp</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Demande à ce module de laisser <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> +gérer la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyWebsocketFallbackToProxyHttp On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyWebsocketFallbackToProxyHttp On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_wstunnel</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.48 du serveur HTTP Apache</td></tr> +</table> + <p>Depuis la version 2.4.47 de httpd, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> peut + gérer le tunneling et la mise à jour via les WebSockets en accord avec la + RFC 7230 ; cette directive permet de définir si, pour ces actions, + <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> doit passer la main à + <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>, ce qui est le cas par défaut.</p> + <p>Définir cette directive à <em>Off</em> revient à laisser + <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> gérer les requêtes WebSocket, comme avec + les versions 2.4.46 et antérieures de httpd.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_wstunnel.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_wstunnel.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ratelimit.html b/docs/manual/mod/mod_ratelimit.html new file mode 100644 index 0000000..8022057 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ratelimit.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ratelimit.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_ratelimit.html.en b/docs/manual/mod/mod_ratelimit.html.en new file mode 100644 index 0000000..a645960 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html.en @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ratelimit - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_ratelimit</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ratelimit.html" title="English"> en </a> | +<a href="../fr/mod/mod_ratelimit.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Bandwidth Rate Limiting for Clients</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>ratelimit_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_ratelimit.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td> + <code>rate-initial-burst</code> available in httpd 2.4.24 and later. + Rate limiting proxied content does not work correctly up to httpd 2.4.33. +</td></tr></table> +<h3>Summary</h3> + + +<p>Provides a filter named <code>RATE_LIMIT</code> to limit client bandwidth. +The throttling is applied to each HTTP response while it is transferred to the client, +and not aggregated at IP/client level. +The connection speed to be simulated is specified, in KiB/s, using the environment +variable <code>rate-limit</code>.</p> + +<p>Optionally, an initial amount of burst data, in KiB, may be +configured to be passed at full speed before throttling to the +specified rate limit. This value is optional, and is set using +the environment variable <code>rate-initial-burst</code>.</p> + +<div class="example"><h3>Example Configuration</h3><pre class="prettyprint lang-config"><Location "/downloads"> + SetOutputFilter RATE_LIMIT + SetEnv rate-limit 400 + SetEnv rate-initial-burst 512 +</Location></pre> +<div class="warning"> +If the value specified for <code>rate-limit</code> causes integer overflow, the rate-limited will be disabled. +If the value specified for <code>rate-limit-burst</code> causes integer overflow, the burst will be disabled. +</div></div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ratelimit">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ratelimit">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ratelimit.html" title="English"> en </a> | +<a href="../fr/mod/mod_ratelimit.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ratelimit.html.fr.utf8 b/docs/manual/mod/mod_ratelimit.html.fr.utf8 new file mode 100644 index 0000000..09c5230 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html.fr.utf8 @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ratelimit - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_ratelimit</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ratelimit.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ratelimit.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Limitation de la bande passante pour les clients</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ratelimit_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ratelimit.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td> + <code>rate-initial-burst</code> est disponible à partir de la version 2.4.24 + du serveur HTTP Apache. La limitation de bande passante pour les contenus + mandatés ne fonctionne pas correctement jusqu'à la version 2.4.33. +</td></tr></table> +<h3>Sommaire</h3> + + +<p>Ce module fournit un filtre <code>RATE_LIMIT</code> 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 +<code>rate-limit</code> permet de spécifier, en kb/s, le débit de la +connexion à simuler.</p> + +<p>Optionnellement, il est possible, via la variable d'environnement +<code>rate-initial-burst</code>, de définir une quantité de données en +kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la +valeur voulue.</p> + +<div class="example"><h3>Exemple de configuration</h3><pre class="prettyprint lang-config"><Location "/downloads"> + SetOutputFilter RATE_LIMIT + SetEnv rate-limit 400 + SetEnv rate-initial-burst 512 +</Location></pre> +<div class="warning"> +Si la valeur affectée à <code>rate-limit</code> dépasse la valeur maximale à +affecter à un entier, la limitation de bande passante sera désactivée. Si la +valeur affectée à <code>rate-limit-burst</code> dépasse la valeur maximale à +affecter à un entier, la transmission du burst initial sans limitation de bande +passante sera désactivée. +</div></div> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ratelimit">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ratelimit">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ratelimit.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ratelimit.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_reflector.html b/docs/manual/mod/mod_reflector.html new file mode 100644 index 0000000..b6aeada --- /dev/null +++ b/docs/manual/mod/mod_reflector.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_reflector.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_reflector.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_reflector.html.en b/docs/manual/mod/mod_reflector.html.en new file mode 100644 index 0000000..e4b65db --- /dev/null +++ b/docs/manual/mod/mod_reflector.html.en @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_reflector - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_reflector</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_reflector.html" title="English"> en </a> | +<a href="../fr/mod/mod_reflector.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Reflect a request body as a response via the output filter stack.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>reflector_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_reflector.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module allows request bodies to be reflected back to the + client, in the process passing the request through the output filter + stack. A suitably configured chain of filters can be used to transform + the request into a response. This module can be used to turn an output + filter into an HTTP service.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#reflectorheader">ReflectorHeader</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reflector">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reflector">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + <dl> + <dt>Compression service</dt> + <dd>Pass the request body through the DEFLATE filter to compress the + body. This request requires a Content-Encoding request header containing + "gzip" for the filter to return compressed data. + <pre class="prettyprint lang-config"><Location "/compress"> + SetHandler reflector + SetOutputFilter DEFLATE +</Location></pre> + + </dd> + + <dt>Image downsampling service</dt> + <dd>Pass the request body through an image downsampling filter, and reflect + the results to the caller. + <pre class="prettyprint lang-config"><Location "/downsample"> + SetHandler reflector + SetOutputFilter DOWNSAMPLE +</Location></pre> + + </dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReflectorHeader" id="ReflectorHeader">ReflectorHeader</a> <a name="reflectorheader" id="reflectorheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Reflect an input header to the output headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reflector</td></tr> +</table> + <p>This directive controls the reflection of request headers to the response. + The first argument is the name of the request header to copy. If the optional + second argument is specified, it will be used as the name of the response + header, otherwise the original request header name will be used.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_reflector.html" title="English"> en </a> | +<a href="../fr/mod/mod_reflector.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_reflector.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_reflector.html.fr.utf8 b/docs/manual/mod/mod_reflector.html.fr.utf8 new file mode 100644 index 0000000..fb4202f --- /dev/null +++ b/docs/manual/mod/mod_reflector.html.fr.utf8 @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_reflector - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_reflector</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reflector.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_reflector.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>reflector_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reflector.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table> +<h3>Sommaire</h3> + + <p>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.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#reflectorheader">ReflectorHeader</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reflector">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reflector">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + <dl> + <dt>Service de compression</dt> + <dd>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. + <pre class="prettyprint lang-config"><Location "/compress"> + SetHandler reflector + SetOutputFilter DEFLATE +</Location></pre> + + </dd> + + <dt>Service d'abaissement de l'échantillonnage d'image</dt> + <dd>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. + <pre class="prettyprint lang-config"><Location "/downsample"> + SetHandler reflector + SetOutputFilter DOWNSAMPLE +</Location></pre> + + </dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="reflectorheader" id="reflectorheader">Directive</a> <a name="ReflectorHeader" id="ReflectorHeader">ReflectorHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reflector</td></tr> +</table> + <p>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é.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reflector.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_reflector.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_reflector.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_remoteip.html b/docs/manual/mod/mod_remoteip.html new file mode 100644 index 0000000..5647104 --- /dev/null +++ b/docs/manual/mod/mod_remoteip.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_remoteip.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_remoteip.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_remoteip.html.en b/docs/manual/mod/mod_remoteip.html.en new file mode 100644 index 0000000..cb6cc34 --- /dev/null +++ b/docs/manual/mod/mod_remoteip.html.en @@ -0,0 +1,378 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_remoteip - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_remoteip</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_remoteip.html" title="English"> en </a> | +<a href="../fr/mod/mod_remoteip.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Replaces the original client IP address for the connection +with the useragent IP address list presented by a proxies or a load balancer +via the request headers. +</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>remoteip_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_remoteip.c</td></tr></table> +<h3>Summary</h3> + + <p>This module is used to treat the useragent which initiated the + request as the originating useragent as identified by httpd for the + purposes of authorization and logging, even where that useragent is + behind a load balancer, front end server, or proxy server.</p> + + <p>The module overrides the client IP address for the connection + with the useragent IP address reported in the request header configured + with the <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> directive.</p> + + <p>Additionally, this module implements the server side of + HAProxy's + <a href="http://blog.haproxy.com/haproxy/proxy-protocol/">PROXY Protocol</a> when + using the <code class="directive"><a href="#remoteipproxyprotocol">RemoteIPProxyProtocol</a></code> + directive.</p> + + <p>Once replaced as instructed, this overridden useragent IP address is + then used for the <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require ip</a></code> + feature, is reported by <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, and is recorded by + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> <code>%a</code> and <code class="module"><a href="../mod/core.html">core</a></code> + <code>%a</code> format strings. The underlying client IP of the connection + is available in the <code>%{c}a</code> format string.</p> + + <div class="warning">It is critical to only enable this behavior from + intermediate hosts (proxies, etc) which are trusted by this server, since + it is trivial for the remote useragent to impersonate another + useragent.</div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#processing">Remote IP Processing</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipheader">RemoteIPHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_remoteip">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_remoteip">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +<li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt">Proxy Protocol Spec</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="processing" id="processing">Remote IP Processing</a></h2> + + <p>Apache by default identifies the useragent with the connection's + client_ip value, and the connection remote_host and remote_logname are + derived from this value. These fields play a role in authentication, + authorization and logging and other purposes by other loadable + modules.</p> + + <p>mod_remoteip overrides the client IP of the connection with the + advertised useragent IP as provided by a proxy or load balancer, for + the duration of the request. A load balancer might establish a long + lived keepalive connection with the server, and each request will + have the correct useragent IP, even though the underlying client IP + address of the load balancer remains unchanged.</p> + + <p>When multiple, comma delimited useragent IP addresses are listed in the + header value, they are processed in Right-to-Left order. Processing + halts when a given useragent IP address is not trusted to present the + preceding IP address. The header field is updated to this remaining + list of unconfirmed IP addresses, or if all IP addresses were trusted, + this header is removed from the request altogether.</p> + + <p>In overriding the client IP, the module stores the list of intermediate + hosts in a remoteip-proxy-ip-list note, which <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> + can record using the <code>%{remoteip-proxy-ip-list}n</code> format token. + If the administrator needs to store this as an additional header, this + same value can also be recording as a header using the directive + <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code>.</p> + + <div class="note"><h3>IPv4-over-IPv6 Mapped Addresses</h3> + As with httpd in general, any IPv4-over-IPv6 mapped addresses are recorded + in their IPv4 representation.</div> + + <div class="note"><h3>Internal (Private) Addresses</h3> + All internal addresses 10/8, 172.16/12, 192.168/16, 169.254/16 and 127/8 + blocks (and IPv6 addresses outside of the public 2000::/3 block) are only + evaluated by mod_remoteip when <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> + internal (intranet) proxies are registered.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPHeader" id="RemoteIPHeader">RemoteIPHeader</a> <a name="remoteipheader" id="remoteipheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPHeader <var>header-field</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>The <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> directive triggers + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> to treat the value of the specified + <var>header-field</var> header as the useragent IP address, or list + of intermediate useragent IP addresses, subject to further configuration + of the <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> and + <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> directives. Unless these + other directives are used, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> will trust all + hosts presenting a <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> IP value.</p> + + <div class="example"><h3>Internal (Load Balancer) Example</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP</pre> +</div> + + <div class="example"><h3>Proxy Example</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPInternalProxy" id="RemoteIPInternalProxy">RemoteIPInternalProxy</a> <a name="remoteipinternalproxy" id="remoteipinternalproxy">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>The <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> directive adds one + or more addresses (or address blocks) to trust as presenting a valid + RemoteIPHeader value of the useragent IP. Unlike the + <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> directive, any IP address + presented in this header, including private intranet addresses, are + trusted when passed from these proxies.</p> + + <div class="example"><h3>Internal (Load Balancer) Example</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP +RemoteIPInternalProxy 10.0.2.0/24 +RemoteIPInternalProxy gateway.localdomain</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPInternalProxyList" id="RemoteIPInternalProxyList">RemoteIPInternalProxyList</a> <a name="remoteipinternalproxylist" id="remoteipinternalproxylist">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPInternalProxyList <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>The <code class="directive"><a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></code> directive specifies + a file parsed at startup, and builds a list of addresses (or address blocks) + to trust as presenting a valid RemoteIPHeader value of the useragent IP.</p> + + <p>The '<code>#</code>' hash character designates a comment line, otherwise + each whitespace or newline separated entry is processed identically to + the <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> directive.</p> + + <div class="example"><h3>Internal (Load Balancer) Example</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP +RemoteIPInternalProxyList conf/trusted-proxies.lst</pre> +</div> + + <div class="example"><h3>conf/trusted-proxies.lst contents</h3><pre># Our internally trusted proxies; +10.0.2.0/24 #Everyone in the testing group +gateway.localdomain #The front end balancer</pre></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPProxiesHeader" id="RemoteIPProxiesHeader">RemoteIPProxiesHeader</a> <a name="remoteipproxiesheader" id="remoteipproxiesheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declare the header field which will record all intermediate IP addresses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPProxiesHeader <var>HeaderFieldName</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>The <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code> directive specifies + a header into which <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> will collect a list of + all of the intermediate client IP addresses trusted to resolve the useragent + IP of the request. Note that intermediate + <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> addresses are recorded in + this header, while any intermediate + <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> addresses are discarded.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For +RemoteIPProxiesHeader X-Forwarded-By</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPProxyProtocol" id="RemoteIPProxyProtocol">RemoteIPProxyProtocol</a> <a name="remoteipproxyprotocol" id="remoteipproxyprotocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable or disable PROXY protocol handling</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPProxyProtocol On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>RemoteIPProxyProtocol is only available in httpd 2.4.31 and newer</td></tr> +</table> + <p>The <code class="directive">RemoteIPProxyProtocol</code> directive enables or + disables the reading and handling of the PROXY protocol connection header. + If enabled with the <code>On</code> flag, the upstream client <em>must</em> + send the header every time it opens a connection or the connection will + be aborted unless it is in the list of disabled hosts provided by the + <code class="directive"><a href="#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></code> + directive.</p> + + <p>While this directive may be specified in any virtual host, it is + important to understand that because the PROXY protocol is connection + based and protocol agnostic, the enabling and disabling is actually based + on IP address and port. This means that if you have multiple name-based + virtual hosts for the same host and port, and you enable it for any one of + them, then it is enabled for all of them (with that host and port). It also + means that if you attempt to enable the PROXY protocol in one and disable + in the other, that won't work; in such a case, the last one wins and a + notice will be logged indicating which setting was being overridden.</p> + + <pre class="prettyprint lang-config">Listen 80 +<VirtualHost *:80> + ServerName www.example.com + RemoteIPProxyProtocol On + + #Requests to this virtual host must have a PROXY protocol + # header provided. If it is missing, the connection will + # be aborted +</VirtualHost> + +Listen 8080 +<VirtualHost *:8080> + ServerName www.example.com + RemoteIPProxyProtocol On + RemoteIPProxyProtocolExceptions 127.0.0.1 10.0.0.0/8 + + #Requests to this virtual host must have a PROXY protocol + # header provided. If it is missing, the connection will + # be aborted except when coming from localhost or the + # 10.x.x.x RFC1918 range +</VirtualHost></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPProxyProtocolExceptions" id="RemoteIPProxyProtocolExceptions">RemoteIPProxyProtocolExceptions</a> <a name="remoteipproxyprotocolexceptions" id="remoteipproxyprotocolexceptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>RemoteIPProxyProtocolExceptions is only available in httpd 2.4.31 and newer</td></tr> +</table> + <p>The <code class="directive">RemoteIPProxyProtocol</code> directive enables or + disables the reading and handling of the PROXY protocol connection header. + Sometimes it is desirable to require clients to provide the PROXY header, but + permit other clients to connect without it. This directive allows a server + administrator to configure a single host or CIDR range of hosts that may do + so. This is generally useful for monitoring and administrative traffic to a + virtual host direct to the server behind the upstream load balancer.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPTrustedProxy" id="RemoteIPTrustedProxy">RemoteIPTrustedProxy</a> <a name="remoteiptrustedproxy" id="remoteiptrustedproxy">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>The <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> directive adds one + or more addresses (or address blocks) to trust as presenting a valid + RemoteIPHeader value of the useragent IP. Unlike the + <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> directive, any intranet + or private IP address reported by such proxies, including the 10/8, 172.16/12, + 192.168/16, 169.254/16 and 127/8 blocks (or outside of the IPv6 public + 2000::/3 block) are not trusted as the useragent IP, and are left in the + <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> header's value.</p> + + <div class="example"><h3>Trusted (Load Balancer) Example</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For +RemoteIPTrustedProxy 10.0.2.16/28 +RemoteIPTrustedProxy proxy.example.com</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RemoteIPTrustedProxyList" id="RemoteIPTrustedProxyList">RemoteIPTrustedProxyList</a> <a name="remoteiptrustedproxylist" id="remoteiptrustedproxylist">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RemoteIPTrustedProxyList <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>The <code class="directive"><a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></code> directive specifies + a file parsed at startup, and builds a list of addresses (or address blocks) + to trust as presenting a valid RemoteIPHeader value of the useragent IP.</p> + + <p>The '<code>#</code>' hash character designates a comment line, otherwise + each whitespace or newline separated entry is processed identically to + the <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> directive.</p> + + <div class="example"><h3>Trusted (Load Balancer) Example</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For +RemoteIPTrustedProxyList conf/trusted-proxies.lst</pre> +</div> + + <div class="example"><h3>conf/trusted-proxies.lst contents</h3><p><code> + # Identified external proxies;<br /> + 192.0.2.16/28 #wap phone group of proxies<br /> + proxy.isp.example.com #some well known ISP + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_remoteip.html" title="English"> en </a> | +<a href="../fr/mod/mod_remoteip.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_remoteip.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_remoteip.html.fr.utf8 b/docs/manual/mod/mod_remoteip.html.fr.utf8 new file mode 100644 index 0000000..34e90b3 --- /dev/null +++ b/docs/manual/mod/mod_remoteip.html.fr.utf8 @@ -0,0 +1,424 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_remoteip - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_remoteip</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>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. +</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>remoteip_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_remoteip.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de traiter le client qui a initié la + requête en tant que client original du point de vue de httpd à + des fins d'autorisation et de connexion, même si ce client se + trouve derrière un répartiteur de charge, un serveur frontal, ou un + serveur mandataire.</p> + + <p>Le module remplace l'adresse IP du client + pour la connexion par l'adresse IP indiquée dans + l'en-tête de requête configuré via la directive + <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.</p> + + <p>Ce module implémente aussi la partie serveur du <a href="http://blog.haproxy.com/haproxy/proxy-protocol/">protocole PROXY</a> + de HAProxy via la directive <code class="directive"><a href="#remoteipproxyprotocol">RemoteIPProxyProtocol</a></code>.</p> + + <p>Une fois sa valeur modifiée comme indiqué, cette adresse IP client est + utilisée pour la fonctionnalité <code class="directive"><a href="../mod/mod_authz_core.html#require">Require ip</a></code> de <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ; + elle est aussi affichée par <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, et enregistrée via + les chaînes de formatage <code>%a</code> des modules + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> et <code class="module"><a href="../mod/core.html">core</a></code>. L'adresse IP + client sous-jacente de la connexion est enregistrée via la chaîne de + formatage <code>%{c}a</code>. </p> + + <div class="warning">Il est essentiel de n'activer cette + fonctionnalité que pour les requêtes en provenance des serveurs + intermédiaires (mandataires, etc...) auxquels le serveur peut faire + confiance, car il est trivial pour le client distant d'usurper + l'identité d'un autre client.</div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#processing">Traitement des adresses distantes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipheader">RemoteIPHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxyprotocol">RemoteIPProxyProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_remoteip">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_remoteip">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +<li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt">Proxy Protocol +Spec</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="processing" id="processing">Traitement des adresses distantes</a></h2> + + <p>Par défaut, Apache identifie le client via la valeur client_ip de la + connexion, et de cette valeur découlent les valeurs remote_host et + remote_logname de la connexion. Ces champs jouent un rôle + dans l'authentification, l'autorisation et la journalisation, ainsi que + dans d'autres traitements effectués par d'autres modules + chargeables.</p> + + <p>mod_remoteip remplace l'adresse IP client de la connexion par l'adresse IP client + indiquée par exemple par un mandataire ou un répartiteur de charge + pour toute la durée de la requête. Un répartiteur de charge pourra ainsi + établir une connexion keepalive de longue durée avec le serveur, chaque + requête conservant alors l'adresse IP client correcte bien que l'adresse IP + client sous-jacente du répartiteur de charge reste inchangée.</p> + + <p>Lorsque la valeur de l'en-tête comporte plusieurs adresses IP + client séparées par des virgules, celles-ci sont traitées de la + droite vers la gauche. Le traitement s'arrête lorsque l'adresse IP + client courante n'est pas digne de confiance pour présenter + l'adresse IP précédente. Le champ d'en-tête est alors mis à jour de + façon à ne contenir que cette liste d'adresses non confirmées, ou + bien, si toutes les adresses IP sont dignes de confiance, cet + en-tête est tout bonnement supprimé de la requête.</p> + + <p>Lors du remplacement de l'adresse IP client, le module stocke + la liste des hôtes intermédiaires dans un mémo + remoteip-proxy-ip-list, que l'on peut faire enregistrer par + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> en utilisant le symbole de format + <code>%{remoteip-proxy-ip-list}n</code>. Si l'administrateur doit + stocker ceci dans un en-tête additionnel, la même valeur peut aussi + être enregistrée sous la forme d'un en-tête en utilisant la + directive <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code>.</p> + + <div class="note"><h3>Adresses IPv4 converties au format IPv6</h3> + Avec httpd, d'une manière générale, toute adresse IPv4 convertie au + format IPv6 est enregistrée sous sa forme IPv4.</div> + + <div class="note"><h3>Adresses internes (privées)</h3> + Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16, + 169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc + public 2000::/3 block) ne sont évaluées par mod_remoteip que lorsque + des mandataires internes (intranet) + <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> sont enregistrés.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteipheader" id="remoteipheader">Directive</a> <a name="RemoteIPHeader" id="RemoteIPHeader">RemoteIPHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le champ d'en-tête qui contiendra les adresses IP +du client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPHeader <var>en-tête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>La directive <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> indique à + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> de traiter la valeur de + l'<var>en-tête</var> spécifié comme l'adresse IP du client, ou comme + une liste d'adresses IP clients intermédiaires, en fonction de la + configuration des directives + <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> et + <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>. Si ces + deux dernières directives ne sont pas utilisées, + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> traitera tout hôte présentant une adresse non + interne dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> comme hôte de confiance.</p> + + <div class="warning">Si ces deux dernières + directives ne sont pas utilisées, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> + traitera tout hôte présentant une adresse non interne + dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> comme hôte de + confiance.</div> + + <div class="example"><h3>Exemple à usage interne (répartiteur de + charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP</pre> +</div> + + <div class="example"><h3>Exemple dans le cas d'un mandataire</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteipinternalproxy" id="remoteipinternalproxy">Directive</a> <a name="RemoteIPInternalProxy" id="RemoteIPInternalProxy">RemoteIPInternalProxy</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxy +<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>La directive <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> permet + d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client. A la différence de la directive + <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>, toute adresse IP + présentée dans cet en-tête, y comprises les adresses intranet + privées, sont considérées comme dignes de confiance lorsqu'elles + sont indiquées par ces mandataires.</p> + + <div class="example"><h3>Exemple à usage interne (répartiteur de + charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP +RemoteIPInternalProxy 10.0.2.0/24 +RemoteIPInternalProxy gateway.localdomain</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteipinternalproxylist" id="remoteipinternalproxylist">Directive</a> <a name="RemoteIPInternalProxyList" id="RemoteIPInternalProxyList">RemoteIPInternalProxyList</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxyList <var>nom-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>La directive <code class="directive"><a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></code> + permet de spécifier un fichier parcouru au démarrage du serveur pour + construire une liste d'adresses (ou blocs d'adresses), auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client.</p> + + <p>Le caractère '<code>#</code>' indique une ligne de commentaires, + sinon, toutes les lignes séparées par un caractère <code>nouvelle + ligne</code> ou + tous les éléments d'une ligne séparés par un espace sont traités de + la même façon qu'avec la directive + <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code>.</p> + + <div class="example"><h3>Exemple à usage interne (répartiteur de + charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP +RemoteIPInternalProxyList conf/trusted-proxies.lst</pre> +</div> + + <div class="example"><h3>contenu de conf/mandataires-de-confiance.lst</h3><pre> # Nos mandataires internes de confiance + 10.0.2.0/24 # Tout le monde dans le groupe de test + passerelle.domaine-local # Le frontal répartiteur de charge</pre></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteipproxiesheader" id="remoteipproxiesheader">Directive</a> <a name="RemoteIPProxiesHeader" id="RemoteIPProxiesHeader">RemoteIPProxiesHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare le champ d'en-tête qui contiendra toutes les +adresses IP intermédiaires</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxiesHeader <var>Nom_en-tête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>La directive <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code> permet + de spécifier l'en-tête dans lequel <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> va + collecter une liste de toutes les adresses IP clients intermédiaires + auxquelles on pourra faire confiance pour résoudre l'adresse IP + client de la requête. Notez que les adresses intermédiaires + <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> sont enregistrées dans + cet en-tête, alors que toute adresse intermédiaire + <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> est omise.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For +RemoteIPProxiesHeader X-Forwarded-By</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteipproxyprotocol" id="remoteipproxyprotocol">Directive</a> <a name="RemoteIPProxyProtocol" id="RemoteIPProxyProtocol">RemoteIPProxyProtocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la gestion du protocole PROXY</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxyProtocol On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.31 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">RemoteIPProxyProtocol</code> permet + d'activer ou de désactiver la prise en compte et la gestion de l'en-tête de + connexion du protocole PROXY. Si elle est définie à <code>On</code>, la + demande du client <em>doit</em> envoyer l'en-tête approprié pour chaque + nouvelle connexion, sinon cette dernière sera fermée à moins qu'il ne fasse + partie de la liste, définie via la directive <code class="directive"><a href="#remoteipproxyprotocoldisablehosts">RemoteIPProxyProtocolDisableHosts</a></code>, des + hôtes pour lesquels le protocole PROXY est désactivé.</p> + + <p>Bien que cette directive peut être définie au niveau de n'importe quel + serveur virtuel, il est important de garder à l'esprit que, étant donné que + le protocole PROXY est basé sur la connexion et agnostique quant au + protocle, son activation/désactivation est basée sur le couple adresse + IP/port. Cela signifie que si plusieurs serveurs virtuels à base de nom sont + configurés avec le même couple adresse IP/port, et si vous activez le + protocole PROXY pour l'un d'entre eux, il le sera aussi pour tous les autres + (avec le même couple adresse IP/port). Cela signifie aussi que si vous + tentez d'activer le protocole PROXY pour un serveur virtuel et de le + désactiver pour un autre, cela ne marchera pas ; dans ce dernier cas, la + dernière directive l'emporte sur les autres et une notification sera + enregistrée dans le journal pour indiquer les réglages qui ont été annulés.</p> + + <pre class="prettyprint lang-config">Listen 80 +<VirtualHost *:80> + ServerName www.example.com + RemoteIPProxyProtocol On + + #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du + #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée. +</VirtualHost> + +Listen 8080 +<VirtualHost *:8080> + ServerName www.example.com + RemoteIPProxyProtocol On + RemoteIPProxyProtocolExceptions 127.0.0.1 10.0.0.0/8 + + #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du + #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée à moins + que sa source ne soit localhost ou la gamme d'adresses RFC1918 10.x.x.x +</VirtualHost></pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteipproxyprotocolexceptions" id="remoteipproxyprotocolexceptions">Directive</a> <a name="RemoteIPProxyProtocolExceptions" id="RemoteIPProxyProtocolExceptions">RemoteIPProxyProtocolExceptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive la prise en compte de l'en-tête PROXY pour certains hôtes +ou réseaux</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>RemoteIPProxyProtocolExceptions est disponible à partir de la +version 2.4.31 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">RemoteIPProxyProtocol</code> permet de + contrôler la prise en compte de l'en-tête de connexion du protocole PROXY. + Il est parfois souhaitable d'exiger pour certains clients la + présence de l'en-tête PROXY, mais aussi de permettre aux autres clients de + se connecter sans ce dernier. Cette directive permet à l'administrateur du + serveur d'autoriser cette possibilité à un hôte isolé ou à une gamme d'hôtes + au format CIDR.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteiptrustedproxy" id="remoteiptrustedproxy">Directive</a> <a name="RemoteIPTrustedProxy" id="RemoteIPTrustedProxy">RemoteIPTrustedProxy</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP clientes de l'intranet dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxy +<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>La directive <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> permet + d'ajouter une ou plusieurs adresses, ou blocs d'adresses, auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client. A la différence de la directive + <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code>, toutes les adresses IP + intranet ou privées indiquées par de tels mandataires, y compris les + blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8 + (ou située en dehors du bloc IPv6 public 2000::/3), ne sont pas + dignes de confiance en tant qu'adresses IP distantes, et se situent + à gauche dans le contenu de l'en-tête + <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.</p> + + <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de + charge</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For +RemoteIPTrustedProxy 10.0.2.16/28 +RemoteIPTrustedProxy proxy.example.com</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="remoteiptrustedproxylist" id="remoteiptrustedproxylist">Directive</a> <a name="RemoteIPTrustedProxyList" id="RemoteIPTrustedProxyList">RemoteIPTrustedProxyList</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxyList <var>nom-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_remoteip</td></tr> +</table> + <p>La directive <code class="directive"><a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></code> + permet de spécifier un fichier parcouru au démarrage du serveur pour + construire une liste d'adresses (ou blocs d'adresses), auxquelles + on peut faire confiance pour présenter une valeur RemoteIPHeader + valide de l'adresse IP du client.</p> + + <p>Le caractère '<code>#</code>' indique une ligne de commentaires, + sinon, toutes les lignes séparées par un caractère nouvelle ligne ou + tous les éléments d'une ligne séparés par un espace sont traités de + la même façon qu'avec la directive + <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>.</p> + + <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de + charge</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For +RemoteIPTrustedProxyList conf/trusted-proxies.lst</pre> +</div> + + <div class="example"><h3>conf/mandataires-de-confiance.lst contents</h3><p><code> + # Mandataires externes identifiés<br /> + 192.0.2.16/28 #groupe wap phone de mandataires<br /> + proxy.isp.example.com #un FAI bien connu + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_remoteip.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_reqtimeout.html b/docs/manual/mod/mod_reqtimeout.html new file mode 100644 index 0000000..dd93a18 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_reqtimeout.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_reqtimeout.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_reqtimeout.html.en b/docs/manual/mod/mod_reqtimeout.html.en new file mode 100644 index 0000000..af82bf9 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html.en @@ -0,0 +1,224 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_reqtimeout - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_reqtimeout</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_reqtimeout.html" title="English"> en </a> | +<a href="../fr/mod/mod_reqtimeout.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Set timeout and minimum data rate for receiving requests +</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>reqtimeout_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_reqtimeout.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTPD 2.2.15 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides a convenient way to set timeouts and minimum data + rates for receiving requests. Should a timeout occur or a data rate be + to low, the corresponding connection will be closed by the server.</p> + + <p>This is logged at <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> + <code>info</code>.</p> + + <p>If needed, the <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> directive + can be tweaked to explicitly log it:</p> + <pre class="prettyprint lang-config">LogLevel reqtimeout:info</pre> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reqtimeout">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reqtimeout">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + + <ol> + <li> + Allow for 5 seconds to complete the TLS handshake, 10 seconds to + receive the request headers and 30 seconds for receiving the + request body: + + <pre class="prettyprint lang-config">RequestReadTimeout handshake=5 header=10 body=30</pre> + + </li> + + <li> + Allow at least 10 seconds to receive the request body. + If the client sends data, increase the timeout by 1 second for every + 1000 bytes received, with no upper limit for the timeout (except for + the limit given indirectly by + <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>): + + <pre class="prettyprint lang-config">RequestReadTimeout body=10,MinRate=1000</pre> + + </li> + + <li> + Allow at least 10 seconds to receive the request headers. + If the client sends data, increase the timeout by 1 second for every + 500 bytes received. But do not allow more than 30 seconds for the + request headers: + + <pre class="prettyprint lang-config">RequestReadTimeout header=10-30,MinRate=500</pre> + + </li> + + <li> + Usually, a server should have both header and body timeouts configured. + If a common configuration is used for http and https virtual hosts, the + timeouts should not be set too low: + + <pre class="prettyprint lang-config">RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500</pre> + + </li> + + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</a> <a name="requestreadtimeout" id="requestreadtimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>RequestReadTimeout handshake=0 header=20-40,MinRate=500 body=20,MinRate=500</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reqtimeout</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2.15 and later; defaulted to disabled in +version 2.3.14 and earlier. The <code>handshake</code> stage is available since +version 2.4.39. +</td></tr> +</table> + <p>This directive can set various timeouts for completing the TLS handshake, + receiving the request headers and/or the request body from the client. + If the client fails to complete each of these stages within the configured + time, a <code>408 REQUEST TIME OUT</code> error is sent.</p> + + <p>For SSL virtual hosts, the <code>handshake</code> timeout values is the time + needed to do the initial SSL handshake. If the user's browser is configured to + query certificate revocation lists and the CRL server is not reachable, the + initial SSL handshake may take a significant time until the browser gives up + waiting for the CRL. Therefore the <code>handshake</code> timeout should take + this possible overhead into consideration for SSL virtual hosts (if necessary). + The body timeout values include the time needed for SSL renegotiation + (if necessary).</p> + + <p>When an <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> is in use + (usually the case on Linux and FreeBSD), the socket is not sent to the + server process before at least one byte (or the whole request for + <code>httpready</code>) is received. The handshake and header timeouts + configured with <code class="directive">RequestReadTimeout</code> are only effective + after the server process has received the socket.</p> + + <p>For each of the three timeout stages (handshake, header or body), there are + three ways to specify the timeout: + </p> + + <ul> + + <li><strong>Fixed timeout value</strong>:<br /> + + <div class="example"><p><code><var>stage</var>=<var>timeout</var></code></p></div> + + <p>The time in seconds allowed for completing the whole stage (handshaking, + reading all of the request headers or body). A value of 0 means no limit.</p> + </li> + + <li><strong>Disable module for a vhost</strong>:<br /> + + <div class="example"><p><code>handshake=0 header=0 body=0</code></p></div> + + <p>This disables <code class="module"><a href="../mod/mod_reqtimeout.html">mod_reqtimeout</a></code> completely (note that + <code>handshake=0</code> is the default already and could be omitted).</p> + </li> + + <li><strong>Timeout value that is increased when data is + received</strong>:<br /> + <div class="example"><p><code> + <var>stage</var>=<var>timeout</var>,MinRate=<var>data_rate</var> + </code></p></div> + + <p>Same as above, but whenever data is received, the timeout value is + increased according to the specified minimum data rate (in bytes per + second).</p> + </li> + + <li><strong>Timeout value that is increased when data is received, with an + upper bound</strong>:<br /> + <div class="example"><p><code> + <var>stage</var>=<var>timeout</var>-<var>maxtimeout</var>,MinRate=<var>data_rate</var> + </code></p></div> + + <p>Same as above, but the timeout will not be increased above the second + value of the specified timeout range.</p> + </li> + + </ul> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_reqtimeout.html" title="English"> en </a> | +<a href="../fr/mod/mod_reqtimeout.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_reqtimeout.html.fr.utf8 b/docs/manual/mod/mod_reqtimeout.html.fr.utf8 new file mode 100644 index 0000000..4e89112 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html.fr.utf8 @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_reqtimeout - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_reqtimeout</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reqtimeout.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Définit le délai maximum et le taux minimum de transfert des +données pour la réception des requêtes +</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>reqtimeout_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reqtimeout.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.15 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de définir aisément le délai maximum et le taux de + transfert des données minimum pour la réception des requêtes. Si ce délai + est dépassé ou ce taux trop faible, la connexion concernée sera fermée par + le serveur.</p> + + <p>Cet évènement sera alors enregistré dans le journal au niveau de <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>info</code>.</p> + + <p>Au besoin, la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> + peut être modifiée pour un enregistrement dans le journal plus explicite :</p> + <pre class="prettyprint lang-config">LogLevel reqtimeout:info</pre> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reqtimeout">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reqtimeout">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + + <ol> + <li> + Accorde 5 secondes pour terminer la négociation TLS, 10 secondes pour la + réception des en-têtes de la requête et 30 secondes pour la réception du + corps : + + <pre class="prettyprint lang-config">RequestReadTimeout handshake=5 header=10 body=30</pre> + + </li> + + <li> + 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 <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>) : + + <pre class="prettyprint lang-config">RequestReadTimeout body=10,MinRate=1000</pre> + + </li> + + <li> + Accorde au moins 10 secondes pour la réception des en-têtes de la + requête. 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 les en-têtes de la requête : + + <pre class="prettyprint lang-config">RequestReadTimeout header=10-30,MinRate=500</pre> + + </li> + + <li> + 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 : + + <pre class="prettyprint lang-config">RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500</pre> + + </li> + + </ol> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="requestreadtimeout" id="requestreadtimeout">Directive</a> <a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des délais maximums pour la négociation TLS, la réception +des en-têtes et/ou corps des requêtes en provenance du client. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>MinRate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>MinRate</var>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RequestReadTimeout handshake=0 header=20-40,MinRate=500 body=20,MinRate=500</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reqtimeout</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.15 du serveur HTTP +Apache ; désactivée par défaut depuis la version 2.3.14. La phase de +<code>négociation</code> est prise en compte à partir de la version 2.4.39.</td></tr> +</table> + <p>Cette directive permet de définir différents timeouts pour la négociation + TLS, la réception des en-têtes et/ou corps des requêtes en provenance du + client. Si le client ne parvient pas à respecter ces timeouts, un code + d'erreur <code>408 REQUEST TIME OUT</code> est envoyé.</p> + + <p>Pour les serveurs virtuels SSL, la valeur de timeout pour la + <code>négociation</code> correspond au temps nécessaire pour 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 timeout 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 timeouts pour la + <code>négociation</code> doivent prendre en compte un temps supplémentaire + pour les serveurs virtuels SSL (si nécessaire). Le timeout concernant le + corps inclut le temps nécessaire à la renégociation SSL (si elle est + nécessaire).</p> + + <p>Lorsqu'une directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> + est active (ce qui est en général le cas sous Linux et FreeBSD), la socket + n'est envoyée au processus du serveur qu'après la réception du premier octet + (ou de l'ensemble de la requête si <code>httpready</code> est défini). Les + timeouts configurés pour la négociation et les en-têtes via la directive + <code class="directive">RequestReadTimeout</code> n'entrent en ligne de compte + qu'une fois le socket reçu par le processus du serveur.</p> + + <p>Il existe trois méthodes pour spécifier le timeout pour chacune des trois + phases (négociation, en-tête ou corps) : + </p> + + <ul> + + <li><strong>Valeur de timeout fixe</strong>:<br /> + + <div class="example"><p><code><var>phase</var>=<var>timeout</var></code></p></div> + + <p>Le temps en secondes alloué pour terminer l'ensemble de la phase + (négociation, lecture de tous les en-têtes de la requête ou du corps de + cette dernière). La valeur 0 signifie aucune limite.</p> + </li> + + <li><strong>Désactivation du module pour un serveur virtuel</strong>:<br /> + + <div class="example"><p><code>handshake=0 header=0 body=0</code></p></div> + + <p>Avec cet exemple, le module <code class="module"><a href="../mod/mod_reqtimeout.html">mod_reqtimeout</a></code> est + complètement désactivé (notez que <code>handshake=0</code> correspond à la + valeur par défaut et peut donc être omis).</p> + </li> + + <li><strong>La valeur du timeout qui est augmentée lorsque des données + sont reçues</strong> :<br /> + <div class="example"><p><code> + <var>phase</var>=<var>timeout</var>,MinRate=<var>débit</var> + </code></p></div> + + <p>Identique à ce qui précède, mais chaque fois que des données sont + reçues, la valeur du timeout est augmentée en fonction du MinRate + spécifié (en octets par seconde).</p> + </li> + + <li><strong>La valeur du timeout augmente lorsque des données sont + reçues, jusqu'à une limite supérieure</strong>:<br /> + <div class="example"><p><code> + <var>phase</var>=<var>timeout</var>-<var>maxtimeout</var>,MinRate=<var>débit</var> + </code></p></div> + + <p>Identique à ce qui précède, mais le timeout n'augmentera pas au + delà de la borne supérieure du timeout spécifiée.</p> + </li> + + </ul> + + + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reqtimeout.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_request.html b/docs/manual/mod/mod_request.html new file mode 100644 index 0000000..f1ee33e --- /dev/null +++ b/docs/manual/mod/mod_request.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_request.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_request.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_request.html.en new file mode 100644 index 0000000..93db87f --- /dev/null +++ b/docs/manual/mod/mod_request.html.en @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_request - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_request</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_request.html" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filters to handle and make available HTTP request bodies</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>request_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_request.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#keptbodysize">KeptBodySize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_request">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_request">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeptBodySize" id="KeptBodySize">KeptBodySize</a> <a name="keptbodysize" id="keptbodysize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeptBodySize <var>maximum size in bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>KeptBodySize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_request</td></tr> +</table> + <p>Under normal circumstances, request handlers such as the + default handler for static files will discard the request body + when it is not needed by the request handler. As a result, + filters such as mod_include are limited to making <code>GET</code> requests + only when including other URLs as subrequests, even if the + original request was a <code>POST</code> request, as the discarded + request body is no longer available once filter processing is + taking place.</p> + + <p>When this directive has a value greater than zero, request + handlers that would otherwise discard request bodies will + instead set the request body aside for use by filters up to + the maximum size specified. In the case of the mod_include + filter, an attempt to <code>POST</code> a request to the static + shtml file will cause any subrequests to be <code>POST</code> + requests, instead of <code>GET</code> requests as before.</p> + + <p>This feature makes it possible to break up complex web pages and + web applications into small individual components, and combine + the components and the surrounding web page structure together + using <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. The components can take the + form of CGI programs, scripted languages, or URLs reverse proxied + into the URL space from another server using + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p> + + <p><strong>Note:</strong> Each request set aside has to be set + aside in temporary RAM until the request is complete. As a result, + care should be taken to ensure sufficient RAM is available on the + server to support the intended load. Use of this directive + should be limited to where needed on targeted parts of your + URL space, and with the lowest possible value that is still big + enough to hold a request body.</p> + + <p>If the request size sent by the client exceeds the maximum + size allocated by this directive, the server will return + <code>413 Request Entity Too Large</code>.</p> + + +<h3>See also</h3> +<ul> +<li><a href="mod_include.html">mod_include</a> documentation</li> +<li><a href="mod_auth_form.html">mod_auth_form</a> documentation</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_request.html" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_request.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_request.html.fr.utf8 b/docs/manual/mod/mod_request.html.fr.utf8 new file mode 100644 index 0000000..c247985 --- /dev/null +++ b/docs/manual/mod/mod_request.html.fr.utf8 @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_request - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_request</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>request_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_request.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#keptbodysize">KeptBodySize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_request">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_request">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="keptbodysize" id="keptbodysize">Directive</a> <a name="KeptBodySize" id="KeptBodySize">KeptBodySize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeptBodySize <var>taille maximale en octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeptBodySize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_request</td></tr> +</table> + <p>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 <code>GET</code> 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 <code>POST</code>, 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.</p> + + <p>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 <code>POST</code> pour un + fichier shtml statique se traduira par des sous-requêtes + <code>POST</code>, et non par des sous-requêtes <code>GET</code> + comme avant.</p> + + <p>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 <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. 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 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p> + + <p><strong>Note :</strong> 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.</p> + + <p>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 + <code>413 Request Entity Too Large</code>.</p> + + +<h3>Voir aussi</h3> +<ul> +<li>la documentation de <a href="mod_include.html">mod_include</a></li> +<li>la documentation de <a href="mod_auth_form.html">mod_auth_form</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_request.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_request.html.tr.utf8 b/docs/manual/mod/mod_request.html.tr.utf8 new file mode 100644 index 0000000..31dbb79 --- /dev/null +++ b/docs/manual/mod/mod_request.html.tr.utf8 @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_request - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_request</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>HTTP istek gövdelerini işleme sokup kullanılabilir kılan süzgeçler</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>request_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_request.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache 2.3 ve sonrasında mevcuttur.</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#keptbodysize">KeptBodySize</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_request">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_request">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeptBodySize" id="KeptBodySize">KeptBodySize</a> <a name="keptbodysize" id="keptbodysize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>mod_include gibi süzgeçler tarafından kullanılma olasılığına karşı +istek gövdesi iptal edilmek yerine belirtilen azami boyutta tutulur. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>KeptBodySize <var>azami_bayt_sayısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>KeptBodySize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>dizin</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_request</td></tr> +</table> + <p>Normal şartlar altında, durağan dosyaların öntanımlı eylemcileri gibi + istek eylemcileri gerek kalmadığında istek gövdesini iptal ederler. Sonuç + olarak, mod_include gibi süzgeçler, özgün istek (süzme işlemi + gerçekleştikten sonra artık gerekmediğinden istek gövdesini iptal eden) + bir <code>POST</code> isteği olsa bile, <code>GET</code> isteklerinin + yapılmasına sadece diğer URL’lerin alt istekler olarak içerilmesi + şartıyla izin verir.</p> + + <p>Bu yönergede belirtilen değer sıfırdan büyük olduğunda, istek + eylemciler, istek gövdesini iptal etmek yerine süzgeçler tarafından + kullanılmak üzere belirtilen azami boyuta ayarlarlar. mod_include + süzgecinin kullanılması durumunda, bir durağan shtml dosyası için bir + <code>POST</code> isteği, ardından gelen isteklerin, önceki gibi + <code>GET</code> istekleri değil, <code>POST</code> istekleri olmasına + yol açacaktır.</p> + + <p>Bu özellik, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> kullanılarak, karmaşık HTML + sayfalarının ve uygulamalarının küçük küçük bileşenlere bölünüp sonra da + sayfa yapısıyla birlikte sarmalanarak birleştirilmesini mümkün kılar. + Bileşenler, CGI programları veya betik dilleri biçiminde olabileceği + gibi, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> kullanarak başka bir sunucudaki URL + uzayına ters vekil URL’ler şeklinde bile olabilir.</p> + + <p><strong>Bilginize:</strong> İstekler tamamlanana kadar alınan istekler + geçici RAM içinde biriktirilir. Sonuç olarak, bahsi geçen yükü karşılamak + için yeterince RAM’in mevcut olması gerekir. Bu yönergeyi kullanmakla, + istek gövdesini saklamaya yetecek olası en düşük değerle bile URL + uzayınız için gereken yeri kısıtlamış olursunuz.</p> + + <p>Eğer isteğin uzunluğu bu yönerge ile ayrılan azami uzunluğu aşarsa + sunucu yanıt olarak <code>413 Request Entity Too Large</code> (413 + İstenen Öğe Çok Büyük) hatasını döndürür.</p> + + <p>İstek gövdesini iptal etmek yerine kendi amaçları doğrultusunda bunları + biriktiren <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> gibi eylemciler bu yönergeyi dikkate + almazlar.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="mod_include.html">mod_include</a> belgesi</li> +<li><a href="mod_auth_form.html">mod_auth_form</a> belgesi</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_request.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_rewrite.html b/docs/manual/mod/mod_rewrite.html new file mode 100644 index 0000000..1d2ff6d --- /dev/null +++ b/docs/manual/mod/mod_rewrite.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_rewrite.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_rewrite.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_rewrite.html.en b/docs/manual/mod/mod_rewrite.html.en new file mode 100644 index 0000000..30d7434 --- /dev/null +++ b/docs/manual/mod/mod_rewrite.html.en @@ -0,0 +1,1619 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_rewrite - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_rewrite</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_rewrite.html" title="English"> en </a> | +<a href="../fr/mod/mod_rewrite.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides a rule-based rewriting engine to rewrite requested +URLs on the fly</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>rewrite_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_rewrite.c</td></tr></table> +<h3>Summary</h3> + + <p>The <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> module uses a rule-based rewriting + engine, based on a PCRE regular-expression parser, to rewrite requested URLs on + the fly. By default, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> maps a URL to a filesystem + path. However, it can also be used to redirect one URL to another URL, or + to invoke an internal proxy fetch.</p> + <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> provides a flexible and powerful way to + manipulate URLs using an unlimited number of rules. Each rule can have an + unlimited number of attached rule conditions, to allow you to rewrite URL + based on server variables, environment variables, HTTP headers, or time + stamps.</p> + <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> operates on the full URL path, including the + path-info section. A rewrite rule can be invoked in + <code>httpd.conf</code> or in <code>.htaccess</code>. The path generated + by a rewrite rule can include a query string, or can lead to internal + sub-processing, external request redirection, or internal proxy + throughput.</p> + + <p>Further details, discussion, and examples, are provided in the + <a href="../rewrite/">detailed mod_rewrite documentation</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Logging</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#rewritebase">RewriteBase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">RewriteCond</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewriteengine">RewriteEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">RewriteMap</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewriteoptions">RewriteOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_rewrite">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_rewrite">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Logging</a></h2> + + <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> offers detailed logging of its actions + at the <code>trace1</code> to <code>trace8</code> log levels. The + log level can be set specifically for <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + using the <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> directive: Up to + level <code>debug</code>, no actions are logged, while <code>trace8</code> + means that practically all actions are logged.</p> + + <div class="note"> + Using a high trace log level for <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + will slow down your Apache HTTP Server dramatically! Use a log + level higher than <code>trace2</code> only for debugging! + </div> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">LogLevel alert rewrite:trace3</pre> +</div> + + <div class="note"><h3>RewriteLog</h3> + <p>Those familiar with earlier versions of + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> will no doubt be looking for the + <code>RewriteLog</code> and <code>RewriteLogLevel</code> + directives. This functionality has been completely replaced by the + new per-module logging configuration mentioned above. + </p> + + <p>To get just the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-specific log + messages, pipe the log file through grep:</p> + <div class="example"><p><code> + tail -f error_log|fgrep '[rewrite:' + </code></p></div> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RewriteBase" id="RewriteBase">RewriteBase</a> <a name="rewritebase" id="rewritebase">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the base URL for per-directory rewrites</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RewriteBase <em>URL-path</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + <p>The <code class="directive">RewriteBase</code> directive specifies the + URL prefix to be used for per-directory (htaccess) + <code class="directive"><a href="#rewriterule">RewriteRule</a></code> directives that + substitute a relative path.</p> + <p> This directive is <em>required</em> when you use a relative path + in a substitution in per-directory (htaccess) context unless any + of the following conditions are true:</p> + <ul> + <li> The original request, and the substitution, are underneath the + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> + (as opposed to reachable by other means, such as + <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>).</li> + <li> The <em>filesystem</em> path to the directory containing the + <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, + suffixed by the relative + substitution is also valid as a URL path on the server + (this is rare).</li> + <li> In Apache HTTP Server 2.4.16 and later, this directive may be + omitted when the request is mapped via + <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> + or <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</li> + </ul> + +<p> In the example below, <code class="directive">RewriteBase</code> is necessary + to avoid rewriting to http://example.com/opt/myapp-1.2.3/welcome.html + since the resource was not relative to the document root. This + misconfiguration would normally cause the server to look for an "opt" + directory under the document root.</p> +<pre class="prettyprint lang-config">DocumentRoot "/var/www/example.com" +AliasMatch "^/myapp" "/opt/myapp-1.2.3" +<Directory "/opt/myapp-1.2.3"> + RewriteEngine On + RewriteBase "/myapp/" + RewriteRule "^index\.html$" "welcome.html" +</Directory></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RewriteCond" id="RewriteCond">RewriteCond</a> <a name="rewritecond" id="rewritecond">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Defines a condition under which rewriting will take place +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + <p>The <code class="directive">RewriteCond</code> directive defines a + rule condition. One or more <code class="directive">RewriteCond</code> + can precede a <code class="directive"><a href="#rewriterule">RewriteRule</a></code> + directive. The following rule is then only used if both + the current state of the URI matches its pattern, <strong>and</strong> if these conditions are met.</p> + + <p><em>TestString</em> is a string which can contain the + following expanded constructs in addition to plain text:</p> + + <ul> + <li> + <strong>RewriteRule backreferences</strong>: These are + backreferences of the form <strong><code>$N</code></strong> + (0 <= N <= 9). $1 to $9 provide access to the grouped + parts (in parentheses) of the pattern, from the + <code>RewriteRule</code> which is subject to the current + set of <code>RewriteCond</code> conditions. $0 provides + access to the whole string matched by that pattern. + </li> + <li> + <strong>RewriteCond backreferences</strong>: These are + backreferences of the form <strong><code>%N</code></strong> + (0 <= N <= 9). %1 to %9 provide access to the grouped + parts (again, in parentheses) of the pattern, from the last matched + <code>RewriteCond</code> in the current set + of conditions. %0 provides access to the whole string matched by + that pattern. + </li> + <li> + <strong>RewriteMap expansions</strong>: These are + expansions of the form <strong><code>${mapname:key|default}</code></strong>. + See <a href="#mapfunc">the documentation for + RewriteMap</a> for more details. + </li> + <li> + <strong>Server-Variables</strong>: These are variables of + the form + <strong><code>%{</code> <em>NAME_OF_VARIABLE</em> + <code>}</code></strong> + where <em>NAME_OF_VARIABLE</em> can be a string taken + from the following list: + + <table> + + <tr> + <th>HTTP headers:</th> <th>connection & request:</th> <th /> + </tr> + + <tr> + <td> + HTTP_ACCEPT<br /> + HTTP_COOKIE<br /> + HTTP_FORWARDED<br /> + HTTP_HOST<br /> + HTTP_PROXY_CONNECTION<br /> + HTTP_REFERER<br /> + HTTP_USER_AGENT<br /> + </td> + + <td> + AUTH_TYPE<br /> + CONN_REMOTE_ADDR<br /> + CONTEXT_PREFIX<br /> + CONTEXT_DOCUMENT_ROOT<br /> + IPV6<br /> + PATH_INFO<br /> + QUERY_STRING<br /> + REMOTE_ADDR<br /> + REMOTE_HOST<br /> + REMOTE_IDENT<br /> + REMOTE_PORT<br /> + REMOTE_USER<br /> + REQUEST_METHOD<br /> + SCRIPT_FILENAME<br /> + </td> + + <td /> + </tr> + + <tr> + <th>server internals:</th> <th>date and time:</th> <th>specials:</th> + </tr> + + <tr> + <td> + DOCUMENT_ROOT<br /> + SCRIPT_GROUP<br /> + SCRIPT_USER<br /> + SERVER_ADDR<br /> + SERVER_ADMIN<br /> + SERVER_NAME<br /> + SERVER_PORT<br /> + SERVER_PROTOCOL<br /> + SERVER_SOFTWARE<br /> + </td> + + <td> + TIME_YEAR<br /> + TIME_MON<br /> + TIME_DAY<br /> + TIME_HOUR<br /> + TIME_MIN<br /> + TIME_SEC<br /> + TIME_WDAY<br /> + TIME<br /> + </td> + + <td> + API_VERSION<br /> + CONN_REMOTE_ADDR<br /> + HTTPS<br /> + IS_SUBREQ<br /> + REMOTE_ADDR<br /> + REQUEST_FILENAME<br /> + REQUEST_SCHEME<br /> + REQUEST_URI<br /> + THE_REQUEST<br /> + </td> + </tr> + </table> + + <p>These variables all + correspond to the similarly named HTTP + MIME-headers, C variables of the Apache HTTP Server or + <code>struct tm</code> fields of the Unix system. + Most are documented <a href="../expr.html#vars">here</a> + or elsewhere in the Manual or in the CGI specification.</p> + + <p>SERVER_NAME and SERVER_PORT depend on the values of + <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> and + <code class="directive"><a href="../mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> + respectively.</p> + + <p>Those that are special to <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> include those below.</p> + <dl> + <dt><code>API_VERSION</code></dt> + + <dd>This is the version of the Apache httpd module API + (the internal interface between server and + module) in the current httpd build, as defined in + include/ap_mmn.h. The module API version + corresponds to the version of Apache httpd in use (in + the release version of Apache httpd 1.3.14, for + instance, it is 19990320:10), but is mainly of + interest to module authors.</dd> + + <dt><code>CONN_REMOTE_ADDR</code></dt> + + <dd>Since 2.4.8: The peer IP address of the connection (see the + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> module).</dd> + + <dt><code>HTTPS</code></dt> + + <dd>Will contain the text "on" if the connection is + using SSL/TLS, or "off" otherwise. (This variable + can be safely used regardless of whether or not + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is loaded).</dd> + + <dt><code>IS_SUBREQ</code></dt> + + <dd>Will contain the text "true" if the request + currently being processed is a sub-request, + "false" otherwise. Sub-requests may be generated + by modules that need to resolve additional files + or URIs in order to complete their tasks.</dd> + + <dt><code>REMOTE_ADDR</code></dt> + + <dd>The IP address of the remote host (see the + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> module).</dd> + + <dt><code>REQUEST_FILENAME</code></dt> + + <dd>The full local filesystem path to the file or + script matching the request, if this has already + been determined by the server at the time + <code>REQUEST_FILENAME</code> is referenced. Otherwise, + such as when used in virtual host context, the same + value as <code>REQUEST_URI</code>. Depending on the value of + <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code>, the + server may have only used some leading components of the + <code>REQUEST_URI</code> to map the request to a file. + </dd> + + <dt><code>REQUEST_SCHEME</code></dt> + + <dd>Will contain the scheme of the request (usually + "http" or "https"). This value can be influenced with + <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</dd> + + <dt><code>REQUEST_URI</code></dt> + + <dd>The path component of the requested URI, + such as "/index.html". This notably excludes the + query string which is available as its own variable + named <code>QUERY_STRING</code>.</dd> + + <dt><code>THE_REQUEST</code></dt> + + <dd>The full HTTP request line sent by the + browser to the server (e.g., "<code>GET + /index.html HTTP/1.1</code>"). This does not + include any additional headers sent by the + browser. This value has not been unescaped + (decoded), unlike most other variables below.</dd> + + </dl> + </li> + </ul> + + <p>If the <em>TestString</em> has the special value <code>expr</code>, + the <em>CondPattern</em> will be treated as an + <a href="../expr.html">ap_expr</a>. HTTP headers referenced in the + expression will be added to the Vary header if the <code>novary</code> + flag is not given.</p> + + <p>Other things you should be aware of:</p> + + <ol> + <li> + <p>The variables SCRIPT_FILENAME and REQUEST_FILENAME + contain the same value - the value of the + <code>filename</code> field of the internal + <code>request_rec</code> structure of the Apache HTTP Server. + The first name is the commonly known CGI variable name + while the second is the appropriate counterpart of + REQUEST_URI (which contains the value of the + <code>uri</code> field of <code>request_rec</code>).</p> + <p>If a substitution occurred and the rewriting continues, + the value of both variables will be updated accordingly.</p> + <p>If used in per-server context (<em>i.e.</em>, before the + request is mapped to the filesystem) SCRIPT_FILENAME and + REQUEST_FILENAME cannot contain the full local filesystem + path since the path is unknown at this stage of processing. + Both variables will initially contain the value of REQUEST_URI + in that case. In order to obtain the full local filesystem + path of the request in per-server context, use an URL-based + look-ahead <code>%{LA-U:REQUEST_FILENAME}</code> to determine + the final value of REQUEST_FILENAME.</p></li> + + <li> + <code>%{ENV:variable}</code>, where <em>variable</em> can be + any environment variable, is also available. + This is looked-up via internal + Apache httpd structures and (if not found there) via + <code>getenv()</code> from the Apache httpd server process.</li> + + <li> + <code>%{SSL:variable}</code>, where <em>variable</em> is the + name of an <a href="mod_ssl.html#envvars">SSL environment + variable</a>, can be used whether or not + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is loaded, but will always expand to + the empty string if it is not. Example: + <code>%{SSL:SSL_CIPHER_USEKEYSIZE}</code> may expand to + <code>128</code>. These variables are available even without + setting the <code>StdEnvVars</code> option of the + <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> directive.</li> + + <li> + <code>%{HTTP:header}</code>, where <em>header</em> can be + any HTTP MIME-header name, can always be used to obtain the + value of a header sent in the HTTP request. + Example: <code>%{HTTP:Proxy-Connection}</code> is + the value of the HTTP header + ``<code>Proxy-Connection:</code>''. + <p>If a HTTP header is used in a condition this header is added to + the Vary header of the response in case the condition evaluates + to true for the request. It is <strong>not</strong> added if the + condition evaluates to false for the request. Adding the HTTP header + to the Vary header of the response is needed for proper caching.</p> + <p>It has to be kept in mind that conditions follow a short circuit + logic in the case of the '<strong><code>ornext|OR</code></strong>' flag + so that certain conditions might not be evaluated at all.</p></li> + + <li> + <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a> + can be used for look-aheads which perform + an internal (URL-based) sub-request to determine the final + value of <em>variable</em>. This can be used to access + variable for rewriting which is not available at the current + stage, but will be set in a later phase. + <p>For instance, to rewrite according to the + <code>REMOTE_USER</code> variable from within the + per-server context (<code>httpd.conf</code> file) you must + use <code>%{LA-U:REMOTE_USER}</code> - this + variable is set by the authorization phases, which come + <em>after</em> the URL translation phase (during which + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> operates).</p> + <p>On the other hand, because <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> implements + its per-directory context (<code>.htaccess</code> file) via + the Fixup phase of the API and because the authorization + phases come <em>before</em> this phase, you just can use + <code>%{REMOTE_USER}</code> in that context.</p></li> + + <li> + <code>%{LA-F:variable}</code> can be used to perform an internal + (filename-based) sub-request, to determine the final value + of <em>variable</em>. Most of the time, this is the same as + LA-U above.</li> + </ol> + + <p><em>CondPattern</em> is the condition pattern, + a regular expression which is applied to the + current instance of the <em>TestString</em>. + <em>TestString</em> is first evaluated, before being matched against + <em>CondPattern</em>.</p> + + <p><em>CondPattern</em> is usually a + <em>perl compatible regular expression</em>, but there is + additional syntax available to perform other useful tests against + the <em>Teststring</em>:</p> + + <ol> + <li>You can prefix the pattern string with a + '<code>!</code>' character (exclamation mark) to negate the result + of the condition, no matter what kind of <em>CondPattern</em> is used. + </li> + + <li> + You can perform lexicographical string comparisons: + + <dl> + <dt><strong><CondPattern</strong></dt> + <dd>Lexicographically precedes<br /> + Treats the <em>CondPattern</em> as a plain string and + compares it lexicographically to <em>TestString</em>. True if + <em>TestString</em> lexicographically precedes + <em>CondPattern</em>.</dd> + + <dt><strong>>CondPattern</strong></dt> + <dd>Lexicographically follows<br /> + Treats the <em>CondPattern</em> as a plain string and + compares it lexicographically to <em>TestString</em>. True if + <em>TestString</em> lexicographically follows + <em>CondPattern</em>.</dd> + + <dt><strong>=CondPattern</strong></dt> + <dd>Lexicographically equal<br /> + Treats the <em>CondPattern</em> as a plain string and + compares it lexicographically to <em>TestString</em>. True if + <em>TestString</em> is lexicographically equal to + <em>CondPattern</em> (the two strings are exactly + equal, character for character). If <em>CondPattern</em> + is <code>""</code> (two quotation marks) this + compares <em>TestString</em> to the empty string.</dd> + + <dt><strong><=CondPattern</strong></dt> + <dd>Lexicographically less than or equal to<br /> + Treats the <em>CondPattern</em> as a plain string and + compares it lexicographically to <em>TestString</em>. True + if <em>TestString</em> lexicographically precedes + <em>CondPattern</em>, or is equal to <em>CondPattern</em> + (the two strings are equal, character for character).</dd> + + <dt><strong>>=CondPattern</strong></dt> + <dd>Lexicographically greater than or equal to<br /> + Treats the <em>CondPattern</em> as a plain string and + compares it lexicographically to <em>TestString</em>. True + if <em>TestString</em> lexicographically follows + <em>CondPattern</em>, or is equal to <em>CondPattern</em> + (the two strings are equal, character for character).</dd> + </dl> + <div class="note"><h3>Note</h3> + The string comparison operator is part of the <em>CondPattern</em> + argument and must be included in the quotes if those are used. Eg. + + <pre class="prettyprint lang-config">RewriteCond %{HTTP_USER_AGENT} "=This Robot/1.0"</pre> + + </div> + + </li> + + <li> + You can perform integer comparisons: + <dl> + + <dt><strong>-eq</strong></dt> + <dd>Is numerically <strong>eq</strong>ual to<br /> + The <em>TestString</em> is treated as an integer, and is + numerically compared to the <em>CondPattern</em>. True if + the two are numerically equal.</dd> + + <dt><strong>-ge</strong></dt> + <dd>Is numerically <strong>g</strong>reater than or <strong>e</strong>qual to<br /> + The <em>TestString</em> is treated as an integer, and is + numerically compared to the <em>CondPattern</em>. True if + the <em>TestString</em> is numerically greater than or equal + to the <em>CondPattern</em>.</dd> + + <dt><strong>-gt</strong></dt> + <dd>Is numerically <strong>g</strong>reater <strong>t</strong>han<br /> + The <em>TestString</em> is treated as an integer, and is + numerically compared to the <em>CondPattern</em>. True if + the <em>TestString</em> is numerically greater than + the <em>CondPattern</em>.</dd> + + <dt><strong>-le</strong></dt> + <dd>Is numerically <strong>l</strong>ess than or <strong>e</strong>qual to<br /> + The <em>TestString</em> is treated as an integer, and is + numerically compared to the <em>CondPattern</em>. True if + the <em>TestString</em> is numerically less than or equal + to the <em>CondPattern</em>. Avoid confusion with the + <strong>-l</strong> by using the <strong>-L</strong> or + <strong>-h</strong> variant.</dd> + + <dt><strong>-lt</strong></dt> + <dd>Is numerically <strong>l</strong>ess <strong>t</strong>han<br /> + The <em>TestString</em> is treated as an integer, and is + numerically compared to the <em>CondPattern</em>. True if + the <em>TestString</em> is numerically less than + the <em>CondPattern</em>. Avoid confusion with the + <strong>-l</strong> by using the <strong>-L</strong> or + <strong>-h</strong> variant.</dd> + + <dt><strong>-ne</strong></dt> + <dd>Is numerically <strong>n</strong>ot <strong>e</strong>qual to<br /> + The <em>TestString</em> is treated as an integer, and is + numerically compared to the <em>CondPattern</em>. True if + the two are numerically different. This is equivalent to + <code>!-eq</code>.</dd> + + </dl> + </li> + + <li>You can perform various file attribute tests: + + + <dl> + + <dt><strong>-d</strong></dt> + + <dd>Is <strong>d</strong>irectory.<br /> + Treats the <em>TestString</em> as a pathname and tests + whether or not it exists, and is a directory. + </dd> + + <dt><strong>-f</strong></dt> + + <dd>Is regular <strong>f</strong>ile.<br /> + + Treats the <em>TestString</em> as a pathname and tests + whether or not it exists, and is a regular file. + </dd> + + <dt><strong>-F</strong></dt> + + <dd>Is existing file, via subrequest.<br /> + Checks whether or not <em>TestString</em> is a valid file, + accessible via all the server's currently-configured + access controls for that path. This uses an internal + subrequest to do the check, so use it with care - + it can impact your server's performance! + </dd> + + <dt><strong>-h</strong></dt> + <dd>Is symbolic link, bash convention.<br /> + See <strong>-l</strong>. + </dd> + + <dt><strong>-l</strong></dt> + + <dd>Is symbolic <strong>l</strong>ink.<br /> + Treats the <em>TestString</em> as a pathname and tests + whether or not it exists, and is a symbolic link. May also + use the bash convention of <strong>-L</strong> or + <strong>-h</strong> if there's a possibility of confusion + such as when using the <strong>-lt</strong> or + <strong>-le</strong> tests. + </dd> + + <dt><strong>-L</strong></dt> + <dd>Is symbolic link, bash convention.<br /> + See <strong>-l</strong>.</dd> + + <dt><strong>-s</strong></dt> + <dd>Is regular file, with <strong>s</strong>ize.<br /> + Treats the <em>TestString</em> as a pathname and tests + whether or not it exists, and is a regular file with size greater + than zero.</dd> + + <dt><strong>-U</strong></dt> + <dd><p>Is existing URL, via subrequest.<br /> + Checks whether or not <em>TestString</em> is a valid URL, + accessible via all the server's currently-configured + access controls for that path. This uses an internal + subrequest to do the check, so use it with care - + it can impact your server's performance!</p> + <p> This flag <em>only</em> returns information about things + like access control, authentication, and authorization. This flag + <em>does not</em> return information about the status code the + configured handler (static file, CGI, proxy, etc.) would have + returned.</p> </dd> + + <dt><strong>-x</strong></dt> + <dd>Has e<strong>x</strong>ecutable permissions.<br /> + Treats the <em>TestString</em> as a pathname and tests + whether or not it exists, and has executable permissions. + These permissions are determined according to + the underlying OS.</dd> + + </dl> + + For example: + + <pre class="prettyprint lang-config">RewriteCond /var/www/%{REQUEST_URI} !-f +RewriteRule ^(.+) /other/archive/$1 [R]</pre> + + + </li> + + <li> + <p>If the <em>TestString</em> has the special value <code>expr</code>, the + <em>CondPattern</em> will be treated as an + <a href="../expr.html">ap_expr</a>.</p> + + <p> + In the below example, <code>-strmatch</code> is used to + compare the <code>REFERER</code> against the site hostname, + to block unwanted hotlinking. + </p> + + <pre class="prettyprint lang-config">RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'" +RewriteRule "^/images" "-" [F]</pre> + + </li> + </ol> + + <p>You can also set special flags for <em>CondPattern</em> by appending + <strong><code>[</code><em>flags</em><code>]</code></strong> + as the third argument to the <code class="directive">RewriteCond</code> + directive, where <em>flags</em> is a comma-separated list of any of the + following flags:</p> + + <ul> + <li>'<strong><code>nocase|NC</code></strong>' + (<strong>n</strong>o <strong>c</strong>ase)<br /> + This makes the test case-insensitive - differences + between 'A-Z' and 'a-z' are ignored, both in the + expanded <em>TestString</em> and the <em>CondPattern</em>. + This flag is effective only for comparisons between + <em>TestString</em> and <em>CondPattern</em>. It has no + effect on filesystem and subrequest checks.</li> + + <li> + '<strong><code>ornext|OR</code></strong>' + (<strong>or</strong> next condition)<br /> + Use this to combine rule conditions with a local OR + instead of the implicit AND. Typical example: + +<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_HOST}" "^host1" [OR] +RewriteCond "%{REMOTE_HOST}" "^host2" [OR] +RewriteCond "%{REMOTE_HOST}" "^host3" +RewriteRule ...some special stuff for any of these hosts...</pre> + + + Without this flag you would have to write the condition/rule + pair three times. + </li> + + <li>'<strong><code>novary|NV</code></strong>' + (<strong>n</strong>o <strong>v</strong>ary)<br /> + If a HTTP header is used in the condition, this flag prevents + this header from being added to the Vary header of the response. <br /> + Using this flag might break proper caching of the response if + the representation of this response varies on the value of this header. + So this flag should be only used if the meaning of the Vary header + is well understood. + </li> + </ul> + + <p><strong>Example:</strong></p> + + <p>To rewrite the Homepage of a site according to the + ``<code>User-Agent:</code>'' header of the request, you can + use the following: </p> + +<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "(iPhone|Blackberry|Android)" +RewriteRule "^/$" "/homepage.mobile.html" [L] + +RewriteRule "^/$" "/homepage.std.html" [L]</pre> + + + <p>Explanation: If you use a browser which identifies itself + as a mobile browser (note that the example is incomplete, as + there are many other mobile platforms), the mobile version of + the homepage is served. Otherwise, the standard page is served. + </p> + + <p>By default, multiple <code class="directive">RewriteCond</code>s + are evaluated in sequence with an implied logical <strong>AND</strong>. + If a condition fails, in the absence of an + <strong><code>OR</code></strong> flag, the entire ruleset is abandoned, + and further conditions are not evaluated. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RewriteEngine" id="RewriteEngine">RewriteEngine</a> <a name="rewriteengine" id="rewriteengine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables or disables runtime rewriting engine</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RewriteEngine on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>RewriteEngine off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + + <p>The <code class="directive">RewriteEngine</code> directive enables or + disables the runtime rewriting engine. If it is set to + <code>off</code> this module does no runtime processing at + all. It does not even update the <code>SCRIPT_URx</code> + environment variables.</p> + + <p>Use this directive to disable rules in a particular context, + rather than commenting out all the <code class="directive"><a href="#rewriterule">RewriteRule</a></code> directives.</p> + + <p>Note that rewrite configurations are not + inherited by virtual hosts. This means that you need to have a + <code>RewriteEngine on</code> directive for each virtual host + in which you wish to use rewrite rules.</p> + + <p><code class="directive"><a href="#rewritemap">RewriteMap</a></code> directives + of the type <code>prg</code> + are not started during server initialization if they're defined in a + context that does not have <code class="directive">RewriteEngine</code> set to + <code>on</code></p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RewriteMap" id="RewriteMap">RewriteMap</a> <a name="rewritemap" id="rewritemap">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Defines a mapping function for key-lookup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The 3rd parameter, MapTypeOptions, in only available from Apache +2.4.29 and later</td></tr> +</table> + <p>The <code class="directive">RewriteMap</code> directive defines a + <em>Rewriting Map</em> which can be used inside rule + substitution strings by the mapping-functions to + insert/substitute fields through a key lookup. The source of + this lookup can be of various types.</p> + + <p>The <a id="mapfunc" name="mapfunc"><em>MapName</em></a> is + the name of the map and will be used to specify a + mapping-function for the substitution strings of a rewriting + rule via one of the following constructs:</p> + + <p class="indent"> + <strong><code>${</code> <em>MapName</em> <code>:</code> + <em>LookupKey</em> <code>}</code><br /> + <code>${</code> <em>MapName</em> <code>:</code> + <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> + <code>}</code></strong> + </p> + + <p>When such a construct occurs, the map <em>MapName</em> is + consulted and the key <em>LookupKey</em> is looked-up. If the + key is found, the map-function construct is substituted by + <em>SubstValue</em>. If the key is not found then it is + substituted by <em>DefaultValue</em> or by the empty string + if no <em>DefaultValue</em> was specified. Empty values + behave as if the key was absent, therefore it is not possible + to distinguish between empty-valued keys and absent keys.</p> + + <p>For example, you might define a + <code class="directive">RewriteMap</code> as:</p> + + <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre> + + + <p>You would then be able to use this map in a + <code class="directive"><a href="#rewriterule">RewriteRule</a></code> as follows:</p> + + <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre> + + + <p>The meaning of the <em>MapTypeOptions</em> argument depends on + particular <em>MapType</em>. See the + <a href="../rewrite/rewritemap.html">Using RewriteMap</a> for + more information.</p> + + <p>The following combinations for <em>MapType</em> and + <em>MapSource</em> can be used:</p> + + <dl> + + <dt>txt</dt> + <dd>A plain text file containing space-separated key-value + pairs, one per line. (<a href="../rewrite/rewritemap.html#txt">Details ...</a>)</dd> + + <dt>rnd</dt> + <dd>Randomly selects an entry from a plain text file (<a href="../rewrite/rewritemap.html#rnd">Details ...</a>)</dd> + + <dt>dbm</dt> + <dd>Looks up an entry in a dbm file containing name, value + pairs. Hash is constructed from a plain text file format using + the <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code> + utility. (<a href="../rewrite/rewritemap.html#dbm">Details ...</a>)</dd> + + <dt>int</dt> + <dd>One of the four available internal functions provided by + <code>RewriteMap</code>: toupper, tolower, escape or + unescape. (<a href="../rewrite/rewritemap.html#int">Details ...</a>)</dd> + + <dt>prg</dt> + <dd>Calls an external program or script to process the + rewriting. (<a href="../rewrite/rewritemap.html#prg">Details ...</a>)</dd> + + <dt>dbd or fastdbd</dt> + <dd>A SQL SELECT statement to be performed to look up the + rewrite target. (<a href="../rewrite/rewritemap.html#dbd">Details ...</a>)</dd> + </dl> + + <p>Further details, and numerous examples, may be found in the <a href="../rewrite/rewritemap.html">RewriteMap HowTo</a></p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RewriteOptions" id="RewriteOptions">RewriteOptions</a> <a name="rewriteoptions" id="rewriteoptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets some special options for the rewrite engine</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RewriteOptions <var>Options</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + + <p>The <code class="directive">RewriteOptions</code> directive sets some + special options for the current per-server or per-directory + configuration. The <em>Option</em> string can currently + only be one of the following:</p> + + <dl> + <dt><code>Inherit</code></dt> + <dd> + + <p>This forces the current configuration to inherit the + configuration of the parent. In per-virtual-server context, + this means that the maps, conditions and rules of the main + server are inherited. In per-directory context this means + that conditions and rules of the parent directory's + <code>.htaccess</code> configuration or + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + sections are inherited. The inherited rules are virtually copied + to the section where this directive is being used. If used in + combination with local rules, the inherited rules are copied behind + the local rules. The position of this directive - below or above + of local rules - has no influence on this behavior. If local + rules forced the rewriting to stop, the inherited rules won't + be processed.</p> + + <div class="warning"> + Rules inherited from the parent scope are applied + <strong>after</strong> rules specified in the child scope. + </div> + </dd> + + <dt><code>InheritBefore</code></dt> + <dd> + <p> Like <code>Inherit</code> above, but the rules from the parent scope + are applied <strong>before</strong> rules specified in the child scope.<br /> + Available in Apache HTTP Server 2.3.10 and later.</p> + </dd> + + <dt><code>InheritDown</code></dt> + <dd> + + <p>If this option is enabled, all child configurations will inherit + the configuration of the current configuration. It is equivalent to + specifying <code>RewriteOptions Inherit</code> in all child + configurations. See the <code>Inherit</code> option for more details + on how the parent-child relationships are handled.<br /> + Available in Apache HTTP Server 2.4.8 and later.</p> + </dd> + + <dt><code>InheritDownBefore</code></dt> + <dd> + + <p>Like <code>InheritDown</code> above, but the rules from the current + scope are applied <strong>before</strong> rules specified in any child's + scope.<br /> + Available in Apache HTTP Server 2.4.8 and later.</p> + </dd> + + <dt><code>IgnoreInherit</code></dt> + <dd> + + <p>This option forces the current and child configurations to ignore + all rules that would be inherited from a parent specifying + <code>InheritDown</code> or <code>InheritDownBefore</code>.<br /> + Available in Apache HTTP Server 2.4.8 and later.</p> + </dd> + + <dt><code>AllowNoSlash</code></dt> + <dd> + <p>By default, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> will ignore URLs that map to a + directory on disk but lack a trailing slash, in the expectation that + the <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> module will issue the client with a redirect to + the canonical URL with a trailing slash.</p> + + <p>When the <code class="directive"><a href="../mod/mod_dir.html#directoryslash">DirectorySlash</a></code> directive + is set to off, the <code>AllowNoSlash</code> option can be enabled to ensure + that rewrite rules are no longer ignored. This option makes it possible to + apply rewrite rules within .htaccess files that match the directory without + a trailing slash, if so desired.<br /> + Available in Apache HTTP Server 2.4.0 and later.</p> + </dd> + + <dt><code>AllowAnyURI</code></dt> + <dd> + + <p>When <code class="directive"><a href="#rewriterule">RewriteRule</a></code> + is used in <code>VirtualHost</code> or server context with + version 2.2.22 or later of httpd, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + will only process the rewrite rules if the request URI is a <a href="directive-dict.html#Syntax">URL-path</a>. This avoids + some security issues where particular rules could allow + "surprising" pattern expansions (see <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368">CVE-2011-3368</a> + and <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4317">CVE-2011-4317</a>). + To lift the restriction on matching a URL-path, the + <code>AllowAnyURI</code> option can be enabled, and + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> will apply the rule set to any + request URI string, regardless of whether that string matches + the URL-path grammar required by the HTTP specification.<br /> + Available in Apache HTTP Server 2.4.3 and later.</p> + + <div class="warning"> + <h3>Security Warning</h3> + + <p>Enabling this option will make the server vulnerable to + security issues if used with rewrite rules which are not + carefully authored. It is <strong>strongly recommended</strong> + that this option is not used. In particular, beware of input + strings containing the '<code>@</code>' character which could + change the interpretation of the transformed URI, as per the + above CVE names.</p> + </div> + </dd> + + <dt><code>MergeBase</code></dt> + <dd> + + <p>With this option, the value of <code class="directive"><a href="#rewritebase">RewriteBase</a></code> is copied from where it's explicitly defined + into any sub-directory or sub-location that doesn't define its own + <code class="directive"><a href="#rewritebase">RewriteBase</a></code>. This was the + default behavior in 2.4.0 through 2.4.3, and the flag to restore it is + available Apache HTTP Server 2.4.4 and later.</p> + </dd> + + <dt><code>IgnoreContextInfo</code></dt> + <dd> + + <p>When a relative substitution is made + in directory (htaccess) context and <code class="directive"><a href="#rewritebase">RewriteBase</a></code> has not been set, this module uses some + extended URL and filesystem context information to change the + relative substitution back into a URL. Modules such as + <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> and <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> + supply this extended context info. Available in 2.4.16 and later.</p> + </dd> + + + <dt><code>LegacyPrefixDocRoot</code></dt> + <dd> + + <p>Prior to 2.4.26, if a substitution was an absolute URL that matched + the current virtual host, the URL might first be reduced to a URL-path + and then later reduced to a local path. Since the URL can be reduced + to a local path, the path should be prefixed with the document root. + This prevents a file such as /tmp/myfile from being accessed when a + request is made to http://host/file/myfile with the following + <code class="directive"><a href="#rewriterule">RewriteRule</a></code>.</p> + <pre class="prettyprint lang-config">RewriteRule /file/(.*) http://localhost/tmp/$1</pre> + + <p>This option allows the old behavior to be used where the document + root is not prefixed to a local path that was reduced from a + URL. Available in 2.4.26 and later.</p> + </dd> + + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RewriteRule" id="RewriteRule">RewriteRule</a> <a name="rewriterule" id="rewriterule">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Defines rules for the rewriting engine</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + <p>The <code class="directive">RewriteRule</code> directive is the real + rewriting workhorse. The directive can occur more than once, + with each instance defining a single rewrite rule. The + order in which these rules are defined is important - this is the order + in which they will be applied at run-time.</p> + + <p><a id="patterns" name="patterns"><em>Pattern</em></a> is + a perl compatible <a id="regexp" name="regexp">regular + expression</a>. What this pattern is compared against varies depending + on where the <code class="directive">RewriteRule</code> directive is defined. </p> + +<div class="note"><h3><a id="what_is_matched" name="what_is_matched">What is matched?</a></h3> + +<ul> + <li><p>In <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> context, + The <em>Pattern</em> will initially be matched against the part of the + URL after the hostname and port, and before the query string (e.g. "/app1/index.html"). + This is the (%-decoded) <a href="directive-dict.html#Syntax">URL-path</a>.</p></li> + + <li><p>In per-directory context (<code class="directive"><a href="../mod/core.html#directory">Directory</a></code> and .htaccess), + the <em>Pattern</em> is matched against only a partial path, for example a request + of "/app1/index.html" may result in comparison against "app1/index.html" + or "index.html" depending on where the <code class="directive">RewriteRule</code> is + defined.</p> + + <p>The directory path where the rule is defined is stripped from the currently mapped + filesystem path before comparison (up to and including a trailing slash). + The net result of this per-directory prefix stripping is that rules in + this context only match against the portion of the currently mapped filesystem path + "below" where the rule is defined.</p> + + <p>Directives such as <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> and <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, or even the + result of previous <code class="directive">RewriteRule</code> substitutions, determine + the currently mapped filesystem path. + </p> + </li> + + <li><p>If you wish to match against the hostname, port, or query string, use a + <code class="directive"><a href="#rewritecond">RewriteCond</a></code> with the + <code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, or + <code>%{QUERY_STRING}</code> variables respectively.</p></li> +</ul> +</div> + +<div class="note"><h3>Per-directory Rewrites</h3> +<ul> +<li>The rewrite engine may be used in <a href="../howto/htaccess.html">.htaccess</a> files and in <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sections, with some additional +complexity.</li> + +<li>To enable the rewrite engine in this context, you need to set +"<code>RewriteEngine On</code>" <strong>and</strong> +"<code>Options FollowSymLinks</code>" must be enabled. If your +administrator has disabled override of <code>FollowSymLinks</code> for +a user's directory, then you cannot use the rewrite engine. This +restriction is required for security reasons.</li> + +<li>See the <code class="directive"><a href="#rewritebase">RewriteBase</a></code> +directive for more information regarding what prefix will be added back to +relative substitutions.</li> + +<li> If you wish to match against the full URL-path in a per-directory +(htaccess) RewriteRule, use the <code>%{REQUEST_URI}</code> variable in +a <code class="directive"><a href="#rewritecond">RewriteCond</a></code>.</li> + +<li>The removed prefix always ends with a slash, meaning the matching occurs against a string which +<em>never</em> has a leading slash. Therefore, a <em>Pattern</em> with <code>^/</code> never +matches in per-directory context.</li> + +<li>Although rewrite rules are syntactically permitted in <code class="directive"><a href="../mod/core.html#location"><Location></a></code> and <code class="directive"><a href="../mod/core.html#files"><Files></a></code> sections +(including their regular expression counterparts), this +should never be necessary and is unsupported. A likely feature +to break in these contexts is relative substitutions.</li> + +<li>The <code class="directive"><a href="../mod/core.html#if">If</a></code> blocks +follow the rules of the <em>directory</em> context.</li> + +<li>By default, mod_rewrite overrides rules when <a href="../sections.html#merging"> +merging sections</a> belonging to the same context. The <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> directive can change this behavior, +for example using the <em>Inherit</em> setting.</li> + +<li>The <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> also regulates the +behavior of sections that are stated at the same nesting level of the configuration. In the +following example, by default only the RewriteRules stated in the second +<code class="directive"><a href="../mod/core.html#if">If</a></code> block +are considered, since the first ones are overridden. Using <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> Inherit forces mod_rewrite to merge the two +sections and consider both set of statements, rather than only the last one.</li> +</ul> +<div class="example"><pre class="prettyprint lang-config"><If "true"> + # Without RewriteOptions Inherit, this rule is overridden by the next + # section and no redirect will happen for URIs containing 'foo' + RewriteRule foo http://example.com/foo [R] +</If> +<If "true"> + RewriteRule bar http://example.com/bar [R] +</If></pre> +</div> +</div> + + <p>For some hints on <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular + expressions</a>, see + the <a href="../rewrite/intro.html#regex">mod_rewrite + Introduction</a>.</p> + + <p>In <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, the NOT character + ('<code>!</code>') is also available as a possible pattern + prefix. This enables you to negate a pattern; to say, for instance: + ``<em>if the current URL does <strong>NOT</strong> match this + pattern</em>''. This can be used for exceptional cases, where + it is easier to match the negative pattern, or as a last + default rule.</p> + +<div class="note"><h3>Note</h3> +When using the NOT character to negate a pattern, you cannot include +grouped wildcard parts in that pattern. This is because, when the +pattern does NOT match (ie, the negation matches), there are no +contents for the groups. Thus, if negated patterns are used, you +cannot use <code>$N</code> in the substitution string! +</div> + + <p>The <a id="rhs" name="rhs"><em>Substitution</em></a> of a + rewrite rule is the string that replaces the original URL-path that + was matched by <em>Pattern</em>. The <em>Substitution</em> may + be a:</p> + + <dl> + + <dt>file-system path</dt> + + <dd>Designates the location on the file-system of the resource + to be delivered to the client. Substitutions are only + treated as a file-system path when the rule is configured in + server (virtualhost) context and the first component of the + path in the substitution exists in the file-system</dd> + + <dt>URL-path</dt> + + <dd>A <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-relative path to the + resource to be served. Note that <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + tries to guess whether you have specified a file-system path + or a URL-path by checking to see if the first segment of the + path exists at the root of the file-system. For example, if + you specify a <em>Substitution</em> string of + <code>/www/file.html</code>, then this will be treated as a + URL-path <em>unless</em> a directory named <code>www</code> + exists at the root or your file-system (or, in the case of + using rewrites in a <code>.htaccess</code> file, relative to + your document root), in which case it will + be treated as a file-system path. If you wish other + URL-mapping directives (such as <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>) to be applied to the + resulting URL-path, use the <code>[PT]</code> flag as + described below.</dd> + + <dt>Absolute URL</dt> + + <dd><p>If an absolute URL is specified, + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> checks to see whether the + hostname matches the current host. If it does, the scheme and + hostname are stripped out and the resulting path is treated as + a URL-path. Otherwise, an external redirect is performed for + the given URL. To force an external redirect back to the + current host, see the <code>[R]</code> flag below.</p> + <p>Note that a redirect (implicit or not) using an absolute URI + will include the requested query-string, to prevent this see the + <code>[QSD]</code> flag below.</p></dd> + + <dt><code>-</code> (dash)</dt> + + <dd>A dash indicates that no substitution should be performed + (the existing path is passed through untouched). This is used + when a flag (see below) needs to be applied without changing + the path.</dd> + + </dl> + + <p>In addition to plain text, the <em>Substitution</em> string can include</p> + + <ol> + <li>back-references (<code>$N</code>) to the RewriteRule + pattern</li> + + <li>back-references (<code>%N</code>) to the last matched + RewriteCond pattern</li> + + <li>server-variables as in rule condition test-strings + (<code>%{VARNAME}</code>)</li> + + <li><a href="#mapfunc">mapping-function</a> calls + (<code>${mapname:key|default}</code>)</li> + </ol> + + <p>Back-references are identifiers of the form + <code>$</code><strong>N</strong> + (<strong>N</strong>=0..9), which will be replaced + by the contents of the <strong>N</strong>th group of the + matched <em>Pattern</em>. The server-variables are the same + as for the <em>TestString</em> of a + <code class="directive"><a href="#rewritecond">RewriteCond</a></code> + directive. The mapping-functions come from the + <code class="directive"><a href="#rewritemap">RewriteMap</a></code> + directive and are explained there. + These three types of variables are expanded in the order above.</p> + + <p>Rewrite rules are applied to the results of previous rewrite + rules, in the order in which they are defined + in the config file. The URL-path or file-system path (see <a href="#what_is_matched">"What is matched?"</a>, above) is <strong>completely + replaced</strong> by the <em>Substitution</em> and the + rewriting process continues until all rules have been applied, + or it is explicitly terminated by an + <a href="../rewrite/flags.html#flag_l"><code><strong>L</strong></code> flag</a>, + or other flag which implies immediate termination, such as + <code><strong>END</strong></code> or + <code><strong>F</strong></code>.</p> + + <div class="note"><h3>Modifying the Query String</h3> + <p>By default, the query string is passed through unchanged. You + can, however, create URLs in the substitution string containing + a query string part. Simply use a question mark inside the + substitution string to indicate that the following text should + be re-injected into the query string. When you want to erase an + existing query string, end the substitution string with just a + question mark. To combine new and old query strings, use the + <code>[QSA]</code> flag.</p> + </div> + + <p>Additionally you can set special <a name="rewriteflags" id="rewriteflags">actions</a> to be performed by + appending <strong><code>[</code><em>flags</em><code>]</code></strong> + as the third argument to the <code class="directive">RewriteRule</code> + directive. <em>Flags</em> is a comma-separated list, surround by square + brackets, of any of the flags in the following table. More + details, and examples, for each flag, are available in the <a href="../rewrite/flags.html">Rewrite Flags document</a>.</p> + + <table class="bordered"><tr class="header"><th>Flag and syntax</th> + <th>Function</th> + </tr> +<tr> + <td>B</td> + <td>Escape non-alphanumeric characters in backreferences <em>before</em> + applying the transformation. <em><a href="../rewrite/flags.html#flag_b">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>BCTLS</td> + <td>Like [B], but only escape control characters and spaces. + <em><a href="../rewrite/flags.html#flag_bctls">details ...</a></em></td> + </tr> +<tr> + <td>BNE</td> + <td>Characters of [B] or [BCTLS] which should <strong>not</strong> be escaped. + <em><a href="../rewrite/flags.html#flag_bne">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>backrefnoplus|BNP</td> + <td>If backreferences are being escaped, spaces should be escaped to + %20 instead of +. Useful when the backreference will be used in the + path component rather than the query string.<em><a href="../rewrite/flags.html#flag_bnp">details ...</a></em></td> + </tr> +<tr> + <td>chain|C</td> + <td>Rule is chained to the following rule. If the rule fails, + the rule(s) chained to it will be skipped. <em><a href="../rewrite/flags.html#flag_c">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>cookie|CO=<em>NAME</em>:<em>VAL</em></td> + <td>Sets a cookie in the client browser. Full syntax is: + CO=<em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>[<em>samesite</em>]]]]] <em><a href="../rewrite/flags.html#flag_co">details ...</a></em> + </td> + </tr> +<tr> + <td>discardpath|DPI</td> + <td>Causes the PATH_INFO portion of the rewritten URI to be + discarded. <em><a href="../rewrite/flags.html#flag_dpi">details + ...</a></em></td> + </tr> +<tr class="odd"> + <td>END</td> + <td>Stop the rewriting process immediately and don't apply any + more rules. Also prevents further execution of rewrite rules + in per-directory and .htaccess context. (Available in 2.3.9 and later) + <em><a href="../rewrite/flags.html#flag_end">details ...</a></em></td> + </tr> +<tr> + <td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td> + <td>Causes an environment variable <em>VAR</em> to be set (to the + value <em>VAL</em> if provided). The form !<em>VAR</em> causes + the environment variable <em>VAR</em> to be unset. + <em><a href="../rewrite/flags.html#flag_e">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>forbidden|F</td> + <td>Returns a 403 FORBIDDEN response to the client browser. + <em><a href="../rewrite/flags.html#flag_f">details ...</a></em></td> + </tr> +<tr> + <td>gone|G</td> + <td>Returns a 410 GONE response to the client browser. <em><a href="../rewrite/flags.html#flag_g">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>Handler|H=<em>Content-handler</em></td> + <td>Causes the resulting URI to be sent to the specified + <em>Content-handler</em> for processing. <em><a href="../rewrite/flags.html#flag_h">details ...</a></em></td> + </tr> +<tr> + <td>last|L</td> + <td>Stop the rewriting process immediately and don't apply any + more rules. Especially note caveats for per-directory and + .htaccess context (see also the END flag). <em><a href="../rewrite/flags.html#flag_l">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>next|N</td> + <td>Re-run the rewriting process, starting again with the first + rule, using the result of the ruleset so far as a starting + point. <em><a href="../rewrite/flags.html#flag_n">details + ...</a></em></td> + </tr> +<tr> + <td>nocase|NC</td> + <td>Makes the pattern comparison case-insensitive. + <em><a href="../rewrite/flags.html#flag_nc">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>noescape|NE</td> + <td>Prevent mod_rewrite from applying hexcode escaping of + special characters in the result of rewrites that result in + redirection. <em> + <a href="../rewrite/flags.html#flag_ne">details ...</a></em></td> + </tr> +<tr> + <td>nosubreq|NS</td> + <td>Causes a rule to be skipped if the current request is an + internal sub-request. <em><a href="../rewrite/flags.html#flag_ns">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>proxy|P</td> + <td>Force the substitution URL to be internally sent as a proxy + request. <em><a href="../rewrite/flags.html#flag_p">details + ...</a></em></td> + </tr> +<tr> + <td>passthrough|PT</td> + <td>Forces the resulting URI to be passed back to the URL + mapping engine for processing of other URI-to-filename + translators, such as <code>Alias</code> or + <code>Redirect</code>. <em><a href="../rewrite/flags.html#flag_pt">details ...</a></em></td> + </tr> +<tr class="odd"> + <td>qsappend|QSA</td> + <td>Appends any query string from the original request URL to + any query string created in the rewrite target.<em><a href="../rewrite/flags.html#flag_qsa">details ...</a></em></td> + </tr> +<tr> + <td>qsdiscard|QSD</td> + <td>Discard any query string attached to the incoming URI. + <em><a href="../rewrite/flags.html#flag_qsd">details + ...</a></em></td> + </tr> +<tr class="odd"> + <td>qslast|QSL</td> + <td>Interpret the last (right-most) question mark as the query string + delimiter, instead of the first (left-most) as normally used. + Available in 2.4.19 and later. + <em><a href="../rewrite/flags.html#flag_qsl">details + ...</a></em></td> + </tr> +<tr> + <td>redirect|R[=<em>code</em>]</td> + <td>Forces an external redirect, optionally with the specified + HTTP status code. <em><a href="../rewrite/flags.html#flag_r">details ...</a></em> + </td> + </tr> +<tr class="odd"> + <td>skip|S=<em>num</em></td> + <td>Tells the rewriting engine to skip the next <em>num</em> + rules if the current rule matches. <em><a href="../rewrite/flags.html#flag_s">details ...</a></em></td> + </tr> +<tr> + <td>type|T=<em>MIME-type</em></td> + <td>Force the <a class="glossarylink" href="../glossary.html#mime-type" title="see glossary">MIME-type</a> of the target file + to be the specified type. <em><a href="../rewrite/flags.html#flag_t">details ...</a></em></td> + </tr> +</table> + +<div class="note"><h3>Home directory expansion</h3> +<p> When the substitution string begins with a string +resembling "/~user" (via explicit text or backreferences), <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> performs +home directory expansion independent of the presence or configuration +of <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</p> + +<p> This expansion does not occur when the <em>PT</em> +flag is used on the <code class="directive"><a href="#rewriterule">RewriteRule</a></code> +directive.</p> +</div> + + + <p>Here are all possible substitution combinations and their + meanings:</p> + + <p><strong>Inside per-server configuration + (<code>httpd.conf</code>)<br /> + for request ``<code>GET + /somepath/pathinfo</code>'':</strong><br /> + </p> + +<table class="bordered"><tr class="header"> +<th>Given Rule</th> +<th>Resulting Substitution</th> +</tr> +<tr> +<td>^/somepath(.*) otherpath$1</td> +<td>invalid, not supported</td> +</tr> +<tr class="odd"> +<td>^/somepath(.*) otherpath$1 [R]</td> +<td>invalid, not supported</td> +</tr> +<tr> +<td>^/somepath(.*) otherpath$1 [P]</td> +<td>invalid, not supported</td> +</tr> +<tr class="odd"> +<td>^/somepath(.*) /otherpath$1</td> +<td>/otherpath/pathinfo</td> +</tr> +<tr> +<td>^/somepath(.*) /otherpath$1 [R]</td> +<td>http://thishost/otherpath/pathinfo via external redirection</td> +</tr> +<tr class="odd"> +<td>^/somepath(.*) /otherpath$1 [P]</td> +<td>doesn't make sense, not supported</td> +</tr> +<tr> +<td>^/somepath(.*) http://thishost/otherpath$1</td> +<td>/otherpath/pathinfo</td> +</tr> +<tr class="odd"> +<td>^/somepath(.*) http://thishost/otherpath$1 [R]</td> +<td>http://thishost/otherpath/pathinfo via external redirection</td> +</tr> +<tr> +<td>^/somepath(.*) http://thishost/otherpath$1 [P]</td> +<td>doesn't make sense, not supported</td> +</tr> +<tr class="odd"> +<td>^/somepath(.*) http://otherhost/otherpath$1</td> +<td>http://otherhost/otherpath/pathinfo via external redirection</td> +</tr> +<tr> +<td>^/somepath(.*) http://otherhost/otherpath$1 [R]</td> +<td>http://otherhost/otherpath/pathinfo via external redirection (the [R] flag is redundant)</td> +</tr> +<tr class="odd"> +<td>^/somepath(.*) http://otherhost/otherpath$1 [P]</td> +<td>http://otherhost/otherpath/pathinfo via internal proxy</td> +</tr> +</table> + + <p><strong>Inside per-directory configuration for + <code>/somepath</code><br /> + (<code>/physical/path/to/somepath/.htaccess</code>, with + <code>RewriteBase "/somepath"</code>)<br /> + for request ``<code>GET + /somepath/localpath/pathinfo</code>'':</strong><br /> + </p> + +<table class="bordered"><tr class="header"> +<th>Given Rule</th> +<th>Resulting Substitution</th> +</tr> +<tr> +<td>^localpath(.*) otherpath$1</td> +<td>/somepath/otherpath/pathinfo</td> +</tr> +<tr class="odd"> +<td>^localpath(.*) otherpath$1 [R]</td> +<td>http://thishost/somepath/otherpath/pathinfo via external +redirection</td> +</tr> +<tr> +<td>^localpath(.*) otherpath$1 [P]</td> +<td>doesn't make sense, not supported</td> +</tr> +<tr class="odd"> +<td>^localpath(.*) /otherpath$1</td> +<td>/otherpath/pathinfo</td> +</tr> +<tr> +<td>^localpath(.*) /otherpath$1 [R]</td> +<td>http://thishost/otherpath/pathinfo via external redirection</td> +</tr> +<tr class="odd"> +<td>^localpath(.*) /otherpath$1 [P]</td> +<td>doesn't make sense, not supported</td> +</tr> +<tr> +<td>^localpath(.*) http://thishost/otherpath$1</td> +<td>/otherpath/pathinfo</td> +</tr> +<tr class="odd"> +<td>^localpath(.*) http://thishost/otherpath$1 [R]</td> +<td>http://thishost/otherpath/pathinfo via external redirection</td> +</tr> +<tr> +<td>^localpath(.*) http://thishost/otherpath$1 [P]</td> +<td>doesn't make sense, not supported</td> +</tr> +<tr class="odd"> +<td>^localpath(.*) http://otherhost/otherpath$1</td> +<td>http://otherhost/otherpath/pathinfo via external redirection</td> +</tr> +<tr> +<td>^localpath(.*) http://otherhost/otherpath$1 [R]</td> +<td>http://otherhost/otherpath/pathinfo via external redirection (the [R] flag is redundant)</td> +</tr> +<tr class="odd"> +<td>^localpath(.*) http://otherhost/otherpath$1 [P]</td> +<td>http://otherhost/otherpath/pathinfo via internal proxy</td> +</tr> +</table> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_rewrite.html" title="English"> en </a> | +<a href="../fr/mod/mod_rewrite.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_rewrite.html.fr.utf8 b/docs/manual/mod/mod_rewrite.html.fr.utf8 new file mode 100644 index 0000000..2f2625a --- /dev/null +++ b/docs/manual/mod/mod_rewrite.html.fr.utf8 @@ -0,0 +1,1731 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_rewrite - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_rewrite</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_rewrite.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module fournit un moteur de réécriture à base de +règles permettant de réécrire les URLs des requêtes +à la volée</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>rewrite_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_rewrite.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> utilise un moteur de + réécriture à base de règles, basé sur un interpréteur + d'expressions rationnelles PCRE, pour réécrire les URLs à la volée. Par + défaut, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> met en correspondance une URL + avec le système de fichiers. Cependant, on peut aussi l'utiliser + pour rediriger une URL vers une autre URL, ou pour invoquer une + requête interne à destination du mandataire.</p> + <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> fournit une méthode souple et + puissante pour manipuler les URLs en utilisant un nombre illimité + de règles. Chaque règle peut être associée à un nombre illimité de + conditions, afin de vous permettre de réécrire les URLs en + fonction de variables du serveur, de variables d'environnement, + d'en-têtes HTTP, ou de repères temporels.</p> + <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> agit sur la totalité de l'URL, y + compris la partie chemin. Une règle de réécriture peut être + invoquée dans <code>httpd.conf</code> ou dans un fichier + <code>.htaccess</code>. Le chemin généré par une règle de + réécriture peut inclure une chaîne de paramètres, ou peut renvoyer + vers un traitement secondaire interne, une redirection vers une + requête externe ou vers le mandataire interne.</p> + + <p>Vous trouverez d'avantage de détails, discussions et exemples + dans la + <a href="../rewrite/">documentation détaillée + sur mod_rewrite</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#rewritebase">RewriteBase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">RewriteCond</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewriteengine">RewriteEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">RewriteMap</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewriteoptions">RewriteOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_rewrite">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_rewrite">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Journalisation</a></h2> + + <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> offre une journalisation détaillée + de ses actions aux niveaux de journalisation <code>trace1</code> à + <code>trace8</code>. Le niveau de journalisation peut être défini de + manière spécifique à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> via la directive + <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> : jusqu'au niveau + <code>debug</code> aucune action n'est journalisée, alors qu'elles + le sont pratiquement toutes au niveau <code>trace8</code>.</p> + + <div class="note"> + L'utilisation d'un niveau de journalisation élevé pour + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> va ralentir votre serveur HTTP Apache + de manière dramatique ! N'utilisez un niveau de journalisation + supérieur à <code>trace2</code> qu'à des fins de débogage ! + </div> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogLevel alert rewrite:trace3</pre> +</div> + + <div class="note"><h3>RewriteLog</h3> + <p>Ceux qui sont familiers avec les versions précédentes de + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> vont probablement rechercher en vain les + directives <code>RewriteLog</code> et + <code>RewriteLogLevel</code>. Elles ont été en effet remplacées + par une configuration de la journalisation par module, comme + mentionné plus haut. + </p> + + <p>Pour extraire les traces spécifiques à + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, affichez le fichier journal en + redirigeant la sortie vers grep :</p> + <div class="example"><p><code> + tail -f error_log|fgrep '[rewrite:' + </code></p></div> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rewritebase" id="rewritebase">Directive</a> <a name="RewriteBase" id="RewriteBase">RewriteBase</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URL de base pour les réécritures au niveau +répertoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteBase <em>chemin_URL</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Pas de valeur par défaut</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + <p>La directive <code class="directive">RewriteBase</code> permet de + spécifier le préfixe d'URL à utiliser dans un contexte de + répertoire (htaccess) pour les directives + <code class="directive"><a href="#rewriterule">RewriteRule</a></code> qui réécrivent vers un chemin + relatif.</p> + <p>Cette directive est <em>obligatoire</em> si vous utilisez un + chemin relatif dans une substitution, et dans un contexte de + répertoire (htaccess), sauf si au moins une de ces conditions est + vérifiée :</p> + <ul> + <li>La requête initiale, ainsi que la substitution, se + situent par raport à la valeur de la directive + <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> (c'est à + dire que pour y accéder, il n'est pas nécessaire d'utiliser + une directive telle qu'<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>).</li> + <li>Le chemin du système de fichiers vers le répertoire + contenant la <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, suffixé par + la substitution relative est aussi valide en tant qu'URL sur + le serveur (ce qui est rare).</li> + <li>A partir de la version 2.4.16 du serveur HTTP Apache, + cette directive peut être omise lorsque la requête est mise en + correspondance avec le système de fichiers via la directive + <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> ou le module + <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</li> + </ul> + +<p>Dans l'exemple ci-dessous, la directive +<code class="directive">RewriteBase</code> est nécessaire afin d'éviter une +réécriture en http://example.com/opt/myapp-1.2.3/welcome.html car la +ressource n'était pas relative à la racine des documents. Cette erreur +de configuration aurait conduit le serveur à rechercher un répertoire +"opt" à la racine des documents.</p> + +<pre class="prettyprint lang-config">DocumentRoot "/var/www/example.com" +AliasMatch "^/myapp" "/opt/myapp-1.2.3" +<Directory "/opt/myapp-1.2.3"> + RewriteEngine On + RewriteBase "/myapp/" + RewriteRule "^index\.html$" "welcome.html" +</Directory></pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rewritecond" id="rewritecond">Directive</a> <a name="RewriteCond" id="RewriteCond">RewriteCond</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une condition qui devra être satisfaite pour que +la réécriture soit effectuée +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> RewriteCond + <em>chaîne_de_test</em> <em>expression_de_comparaison</em> [<em>drapeaux</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + <p>La directive <code class="directive">RewriteCond</code> permet de définir une + condition d'exécution d'une règle. Une ou plusieurs conditions + <code class="directive">RewriteCond</code> peuvent précéder une + directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code>. La règle de réécriture correspondante n'est + ainsi exécutée que si ces conditions sont satisfaites, + <strong>et</strong> si l'URI correspond au modèle spécifié dans la + règle.</p> + + <p><em>TestString</em> est une chaîne qui peut contenir les + extensions suivantes en plus du texte simple :</p> + + <ul> + <li> + <strong>références arrières de règle de réécriture</strong> : + ce sont des références arrières de la forme + <strong><code>$N</code></strong> (0 <= N <= 9). $1 à $9 + permettent d'accéder aux parties regroupées (entre + parenthèses) du modèle, issues de la <code>RewriteRule</code> + concernée par le jeu de conditions <code>RewriteCond</code> + courant. $0 donne accès à l'ensemble de la chaîne + correspondant au modèle.</li> + <li> + <strong>Références arrières de condition de réécriture + </strong> : ce sont des références arrières de la forme + <strong><code>%N</code></strong> (0 <= N <= 9). %1 à %9 + permettent d'accéder aux parties regroupées (entre + parenthèses) du modèle, issues de la dernière + condition <code>RewriteCond</code> satisfaite du jeu de conditions <code>RewriteCond</code> + courant. %0 donne accès à l'ensemble de la chaîne + correspondant au modèle.</li> + <li> + <strong>extensions de table de réécriture</strong> : + ce sont des extensions de la forme <strong><code>${nomTable:clé|défaut}</code></strong>. Voir la <a>href="#mapfunc">documentation sur RewriteMap</a> + pour plus de détails. + </li> + <li> + <strong>Variables du serveur</strong> : + ce sont des variables de la forme + <strong><code>%{</code> <em>NAME_OF_VARIABLE</em> <code>}</code></strong>, + où <em>NOM_DE_VARIABLE</em> peut contenir une chaîne issue + de la liste suivante : + + <table> + + <tr> + <th>En-têtes HTTP :</th> <th>connexion & requête:</th> <th /> + </tr> + + <tr> + <td> + HTTP_ACCEPT<br /> + HTTP_COOKIE<br /> + HTTP_FORWARDED<br /> + HTTP_HOST<br /> + HTTP_PROXY_CONNECTION<br /> + HTTP_REFERER<br /> + HTTP_USER_AGENT<br /> + </td> + + <td> + AUTH_TYPE<br /> + CONN_REMOTE_ADDR<br /> + CONTEXT_PREFIX<br /> + CONTEXT_DOCUMENT_ROOT<br /> + IPV6<br /> + PATH_INFO<br /> + QUERY_STRING<br /> + REMOTE_ADDR<br /> + REMOTE_HOST<br /> + REMOTE_IDENT<br /> + REMOTE_PORT<br /> + REMOTE_USER<br /> + REQUEST_METHOD<br /> + SCRIPT_FILENAME<br /> + </td> + + <td /> + </tr> + + <tr> + <th>variables internes au serveur :</th> <th>date et heure :</th> <th>spéciaux :</th> + </tr> + + <tr> + <td> + DOCUMENT_ROOT<br /> + SCRIPT_GROUP<br /> + SCRIPT_USER<br /> + SERVER_ADDR<br /> + SERVER_ADMIN<br /> + SERVER_NAME<br /> + SERVER_PORT<br /> + SERVER_PROTOCOL<br /> + SERVER_SOFTWARE<br /> + </td> + + <td> + TIME_YEAR<br /> + TIME_MON<br /> + TIME_DAY<br /> + TIME_HOUR<br /> + TIME_MIN<br /> + TIME_SEC<br /> + TIME_WDAY<br /> + TIME<br /> + </td> + + <td> + API_VERSION<br /> + CONN_REMOTE_ADDR<br /> + HTTPS<br /> + IS_SUBREQ<br /> + REMOTE_ADDR<br /> + REQUEST_FILENAME<br /> + REQUEST_SCHEME<br /> + REQUEST_URI<br /> + THE_REQUEST<br /> + </td> + </tr> + </table> + + <p>Ces variables correspondent toutes aux en-têtes MIME + HTTP de mêmes noms, au variables C du serveur HTTP Apache, ou + aux champs <code>struct tm</code> du système Unix. La + plupart d'entre elles sont documentées <a href="../expr.html#vars">ici</a>, dans la + spécification CGI ou ailleurs dans le + manuel.</p> + + <p>SERVER_NAME et SERVER_PORT dépendent respectivement + des valeurs des directives <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="../mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>.</p> + + <p>Parmi les variables + spécifiques à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, ou trouve les suivantes :</p> + + <dl> + <dt><code>API_VERSION</code></dt> + + <dd>C'est la version de l'API des modules Apache httpd + (l'interface interne entre le serveur et les modules) + pour la construction courante de httpd, telle qu'elle + est définie dans include/ap_mmn.h. La version de l'API + des modules correspond à la version du serveur Apache + httpd + utilisé (par exemple, pour la version 1.3.14 d'Apache + httpd, + il s'agit de la version 19990320:10), mais intéresse + principalement les auteurs de modules.</dd> + + <dt><code>CONN_REMOTE_ADDR</code></dt> + + <dd>A partir de la version 2.4.8 : l'adresse IP distante de + la connexion (voir le module + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>).</dd> + + <dt><code>HTTPS</code></dt> + + <dd>Contient le texte "on" si la connexion + utilise SSL/TLS, "off" dans le cas contraire + (Cette variable peut être utilisée sans problème, que + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> soit chargé ou non).</dd> + + <dt><code>IS_SUBREQ</code></dt> + + <dd>Contient le texte "true" si la requête en cours + de traitement est une sous-requête, "false" dans le + cas contraire. Une sous-requête est générée quand un + module a besoin de se référer à des fichiers ou URIs + addidionnels pour pouvoir mener à bien sa tâche.</dd> + + <dt><code>REMOTE_ADDR</code></dt> + <dd>L'adresse IP de l'hôte distant (se référer au + module <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>).</dd> + + <dt><code>REQUEST_FILENAME</code></dt> + + <dd>Le chemin complet local au système de fichiers + du fichier ou du script correspondant + à la requête, s'il a déjà été déterminé par le serveur + au moment où on y fait référence. Dans le cas + contraire, et en particulier dans le cas d'un serveur + virtuel, <code>REQUEST_FILENAME</code> contient la + valeur de <code>REQUEST_URI</code>. En fonction de la + valeur de la directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code>, le serveur + peut n'utiliser que certains éléments de tête du + <code>REQUEST_URI</code> pour déterminer à quel + fichier correspond la requête.</dd> + + <dt><code>REQUEST_SCHEME</code></dt> + + <dd>Contient le protocole de la requête (en général + "http" ou "https"). La valeur peut être modifiée par + la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</dd> + + <dt><code>REQUEST_URI</code></dt> + + <dd>La partie chemin de l'URI de la requête, comme + "/index.html". Ceci exclut en particulier la chaîne de + paramètres de la requête qui est contenue dans la + variable <code>QUERY_STRING</code>.</dd> + + <dt><code>THE_REQUEST</code></dt> + + <dd>La ligne de requête HTTP complète envoyée par le + navigateur au serveur (par exemple, "<code>GET + /index.html HTTP/1.1</code>"), à l'exclusion de tout + en-tête ajouté par le navigateur. Cette + valeur n'a pas été déséchappée (décodée), à la + différence de la plupart des variables suivantes.</dd> + </dl> + + </li> + </ul> + + <p>Si la <em>chaîne_de_test</em> contient la valeur spéciale + <code>expr</code>, <em>expression_de_comparaison</em> sera traité + en tant qu'expression rationnelle de type <a href="../expr.html">ap_expr</a>. Si des en-têtes HTTP sont + référencés dans l'expression rationnelle, et si le drapeau + <code>novary</code> n'est pas activé, ils seront ajoutés à + l'en-tête Vary.</p> + + <p>Autres points à connaître ::</p> + <ol> + <li> + <p>Les variables <code>SCRIPT_FILENAME</code> et + <code>REQUEST_FILENAME</code> contiennent toutes deux la valeur + du champ <code>filename</code> de la + structure interne <code>request_rec</code>du serveur HTTP Apache. + Le premier nom correspond au nom de variable bien connu CGI, + alors que le second est l'équivalent de REQUEST_URI (qui + contient la valeur du champ <code>uri</code> de + <code>request_rec</code>).</p> + <p>Si une substitution intervient et si la réécriture se + poursuit, la valeur des deux variables sera mise à jour en + conséquence.</p> + <p>Dans le contexte du serveur principal (c'est à dire avant que + la requête ne soit mise en correspondance avec le système de + fichiers), SCRIPT_FILENAME et REQUEST_FILENAME ne peuvent pas + contenir le chemin entier dans le système de fichiers local car + ce chemin b'est pas connu à ce stade du traitement. Dans ce cas, + les deux variables contiendront la valeur de REQUEST_URI. Pour + obtenir le chemin complet de la requête dans le système de + fichiers local dans le contexte du serveur principal, utilisez une + référence avant à base d'URL + <code>%{LA-U:REQUEST_FILENAME}</code> pour déterminer la valeur + finale de REQUEST_FILENAME.</p></li> + + + <li> + <code>%{ENV:<em>variable</em>}</code>, où <em>variable</em> peut + correspondre à une variable d'environnement quelconque.</li> + <li> + <code>%{ENV:variable}</code> est aussi disponible, où + <em>variable</em> peut correspondre à toute variable + d'environnement. Peut être consulté via des structures internes + d'Apache httpd et (si on ne les trouve pas ici) via la fonction + <code>getenv()</code> à partir du processus du serveur Apache + httpd.</li> + + <li>Que <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> soit chargé ou non, on peut + utiliser <code>%{SSL:variable}</code>, où <em>variable</em> + peut être remplacé par le nom d'une + <a href="mod_ssl.html#envvars">variable + d'environnement SSL</a> . Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> n'est pas + chargé, cette variable contiendra toujours une chaîne vide. + Exemple : <code>%{SSL:SSL_CIPHER_USEKEYSIZE}</code> pourra + contenir la valeur <code>128</code>. Ces variables sont + disponibles même si l'option <code>StdEnvVars</code> de la + directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> n'a + pas été définie.</li> + + <li> + On peut utiliser <code>%{HTTP:en-tête}</code>, où + <em>en-tête</em> peut correspondre à tout nom d'en-tête MIME + HTTP, pour extraire la valeur d'un en-tête envoyé dans la + requête HTTP. Par exemple, <code>%{HTTP:Proxy-Connection}</code> + contiendra la valeur de l'en-tête HTTP + "<code>Proxy-Connection:</code>". + Si on utilise un en-tête HTTP + dans une condition, et si cette condition est évaluée à + <code>vrai</code> pour la requête, cet en-tête sera ajouté à l'en-tête Vary de + la réponse. Il ne le sera pas si la condition est évaluée à + <code>faux</code>. L'ajout de l'en-tête HTTP à l'en-tête Vary + est nécessaire à une mise en cache appropriée. + <p>Il faut garder à l'esprit que les conditions suivent une + logique de cout-circuit si le drapeau + '<strong><code>ornext|OR</code></strong>' est utilisé, et que de + ce fait, certaines d'entre elles ne seront pas évaluées.</p> + </li> + + <li>A des fins de référence avant, on peut utiliser, + <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>, qui + permet d'effectuer une sous-requête interne à base d'URL, afin + de déterminer la valeur finale de <em>variable</em>. Ceci permet + d'accéder à la valeur d'une variable pour la réécriture inconnue + à ce stade du traitement, mais qui sera définie au + cours d'une phase ultérieure. + <p>Par exemple, pour effectuer une réécriture dépendant de la + variable <code>REMOTE_USER</code> dans le contexte du serveur + principal (fichier <code>httpd.conf</code>), vous devez utiliser + <code>%{LA-U:REMOTE_USER}</code> - cette variable est définie + par la phase d'autorisation qui intervient <em>après</em> la + phase de traduction d'URL (pendant laquelle <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + opère).</p> + <p>Par contre, comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> implémente son contexte de + répertoire (fichier <code>.htaccess</code>) via la phase Fixup + de l'API, et comme la phase d'autorisation intervient + <em>avant</em> cette dernière, vous pouvez vous contenter + d'utiliser <code>%{REMOTE_USER}</code> dans ce contexte.</p></li> + + <li> + <code>%{LA-F:variable}</code> peut être utilisée pour effectuer + une sous-requête interne (basée sur le nom de fichier), afin de + déterminer la valeur finale de <em>variable</em>. La plupart du + temps, elle est identique à LA-U (voir ci-dessus).</li> + </ol> + + + <p><em>expression_de_comparaison</em> est une expression + rationnelle qui est appliquée à l'instance actuelle de + <em>chaîne_de_test</em>. <em>chaîne_de_test</em> est d'abord + évaluée, puis comparée à + l'<em>expression_de_comparaison</em>.</p> + + <p><em>expression_de_comparaison</em> est en général une + <em>expression rationnelle compatible perl</em>, mais vous + disposez des syntaxes supplémentaires suivantes pour effectuer + d'autres tests utiles sur <em>chaîne_de_test</em> : + </p> + + <ol> + <li>Vous pouvez préfixer l'expression avec un caractère + '<code>!</code>' (point d'exclamation) pour inverser le résultat + de la condition, quelle que soit l'<em>expression de + comparaison</em> utilisée.</li> + + <li>Vous pouvez effectuer des comparaisons lexicographiques de + chaînes : + + <dl> + <dt><strong><expression</strong></dt> + <dd>inférieur au sens lexicographique<br /> + Traite l'<em>expression</em> comme une chaîne de + caractères et la compare lexicographiquement à + <em>chaîne_de_test</em>. La condition est satisfaite si + <em>chaîne_de_test</em> est inférieure au sens + lexicographique à l'<em>expression</em>.</dd> + + <dt><strong>>expression</strong></dt> + <dd>supérieur au sens lexicographique<br /> + Traite l'<em>expression</em> comme une chaîne de + caractères et la compare lexicographiquement à + <em>chaîne_de_test</em>. La condition est satisfaite si + <em>chaîne_de_test</em> est supérieure au sens + lexicographique à l'<em>expression</em>.</dd> + + <dt><strong>=expression</strong></dt> + <dd>égal au sens lexicographique<br /> + Traite l'<em>expression</em> comme une chaîne de + caractères et la compare lexicographiquement à + <em>chaîne_de_test</em>. La condition est satisfaite si + <em>chaîne_de_test</em> est égale au sens + lexicographique à l'<em>expression</em> (les deux chaînes + sont exactement identiques, caractère pour caractère). Si + <em>expression</em> est <code>""</code> (deux guillemets), + <em>chaîne_de_test</em> est comparée à la + chaîne vide.</dd> + + <dt><strong><=expression de comparaison</strong></dt> + <dd>inférieur ou égal à au sens lexicographique<br /> + Considère l'<em>expression_de_comparaison</em> comme une + chaîne de caractères et la compare au sens lexicographique à + la <em>chaîne_de_test</em>. Vrai si <em>chaîne_de_test</em> + précède lexicographiquement <em>expression_de_comparaison</em>, ou est + égale à <em>expression_de_comparaison</em> (les deux chaînes + sont identiques, caractère pour caractère).</dd> + + <dt><strong>>=expression de comparaison</strong></dt> + <dd>supérieur ou égal à au sens lexicographique<br /> + Considère l'<em>expression_de_comparaison</em> comme une + chaîne de caractères et la compare au sens lexicographique à + la <em>chaîne_de_test</em>. Vrai si <em>chaîne_de_test</em> + suit lexicographiquement <em>expression_de_comparaison</em>, ou est + égale à <em>expression_de_comparaison</em> (les deux chaînes + sont identiques, caractère pour caractère).</dd> + </dl> + <div class="note"><h3>Note</h3> + L'opérateur de comparaison de chaînes fait partie des arguments de la + <em>CondPattern</em> et doit par conséquent se trouver entre les + guillemets s'ils sont présents. Exemple : + + <pre class="prettyprint lang-config">RewriteCond %{HTTP_USER_AGENT} "=This Robot/1.0"</pre> + + </div> + + </li> + + <li> + Vous pouvez effectuer des comparaisons d'entiers : + <dl> + + <dt><strong>-eq</strong></dt> + <dd>est numériquement égal à<br /> + La <em>chaîne_de_test</em> est considérée comme un entier, + et est comparée numériquement à l'<em>expression de + comparaison</em>. Vrai si les deux expressions sont + numériquement égales.</dd> + + <dt><strong>-ge</strong></dt> + <dd>est numériquement supérieur ou égal à<br /> + La <em>chaîne_de_test</em> est considérée comme un entier, + et est comparée numériquement à l'<em>expression de + comparaison</em>. Vrai si <em>chaîne_de_test</em> est + numériquement supérieure ou égale à + <em>expression_de_comparaison</em>.</dd> + + <dt><strong>-gt</strong></dt> + <dd>est numériquement supérieur à<br /> + La <em>chaîne_de_test</em> est considérée comme un entier, + et est comparée numériquement à l'<em>expression de + comparaison</em>. Vrai si <em>chaîne_de_test</em> est + numériquement + supérieure à <em>expression_de_comparaison</em>.</dd> + + <dt><strong>-le</strong></dt> + <dd>est numériquement inférieur ou égal à<br /> + La <em>chaîne_de_test</em> est considérée comme un entier, + et est comparée numériquement à l'<em>expression de + comparaison</em>. Vrai si <em>chaîne_de_test</em> est + numériquement + inférieure ou égale à <em>expression_de_comparaison</em>. + Attention à la confusion avec le drapeau <strong>-l</strong> + en utilisant la variante the <strong>-L</strong> ou + <strong>-h</strong>.</dd> + + <dt><strong>-lt</strong></dt> + <dd>est numériquement inférieur à<br /> + La <em>chaîne_de_test</em> est considérée comme un entier, + et est comparée numériquement à l'<em>expression de + comparaison</em>. Vrai si <em>chaîne_de_test</em> est + numériquement + inférieure à <em>expression_de_comparaison</em>. + Attention à la confusion avec le drapeau <strong>-l</strong> + en utilisant la variante the <strong>-L</strong> ou + <strong>-h</strong>.</dd> + + <dt><strong>-ne</strong></dt> + <dd>Est numériquement <strong>n</strong>on <strong>é</strong>gal à<br /> + La <em>Chaîne de test</em> est considérée comme un entier et est + numériquement comparée à l'<em>expression de comparaison</em>. Vrai + si les deux éléments comparés sont numériquement différents. + Equivalent à <code>!-eq</code>.</dd> + + </dl> + </li> + + <li>Vous pouvez effectuer différents tests sur les attributs de + fichier : + <dl> + + <dt><strong>-d</strong></dt> + <dd>est un <strong>r</strong>épertoire<br /> + Traite <em>chaîne_de_test</em> comme un chemin et vérifie + s'il existe ou pas, et s'il s'agit d'un répertoire.</dd> + + <dt><strong>-f</strong></dt> + <dd>est un <strong>f</strong>ichier régulier<br /> + Traite <em>chaîne_de_test</em> comme un chemin et vérifie + s'il existe ou pas, et s'il s'agit d'un fichier régulier.</dd> + + <dt><strong>-F</strong></dt> + <dd>test de l'existence d'un fichier via une sous-requête<br /> + Vérifie si <em>chaîne_de_test</em> est un fichier valide, + accessible à travers tous les contrôles d'accès du serveur + actuellement configurés pour ce chemin. C'est une + sous-requête interne qui effectue cette vérification - à + utiliser avec précautions car les performances du serveur + peuvent s'en trouver affectées !</dd> + + <dt><strong>-h</strong></dt> + <dd>est un lien symbolique, selon la convention bash<br /> + Voir <strong>-l</strong>.</dd> + + <dt><strong>-l</strong></dt> + <dd>est un <strong>l</strong>ien symbolique<br /> + Considère la <em>chaîne_de_test</em> comme un chemin et + vérifie son existence et si elle est un lien symbolique. On + peut aussi utiliser la convention bash <strong>-L</strong> + ou <strong>-h</strong> lorsqu'il y a risque de confusion + avec les tests <strong>-lt</strong> ou <strong>-le</strong>.</dd> + + <dt><strong>-L</strong></dt> + <dd>est un lien symbolique, selon la convention bash<br /> + Voir <strong>-l</strong>.</dd> + + <dt><strong>-s</strong></dt> + <dd>est un fichier régulier d'une certaine taille<br /> + Considère la <em>chaîne_de_test</em> comme un chemin et + vérifie son existence et si elle est un fichier régulier + d'une taille supérieure à zéro.</dd> + + <dt><strong>-U</strong></dt> + <dd><p>test de l'existence d'une + URL via une sous-requête<br /> + Vérifie si <em>chaîne_de_test</em> est une URL valide, + accessible à travers tous les contrôles d'accès du serveur + actuellement configurés pour ce chemin. C'est une + sous-requête interne qui effectue cette vérification - à + utiliser avec précautions car les performances du serveur + peuvent s'en trouver affectées !</p> + <p>Ce drapeau ne renvoie <em>que</em> des informations + concernant le contrôle d'accès, l'authentification et + l'autorisation. Il ne renvoie <em>pas</em> d'informations + concernant le code d'état que le gestionnaire configuré + (static file, CGI, proxy, etc...) aurait, quant à lui, + retourné.</p></dd> + + <dt><strong>-x</strong></dt> + <dd>a l'attribut d'exécution positionné<br /> + Considère la <em>chaîne_de_test</em> comme un chemin et + vérifie son existence et si elle a son attribut d'exécution + positionné. Ce positionnement est déterminé en fonction de + l'OS sous-jacent.</dd> + + </dl> + + Par exemple: + + <pre class="prettyprint lang-config">RewriteCond /var/www/%{REQUEST_URI} !-f +RewriteRule ^(.+) /other/archive/$1 [R]</pre> + + + </li> + + <li> + <p>Si la <em>chaîne_de_test</em> contient la valeur spéciale + <code>expr</code>, la <em>chaîne de comparaison</em> sera + traitée en tant qu'expression rationnelle de type <a href="../expr.html">ap_expr</a>.</p> + + <p> + Dans l'exemple ci-dessous, on utilise <code>-strmatch</code> + pour comparer le <code>REFERER</code> avec le nom d'hôte du + site afin de bloquer le hotlinking (référencement direct) + non désiré. + </p> + + <pre class="prettyprint lang-config"> RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'" + RewriteRule "^/images" "-" [F]</pre> + + </li> + </ol> + + <p>Vous pouvez aussi définir certains drapeaux pour + l'<em>expression_de_comparaison</em> en ajoutant ces + <strong><code>[</code><em>drapeaux</em><code>]</code></strong> + comme troisième argument de la directive + <code class="directive">RewriteCond</code>, où <em>drapeaux</em> est un + sous-ensemble séparé par des virgules des drapeaux suivants :</p> + + <ul> + <li>'<strong><code>nocase|NC</code></strong>' + (<strong>n</strong>o <strong>c</strong>ase)<br /> + Rend le test insensible à la casse - il n'est pas fait de + distinction entre majuscules et minuscules, à la fois dans le + développement de <em>chaîne_de_test</em> et dans + <em>expression_de_comparaison</em>. Ce drapeau n'est pris en + compte que lors d'une comparaison entre <em>chaîne_de_test</em> + et <em>expression_de_comparaison</em>. Il ne l'est pas pour les + vérification par sous-requêtes ou sur le système de + fichiers.</li> + + <li> + '<strong><code>ornext|OR</code></strong>' + (<strong>ou</strong> condition suivante)<br /> + Permet de chaîner les conditions de règles avec un OU au + lieu du AND implicite. Exemple typique : + +<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_HOST}" "^host1" [OR] +RewriteCond "%{REMOTE_HOST}" "^host2" [OR] +RewriteCond "%{REMOTE_HOST}" "^host3" +RewriteRule ...règles concernant tous ces hôtes...</pre> + + + Sans ce drapeau, les paires + condition/règle devraient être écrites trois fois. + </li> + + <li>'<strong><code>novary|NV</code></strong>' + (<strong>n</strong>o <strong>v</strong>ary)<br /> + Si la condition contient un en-tête HTTP, ce drapeau empêche + ce dernier d'être ajouté à l'en-tête Vary de la réponse. <br /> + L'utilisation de ce drapeau peut provoquer une mise en cache + incorrecte de la réponse, si la représentation de cette réponse + varie avec la valeur de l'en-tête considéré. Ce drapeau ne + devrait donc être utilisé que si l'on maîtrise parfaitement le + fonctionnement de l'en-tête Vary. + </li> + </ul> + + + <p><strong>Exemple :</strong></p> + + <p>Pour réécrire la page d'accueil d'un site en fonction de + l'en-tête ``<code>User-Agent:</code>'' de la requête, vous + pouvez utiliser ce qui suit : </p> + +<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "(iPhone|Blackberry|Android)" +RewriteRule "^/$" "/homepage.mobile.html" [L] + +RewriteRule "^/$" "/homepage.std.html" [L]</pre> + + + <p>Explications : si vous utilisez un navigateur + qui s'identifie comme un + navigateur de plateforme mobile (notez que l'exemple est + incomplet car il existe de nombreuses autres plateformes + mobiles), c'est la version pour mobile de la page d'accueil qui + sera renvoyée. Dans le cas contraire, ce sera la page d'accueil + standard.</p> + + <p>Par défaut, plusieurs directives <code class="directive">RewriteCond</code> + sont évaluées de manière séquentielle et combinées à l'aide d'un + <strong>ET</strong> logique. Si une condition n'est pas vérifiée et en + l'absence d'un opérateur logique <strong><code>OU</code></strong>, + l'ensemble du jeu de règles est abandonné et les conditions restantes ne + sont pas évaluées. + </p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rewriteengine" id="rewriteengine">Directive</a> <a name="RewriteEngine" id="RewriteEngine">RewriteEngine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive l'exécution du +moteur de réécriture</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteEngine on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RewriteEngine off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + + <p>La directive <code class="directive">RewriteEngine</code> active ou + désactive l'exécution du moteur de réécriture. Si sa valeur est + <code>off</code>, ce module n'exécutera aucun traitement et ne + mettra pas à jour les variables d'environnement + <code>SCRIPT_URx</code>.</p> + + <p>Plutôt que de commenter toutes les directives <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, il est préférable + d'utiliser cette directive si l'on souhaite désactiver les + règles de réécriture dans un contexte particulier.</p> + + <p>Notez que les hôtes virtuels n'héritent pas des + configurations de réécriture. Ceci implique que vous devez + insérer une directive <code>RewriteEngine on</code> dans chaque + hôte virtuel pour lequel vous souhaitez utiliser des règles + de réécriture.</p> + + <p>Les directives <code class="directive"><a href="#rewritemap">RewriteMap</a></code> du type + <code>prg</code> ne sont pas prises en compte au cours de + l'initialisation du serveur si elle ont été définies dans un + contexte où la directive <code class="directive">RewriteEngine</code> n'a + pas été définie à <code>on</code>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rewritemap" id="rewritemap">Directive</a> <a name="RewriteMap" id="RewriteMap">RewriteMap</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une fonction de mise en correspondance pour la +recherche de mots-clés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> [<em>MapTypeOptions</em>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième paramètre, MapTypeOptions, est disponible à partir +de la version 2.4.29 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">RewriteMap</code> définit une + <em>Table de correspondance pour la réécriture</em> que les + fonctions de mise en correspondance + peuvent utiliser dans les chaînes de substitution des règles + pour insérer/substituer des champs en recherchant des mots-clés. + La source utilisée pour cette recherche peut être de plusieurs + types.</p> + + <p><a id="mapfunc" name="mapfunc"><em>MapName</em></a> est le nom de la table de correspondance + et servira à spécifier une fonction de mise en correspondance + pour les chaînes de substitution d'une règle de réécriture selon + une des constructions suivantes :</p> + + <p class="indent"> + <strong><code>${</code> <em>MapName</em> <code>:</code> + <em>mot-clé</em> <code>}</code><br /> + <code>${</code> <em>MapName</em> <code>:</code> + <em>mot-clé</em> <code>|</code> <em>valeur par défaut</em> + <code>}</code></strong> + </p> + + <p>Lorsqu'une telle construction est rencontrée, la table de + correspondance <em>MapName</em> est consultée + et la clé <em>mot-clé</em> recherchée. Si la clé est trouvée, la + construction est remplacée par + la <em>valeur de remplacement</em>. Si la clé n'est pas trouvée, + elle est remplacée par la <em>valeur par défaut</em>, ou par une + chaîne vide si aucune <em>valeur par défaut</em> n'est + spécifiée. La valeur vide se comporte comme si la + clé était absente ; il est donc impossible de distinguer une + valeur vide d'une absence de clé.</p> + + <p>Par exemple, vous pouvez définir une directive + <code class="directive">RewriteMap</code> comme suit </p> + + <pre class="prettyprint lang-config">RewriteMap map-exemple "txt:/chemin/vers/fichier/map.txt"</pre> + + + <p>Vous pourrez ensuite utiliser cette table dans une + directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code> comme suit :</p> + + <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${map-exemple:$1}"</pre> + + + <p>La signification de l'argument <em>MapTypeOptions</em> dépend du <em>MapType</em> + spécifié. Veuillez vous référer au document <a href="../rewrite/rewritemap.html">Utiliser RewriteMap</a> pour + plus de détails.</p> + + <p>Les combinaisons suivantes pour <em>type de correspondance</em> + et <em>MapSource</em> + peuvent être utilisées :</p> + +<dl> + <dt>txt</dt> + <dd>Un fichier texte contenant des paires clé-valeur séparées + par des espaces, une paire par ligne (<a href="../rewrite/rewritemap.html#txt">Détails ...</a>).</dd> + + <dt>rnd</dt> + <dd>Sélection aléatoire d'une entrée depuis un fichier texte (<a href="../rewrite/rewritemap.html#rnd">Détails ...</a>).</dd> + + <dt>dbm</dt> + <dd>Recherche une entrée dans un fichier dbm contenant des + paires nom-valeur. Le condensé hash est élaboré à partir d'un + format de fichier texte via l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code> (<a href="../rewrite/rewritemap.html#dbm">Détails ...</a>).</dd> + + <dt>int</dt> + <dd>Une des quatre fonctions internes disponibles que fournit + <code>RewriteMap</code>: toupper, tolower, escape ou unescape + (<a href="../rewrite/rewritemap.html#int">Détails ...</a>).</dd> + + <dt>prg</dt> + <dd>Appelle un programme externe ou un script pour effectuer la + réécriture (<a href="../rewrite/rewritemap.html#prg">Détails + ...</a>).</dd> + + <dt>dbd or fastdbd</dt> + <dd>Une commande SQL SELECT à exécuter pour rechercher la cible + de réécriture (<a href="../rewrite/rewritemap.html#dbd">Détails + ...</a>).</dd> + </dl> + +<p>Vous trouverez plus de détails et de nombreux exemples dans le <a href="../rewrite/rewritemap.html">RewriteMap HowTo</a>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rewriteoptions" id="rewriteoptions">Directive</a> <a name="RewriteOptions" id="RewriteOptions">RewriteOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure certaines options spéciales +pour le moteur de réécriture</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteOptions <var>Options</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + + <p>La directive <code class="directive">RewriteOptions</code> définit + certaines options spéciales pour la configuration au niveau du + serveur ou du répertoire. La chaîne de caractères <em>Option</em> + ne peut actuellement prendre qu'une des valeurs suivantes :</p> + + <dl> + <dt><code>Inherit</code></dt> + <dd> + + <p>Ceci force la configuration locale à hériter de la + configuration du niveau supérieur. Dans le contexte des hôtes + virtuels, cela signifie que les correspondances, conditions et + règles du serveur principal sont héritées. Dans le contexte des + répertoires, cela signifie que les conditions et règles de la + configuration <code>.htaccess</code> ou les sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du répertoire + parent sont héritées. Les règles héritées sont virtuellement + copiées dans la section où cette directive est utilisée. Si elles + sont utilisées avec des règles locales, les règles héritées sont + placées après ces dernières. La place de cette directive - avant + ou après les règles locales - n'a aucune influence sur ce + comportement. Si des règles locales ont forcé l'arrêt de la + réécriture, les règles héritées ne seront pas traitées.</p> + + <div class="warning"> + Les règles héritées du niveau parent sont appliquées + <strong>after</strong> après les règles spécifiées dans le niveau + enfant. + </div> + </dd> + + <dt><code>InheritBefore</code></dt> + <dd> + <p>Même effet que l'option <code>Inherit</code> ci-dessus, mais + les règles spécifiées dans le niveau parent s'appliquent + <strong>avant</strong> les règles spécifiées dans le niveau + enfant.<br /> + Disponible depuis la version 2.3.10 du serveur HTTP Apache.</p> + </dd> + + <dt><code>InheritDown</code></dt> + <dd> + + <p>Si cette option est activée, toutes les configurations enfants + hériteront de la configuration courante. Il en est de même si l'on + spécifie <code>RewriteOptions Inherit</code> dans toutes les + configurations enfants. Voir l'option <code>Inherit</code> pour + plus de détails à propos de la manière dont les relations + parent-enfants sont traitées.<br /> + Cette option est disponible à partir + de la version 2.4.8 du serveur HTTP Apache.</p> + </dd> + + <dt><code>InheritDownBefore</code></dt> + <dd> + + <p>L'effet de cette option est équivalent à celui de l'option + <code>InheritDown</code> ci-dessus, mais les règles de la + configuration parente s'appliquent <strong>avant</strong> toute + règle de la configuration enfant.<br /> + Cette option est disponible à partir + de la version 2.4.8 du serveur HTTP Apache.</p> + </dd> + + <dt><code>IgnoreInherit</code></dt> + <dd> + + <p>Si cette option est activée, les configurations courante et + enfants ignoreront toute règle héritée d'une configuration parente + via les options <code>InheritDown</code> ou + <code>InheritDownBefore</code>.<br /> + Cette option est disponible à partir + de la version 2.4.8 du serveur HTTP Apache.</p> + </dd> + + <dt><code>AllowNoSlash</code></dt> + <dd> + <p>Par défaut, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ignore les URLs qui + correspondent à un répertoire sur disque, mais ne comportent pas + de slash final, afin que le module <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> + redirige le client vers l'URL canonique avec un slash final.</p> + + <p>Lorsque la directive <code class="directive"><a href="../mod/mod_dir.html#directoryslash">DirectorySlash</a></code> est définie à off, il + est possible de spécifier l'option <code>AllowNoSlash</code> pour + s'assurer que les règles de réécriture ne soient plus ignorées. + Si on le souhaite, cette option permet de faire s'appliquer des + règles de réécriture qui correspondent à un répertoire sans slash + final au sein de fichiers .htaccess.<br /> + Elle est disponible à + partir de la version 2.4.0 du serveur HTTP Apache.</p> + </dd> + + <dt><code>AllowAnyURI</code></dt> + <dd> + + <p>A partir de la version 2.2.22 de httpd, lorsqu'une directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code> se situe dans un + contexte de <code>serveur virtuel</code> ou de serveur principal, + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ne traitera les règles de réécriture + que si l'URI de la requête respecte la syntaxe d'un <a href="directive-dict.html#Syntax">chemin URL</a>. Ceci permet + d'éviter certains problèmes de sécurité où des règles + particulières pourraient permettre des développements de modèles + inattendus (voir <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368">CVE-2011-3368</a> + et <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4317">CVE-2011-4317</a>). + Pour s'affranchir de la restriction relative à la syntaxe des chemins URL, on peut + utiliser l'option <code>AllowAnyURI</code>, afin de permettre à + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> d'appliquer le jeu de règles à toute + chaîne de requête URI, sans vérifier si cette dernière respecte la + grammaire des chemins URL définie dans la spécification HTTP.<br /> + Disponible depuis la version 2.4.3 du serveur HTTP Apache.</p> + + <div class="warning"> + <h3>Avertissement à propos de la sécurité</h3> + + <p>L'utilisation de cette option rendra le serveur vulnérable à + certains problèmes de sécurité si les règles de réécritures + concernées n'ont pas été rédigées avec soin. Il est par conséquent + <strong>fortement recommandé</strong> de ne pas utiliser cette + option. En particulier, prêtez attention aux chaînes en entrée contenant le + caractère '<code>@</code>', qui peuvent modifier l'interprétation + de l'URI réécrite, comme indiqué dans les liens ci-dessus.</p> + </div> + </dd> + + <dt><code>MergeBase</code></dt> + <dd> + + <p>Avec cette option, la valeur de la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> est recopiée depuis + une valeur explicitement définie dans tout sous-répertoire qui ne + définit pas sa propre directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code>. Il s'agissait du + comportement par défaut avec les versions 2.4.0 à 2.4.3, et ce + drapeau qui permet de retrouver ce comportement est disponible + depuis la version 2.4.4 du serveur HTTP Apache.</p> + </dd> + + <dt><code>IgnoreContextInfo</code></dt> + <dd> + + <p>Lors d'une + substitution relative dans un contexte de répertoire (htaccess), + et si la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> n'a pas été définie, + ce module utilise des informations en provenance d'une extension + d'URL et du contexte du système de fichiers pour transformer la + sustitution relative en URL. Par exemple, les modules + <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> et <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> + utilisent ces informations de contexte étendu. Disponible à partir de la + version 2.4.16 du serveur HTTP Apache.</p> + </dd> + + <dt><code>LegacyPrefixDocRoot</code></dt> + <dd> + + <p>Avant la version 2.4.26, si une substitution était une URL absolue qui + correspondait au serveur virtuel courant, l'URL pouvait être tout d'abord + réduite à sa partie chemin, puis enfin en chemin local. Comme l'URL peut + être réduite en chemin local, le chemin doit être préfixé par la + valeur de la directive DocumentRoot, ce qui permet d'interdire l'accès à + un fichier tel que /tmp/myfile suite à une requête pour + http://host/file/myfile avec la <code class="directive"><a href="#rewriterule">RewriteRule</a></code> suivante :</p> + <pre class="prettyprint lang-config">RewriteRule /file/(.*) http://localhost/tmp/$1</pre> + + <p>Cette option permet de restaurer l'ancien comportement lorsqu'un chemin + local obtenu à partir de la réduction d'une URL n'est pas préfixé par la + valeur de la directive DocumentRoot. Disponible à partir de la version + 2.4.26 du serveur HTTP Apache.</p> + </dd> + + </dl> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="rewriterule" id="rewriterule">Directive</a> <a name="RewriteRule" id="RewriteRule">RewriteRule</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les règles pour le moteur de réécriture</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteRule + <em>Modèle</em> <em>Substitution</em> [<em>drapeaux</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr> +</table> + <p>La directive <code class="directive">RewriteRule</code> est le + véritable cheval de trait de la réécriture. La directive peut + apparaître plusieurs fois, chaque instance définissant une + règle de réécriture particulière. L'ordre dans lequel ces règles + sont définies est important - il s'agit de l'ordre dans lequel + les règles seront appliquées au cours du processus de + réécriture.</p> + + <p><a id="patterns" name="patterns"><em>Modèle</em></a> est une + <a id="regexp" name="regexp">expression rationnelle</a> + compatible perl. Ce avec quoi ce modèle est comparé dépend de l'endroit où + la directive <code class="directive">RewriteRule</code> est définie.</p> + +<div class="note"><h3><a id="what_is_matched" name="what_is_matched">Qu'est-ce qui est comparé ?</a></h3> + +<ul> + <li><p>Dans un contexte de serveur virtuel <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code>, le <em>modèle</em> est tout + d'abord comparé à la portion de l'URL située entre le nom d'hôte + éventuellement accompagné du port, et la chaîne de paramètres (par + exemple "/app1/index.html"). Il s'agit du <a href="directive-dict.html#Syntax">URL-path</a> décodé de sa valeur "%xx".</p></li> + + <li><p>Dans un contexte de répertoire (sections <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et fichiers .htaccess), le + <em>Modèle</em> est comparé avec une partie de chemin ; par exemple une + requête pour "/app1/index.html" entraînera une comparaison avec + "app1/index.html" ou "index.html" selon l'endroit où la directive + <code class="directive">RewriteRule</code> est définie.</p> + + <p>Le chemin où la règle est défini est supprimé du chemin correspondant + du système de fichiers avant comparaison (jusqu'au slash final compris). + En conséquence de cette suppression, les règles définies dans + ce contexte n'effectuent des comparaisons qu'avec la portion du chemin + du système de fichiers "en dessous" de l'endroit où la règle est définie.</p> + + <p>Le chemin correspondant actuel du système de fichiers est déterminé par + des directives telles que <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> et + <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, ou même le résultat de + substitutions dans des règles <code class="directive">RewriteRule</code> précédentes. + </p> + </li> + + <li><p>Si vous souhaitez faire une comparaison sur le nom + d'hôte, le port, ou la chaîne de requête, utilisez une + directive <code class="directive"><a href="#rewritecond">RewriteCond</a></code> + comportant respectivement les variables + <code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, ou + <code>%{QUERY_STRING}</code>.</p></li> +</ul> + +</div> + +<div class="note"><h3>Réécritures dans un contexte de répertoire</h3> +<ul> +<li>L'utilisation du moteur de réécriture dans les +fichiers <a href="../howto/htaccess.html">.htaccess</a> et les sections +<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> est un peu plus +complexe.</li> + +<li>Pour activer le moteur de réécriture dans ces contextes, vous devez +définir "<code>RewriteEngine On</code>" <strong>et</strong> +"<code>Options FollowSymLinks</code>". Si l'administrateur a désactivé +la possibilité de modifier l'option <code>FollowSymLinks</code> au +niveau du répertoire d'un utilisateur, vous ne pouvez pas utiliser le +moteur de réécriture. Cette restriction a été instaurée à des fins de +sécurité.</li> + +<li>Voir la directive +<code class="directive"><a href="#rewritebase">RewriteBase</a></code> pour plus de détails à +propos de l'ajout du préfixe après les substitutions relatives.</li> + +<li>Si vous souhaitez effectuer une comparaison en prenant en compte +l'intégralité du +chemin de l'URL dans un contexte de répertoire (htaccess), vous devez +utiliser la variable <code>%{REQUEST_URI}</code> dans la directive +<code class="directive"><a href="#rewritecond">RewriteCond</a></code>.</li> + +<li>Le prefixe supprimé se termine toujours par un slash, ce qui +signifie que la comparaison s'effectue avec une chaîne qui ne comporte +<em>jamais</em> de slash de début. Ainsi, un <em>modèle</em> contenant +<code>^/</code> ne correspondra jamais dans un contexte de répertoire.</li> + +<li>Bien que les règles de réécriture soient permises du point de vue de +la syntaxe dans les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> et <code class="directive"><a href="../mod/core.html#files"><Files></a></code> (y compris leurs versions sous forme +d'expression rationnelle), elles n'y sont pas prises en compte, et +n'y sont à priori d'aucune utilité. Les substitutions +relatives sont une fonctionnalité qui n'est, elle non-plus pas supportée +dans ce genre de contexte.</li> + +<li>Les blocs <code class="directive"><a href="../mod/core.html#if">If</a></code> suivent les règles +du contexte de <em>répertoire</em>.</li> + +<li>Par défaut, mod_rewrite écrase les règles précédentes au sein de <a href="../sections.html#merging">sections combinées</a> appartenant au même +contexte. Pour modifier ce comportement, on peut utiliser la directive +<code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> pour définir par +exemple l'option <em>Inherit</em>.</li> + +<li>La directive <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> +permet aussi de contrôler le comportement des sections définies au même niveau +d'imbrication dans la configuration. Dans l'exemple suivant, par défaut seule la +règle RewriteRules définie dans le second bloc <code class="directive"><a href="../mod/core.html#if">If</a></code> est prise en compte car celle définie dans le +premier bloc est écrasée. Définir <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> Inherit force mod_rewrite à +combiner les deux sections en prenant en compte les deux règles et pas seulement +la dernière.</li> +</ul> +<div class="example"><pre class="prettyprint lang-config"><If "true"> + # Sans RewriteOptions Inherit, cette règle est écrasée par celle de la section + # suivante et aucune redirection ne sera effectuée pour les URIs contenant + # 'foo' + RewriteRule foo http://example.com/foo [R] +</If> +<If "true"> + RewriteRule bar http://example.com/bar [R] +</If></pre> +</div> +</div> + + <p>Pour quelques conseils à propos des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, voir le + document <a href="../rewrite/intro.html#regex">Introduction à + mod_rewrite</a>.</p> + + <p>Dans <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, on peut aussi utiliser le caractère + NOT ('<code>!</code>') comme préfixe de modèle. Ceci vous permet + d'inverser la signification d'un modèle, soit pour dire + ``<em>si l'URL considérée ne correspond <strong>PAS</strong> à + ce modèle</em>''. Le caractère NON peut donc être utilisé à + titre exceptionnel, lorsqu'il est plus simple d'effectuer une + comparaison avec le modèle inversé, ou dans la dernière règle + par défaut.</p> + +<div class="note"><h3>Note</h3> +Si vous utilisez le caractère NON pour inverser la signification d'un +modèle, vous ne pouvez pas inclure de parties génériques groupées dans +le modèle. Ceci est dû au fait que, lorsque le modèle ne correspond +pas (autrement dit, sa négation correspond), les groupes sont vides. +Ainsi, si vous utilisez des modèles inversés, vous ne pouvez +pas vous référer aux groupes par <code>$N</code> dans la chaîne de +substitution ! +</div> + + <p>Dans une règle de réécriture, + <a id="rhs" name="rhs"><em>Substitution</em></a> est la chaîne + de caractères qui remplace le chemin de l'URL original qui + correspondait au <em>Modèle</em>. <em>Substitution</em> peut + être :</p> + + <dl> + + <dt>un chemin du système de fichiers</dt> + + <dd>Il indique alors la localisation dans le système de + fichiers de la ressource qui doit être envoyée au + client. Les substitutions ne sont traitées en tant que chemins du + système de fichiers que si la règle est configurée dans un + contexte de serveur (serveur virtuel), et si le premier + composant du chemin dans la substitution existe dans le système + de fichiers.</dd> + + <dt>chemin d'URL</dt> + + <dd>Un chemin relatif à la valeur de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> vers la ressource qui + doit être servie. Notez que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + essaie de deviner si vous avez spécifié un chemin du système + de fichiers ou un chemin d'URL en vérifiant si la première + partie du chemin existe à la racine du système de fichiers. + Par exemple, si vous avez spécifié comme chaîne de + <em>Substitution</em> <code>/www/file.html</code>, cette + dernière sera traitée comme un chemin d'URL <em>à moins</em> + qu'un répertoire nommé <code>www</code> n'existe à la racine + de votre système de fichiers (ou dans le cas d'une + réécriture au sein d'un fichier <code>.htaccess</code>, + relativement à la racine des documents), auquel cas la chaîne de + substitution sera traitée comme un chemin du système de + fichiers. Si vous désirez que d'autres directives de + correspondance d'URL (comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>) soient appliquées au + chemin d'URL résultant, utilisez le drapeau <code>[PT]</code> + comme décrit ci-dessous.</dd> + + <dt>URL absolue</dt> + + <dd><p>Si une URL absolue est spécifiée, + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> vérifie si le nom d'hôte + correspond à celui de l'hôte local. Si c'est le cas, le + protocole et le nom d'hôte sont supprimés, et ce qui reste est + traité comme un chemin d'URL. Dans le cas contraire, une + redirection externe vers l'URL indiquée est effectuée. Pour + forcer une redirection externe vers l'hôte local, voir le + drapeau <code>[R]</code> ci-dessous.</p> + <p>Notez qu'une redirection (implicite ou non) qui utilise une URI + absolue inclura la chaîne de paramètres de la requête ; pour éviter + ceci, voir le drapeau <code>[QSD]</code> ci-dessous.</p></dd> + + <dt><code>-</code> (tiret)</dt> + + <dd>Un tiret indique qu'aucune substitution ne doit être + effectuée (le chemin considéré est transmis sans changement). + Ceci est utile quand un drapeau doit être appliqué sans + modifier le chemin (voir ci-dessous).</dd> + + </dl> + + <p>En plus du texte, la chaîne <em>Substitution</em> peut + comporter :</p> + + <ol> + <li>des références arrières (<code>$N</code>) vers le modèle + d'une directive RewriteRule</li> + + <li>des références arrières (<code>%N</code>) vers le dernier + modèle d'une directive RewriteCond qui correspondait</li> + + <li>des variables du serveur comme dans les chaînes de test de + condition d'une règle (<code>%{VARNAME}</code>)</li> + + <li>des appels de + <a href="#mapfunc">fonctions de comparaison</a> + (<code>${nom correspondance:clé|défaut}</code>)</li> + </ol> + + <p>Les références arrières sont des identificateurs de la forme + <code>$</code><strong>N</strong> (<strong>N</strong>=0..9), qui + seront remplacés par le contenu du <strong>N</strong>ème groupe + du <em>Modèle</em> qui correspondait. Les variables du serveur + sont les mêmes que dans la <em>Chaîne_de_test</em> d'une + directive <code class="directive"><a href="#rewritecond">RewriteCond</a></code>. Les + fonctions de comparaison sont issues de la directive <code class="directive"><a href="#rewritemap">RewriteMap</a></code> dans la + section de laquelle elles sont décrites. Ces trois types de + variables sont évaluées dans l'ordre ci-dessus.</p> + + <p>Chaque règle de réécriture s'applique au résultat de la règle + précédente, selon l'ordre dans lequel elles ont été définies dans + le fichier de configuration. Le chemin de l'URL ou du système de fichier (voir + ci-dessus <a href="#what_is_matched">Qu'est-ce qui est + comparé ?</a>) est <strong>intégralement + remplacée</strong> par la chaîne de <em>Substitution</em> et le + processus de réécriture se poursuit jusqu'à ce que toutes les + règles aient été appliquées, ou qu'il soit explicitement stoppé + par un drapeau <a href="../rewrite/flags.html#flag_l"><code><strong>L</strong></code></a>, + ou par un autre drapeau qui implique un arrêt immédiat, comme + <code><strong>END</strong></code> ou + <code><strong>F</strong></code>.</p> + + <div class="note"><h3>Modifier la chaîne de requête</h3> + <p>Par défaut, la chaîne de requête est transmise sans + modification. Vous pouvez cependant créer dans la chaîne de + substitution des URLs dont une partie constitue une chaîne de + requête. Pour cela, ajoutez simplement un point d'interrogation + dans la chaîne de substitution pour indiquer que le texte qui + suit doit être réinjecté dans la chaîne de requête. Pour + supprimer une chaîne de requête, terminez simplement la chaîne de + substitution par un point d'interrogation. Pour combiner les + nouvelles chaînes de requête avec les anciennes, utilisez le + drapeau <code>[QSA]</code>.</p> + </div> + + + <p>En outre, vous pouvez spécifier des <a name="rewriteflags" id="rewriteflags">actions</a> spéciales à effectuer en ajoutant + des + <strong><code>[</code><em>drapeaux</em><code>]</code></strong> + comme troisième argument de la directive + <code class="directive">RewriteRule</code>. Séparés par des virgules au sein d'une + liste encadrée par des crochets, les <em>drapeaux</em> peuvent + être choisis dans la table suivante. Vous trouverez plus de + détails, et des exemples pour chaque drapeau dans le <a href="../rewrite/flags.html">document à propos des drapeaux de + réécriture.</a></p> + + <table class="bordered"><tr class="header"><th>Drapeaux et syntaxe</th> + <th>Fonction</th> + </tr> +<tr> + <td>B</td> + <td>Echappe les caractères non-alphanumériques + dans les références arrières <em>avant</em> + d'appliquer la transformation. <em><a href="../rewrite/flags.html#flag_b">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>BCTLS</td> + <td>Identique à [B], mais n'échappe que les espaces et les caractères de + contrôle. <em><a href="../rewrite/flags.html#flag_bctls">détails ...</a></em></td> + </tr> +<tr> + <td>BNE</td> + <td>Les caractères de [B] ou [BCTLS] qui <strong>ne doivent pas</strong> + être échappés. <em><a href="../rewrite/flags.html#flag_bne">détails + ...</a></em></td> + </tr> +<tr class="odd"> + <td>backrefnoplus|BNP</td> + <td>Avec ce drapeau, si les références arrières sont échappées, + les espaces seront échappés en %20 au lieu de +. Ceci s'avère + utile lorsqu'une référence arrière est utilisée dans la partie + chemin, et non dans la chaîne de paramètres de la requête ; + pour plus de détails, voir <em><a href="../rewrite/flags.html#flag_bnp">ici.</a></em></td> + </tr> +<tr> + <td>chain|C</td> + <td>La règle est chaînée avec la règle suivante. Si la règle + échoue, la ou les règles avec lesquelles elle est est chaînée + seront sautées. <em><a href="../rewrite/flags.html#flag_c">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>cookie|CO=<em>NAME</em>:<em>VAL</em></td> + <td>Définit un cookie au niveau du navigateur client. La syntaxe + complète est : + CO=<em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>[<em>samesite</em>]]]]] <em><a href="../rewrite/flags.html#flag_co">details ...</a></em> + <em><a href="../rewrite/flags.html#flag_co">détails ...</a></em> + </td> + </tr> +<tr> + <td>discardpath|DPI</td> + <td>Supprime la partie PATH_INFO de l'URI réécrit. <em><a href="../rewrite/flags.html#flag_dpi">détails + ...</a></em></td> + </tr> +<tr class="odd"> + <td>END</td> + <td>Stoppe le processus de réécriture immédiatement et + n'applique plus aucune règle. Empêche aussi l'application + ultérieure de règles de réécriture dans les contextes de + répertoire et de fichier .htaccess (disponible à partir de la + version 2.3.9 du serveur HTTP Apache). <em><a href="../rewrite/flags.html#flag_end">détails ...</a></em></td> + </tr> +<tr> + <td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td> + <td>Définit la variable d'environnement <em>VAR</em> (à la valeur + <em>VAL</em> si elle est fournie). La variante !<em>VAR</em> + annule la définition de la variable <em>VAR</em>.<em><a href="../rewrite/flags.html#flag_e">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>forbidden|F</td> + <td>Renvoie une réponse 403 FORBIDDEN au navigateur client. + <em><a href="../rewrite/flags.html#flag_f">détails ...</a></em></td> + </tr> +<tr> + <td>gone|G</td> + <td>Renvoie un message d'erreur 410 GONE au navigateur client. <em><a href="../rewrite/flags.html#flag_g">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>Handler|H=<em>Gestionnaire de contenu</em></td> + <td>L'URI résultant est envoyé au <em>Gestionnaire de + contenu</em> pour traitement. <em><a href="../rewrite/flags.html#flag_h">détails ...</a></em></td> + </tr> +<tr> + <td>last|L</td> + <td>Arrête le processus de réécriture immédiatement et n'applique + plus aucune règle. Prêtez une attention particulière aux mises + en garde concernant les contextes de niveau répertoire et + .htaccess (voir aussi le drapeau END). <em><a href="../rewrite/flags.html#flag_l">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>next|N</td> + <td>Réexécute le processus de réécriture à partir de la première + règle, en utilisant le résultat du jeu de règles, sous réserve + qu'il y ait un point de départ. <em><a href="../rewrite/flags.html#flag_n">détails + ...</a></em></td> + </tr> +<tr> + <td>nocase|NC</td> + <td>Rend la comparaison entre modèles insensible à la casse. + <em><a href="../rewrite/flags.html#flag_nc">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>noescape|NE</td> + <td>Empêche mod_rewrite d'effectuer un échappement hexadécimal + des caractères spéciaux dans le résultat des réécritures qui aboutissent + à une redirection. <em><a href="../rewrite/flags.html#flag_ne">détails ...</a></em></td> + </tr> +<tr> + <td>nosubreq|NS</td> + <td>La règle est sautée si la requête courante est une + sous-requête interne. <em><a href="../rewrite/flags.html#flag_ns">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>proxy|P</td> + <td>Force l'envoi en interne de l'URL de substitution en tant + que requête mandataire. <em><a href="../rewrite/flags.html#flag_p">détails + ...</a></em></td> + </tr> +<tr> + <td>passthrough|PT</td> + <td>L'URI résultant est repassé au moteur de mise en + correspondance des URLs pour y être traité par d'autres + traducteurs URI-vers-nom de fichier, comme <code>Alias</code> ou + <code>Redirect</code>. <em><a href="../rewrite/flags.html#flag_pt">détails ...</a></em></td> + </tr> +<tr class="odd"> + <td>qsappend|QSA</td> + <td>Ajoute toute chaîne de paramètres présente dans l'URL de la + requête originale à toute chaîne de paramètres créée dans la + cible de réécriture. <em><a href="../rewrite/flags.html#flag_qsa">détails ...</a></em></td> + </tr> +<tr> + <td>qsdiscard|QSD</td> + <td>Supprime toute chaîne de paramètres de l'URI entrant. <em><a href="../rewrite/flags.html#flag_qsd">détails + ...</a></em></td> + </tr> +<tr class="odd"> + <td>qslast|QSL</td> + <td>Interprète le dernier (le plus à droite) point d'interrogation comme + le délimiteur de la chaîne de paramètres de la requête, au lieu du + premier (le plus à gauche) comme c'est le cas habituellement. Disponble + à partir de la version 2.4.19 du serveur HTTP Apache. <em><a href="../rewrite/flags.html#flag_qsl">détails ...</a></em></td> + </tr> +<tr> + <td>redirect|R[=<em>code</em>]</td> + <td>Force une redirection externe, avec un code de statut HTTP + optionnel. <em><a href="../rewrite/flags.html#flag_r">détails ...</a></em> + </td> + </tr> +<tr class="odd"> + <td>skip|S=<em>nombre</em></td> + <td>Si la règle courante s'applique, le moteur de réécriture + doit sauter les <em>nombre</em> règles suivantes. <em><a href="../rewrite/flags.html#flag_s">détails ...</a></em></td> + </tr> +<tr> + <td>type|T=<em>MIME-type</em></td> + <td>Force l'attribution du <a class="glossarylink" href="../glossary.html#type-mime" title="voir glossaire">Type-MIME</a> + spécifié au fichier cible. <em><a href="../rewrite/flags.html#flag_t">détails ...</a></em></td> + </tr> +</table> + +<div class="note"><h3>Développement du répertoire home</h3> +<p> Quand la chaîne de substitution commence par quelque chose comme +"/~user" (de manière explicite ou par références arrières), <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> +développe le répertoire home sans tenir compte de la présence ou de la +configuration du module <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</p> + +<p> Ce développement n'est pas effectué si le drapeau <em>PT</em> est +utilisé dans la directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code></p> +</div> + + <p>Voici toutes les combinaisons de substitution et leurs + significations :</p> + + <p><strong>Dans la configuration au niveau du serveur principal + (<code>httpd.conf</code>)<br /> + pour la requête ``<code>GET + /chemin/infochemin</code>'':</strong><br /> + </p> + +<table class="bordered"><tr class="header"> +<th>Règle</th> +<th>Résultat de la substitution</th> +</tr> +<tr> +<td>^/un_chemin(.*) autre_chemin$1</td> +<td>invalide, non supporté</td> +</tr> +<tr class="odd"> +<td>^/un_chemin(.*) autre_chemin$1 [R]</td> +<td>invalide, non supporté</td> +</tr> +<tr> +<td>^/un_chemin(.*) autre_chemin$1 [P]</td> +<td>invalide, non supporté</td> +</tr> +<tr class="odd"> +<td>^/un_chemin(.*) /autre_chemin$1</td> +<td>/autre_chemin/info_chemin</td> +</tr> +<tr> +<td>^/un_chemin(.*) /autre_chemin$1 [R]</td> +<td>http://cet_hote/autre_chemin/info_chemin via une redirection externe</td> +</tr> +<tr class="odd"> +<td>^/un_chemin(.*) /autre_chemin$1 [P]</td> +<td>sans objet, non supporté</td> +</tr> +<tr> +<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1</td> +<td>/autre_chemin/info_chemin</td> +</tr> +<tr class="odd"> +<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1 [R]</td> +<td>http://cet_hote/autre_chemin/info_chemin via une redirection externe</td> +</tr> +<tr> +<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1 [P]</td> +<td>sans objet, non supporté</td> +</tr> +<tr class="odd"> +<td>^/un_chemin(.*) http://autre_hote/autre_chemin$1</td> +<td>http://autre_hote/autre_chemin/info_chemin via une redirection externe</td> +</tr> +<tr> +<td>^/un_chemin(.*) http://autre_hote/autre_chemin$1 [R]</td> +<td>http://autre_hote/autre_chemin/info_chemin (le drapeau [R] est +redondant)</td> +</tr> +<tr class="odd"> +<td>^/somepath(.*) http://otherhost/otherpath$1 [P]</td> +<td>http://otherhost/otherpath/pathinfo via internal proxy</td> +</tr> +</table> + + <p><strong>Dans une configuration de niveau répertoire pour + <code>/chemin</code><br /> + (<code>/chemin/physique/vers/chemin/.htacccess</code>, avec + <code>RewriteBase "/chemin"</code>)<br /> + pour la requête ``<code>GET + /chemin/chemin-local/infochemin</code>'':</strong><br /> + </p> + +<table class="bordered"><tr class="header"> +<th>Règle</th> +<th>Résultat de la substitution</th> +</tr> +<tr> +<td>^chemin-local(.*) autre-chemin$1</td> +<td>/chemin/autre-chemin/infochemin</td> +</tr> +<tr class="odd"> +<td>^chemin-local(.*) autre-chemin$1 [R]</td> +<td>http://cet-hôte/chemin/autre-chemin/infochemin via redirection +externe</td> +</tr> +<tr> +<td>^chemin-local(.*) autre-chemin$1 [P]</td> +<td>n'a pas lieu d'être, non supporté</td> +</tr> +<tr class="odd"> +<td>^chemin-local(.*) /autre-chemin$1</td> +<td>/autre-chemin/infochemin</td> +</tr> +<tr> +<td>^chemin-local(.*) /autre-chemin$1 [R]</td> +<td>http://cet-hôte/autre-chemin/infochemin via redirection externe</td> +</tr> +<tr class="odd"> +<td>^chemin-local(.*) /autre-chemin$1 [P]</td> +<td>n'a pas lieu d'être, non supporté</td> +</tr> +<tr> +<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1</td> +<td>/autre-chemin/infochemin</td> +</tr> +<tr class="odd"> +<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1 [R]</td> +<td>http://cet-hôte/autre-chemin/infochemin via redirection externe</td> +</tr> +<tr> +<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1 [P]</td> +<td>n'a pas lieu d'être, non supporté</td> +</tr> +<tr class="odd"> +<td>^chemin-local(.*) http://autre hôte/autre-chemin$1</td> +<td>http://autre hôte/autre-chemin/infochemin via redirection externe</td> +</tr> +<tr> +<td>^chemin-local(.*) http://autre hôte/autre-chemin$1 [R]</td> +<td>http://autre hôte/autre-chemin/infochemin via redirection externe +(le drapeau [R] est redondant)</td> +</tr> +<tr class="odd"> +<td>^chemin-local(.*) http://autre hôte/autre-chemin$1 [P]</td> +<td>http://autre hôte/autre-chemin/infochemin via un mandataire interne</td> +</tr> +</table> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_rewrite.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_sed.html b/docs/manual/mod/mod_sed.html new file mode 100644 index 0000000..fc16970 --- /dev/null +++ b/docs/manual/mod/mod_sed.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_sed.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_sed.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_sed.html.en b/docs/manual/mod/mod_sed.html.en new file mode 100644 index 0000000..c2c9693 --- /dev/null +++ b/docs/manual/mod/mod_sed.html.en @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_sed - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_sed</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_sed.html" title="English"> en </a> | +<a href="../fr/mod/mod_sed.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filter Input (request) and Output (response) content using <code>sed</code> syntax</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>sed_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + +<p> +<code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> is an in-process content filter. The <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> filter implements the <code>sed</code> editing +commands implemented by the Solaris 10 <code>sed</code> +program as described in the <a href="http://www.gnu.org/software/sed/manual/sed.txt">manual +page</a>. However, unlike <code>sed</code>, <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> doesn't take data from +standard +input. Instead, the filter acts on the entity data sent between client and +server. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> can be used as an input or output filter. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> is a +content filter, which means that it cannot be used to modify client or +server http headers. +</p> +<p> +The <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> output filter accepts a chunk of data, executes the <code>sed</code> scripts on the data, and generates the output which is passed to the next filter in the chain. +</p> + +<p> +The <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> input filter reads the data from the next filter in the chain, executes the <code>sed</code> scripts, and returns the generated data to the caller filter in the filter chain. +</p> + +<p> +Both the input and output filters only process the data if newline characters are seen in the content. At the end of the data, the rest of the data is treated as the last line. Lines greater than 8MB in length result in an error, in 2.4.54 and later. +</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Sample Configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sed_commands">Sed Commands</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#inputsed">InputSed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#outputsed">OutputSed</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_sed">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_sed">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sampleconf" id="sampleconf">Sample Configuration</a></h2> + <div class="example"><h3>Adding an output filter </h3><pre class="prettyprint lang-config"># In the following example, the sed filter will change the string +# "monday" to "MON" and the string "sunday" to SUN in html documents +# before sending to the client. +<Directory "/var/www/docs/sed"> + AddOutputFilter Sed html + OutputSed "s/monday/MON/g" + OutputSed "s/sunday/SUN/g" +</Directory></pre> +</div> + + <div class="example"><h3>Adding an input filter </h3><pre class="prettyprint lang-config"># In the following example, the sed filter will change the string +# "monday" to "MON" and the string "sunday" to SUN in the POST data +# sent to PHP. +<Directory "/var/www/docs/sed"> + AddInputFilter Sed php + InputSed "s/monday/MON/g" + InputSed "s/sunday/SUN/g" +</Directory></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sed_commands" id="sed_commands">Sed Commands</a></h2> + <p> + Complete details of the <code>sed</code> command can be found from the + <a href="http://www.gnu.org/software/sed/manual/sed.txt">sed manual +page</a>. + </p> + <dl> + <dt><code>b</code></dt> + <dd>Branch to the label specified (similar to goto).</dd> + <dt><code>h</code></dt> + <dd>Copy the current line to the hold buffer.</dd> + <dt><code>H</code></dt> + <dd>Append the current line to the hold buffer.</dd> + <dt><code>g</code></dt> + <dd>Copy the hold buffer to the current line.</dd> + <dt><code>G</code></dt> + <dd>Append the hold buffer to the current line.</dd> + <dt><code>x</code></dt> + <dd>Swap the contents of the hold buffer and the current line.</dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="InputSed" id="InputSed">InputSed</a> <a name="inputsed" id="inputsed">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>InputSed <var>sed-command</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr> +</table> + <p>The <code class="directive">InputSed</code> directive specifies the <code>sed</code> command + to execute on the request data e.g., <code>POST</code> data. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="OutputSed" id="OutputSed">OutputSed</a> <a name="outputsed" id="outputsed">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sed command for filtering response content</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>OutputSed <var>sed-command</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr> +</table> + <p>The <code class="directive">OutputSed</code> directive specifies the <code>sed</code> + command to execute on the response. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_sed.html" title="English"> en </a> | +<a href="../fr/mod/mod_sed.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_sed.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_sed.html.fr.utf8 b/docs/manual/mod/mod_sed.html.fr.utf8 new file mode 100644 index 0000000..61bfbef --- /dev/null +++ b/docs/manual/mod/mod_sed.html.fr.utf8 @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_sed - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_sed</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_sed.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre les contenus en entrée (requêtes) et en sortie +(réponses) en utilisant la syntaxe de <code>sed</code></td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td /></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>sed_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + +<p><code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> est un filtre de contenu "in-process". Le +filtre <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> fournit les commandes d'édition de +<code>sed</code> implémentées par le programme <code>sed</code> de +Solaris 10 comme décrit dans la <a href="http://www.gnu.org/software/sed/manual/sed.txt">page de +manuel</a>. Cependant, à la différence de <code>sed</code>, +<code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> ne reçoit pas de données sur son entrée +standard. Au lieu de cela, le filtre agit sur les données échangées +entre le client et le serveur. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> peut être +utilisé comme filtre en entrée ou en sortie. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> +est un filtre de contenu, ce qui signifie qu'on ne peut pas l'utiliser +pour modifier les en-têtes http du client ou du serveur. +</p> +<p> +Le filtre en sortie <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> accepte un tronçon de +données, exécute le script <code>sed</code> sur ces données, puis génère +une sortie qui est transmise au filtre suivant dans la chaîne. +</p> + +<p> +Le filtre en entrée <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> reçoit des données en +provenance du filtre suivant dans la chaîne, exécute les scripts +<code>sed</code>, et renvoie les données générées au filtre appelant +dans la chaîne de filtrage. +</p> + +<p> +Les filtres en entrée ou en sortie ne traitent les données que si des caractères +newline sont détectés dans le contenu à filtrer. A la fin des données, ce qui +reste est traité comme la dernière ligne. A partir de la version 2.4.54 du +serveur HTTP Apache, les lignes d'une taille supérieure à 8 Mo provoquent une +erreur. +</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sed_commands">Commandes sed</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#inputsed">InputSed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#outputsed">OutputSed</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_sed">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_sed">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sampleconf" id="sampleconf">Exemple de configuration</a></h2> + <div class="example"><h3>Ajout d'un filtre en sortie</h3><pre class="prettyprint lang-config"># Dans l'exemple suivant, le filtre sed va remplacer la chaîne + # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les + # documents html avant de les envoyer au client. +<Directory "/var/www/docs/sed"> + AddOutputFilter Sed html + OutputSed "s/monday/MON/g" + OutputSed "s/sunday/SUN/g" +</Directory></pre> +</div> + + <div class="example"><h3>Ajout d'un filtre en entrée</h3><pre class="prettyprint lang-config"> # Dans l'exemple suivant, le filtre sed va remplacer la chaîne + # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les + # données POST envoyées à PHP. + <Directory "/var/www/docs/sed"> + AddInputFilter Sed php + InputSed "s/monday/MON/g" + InputSed "s/sunday/SUN/g" +</Directory></pre> +</div> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sed_commands" id="sed_commands">Commandes sed</a></h2> + <p> + Vous trouverez tous les détails à propos de la commande + <code>sed</code> dans sa <a href="http://www.gnu.org/software/sed/manual/sed.txt">page + de manuel</a>. + </p> + <dl> + <dt><code>b</code></dt> + <dd>Saut vers le label spécifié (similaire à goto).</dd> + <dt><code>h</code></dt> + <dd>Copie la ligne courante dans le tampon.</dd> + <dt><code>H</code></dt> + <dd>Ajoute la ligne courante au tampon.</dd> + <dt><code>g</code></dt> + <dd>Copie le contenu du tampon dans la ligne courante.</dd> + <dt><code>G</code></dt> + <dd>Ajoute le contenu du tampon à la ligne courante.</dd> + <dt><code>x</code></dt> + <dd>Echange les contenus du tampon et de la ligne courante.</dd> + </dl> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="inputsed" id="inputsed">Directive</a> <a name="InputSed" id="InputSed">InputSed</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Commande sed à exécuter pour le filtrage des données d'une +requête (en général des données <code>POST</code>)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>InputSed <var>commande-sed</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr> +</table> + <p>La directive <code class="directive">InputSed</code> permet de spécifier + la commande sed à exécuter pour le filtrage des données (en général + des données <code>POST</code>) d'une requête. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="outputsed" id="outputsed">Directive</a> <a name="OutputSed" id="OutputSed">OutputSed</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Commande sed pour le filtrage des contenus de type +réponse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>OutputSed <var>commande-sed</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td /></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr> +</table> + <p>La directive <code class="directive">OutputSed</code> permet de spécifier + la commande <code>sed</code> à exécuter dans le cadre du traitement + d'une réponse. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_sed.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_sed.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session.html b/docs/manual/mod/mod_session.html new file mode 100644 index 0000000..9deebb4 --- /dev/null +++ b/docs/manual/mod/mod_session.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session.html.en b/docs/manual/mod/mod_session.html.en new file mode 100644 index 0000000..ef3db75 --- /dev/null +++ b/docs/manual/mod/mod_session.html.en @@ -0,0 +1,550 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_session</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session.html" title="English"> en </a> | +<a href="../fr/mod/mod_session.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Session support</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>session_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_session.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <div class="warning"><h3>Warning</h3> + <p>The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.</p> + </div> + + <p>This module provides support for a server wide per user session + interface. Sessions can be used for keeping track of whether a user + has been logged in, or for other per user information that should + be kept available across requests.</p> + + <p>Sessions may be stored on the server, or may be stored on the + browser. Sessions may also be optionally encrypted for added security. + These features are divided into several modules in addition to + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>; <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, + <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> and <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. + Depending on the server requirements, load the appropriate modules + into the server (either statically at compile time or dynamically + via the <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive).</p> + + <p>Sessions may be manipulated from other modules that depend on the + session, or the session may be read from and written to using + environment variables and HTTP headers, as appropriate.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#whatisasession">What is a session?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#whocanuseasession">Who can use a session?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversession">Keeping sessions on the server</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsersession">Keeping sessions on the browser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Basic Examples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionprivacy">Session Privacy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookieprivacy">Cookie Privacy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authentication">Session Support for Authentication</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#integration">Integrating Sessions with External Applications</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#session">Session</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionenv">SessionEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionexclude">SessionExclude</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionheader">SessionHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioninclude">SessionInclude</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionmaxage">SessionMaxAge</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whatisasession" id="whatisasession">What is a session?</a></h2> + <p>At the core of the session interface is a table of key and value pairs + that are made accessible across browser requests. These pairs can be set + to any valid string, as needed by the application making use of the + session.</p> + + <p>The "session" is a <strong>application/x-www-form-urlencoded</strong> + string containing these key value pairs, as defined by the + <a href="http://www.w3.org/TR/html4/">HTML specification</a>.</p> + + <p>The session can optionally be encrypted and base64 encoded before + being written to the storage mechanism, as defined by the + administrator.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whocanuseasession" id="whocanuseasession">Who can use a session?</a></h2> + <p>The session interface is primarily developed for the use by other + server modules, such as <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, however CGI + based applications can optionally be granted access to the contents + of the session via the HTTP_SESSION environment variable. Sessions + have the option to be modified and/or updated by inserting an HTTP + response header containing the new session parameters.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="serversession" id="serversession">Keeping sessions on the server</a></h2> + <p>Apache can be configured to keep track of per user sessions stored + on a particular server or group of servers. This functionality is + similar to the sessions available in typical application servers.</p> + + <p>If configured, sessions are tracked through the use of a session ID that + is stored inside a cookie, or extracted from the parameters embedded + within the URL query string, as found in a typical GET request.</p> + + <p>As the contents of the session are stored exclusively on the server, + there is an expectation of privacy of the contents of the session. This + does have performance and resource implications should a large number + of sessions be present, or where a large number of webservers have to + share sessions with one another.</p> + + <p>The <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> module allows the storage of user + sessions within a SQL database via <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="browsersession" id="browsersession">Keeping sessions on the browser</a></h2> + <p>In high traffic environments where keeping track of a session on a + server is too resource intensive or inconvenient, the option exists to store + the contents of the session within a cookie on the client browser instead.</p> + + <p>This has the advantage that minimal resources are required on the + server to keep track of sessions, and multiple servers within a server + farm have no need to share session information.</p> + + <p>The contents of the session however are exposed to the client, with a + corresponding risk of a loss of privacy. The + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> module can be configured to encrypt the + contents of the session before writing the session to the client.</p> + + <p>The <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> allows the storage of user + sessions on the browser within an HTTP cookie.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicexamples" id="basicexamples">Basic Examples</a></h2> + + <p>Creating a session is as simple as turning the session on, and deciding + where the session will be stored. In this example, the session will be + stored on the browser, in a cookie called <code>session</code>.</p> + + <div class="example"><h3>Browser based session</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/</pre> +</div> + + <p>The session is not useful unless it can be written to or read from. The + following example shows how values can be injected into the session through + the use of a predetermined HTTP response header called + <code>X-Replace-Session</code>.</p> + + <div class="example"><h3>Writing to a session</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/ +SessionHeader X-Replace-Session</pre> +</div> + + <p>The header should contain name value pairs expressed in the same format + as a query string in a URL, as in the example below. Setting a key to the + empty string has the effect of removing that key from the session.</p> + + <div class="example"><h3>CGI to write to a session</h3><pre class="prettyprint lang-sh">#!/bin/bash +echo "Content-Type: text/plain" +echo "X-Replace-Session: key1=foo&key2=&key3=bar" +echo +env</pre> +</div> + + <p>If configured, the session can be read back from the HTTP_SESSION + environment variable. By default, the session is kept private, so this + has to be explicitly turned on with the + <code class="directive"><a href="#sessionenv">SessionEnv</a></code> directive.</p> + + <div class="example"><h3>Read from a session</h3><pre class="prettyprint lang-config">Session On +SessionEnv On +SessionCookieName session path=/ +SessionHeader X-Replace-Session</pre> +</div> + + <p>Once read, the CGI variable <code>HTTP_SESSION</code> should contain + the value <code>key1=foo&key3=bar</code>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sessionprivacy" id="sessionprivacy">Session Privacy</a></h2> + + <p>Using the "show cookies" feature of your browser, you would have seen + a clear text representation of the session. This could potentially be a + problem should the end user need to be kept unaware of the contents of + the session, or where a third party could gain unauthorised access to the + data within the session.</p> + + <p>The contents of the session can be optionally encrypted before being + placed on the browser using the <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> + module.</p> + + <div class="example"><h3>Browser based encrypted session</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/</pre> +</div> + + <p>The session will be automatically decrypted on load, and encrypted on + save by Apache, the underlying application using the session need have + no knowledge that encryption is taking place.</p> + + <p>Sessions stored on the server rather than on the browser can also be + encrypted as needed, offering privacy where potentially sensitive + information is being shared between webservers in a server farm using + the <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> module.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cookieprivacy" id="cookieprivacy">Cookie Privacy</a></h2> + + <p>The HTTP cookie mechanism also offers privacy features, such as the + ability to restrict cookie transport to SSL protected pages only, or + to prevent browser based javascript from gaining access to the contents + of the cookie.</p> + + <div class="warning"><h3>Warning</h3> + <p>Some of the HTTP cookie privacy features are either non-standard, or + are not implemented consistently across browsers. The session modules + allow you to set cookie parameters, but it makes no guarantee that privacy + will be respected by the browser. If security is a concern, use the + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> to encrypt the contents of the session, + or store the session on the server using the <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> + module.</p> + </div> + + <p>Standard cookie parameters can be specified after the name of the cookie, + as in the example below.</p> + + <div class="example"><h3>Setting cookie parameters</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/private;domain=example.com;httponly;secure;</pre> +</div> + + <p>In cases where the Apache server forms the frontend for backend origin servers, + it is possible to have the session cookies removed from the incoming HTTP headers using + the <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></code> directive. + This keeps the contents of the session cookies from becoming accessible from the + backend server. + </p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authentication" id="authentication">Session Support for Authentication</a></h2> + + <p>As is possible within many application servers, authentication modules can use + a session for storing the username and password after login. The + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> saves the user's login name and password within + the session.</p> + + <div class="example"><h3>Form based authentication</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/ +AuthFormProvider file +AuthUserFile "conf/passwd" +AuthType form +AuthName "realm" +#...</pre> +</div> + + <p>See the <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> module for documentation and complete + examples.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="integration" id="integration">Integrating Sessions with External Applications</a></h2> + + <p>In order for sessions to be useful, it must be possible to share the contents + of a session with external applications, and it must be possible for an + external application to write a session of its own.</p> + + <p> A typical example might be an application that changes a user's password set by + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. This application would need to read the current + username and password from the session, make the required changes to the user's + password, and then write the new password to the session in order to provide a + seamless transition to the new password.</p> + + <p>A second example might involve an application that registers a new user for + the first time. When registration is complete, the username and password is + written to the session, providing a seamless transition to being logged in.</p> + + <dl> + <dt>Apache modules</dt> + <dd>Modules within the server that need access to the session can use the + <strong>mod_session.h</strong> API in order to read from and write to the + session. This mechanism is used by modules like <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. + </dd> + + <dt>CGI programs and scripting languages</dt> + <dd>Applications that run within the webserver can optionally retrieve the + value of the session from the <strong>HTTP_SESSION</strong> environment + variable. The session should be encoded as a + <strong>application/x-www-form-urlencoded</strong> string as described by the + <a href="http://www.w3.org/TR/html4/">HTML specification</a>. The environment + variable is controlled by the setting of the + <code class="directive"><a href="#sessionenv">SessionEnv</a></code> directive. The session + can be written to by the script by returning a + <strong>application/x-www-form-urlencoded</strong> response header with a name + set by the <code class="directive"><a href="#sessionheader">SessionHeader</a></code> + directive. In both cases, any encryption or decryption, and the reading the + session from or writing the session to the chosen storage mechanism is handled + by the <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> modules and corresponding configuration. + </dd> + + <dt>Applications behind <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt> + <dd>If the <code class="directive"><a href="#sessionheader">SessionHeader</a></code> + directive is used to define an HTTP request header, the session, encoded as + a <strong>application/x-www-form-urlencoded</strong> string, will be made + available to the application. If the same header is provided in the response, + the value of this response header will be used to replace the session. As + above, any encryption or decryption, and the reading the session from or + writing the session to the chosen storage mechanism is handled by the + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> modules and corresponding configuration.</dd> + + <dt>Standalone applications</dt> + <dd>Applications might choose to manipulate the session outside the control + of the Apache HTTP server. In this case, it is the responsibility of the + application to read the session from the chosen storage mechanism, + decrypt the session, update the session, encrypt the session and write + the session to the chosen storage mechanism, as appropriate.</dd> + </dl> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Session" id="Session">Session</a> <a name="session" id="session">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables a session for the current directory or location</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Session On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Session Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>The <code class="directive">Session</code> directive enables a session for the + directory or location container. Further directives control where the + session will be stored and how privacy is maintained.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionEnv" id="SessionEnv">SessionEnv</a> <a name="sessionenv" id="sessionenv">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionEnv On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionEnv Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>If set to <var>On</var>, the <code class="directive">SessionEnv</code> directive + causes the contents of the session to be written to a CGI environment + variable called <var>HTTP_SESSION</var>.</p> + + <p>The string is written in the URL query format, for example:</p> + + <div class="example"><p><code> + <code>key1=foo&key3=bar</code> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionExclude" id="SessionExclude">SessionExclude</a> <a name="sessionexclude" id="sessionexclude">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define URL prefixes for which a session is ignored</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionExclude <var>path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>The <code class="directive">SessionExclude</code> directive allows sessions to + be disabled relative to URL prefixes only. This can be used to make a + website more efficient, by targeting a more precise URL space for which + a session should be maintained. By default, all URLs within the directory + or location are included in the session. The + <code class="directive"><a href="#sessionexclude">SessionExclude</a></code> directive takes + precedence over the + <code class="directive"><a href="#sessioninclude">SessionInclude</a></code> directive.</p> + + <div class="warning"><h3>Warning</h3> + <p>This directive has a similar purpose to the <var>path</var> attribute + in HTTP cookies, but should not be confused with this attribute. This + directive does not set the <var>path</var> attribute, which must be + configured separately.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionExpiryUpdateInterval" id="SessionExpiryUpdateInterval">SessionExpiryUpdateInterval</a> <a name="sessionexpiryupdateinterval" id="sessionexpiryupdateinterval">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionExpiryUpdateInterval <var>interval</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionExpiryUpdateInterval 0 (always update)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.41 and later</td></tr> +</table> + <p>The <code class="directive">SessionExpiryUpdateInterval</code> directive allows + sessions to avoid the cost associated with writing the session each request + when only the expiry time has changed. This can be used to make a website + more efficient or reduce load on a database when using + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. The session is always written if the data + stored in the session has changed or the expiry has changed by more than the + configured interval.</p> + + <p>Setting the interval to zero disables this directive, and the session + expiry is refreshed for each request.</p> + + <p>This directive only has an effect when combined with + <code class="directive"><a href="#sessionmaxage">SessionMaxAge</a></code> to enable session + expiry. Sessions without an expiry are only written when the data stored in + the session has changed.</p> + + <div class="warning"><h3>Warning</h3> + <p>Because the session expiry may not be refreshed with each request, it's + possible for sessions to expire up to <var>interval</var> seconds early. + Using a small interval usually provides sufficient savings while having a + minimal effect on expiry resolution.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionHeader" id="SessionHeader">SessionHeader</a> <a name="sessionheader" id="sessionheader">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Import session updates from a given HTTP response header</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionHeader <var>header</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>The <code class="directive">SessionHeader</code> directive defines the name of an + HTTP response header which, if present, will be parsed and written to the + current session.</p> + + <p>The header value is expected to be in the URL query format, for example:</p> + + <div class="example"><p><code> + <code>key1=foo&key2=&key3=bar</code> + </code></p></div> + + <p>Where a key is set to the empty string, that key will be removed from the + session.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionInclude" id="SessionInclude">SessionInclude</a> <a name="sessioninclude" id="sessioninclude">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define URL prefixes for which a session is valid</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionInclude <var>path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>all URLs</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>The <code class="directive">SessionInclude</code> directive allows sessions to + be made valid for specific URL prefixes only. This can be used to make a + website more efficient, by targeting a more precise URL space for which + a session should be maintained. By default, all URLs within the directory + or location are included in the session.</p> + + <div class="warning"><h3>Warning</h3> + <p>This directive has a similar purpose to the <var>path</var> attribute + in HTTP cookies, but should not be confused with this attribute. This + directive does not set the <var>path</var> attribute, which must be + configured separately.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionMaxAge" id="SessionMaxAge">SessionMaxAge</a> <a name="sessionmaxage" id="sessionmaxage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a maximum age in seconds for a session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionMaxAge <var>maxage</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionMaxAge 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>The <code class="directive">SessionMaxAge</code> directive defines a time limit + for which a session will remain valid. When a session is saved, this time + limit is reset and an existing session can be continued. If a session + becomes older than this limit without a request to the server to refresh + the session, the session will time out and be removed. Where a session is + used to stored user login details, this has the effect of logging the user + out automatically after the given time.</p> + + <p>Setting the maxage to zero disables session expiry.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session.html" title="English"> en </a> | +<a href="../fr/mod/mod_session.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session.html.fr.utf8 b/docs/manual/mod/mod_session.html.fr.utf8 new file mode 100644 index 0000000..8f1a180 --- /dev/null +++ b/docs/manual/mod/mod_session.html.fr.utf8 @@ -0,0 +1,619 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning"><h3>Avertissement</h3> + <p>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.</p> + </div> + + <p>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.</p> + + <p>Les sessions peuvent être stockées sur le serveur, ou au niveau + du navigateur. Les sessions peuvent également être chiffrées pour une + sécurité accrue. Ces fonctionnalités sont réparties entre différents + modules complémentaires de <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> : + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, + <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> et + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. Chargez les modules appropriés + en fonction des besoins du serveur (soit statiquement à la + compilation, soit dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>).</p> + + <p>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.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#whatisasession">Qu'est-ce qu'une session ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#whocanuseasession">Qui peut utiliser une session + ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversession">Stockage des sessions sur le + serveur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsersession">Stockage des sessions au niveau + du navigateur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Exemples simples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionprivacy">Confidentialité des + sessions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookieprivacy">Confidentialité du cookie</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authentication">Support des sessions pour + l'authentification</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#integration">Intégration des sessions avec les + applications externes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#session">Session</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionenv">SessionEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionexclude">SessionExclude</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionheader">SessionHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioninclude">SessionInclude</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionmaxage">SessionMaxAge</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whatisasession" id="whatisasession">Qu'est-ce qu'une session ?</a></h2> + <p>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 + de caractères valide, en fonction des besoins de l'application qui + fait usage de la session.</p> + + <p>Une "session" est une chaîne + <strong>application/x-www-form-urlencoded</strong> qui contient la + paire clé/valeur définie par la <a href="http://www.w3.org/TR/html4/">spécification HTML</a>.</p> + + <p>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.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whocanuseasession" id="whocanuseasession">Qui peut utiliser une session + ?</a></h2> + <p>L'interface de session a été conçue à l'origine pour être + utilisée par d'autres modules du serveur comme + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> ; 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.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="serversession" id="serversession">Stockage des sessions sur le + serveur</a></h2> + <p>Apache peut être configuré pour stocker les sessions + utilisateurs sur un serveur particulier ou un groupe de serveurs. + Cette fonctionnalité est similaire aux sessions disponibles sur + les serveurs d'applications courants.</p> + + <p>Selon la configuration, les sessions sont suivies à + partir d'un identifiant de session stocké dans un cookie, ou + extraites de la chaîne de paramètres de l'URL, comme dans les + requêtes GET courantes.</p> + + <p>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.</p> + + <p>Le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> permet de stocker + les sessions utilisateurs dans une base de données SQL via le + module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="browsersession" id="browsersession">Stockage des sessions au niveau + du navigateur</a></h2> + <p>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.</p> + + <p>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.</p> + + <p>Le contenu de la session est cependant présenté au client, avec + pour conséquence un risque de perte de confidentialité. Le module + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> peut être configuré pour + chiffrer le contenu de la session avant qu'elle soit stockée au + niveau du client.</p> + + <p>Le module <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> permet de stocker + les sessions au niveau du navigateur dans un cookie HTTP.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicexamples" id="basicexamples">Exemples simples</a></h2> + + <p>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é <code>session</code>.</p> + + <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/</pre> +</div> + + <p>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é + <code>X-Replace-Session</code>.</p> + + <div class="example"><h3>Ecriture dans une session</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/ +SessionHeader X-Replace-Session</pre> +</div> + + <p>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.</p> + + <div class="example"><h3>Script CGI pour écrire dans une session</h3><pre class="prettyprint lang-sh">#!/bin/bash +echo "Content-Type: text/plain" +echo "X-Replace-Session: key1=foo&key2=&key3=bar" +echo +env</pre> +</div> + + <p>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 <code class="directive"><a href="#sessionenv">SessionEnv</a></code>.</p> + + <div class="example"><h3>Lecture depuis une session</h3><pre class="prettyprint lang-config">Session On +SessionEnv On +SessionCookieName session path=/ +SessionHeader X-Replace-Session</pre> +</div> + + <p>Une fois la lecture effectuée, la variable CGI + <code>HTTP_SESSION</code> doit contenir la valeur + <code>clé1=foo&clé3=bar</code>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sessionprivacy" id="sessionprivacy">Confidentialité des + sessions</a></h2> + + <p>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.</p> + + <p>À ce titre, le contenu de la session peut être chiffré à l'aide + du module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> avant d'être stocké + au niveau du navigateur.</p> + + <div class="example"><h3>Session chiffrée avant stockage au niveau du + navigateur</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/</pre> +</div> + + <p>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.</p> + + <p>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 + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="cookieprivacy" id="cookieprivacy">Confidentialité du cookie</a></h2> + + <p>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.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>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 <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, ou stockez la + session sur le serveur avec le module + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p> + </div> + + <p>Les paramètres standards du cookie peuvent être spécifiés après + le nom du cookie comme dans l'exemple suivant :</p> + + <div class="example"><h3>Définition des paramètres du cookie</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/private;domain=example.com;httponly;secure;</pre> +</div> + + <p>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 + <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></code>. Ceci + permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu + des cookies de session. + </p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authentication" id="authentication">Support des sessions pour + l'authentification</a></h2> + + <p>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 <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> par + exemple, sauvegarde les nom de connexion et mot de passe de + l'utilisateur dans une session.</p> + + <div class="example"><h3>Authentification à base de formulaire</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/ +AuthFormProvider file +AuthUserFile "conf/passwd" +AuthType form +AuthName "realm" +#...</pre> +</div> + + <p>Pour la documentation et des exemples complets, voir le module + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="integration" id="integration">Intégration des sessions avec les + applications externes</a></h2> + + <p>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.</p> + + <p>L'exemple type est une application qui modifie le mot de passe + d'un utilisateur défini par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. 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.</p> + + <p>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.</p> + + <dl> + <dt>Modules Apache</dt> + <dd>Selon les besoins, les modules du serveur peuvent utiliser + l'API <strong>mod_session.h</strong> pour lire et écrire dans les + sessions. Les modules tels que <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> + utilisent ce mécanisme. + </dd> + + <dt>Programmes CGI et langages de script</dt> + <dd>Les applications qui s'exécutent au sein du serveur web + peuvent éventuellement extraire la valeur de la session de la + variable d'environnement <strong>HTTP_SESSION</strong>. La session + doit être codée sous la forme d'une chaîne + <strong>application/x-www-form-urlencoded</strong> selon les + préconisations de la <a href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette + variable d'environnement est définie via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>. Un script peut écrire + dans la session en renvoyant un en-tête de réponse + <strong>application/x-www-form-urlencoded</strong> dont le nom est + défini via la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code>. 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 <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la + configuration correspondante. + </dd> + + <dt>Applications situées derrière <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt> + <dd>Si la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code> 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 <strong>application/x-www-form-urlencoded</strong> + 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 <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la + configuration correspondante.</dd> + + <dt>Applications indépendantes</dt> + <dd>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.</dd> + </dl> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="session" id="session">Directive</a> <a name="Session" id="Session">Session</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ouvre une session pour le contexte courant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Session On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Session Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>La directive <code class="directive">Session</code> 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é.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessionenv" id="sessionenv">Directive</a> <a name="SessionEnv" id="SessionEnv">SessionEnv</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le contenu de la session doit être enregistré +dans la variable d'environnement <var>HTTP_SESSION</var></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionEnv On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionEnv Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>Lorsque la directive <code class="directive">SessionEnv</code> est + définie à <var>On</var>, le contenu de la session est enregistré + dans une variable d'environnement CGI nommée + <var>HTTP_SESSION</var>.</p> + + <p>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 :</p> + + <div class="example"><p><code> + <code>clé1=foo&clé3=bar</code> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessionexclude" id="sessionexclude">Directive</a> <a name="SessionExclude" id="SessionExclude">SessionExclude</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URLs pour lesquels une session sera +ignorée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExclude <var>chemin</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>La directive <code class="directive">SessionExclude</code> 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 <code class="directive"><a href="#sessionexclude">SessionExclude</a></code> + l'emporte sur la directive <code class="directive"><a href="#sessioninclude">SessionInclude</a></code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Cette directive a un comportement similaire à celui de l'attribut + <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut <var>chemin</var>, qui doit être configuré + séparément.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessionexpiryupdateinterval" id="sessionexpiryupdateinterval">Directive</a> <a name="SessionExpiryUpdateInterval" id="SessionExpiryUpdateInterval">SessionExpiryUpdateInterval</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExpiryUpdateInterval <var>interval</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionExpiryUpdateInterval 0 (mise à jour systématique)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.41 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionExpiryUpdateInterval</code> + 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 <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. 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é.</p> + + <p>Définir l'intervalle à 0 désactive cette directive, et + l'expiration de la session sera alors rafraîchie pour chaque requête.</p> + + <p>Cette directive n'a d'effet que si on l'utilise en combinaison + avec la directive <code class="directive"><a href="#sessionmaxage">SessionMaxAge</a></code> 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.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>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 + <var>interval</var>. 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.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessionheader" id="sessionheader">Directive</a> <a name="SessionHeader" id="SessionHeader">SessionHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionHeader <var>en-tête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>La directive <code class="directive">SessionHeader</code> 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.</p> + + <p>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 :</p> + + <div class="example"><p><code> + <code>clé1=foo&clé2=&clé3=bar</code> + </code></p></div> + + <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de + la session.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioninclude" id="sessioninclude">Directive</a> <a name="SessionInclude" id="SessionInclude">SessionInclude</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URL pour lesquels une session est +valide</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionInclude <var>chemin</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>toutes URLs</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>La directive <code class="directive">SessionInclude</code> 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.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Cette directive a un comportement similaire à celui de l'attribut + <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut <var>chemin</var>, qui doit être configuré séparément.</p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessionmaxage" id="sessionmaxage">Directive</a> <a name="SessionMaxAge" id="SessionMaxAge">SessionMaxAge</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie maximale pour la session en +secondes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionMaxAge <var>durée de vie maximale</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionMaxAge 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>La directive <code class="directive">SessionMaxAge</code> 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é.</p> + + <p>Donner à cette directive la valeur 0 empêche l'expiration de la + session.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_cookie.html b/docs/manual/mod/mod_session_cookie.html new file mode 100644 index 0000000..98883c6 --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session_cookie.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session_cookie.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session_cookie.html.en b/docs/manual/mod/mod_session_cookie.html.en new file mode 100644 index 0000000..a748c2c --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html.en @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_cookie - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_session_cookie</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session_cookie.html" title="English"> en </a> | +<a href="../fr/mod/mod_session_cookie.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Cookie based session support</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>session_cookie_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_session_cookie.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <div class="warning"><h3>Warning</h3> + <p>The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.</p> + </div> + + <p>This submodule of <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> provides support for the + storage of user sessions on the remote browser within HTTP cookies.</p> + + <p>Using cookies to store a session removes the need for the server or + a group of servers to store the session locally, or collaborate to share + a session, and can be useful for high traffic environments where a + server based session might be too resource intensive.</p> + + <p>If session privacy is required, the <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> + module can be used to encrypt the contents of the session before writing + the session to the client.</p> + + <p>For more details on the session interface, see the documentation for + the <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> module.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Basic Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookiename">SessionCookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookiename2">SessionCookieName2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookieremove">SessionCookieRemove</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_cookie">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_cookie">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicexamples" id="basicexamples">Basic Examples</a></h2> + + <p>To create a simple session and store it in a cookie called + <var>session</var>, configure the session as follows:</p> + + <div class="example"><h3>Browser based session</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/</pre> +</div> + + <p>For more examples on how the session can be configured to be read + from and written to by a CGI application, see the + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> examples section.</p> + + <p>For documentation on how the session can be used to store username + and password details, see the <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> module.</p> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionCookieName" id="SessionCookieName">SessionCookieName</a> <a name="sessioncookiename" id="sessioncookiename">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCookieName <var>name</var> <var>attributes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>The <code class="directive">SessionCookieName</code> directive specifies the name and + optional attributes of an RFC2109 compliant cookie inside which the session will + be stored. RFC2109 cookies are set using the <code>Set-Cookie</code> HTTP header. + </p> + + <p>An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. + </p> + + <div class="example"><h3>Cookie with attributes</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionCookieName2" id="SessionCookieName2">SessionCookieName2</a> <a name="sessioncookiename2" id="sessioncookiename2">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCookieName2 <var>name</var> <var>attributes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>The <code class="directive">SessionCookieName2</code> directive specifies the name and + optional attributes of an RFC2965 compliant cookie inside which the session will + be stored. RFC2965 cookies are set using the <code>Set-Cookie2</code> HTTP header. + </p> + + <p>An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. + </p> + + <div class="example"><h3>Cookie2 with attributes</h3><pre class="prettyprint lang-config">Session On +SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionCookieRemove" id="SessionCookieRemove">SessionCookieRemove</a> <a name="sessioncookieremove" id="sessioncookieremove">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCookieRemove On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionCookieRemove Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>The <code class="directive">SessionCookieRemove</code> flag controls whether the cookies + containing the session will be removed from the headers during request processing.</p> + + <p>In a reverse proxy situation where the Apache server acts as a server frontend for + a backend origin server, revealing the contents of the session cookie to the backend + could be a potential privacy violation. When set to on, the session cookie will be + removed from the incoming HTTP headers.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session_cookie.html" title="English"> en </a> | +<a href="../fr/mod/mod_session_cookie.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session_cookie.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_cookie.html.fr.utf8 b/docs/manual/mod/mod_session_cookie.html.fr.utf8 new file mode 100644 index 0000000..4f72452 --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html.fr.utf8 @@ -0,0 +1,217 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_cookie - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session_cookie</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_cookie.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_cookie.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions basé sur les cookies</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_cookie_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_cookie.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning"><h3>Avertissement</h3> + <p>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.</p> + </div> + + <p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> fournit le + support du stockage des sessions utilisateur au niveau du navigateur + distant dans des cookies HTTP.</p> + + <p>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.</p> + + <p>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 + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Exemples simples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookiename">SessionCookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookiename2">SessionCookieName2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookieremove">SessionCookieRemove</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_cookie">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_cookie">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicexamples" id="basicexamples">Exemples simples</a></h2> + + <p>Pour créer une session et la stocker dans un cookie nommé + <var>session</var>, configurez-la comme suit :</p> + + <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/</pre> +</div> + + <p>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 + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + + <p>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 + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncookiename" id="sessioncookiename">Directive</a> <a name="SessionCookieName" id="SessionCookieName">SessionCookieName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2109 dans lequel la session +est stockée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieName <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>La directive <code class="directive">SessionCookieName</code> 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 <code>Set-Cookie</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tels quels 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. + </p> + + <div class="example"><h3>Cookie avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncookiename2" id="sessioncookiename2">Directive</a> <a name="SessionCookieName2" id="SessionCookieName2">SessionCookieName2</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieName2 <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>La directive <code class="directive">SessionCookieName2</code> 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 + <code>Set-Cookie2</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tels quels 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. + </p> + + <div class="example"><h3>Cookie2 avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncookieremove" id="sessioncookieremove">Directive</a> <a name="SessionCookieRemove" id="SessionCookieRemove">SessionCookieRemove</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieRemove On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionCookieRemove Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>La directive <code class="directive">SessionCookieRemove</code> 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.</p> + + <p>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é. À ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_cookie.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_cookie.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session_cookie.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_crypto.html b/docs/manual/mod/mod_session_crypto.html new file mode 100644 index 0000000..815bc08 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session_crypto.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session_crypto.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session_crypto.html.en b/docs/manual/mod/mod_session_crypto.html.en new file mode 100644 index 0000000..8319db4 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html.en @@ -0,0 +1,266 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_crypto - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_session_crypto</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session_crypto.html" title="English"> en </a> | +<a href="../fr/mod/mod_session_crypto.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Session encryption support</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>session_crypto_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_session_crypto.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <div class="warning"><h3>Warning</h3> + <p>The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.</p> + </div> + + <p>This submodule of <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> provides support for the + encryption of user sessions before being written to a local database, or + written to a remote browser via an HTTP cookie.</p> + + <p>This can help provide privacy to user sessions where the contents of + the session should be kept private from the user, or where protection is + needed against the effects of cross site scripting attacks.</p> + + <p>For more details on the session interface, see the documentation for + the <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> module.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicusage">Basic Usage</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_crypto">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_crypto">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicusage" id="basicusage">Basic Usage</a></h2> + + <p>To create a simple encrypted session and store it in a cookie called + <var>session</var>, configure the session as follows:</p> + + <div class="example"><h3>Browser based encrypted session</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/ +SessionCryptoPassphrase secret</pre> +</div> + + <p>The session will be encrypted with the given key. Different servers can + be configured to share sessions by ensuring the same encryption key is used + on each server.</p> + + <p>If the encryption key is changed, sessions will be invalidated + automatically.</p> + + <p>For documentation on how the session can be used to store username + and password details, see the <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> module.</p> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionCryptoCipher" id="SessionCryptoCipher">SessionCryptoCipher</a> <a name="sessioncryptocipher" id="sessioncryptocipher">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The crypto cipher to be used to encrypt the session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoCipher <var>name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionCryptoCipher aes256</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive">SessionCryptoCipher</code> directive allows the cipher to + be used during encryption. If not specified, the cipher defaults to + <code>aes256</code>.</p> + + <p>Possible values depend on the crypto driver in use, and could be one of:</p> + + <ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionCryptoDriver" id="SessionCryptoDriver">SessionCryptoDriver</a> <a name="sessioncryptodriver" id="sessioncryptodriver">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The crypto driver to be used to encrypt the session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive">SessionCryptoDriver</code> directive specifies the name of + the crypto driver to be used for encryption. If not specified, the driver defaults + to the recommended driver compiled into APR-util.</p> + + <p>The <var>NSS</var> crypto driver requires some parameters for configuration, + which are specified as parameters with optional values after the driver name.</p> + + <div class="example"><h3>NSS without a certificate database</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss</pre> +</div> + + <div class="example"><h3>NSS with certificate database</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs</pre> +</div> + + <div class="example"><h3>NSS with certificate database and parameters</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs key3=key3.db cert7=cert7.db secmod=secmod</pre> +</div> + + <div class="example"><h3>NSS with paths containing spaces</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod</pre> +</div> + + <p>The <var>NSS</var> crypto driver might have already been + configured by another part of the server, for example from + <code>mod_nss</code> or <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. If found to + have already been configured, a warning will be logged, and the + existing configuration will have taken affect. To avoid this + warning, use the noinit parameter as follows.</p> + + <div class="example"><h3>NSS with certificate database</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss noinit</pre> +</div> + + <p>To prevent confusion, ensure that all modules requiring NSS are configured with + identical parameters.</p> + + <p>The <var>openssl</var> crypto driver supports an optional parameter to specify + the engine to be used for encryption.</p> + + <div class="example"><h3>OpenSSL with engine support</h3><pre class="prettyprint lang-config">SessionCryptoDriver openssl engine=name</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionCryptoPassphrase" id="SessionCryptoPassphrase">SessionCryptoPassphrase</a> <a name="sessioncryptopassphrase" id="sessioncryptopassphrase">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The key used to encrypt the session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive">SessionCryptoPassphrase</code> directive specifies the keys + to be used to enable symmetrical encryption on the contents of the session before + writing the session, or decrypting the contents of the session after reading the + session.</p> + + <p>Keys are more secure when they are long, and consist of truly random characters. + Changing the key on a server has the effect of invalidating all existing sessions.</p> + + <p>Multiple keys can be specified in order to support key rotation. The first key + listed will be used for encryption, while all keys listed will be attempted for + decryption. To rotate keys across multiple servers over a period of time, add a new + secret to the end of the list, and once rolled out completely to all servers, remove + the first key from the start of the list.</p> + + <p>As of version 2.4.7 if the value begins with <var>exec:</var> the resulting command + will be executed and the first line returned to standard output by the program will be + used as the key.</p> +<div class="example"><pre class="prettyprint lang-config">#key used as-is +SessionCryptoPassphrase secret + +#Run /path/to/program to get key +SessionCryptoPassphrase exec:/path/to/program + +#Run /path/to/otherProgram and provide arguments +SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionCryptoPassphraseFile" id="SessionCryptoPassphraseFile">SessionCryptoPassphraseFile</a> <a name="sessioncryptopassphrasefile" id="sessioncryptopassphrasefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File containing keys used to encrypt the session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoPassphraseFile <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr> +</table> + <p>The <code class="directive">SessionCryptoPassphraseFile</code> directive specifies the + name of a configuration file containing the keys to use for encrypting or decrypting + the session, specified one per line. The file is read on server start, and a graceful + restart will be necessary for httpd to pick up changes to the keys.</p> + + <p>Unlike the <code class="directive"><a href="#sessioncryptopassphrase">SessionCryptoPassphrase</a></code> directive, the keys are + not exposed within the httpd configuration and can be hidden by protecting the file + appropriately.</p> + + <p>Multiple keys can be specified in order to support key rotation. The first key + listed will be used for encryption, while all keys listed will be attempted for + decryption. To rotate keys across multiple servers over a period of time, add a new + secret to the end of the list, and once rolled out completely to all servers, remove + the first key from the start of the list.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session_crypto.html" title="English"> en </a> | +<a href="../fr/mod/mod_session_crypto.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session_crypto.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_crypto.html.fr.utf8 b/docs/manual/mod/mod_session_crypto.html.fr.utf8 new file mode 100644 index 0000000..3e14c98 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html.fr.utf8 @@ -0,0 +1,293 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_crypto - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session_crypto</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_crypto.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support du chiffrement des sessions</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_crypto_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_crypto.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning"><h3>Avertissement</h3> + <p>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.</p> + </div> + + <p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> 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.</p> + + <p>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.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicusage">Utilisation de base</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_crypto">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_crypto">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicusage" id="basicusage">Utilisation de base</a></h2> + + <p>Pour créer une session chiffrée et la stocker dans un cookie + nommé <var>session</var>, configurez la comme suit :</p> + + <div class="example"><h3>Session chiffrée stockée au niveau du + serveur</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/ +SessionCryptoPassphrase secret</pre> +</div> + + <p>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.</p> + + <p>Si la clé de chiffrement est modifiée, les sessions seront + automatiquement invalidées.</p> + + <p>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 + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncryptocipher" id="sessioncryptocipher">Directive</a> <a name="SessionCryptoCipher" id="SessionCryptoCipher">SessionCryptoCipher</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme à utiliser pour le chiffrement de la session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoCipher <var>algorithme</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionCryptoCipher aes256</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoCipher</code> permet de + spécifier l'algorithme à utiliser pour le chiffrement. En l'absence + de spécification, l'algorithme par défaut est <code>aes256</code>.</p> + + <p>L'algorithme peut être choisi, en fonction du moteur de chiffrement + utilisé, parmi les valeurs suivantes :</p> + + <ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncryptodriver" id="sessioncryptodriver">Directive</a> <a name="SessionCryptoDriver" id="SessionCryptoDriver">SessionCryptoDriver</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le pilote de chiffrement à utiliser pour chiffrer les +sessions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>aucun</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 +d'Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoDriver</code> 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.</p> + + <p>Le pilote de chiffrement <var>NSS</var> 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.</p> + + <div class="example"><h3>NSS sans base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss</pre> +</div> + + <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs</pre> +</div> + + <div class="example"><h3>NSS avec base de données de certificats et + paramètres</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod</pre> +</div> + + <div class="example"><h3>NSS avec chemins contenant des espaces</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod</pre> +</div> + + <p>Le pilote de chiffrement <var>NSS</var> peut avoir été configuré + au préalable dans une autre partie du serveur, par exemple depuis + <code class="module"><a href="../mod/mod_nss.html">mod_nss</a></code> ou <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. 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 <code>noinit</code> comme suit :</p> + + <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss noinit</pre> +</div> + + <p>Pour éviter la confusion, assurez-vous que tous les modules + utilisant NSS soient configurés avec des paramètres identiques.</p> + + <p>Le pilote de chiffrement <var>openssl</var> accepte un paramètre + optionnel permettant de spécifier le moteur de chiffrement à + utiliser.</p> + + <div class="example"><h3>OpenSSL avec spécification du moteur de chiffrement</h3><pre class="prettyprint lang-config">SessionCryptoDriver openssl engine=nom-moteur</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncryptopassphrase" id="sessioncryptopassphrase">Directive</a> <a name="SessionCryptoPassphrase" id="SessionCryptoPassphrase">SessionCryptoPassphrase</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La clé utilisée pour chiffrer la session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 +d'Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoPassphrase</code> + 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.</p> + + <p>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.</p> + + <p>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.</p> + + <p>Depuis la version 2.4.7, si la valeur de l'argument commence par <var>exec:</var> , 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é.</p> +<div class="example"><pre class="prettyprint lang-config"># 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"</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncryptopassphrasefile" id="sessioncryptopassphrasefile">Directive</a> <a name="SessionCryptoPassphraseFile" id="SessionCryptoPassphraseFile">SessionCryptoPassphraseFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le fichier contenant les clés utilisées pour chiffrer la +session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoPassphraseFile <var>nom-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoPassphraseFile</code> + 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.</p> + + <p>À la différence de la directive <code class="directive"><a href="#sessioncryptopassphrase">SessionCryptoPassphrase</a></code>, 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.</p> + + <p>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.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_crypto.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session_crypto.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_dbd.html b/docs/manual/mod/mod_session_dbd.html new file mode 100644 index 0000000..e63e47f --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_session_dbd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_session_dbd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_session_dbd.html.en b/docs/manual/mod/mod_session_dbd.html.en new file mode 100644 index 0000000..4c1eb27 --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html.en @@ -0,0 +1,357 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_dbd - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_session_dbd</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_session_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>DBD/SQL based session support</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>session_dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_session_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + + <div class="warning"><h3>Warning</h3> + <p>The session modules make use of HTTP cookies, and as such can fall + victim to Cross Site Scripting attacks, or expose potentially private + information to clients. Please ensure that the relevant risks have + been taken into account before enabling the session functionality on + your server.</p> + </div> + + <p>This submodule of <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> provides support for the + storage of user sessions within a SQL database using the + <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> module.</p> + + <p>Sessions can either be <strong>anonymous</strong>, where the session is + keyed by a unique UUID string stored on the browser in a cookie, or + <strong>per user</strong>, where the session is keyed against the userid of + the logged in user.</p> + + <p>SQL based sessions are hidden from the browser, and so offer a measure of + privacy without the need for encryption.</p> + + <p>Different webservers within a server farm may choose to share a database, + and so share sessions with one another.</p> + + <p>For more details on the session interface, see the documentation for + the <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> module.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdconfig">DBD Configuration</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Anonymous Sessions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#peruser">Per User Sessions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#housekeeping">Database Housekeeping</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_dbd">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_dbd">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="dbdconfig" id="dbdconfig">DBD Configuration</a></h2> + + <p>Before the <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> module can be configured to maintain a + session, the <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> module must be configured to make the various database queries + available to the server.</p> + + <p>There are four queries required to keep a session maintained, to select an existing session, + to update an existing session, to insert a new session, and to delete an expired or empty + session. These queries are configured as per the example below.</p> + + <div class="example"><h3>Sample DBD configuration</h3><pre class="prettyprint lang-config">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</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="anonymous" id="anonymous">Anonymous Sessions</a></h2> + + <p>Anonymous sessions are keyed against a unique UUID, and stored on the + browser within an HTTP cookie. This method is similar to that used by most + application servers to store session information.</p> + + <p>To create a simple anonymous session and store it in a postgres database + table called <var>apachesession</var>, and save the session ID in a cookie + called <var>session</var>, configure the session as follows:</p> + + <div class="example"><h3>SQL based anonymous session</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName session path=/</pre> +</div> + + <p>For more examples on how the session can be configured to be read + from and written to by a CGI application, see the + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> examples section.</p> + + <p>For documentation on how the session can be used to store username + and password details, see the <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> module.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="peruser" id="peruser">Per User Sessions</a></h2> + + <p>Per user sessions are keyed against the username of a successfully + authenticated user. It offers the most privacy, as no external handle + to the session exists outside of the authenticated realm.</p> + + <p>Per user sessions work within a correctly configured authenticated + environment, be that using basic authentication, digest authentication + or SSL client certificates. Due to the limitations of who came first, + the chicken or the egg, per user sessions cannot be used to store + authentication credentials from a module like + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p> + + <p>To create a simple per user session and store it in a postgres database + table called <var>apachesession</var>, and with the session keyed to the + userid, configure the session as follows:</p> + + <div class="example"><h3>SQL based per user session</h3><pre class="prettyprint lang-config">Session On +SessionDBDPerUser On</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="housekeeping" id="housekeeping">Database Housekeeping</a></h2> + <p>Over the course of time, the database can be expected to start accumulating + expired sessions. At this point, the <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> module + is not yet able to handle session expiry automatically.</p> + + <div class="warning"><h3>Warning</h3> + <p>The administrator will need to set up an external process via cron to clean + out expired sessions.</p> + </div> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDCookieName" id="SessionDBDCookieName">SessionDBDCookieName</a> <a name="sessiondbdcookiename" id="sessiondbdcookiename">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDCookieName <var>name</var> <var>attributes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDCookieName</code> directive specifies the name and + optional attributes of an RFC2109 compliant cookie inside which the session ID will + be stored. RFC2109 cookies are set using the <code>Set-Cookie</code> HTTP header. + </p> + + <p>An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. + </p> + + <div class="example"><h3>Cookie with attributes</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDCookieName2" id="SessionDBDCookieName2">SessionDBDCookieName2</a> <a name="sessiondbdcookiename2" id="sessiondbdcookiename2">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDCookieName2 <var>name</var> <var>attributes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDCookieName2</code> directive specifies the name and + optional attributes of an RFC2965 compliant cookie inside which the session ID will + be stored. RFC2965 cookies are set using the <code>Set-Cookie2</code> HTTP header. + </p> + + <p>An optional list of cookie attributes can be specified, as per the example below. + These attributes are inserted into the cookie as is, and are not interpreted by + Apache. Ensure that your attributes are defined correctly as per the cookie specification. + </p> + + <div class="example"><h3>Cookie2 with attributes</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDCookieRemove" id="SessionDBDCookieRemove">SessionDBDCookieRemove</a> <a name="sessiondbdcookieremove" id="sessiondbdcookieremove">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDCookieRemove On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionDBDCookieRemove On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDCookieRemove</code> flag controls whether the cookies + containing the session ID will be removed from the headers during request processing.</p> + + <p>In a reverse proxy situation where the Apache server acts as a server frontend for + a backend origin server, revealing the contents of the session ID cookie to the backend + could be a potential privacy violation. When set to on, the session ID cookie will be + removed from the incoming HTTP headers.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDDeleteLabel" id="SessionDBDDeleteLabel">SessionDBDDeleteLabel</a> <a name="sessiondbddeletelabel" id="sessiondbddeletelabel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The SQL query to use to remove sessions from the database</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDDeleteLabel <var>label</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionDBDDeleteLabel deletesession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDDeleteLabel</code> directive sets the default delete + query label to be used to delete an expired or empty session. This label must have been previously + defined using the <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code> directive.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDInsertLabel" id="SessionDBDInsertLabel">SessionDBDInsertLabel</a> <a name="sessiondbdinsertlabel" id="sessiondbdinsertlabel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The SQL query to use to insert sessions into the database</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDInsertLabel <var>label</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionDBDInsertLabel insertsession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDInsertLabel</code> directive sets the default insert + query label to be used to load in a session. This label must have been previously defined using the + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code> directive.</p> + + <p>If an attempt to update the session affects no rows, this query will be called to insert the + session into the database.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDPerUser" id="SessionDBDPerUser">SessionDBDPerUser</a> <a name="sessiondbdperuser" id="sessiondbdperuser">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable a per user session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDPerUser On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionDBDPerUser Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDPerUser</code> flag enables a per user session keyed + against the user's login name. If the user is not logged in, this directive will be + ignored.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDSelectLabel" id="SessionDBDSelectLabel">SessionDBDSelectLabel</a> <a name="sessiondbdselectlabel" id="sessiondbdselectlabel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The SQL query to use to select sessions from the database</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDSelectLabel <var>label</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionDBDSelectLabel selectsession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDSelectLabel</code> directive sets the default select + query label to be used to load in a session. This label must have been previously defined using the + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code> directive.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SessionDBDUpdateLabel" id="SessionDBDUpdateLabel">SessionDBDUpdateLabel</a> <a name="sessiondbdupdatelabel" id="sessiondbdupdatelabel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The SQL query to use to update existing sessions in the database</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionDBDUpdateLabel <var>label</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SessionDBDUpdateLabel updatesession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>The <code class="directive">SessionDBDUpdateLabel</code> directive sets the default update + query label to be used to load in a session. This label must have been previously defined using the + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code> directive.</p> + + <p>If an attempt to update the session affects no rows, the insert query will be + called to insert the session into the database. If the database supports InsertOrUpdate, + override this query to perform the update in one query instead of two.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_session_dbd.html" title="English"> en </a> | +<a href="../fr/mod/mod_session_dbd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_dbd.html.fr.utf8 b/docs/manual/mod/mod_session_dbd.html.fr.utf8 new file mode 100644 index 0000000..60977a2 --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html.fr.utf8 @@ -0,0 +1,407 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_dbd - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session_dbd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_dbd.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des session basé sur DBD/SQL</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_dbd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> +<h3>Sommaire</h3> + + <div class="warning"><h3>Avertissement</h3> + <p>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.</p> + </div> + + <p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> fournit le + support du stockage des sessions utilisateur dans une base de + données SQL en utilisant le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p> + + <p>Les sessions sont soit <strong>anonymes</strong>, et la session + est alors identifiée par un UUID unique stocké dans un cookie au + niveau du navigateur, soit <strong>propres à l'utilisateur</strong>, + et la session est alors identifiée par l'identifiant de + l'utilisateur connecté.</p> + + <p>Les sessions basées sur SQL sont dissimulées au navigateur, et + permettent ainsi de préserver la confidentialité sans avoir recours + au chiffrement.</p> + + <p>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.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdconfig">Configuration de DBD</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Sessions anonymes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#peruser">Sessions propres à un + utilisateur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#housekeeping">Nettoyage de la base de + données</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="dbdconfig" id="dbdconfig">Configuration de DBD</a></h2> + + <p>Pour que le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> puisse être + configuré et maintenir une session, il faut tout d'abord + configurer le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour que le serveur + puisse exécuter des requêtes vers la base de données.</p> + + <p>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 :</p> + + <div class="example"><h3>Exemple de configuration de DBD</h3><pre class="prettyprint lang-config">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</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="anonymous" id="anonymous">Sessions anonymes</a></h2> + + <p>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.</p> + + <p>Pour créer une session anonyme, la stocker dans une table de + base de donnée postgres nommée <var>apachesession</var>, et + sauvegarder l'identifiant de session dans un cookie nommé + <var>session</var>, configurez la session comme suit :</p> + + <div class="example"><h3>Session anonyme basée sur SQL</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName session path=/</pre> +</div> + + <p>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 <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + + <p>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 + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="peruser" id="peruser">Sessions propres à un + utilisateur</a></h2> + + <p>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é.</p> + + <p>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 + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p> + + <p>Pour créer une session propre à un utilisateur, la stocker dans + une table de base de données postgres nommée + <var>apachesession</var>, avec comme clé de session l'identifiant + utilisateur, ajoutez les lignes suivantes :</p> + + <div class="example"><h3>Session propre à un utilisateur basée sur SQL</h3><pre class="prettyprint lang-config">Session On +SessionDBDPerUser On</pre> +</div> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="housekeeping" id="housekeeping">Nettoyage de la base de + données</a></h2> + <p>Avec le temps, la base de données va commencer à accumuler des + sessions expirées. Pour le moment, le module + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> n'est pas en mesure de gérer + automatiquement l'expiration des sessions.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>L'administrateur devra mettre en oeuvre un traitement externe + via cron pour nettoyer les sessions expirées.</p> + </div> + + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdcookiename" id="sessiondbdcookiename">Directive</a> <a name="SessionDBDCookieName" id="SessionDBDCookieName">SessionDBDCookieName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieName <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDCookieName</code> 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 + <code>Set-Cookie</code>. + </p> + + <p>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 tels quels, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. + </p> + + <div class="example"><h3>Cookie avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdcookiename2" id="sessiondbdcookiename2">Directive</a> <a name="SessionDBDCookieName2" id="SessionDBDCookieName2">SessionDBDCookieName2</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieName2 <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDCookieName2</code> 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 + <code>Set-Cookie2</code>. + </p> + + <p>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. + </p> + + <div class="example"><h3>Cookie2 avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdcookieremove" id="sessiondbdcookieremove">Directive</a> <a name="SessionDBDCookieRemove" id="SessionDBDCookieRemove">SessionDBDCookieRemove</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieRemove On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDCookieRemove On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDCookieRemove</code> 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.</p> + + <p>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é. À ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbddeletelabel" id="sessiondbddeletelabel">Directive</a> <a name="SessionDBDDeleteLabel" id="SessionDBDDeleteLabel">SessionDBDDeleteLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour supprimer des sessions de la +base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDDeleteLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDDeleteLabel deletesession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDDeleteLabel</code> 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 + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdinsertlabel" id="sessiondbdinsertlabel">Directive</a> <a name="SessionDBDInsertLabel" id="SessionDBDInsertLabel">SessionDBDInsertLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour insérer des sessions dans la +base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDInsertLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDInsertLabel insertsession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDInsertLabel</code> 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 + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p> + + <p>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.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdperuser" id="sessiondbdperuser">Directive</a> <a name="SessionDBDPerUser" id="SessionDBDPerUser">SessionDBDPerUser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active une session propre à un utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDPerUser On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDPerUser Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDPerUser</code> 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.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdselectlabel" id="sessiondbdselectlabel">Directive</a> <a name="SessionDBDSelectLabel" id="SessionDBDSelectLabel">SessionDBDSelectLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour sélectionner des sessions +dans la base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDSelectLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDSelectLabel selectsession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDSelectLabel</code> 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 <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdupdatelabel" id="sessiondbdupdatelabel">Directive</a> <a name="SessionDBDUpdateLabel" id="SessionDBDUpdateLabel">SessionDBDUpdateLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDUpdateLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDUpdateLabel updatesession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDUpdateLabel</code> 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 + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p> + + <p>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.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_dbd.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_session_dbd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html b/docs/manual/mod/mod_setenvif.html new file mode 100644 index 0000000..d71ef31 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_setenvif.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_setenvif.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_setenvif.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_setenvif.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_setenvif.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_setenvif.html.en b/docs/manual/mod/mod_setenvif.html.en new file mode 100644 index 0000000..ac335b0 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.en @@ -0,0 +1,361 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_setenvif - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_setenvif</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows the setting of environment variables based +on characteristics of the request</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>setenvif_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_setenvif.c</td></tr></table> +<h3>Summary</h3> + + + <p>The <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> module allows you to set + internal environment variables according to whether different aspects of + the request match regular expressions you specify. These + environment variables can be used by other parts of the server + to make decisions about actions to be taken, as well as becoming + available to CGI scripts and SSI pages.</p> + + <p>The directives are considered in the order they appear in + the configuration files. So more complex sequences can be used, + such as this example, which sets <code>netscape</code> if the + browser is mozilla but not MSIE.</p> + +<pre class="prettyprint lang-config">BrowserMatch ^Mozilla netscape +BrowserMatch MSIE !netscape</pre> + + + <p>When the server looks up a path via an internal + <a class="glossarylink" href="../glossary.html#subrequest" title="see glossary">subrequest</a> such as looking + for a <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + or generating a directory listing with <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, + per-request environment variables are <em>not</em> inherited in the + subrequest. Additionally, + <code class="directive"><a href="#setenvif">SetEnvIf</a></code> directives + are not separately evaluated in the subrequest due to the API phases + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> takes action in.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifexpr">SetEnvIfExpr</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../env.html">Environment Variables in Apache HTTP Server</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets environment variables conditional on HTTP User-Agent +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + <p>The <code class="directive">BrowserMatch</code> is a special cases of the + <code class="directive"><a href="#setenvif">SetEnvIf</a></code> directive that + sets environment variables conditional on the + <code>User-Agent</code> HTTP request header. The following two + lines have the same effect:</p> +<pre class="prettyprint lang-config">BrowserMatch Robot is_a_robot +SetEnvIf User-Agent Robot is_a_robot</pre> + + + <p>Some additional examples:</p> +<pre class="prettyprint lang-config">BrowserMatch ^Mozilla forms jpeg=yes browser=netscape +BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript +BrowserMatch MSIE !javascript</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets environment variables conditional on User-Agent without +respect to case</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + + <p>The <code class="directive">BrowserMatchNoCase</code> directive is + semantically identical to the <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> directive. + However, it provides for case-insensitive matching. For + example:</p> +<pre class="prettyprint lang-config">BrowserMatchNoCase mac platform=macintosh +BrowserMatchNoCase win platform=windows</pre> + + + <p>The <code class="directive">BrowserMatch</code> and + <code class="directive">BrowserMatchNoCase</code> directives are special cases of + the <code class="directive"><a href="#setenvif">SetEnvIf</a></code> and <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code> + directives. The following two lines have the same effect:</p> +<pre class="prettyprint lang-config">BrowserMatchNoCase Robot is_a_robot +SetEnvIfNoCase User-Agent Robot is_a_robot</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets environment variables based on attributes of the request +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + <p>The <code class="directive">SetEnvIf</code> directive defines + environment variables based on attributes of the request. The + <em>attribute</em> specified in the first argument can be one of four + things:</p> + +<ol> +<li>An HTTP request header field (see <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> + for more information about these); for example: <code>Host</code>, + <code>User-Agent</code>, <code>Referer</code>, and + <code>Accept-Language</code>. A regular expression may be + used to specify a set of request headers.</li> + +<li>One of the following aspects of the request: + <ul> + <li><code>Remote_Host</code> - the hostname (if available) of + the client making the request</li> + + <li><code>Remote_Addr</code> - the IP address of the client + making the request</li> + + <li><code>Server_Addr</code> - the IP address of the server + on which the request was received (only with versions later + than 2.0.43)</li> + + <li><code>Request_Method</code> - the name of the method + being used (<code>GET</code>, <code>POST</code>, <em>et + cetera</em>)</li> + + <li><code>Request_Protocol</code> - the name and version of + the protocol with which the request was made (<em>e.g.</em>, + "HTTP/0.9", "HTTP/1.1", <em>etc.</em>)</li> + + <li><code>Request_URI</code> - the resource requested on the HTTP + request line -- generally the portion of the URL + following the scheme and host portion without the query string. See + the <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> + directive of <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> for extra information on + how to match your query string.</li> + </ul> +</li> + +<li>The name of an environment variable in the list of those +associated with the request. This allows +<code class="directive">SetEnvIf</code> directives to test against the result +of prior matches. Only those environment variables defined by earlier +<code>SetEnvIf[NoCase]</code> directives are available for testing in +this manner. 'Earlier' means that they were defined at a broader scope +(such as server-wide) or previously in the current directive's scope. +Environment variables will be considered only if there was no match +among request characteristics and a regular expression was not +used for the <em>attribute</em>.</li> + +</ol> + +<p>The second argument (<em>regex</em>) is a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>. If the <em>regex</em> +matches against the <em>attribute</em>, then the remainder of the +arguments are evaluated.</p> + +<p>The rest of the arguments give the names of variables to set, and +optionally values to which they should be set. These take the form +of</p> + + <ol> + <li><code><em>varname</em></code>, or</li> + + <li><code>!<em>varname</em></code>, or</li> + + <li><code><em>varname</em>=<em>value</em></code></li> + </ol> + + <p>In the first form, the value will be set to "1". The second + will remove the given variable if already defined, and the + third will set the variable to the literal value given by + <code><em>value</em></code>. Since version 2.0.51, Apache httpd will + recognize occurrences of <code>$1</code>..<code>$9</code> within + <var>value</var> and replace them by parenthesized subexpressions + of <var>regex</var>. <code>$0</code> provides access to the whole + string matched by that pattern.</p> + +<pre class="prettyprint lang-config">SetEnvIf Request_URI "\.gif$" object_is_image=gif +SetEnvIf Request_URI "\.jpg$" object_is_image=jpg +SetEnvIf Request_URI "\.xbm$" object_is_image=xbm + +SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral + +SetEnvIf object_is_image xbm XBIT_PROCESSING=1 + +SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1 + +SetEnvIf ^TS ^[a-z] HAVE_TS</pre> + + + <p>The first three will set the environment variable + <code>object_is_image</code> if the request was for an image + file, and the fourth sets <code>intra_site_referral</code> if + the referring page was somewhere on the + <code>www.mydomain.example.com</code> Web site.</p> + + <p>The last example will set environment variable + <code>HAVE_TS</code> if the request contains any headers that + begin with "TS" whose values begins with any character in the + set [a-z].</p> + +<h3>See also</h3> +<ul> +<li><a href="../env.html">Environment Variables in Apache HTTP Server</a>, +for additional examples. +</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfExpr" id="SetEnvIfExpr">SetEnvIfExpr</a> <a name="setenvifexpr" id="setenvifexpr">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets environment variables based on an ap_expr expression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetEnvIfExpr <em>expr + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + <p>The <code class="directive">SetEnvIfExpr</code> directive defines + environment variables based on an <code class="directive"><a href="../mod/core.html#if"><If></a></code> + <code>ap_expr</code>. These expressions will be evaluated at runtime, + and applied <em>env-variable</em> in the same fashion as <code class="directive">SetEnvIf</code>.</p> + +<pre class="prettyprint lang-config">SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered</pre> + + + <p>This would set the environment variable <code>iso_delivered</code> + every time our application attempts to send it via <code>X-Sendfile</code></p> + + <p>A more useful example would be to set the variable rfc1918 if the + remote IP address is a private address according to RFC 1918:</p> + +<pre class="prettyprint lang-config">SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918</pre> + + +<h3>See also</h3> +<ul> +<li><a href="../expr.html">Expressions in Apache HTTP Server</a>, +for a complete reference and more examples.</li> +<li><code class="directive"><a href="../mod/core.html#if"><If></a></code> can be used to achieve similar +results.</li> +<li><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets environment variables based on attributes of the request +without respect to case</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + + <p>The <code class="directive">SetEnvIfNoCase</code> is semantically identical to + the <code class="directive"><a href="#setenvif">SetEnvIf</a></code> directive, + and differs only in that the regular expression matching is + performed in a case-insensitive manner. For example:</p> +<pre class="prettyprint lang-config">SetEnvIfNoCase Host Example\.Org site=example</pre> + + + <p>This will cause the <code>site</code> environment variable + to be set to "<code>example</code>" if the HTTP request header + field <code>Host:</code> was included and contained + <code>Example.Org</code>, <code>example.org</code>, or any other + combination.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_setenvif.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.fr.utf8 b/docs/manual/mod/mod_setenvif.html.fr.utf8 new file mode 100644 index 0000000..77e7db3 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.fr.utf8 @@ -0,0 +1,373 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_setenvif - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_setenvif</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de définir des variables d'environnement en fonction +de certainescaractéristiques de la requête</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>setenvif_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_setenvif.c</td></tr></table> +<h3>Sommaire</h3> + + + <p>Le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> vous permet de définir + des variables d'environnement internes de manière conditionnelle en fonction + de critères que vous pouvez spécifier. Ces variables d'environnement + peuvent être utilisées par d'autres parties du serveur pour prendre + des décisions quant aux actions à entreprendre, et pour déterminer + si les scripts CGI et les pages SSI doivent pouvoir y accéder.</p> + + <p>Les directives sont interprétées selon l'ordre dans lequel elles + apparaîssent dans les fichiers de configuration. Ainsi, des + séquences plus complexes peuvent être utilisées, comme dans cet + exemple qui définit netscape si le navigateur est Mozilla et non + MSIE.</p> + +<pre class="prettyprint lang-config">BrowserMatch ^Mozilla netscape +BrowserMatch MSIE !netscape</pre> + + + <p>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="../glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la + recherche d'un <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un + listing du contenu d'un répertoire via le module + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des + variables d'environnement spécifiques à la requête. En outre, à cause + des phases de l'API auxquelles <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> prend + part, les directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ne sont pas évaluées + séparément dans la sous-requête.</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifexpr">SetEnvIfExpr</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../env.html">Les variables d'environnement et le +serveur HTTP Apache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="browsermatch" id="browsermatch">Directive</a> <a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>] +[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + <p>La directive <code class="directive">BrowserMatch</code> est un cas + particulier de la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, qui définit des variables + d'environnement en fonction du contenu de l'en-tête de requête HTTP + <code>User-Agent</code>. Les deux lignes suivantes produisent le même + effet :</p> +<pre class="prettyprint lang-config">BrowserMatch Robot is_a_robot +SetEnvIf User-Agent Robot is_a_robot</pre> + + + <p>Quelques exemples supplémentaires :</p> +<pre class="prettyprint lang-config">BrowserMatch ^Mozilla forms jpeg=yes browser=netscape +BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript +BrowserMatch MSIE !javascript</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="browsermatchnocase" id="browsermatchnocase">Directive</a> <a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la +casse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + + <p>La directive <code class="directive">BrowserMatchNoCase</code> est + identique sur le plan sémantique à la directive <code class="directive"><a href="#browsermatch">BrowserMatch</a></code>. Elle permet + cependant une comparaison insensible à la casse. Par exemple :</p> +<pre class="prettyprint lang-config">BrowserMatchNoCase mac platform=macintosh +BrowserMatchNoCase win platform=windows</pre> + + + <p>Les directives <code class="directive">BrowserMatch</code> et + <code class="directive">BrowserMatchNoCase</code> sont des cas particuliers + des directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code> + et <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code>. + Ainsi, les deux lignes suivantes produisent le même effet :</p> +<pre class="prettyprint lang-config">BrowserMatchNoCase Robot is_a_robot +SetEnvIfNoCase User-Agent Robot is_a_robot</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setenvif" id="setenvif">Directive</a> <a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des +attributs de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIf <em>attribut + regex [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + <p>La directive <code class="directive">SetEnvIf</code> permet de définir + des variables d'environnement en fonction des attributs de la + requête. L'<em>attribut</em> spécifié comme premier argument peut + se présenter sous l'une des trois formes suivantes :</p> + +<ol> +<li>Un champ d'en-tête de requête HTTP (voir la <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> pour + plus d'information à leur propos) ; par exemple : <code>Host</code>, + <code>User-Agent</code>, <code>Referer</code>, ou + <code>Accept-Language</code>. Il est possible d'utiliser une + expression rationnelle pour spécifier un jeu d'en-têtes de + requête.</li> + +<li>Une des caractéristiques de la requête suivantes : + <ul> + <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible) + du client qui effectue la requête</li> + + <li><code>Remote_Addr</code> - l'adresse IP du client qui effectue + la requête</li> + + <li><code>Server_Addr</code> - l'adresse IP du serveur qui a reçu + la requête (uniquement à partir des versions supérieures à + 2.0.43)</li> + + <li><code>Request_Method</code> - Le nom de la méthode HTTP + utilisée (<code>GET</code>, <code>POST</code>, <em>et + cetera...</em>)</li> + + <li><code>Request_Protocol</code> - le nom et la version du + protocole utilisé pour la requête (par exemple "HTTP/0.9", + "HTTP/1.1", <em>etc...</em>)</li> + + <li><code>Request_URI</code> - la ressource demandée dans la ligne + de requête HTTP -- en général la partie de l'URL suivant le + protocole et le nom du serveur, sans la chaîne d'arguments. Voir + la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> du module + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour plus d'informations sur la + manière de mettre en correspondance votre chaîne d'arguments.</li> + </ul> +</li> + +<li>Le nom d'une variable d'environnement parmi la liste de celles qui +sont associées à la requête. Ceci permet à la directive +<code class="directive">SetEnvIf</code> d'effectuer des tests en fonction du +résultat de comparaisons précédentes. Seules les variables +d'environnement définies par des directives +<code>SetEnvIf[NoCase]</code> précédentes sont disponibles pour +effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se +trouvent à un niveau plus global de la configuration (par exemple au +niveau du serveur principal), ou plus haut chronologiquement dans le +contexte de la directive. Les variables d'environnement ne seront prises +en compte que si aucune correspondance n'a été trouvée parmi les +caractéristiques de la requête, et si <em>attribut</em> n'a pas été +spécifié sous la forme d'une expression rationnelle.</li> + +</ol> + +<p>Le second argument (<em>regex</em>) est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Si <em>regex</em> +correspond à l'<em>attribut</em>, les arguments suivants sont évalués.</p> + +<p>Le reste des arguments constitue les noms des variables à définir, +ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils +peuvent se présenter sous les formes suivantes :</p> + + <ol> + <li><code><em>nom-variable</em></code>, ou</li> + + <li><code>!<em>nom-variable</em></code>, ou</li> + + <li><code><em>nom-variable</em>=<em>valeur</em></code></li> + </ol> + + <p>Dans la première forme, la valeur sera définie à "1". Dans la + seconde forme, la variable sera supprimée si elle a été définie au + préalable, et dans la troisième forme, la variable sera définie à la + valeur littérale spécifiée par <code><em>valeur</em></code>. Depuis + la version 2.0.51, Apache httpd reconnaît les occurrences de variables + <code>$1</code>..<code>$9</code> à l'intérieur de + <code><em>valeur</em></code>, et les remplace par les + sous-expressions entre parenthèses correspondantes de + <var>regex</var>. <code>$0</code> permet d'accéder à l'ensemble de la chaîne + qui correspond à ce modèle.</p> + +<pre class="prettyprint lang-config">SetEnvIf Request_URI "\.gif$" object_is_image=gif +SetEnvIf Request_URI "\.jpg$" object_is_image=jpg +SetEnvIf Request_URI "\.xbm$" object_is_image=xbm + +SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral + +SetEnvIf object_is_image xbm XBIT_PROCESSING=1 + +SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1 + +SetEnvIf ^TS ^[a-z] HAVE_TS</pre> + + + <p>Les trois premières lignes définissent la variable + d'environnement <code>objet_est_une_image</code> si l'objet de la + requête est un fichier image, et la quatrième définit la variable + <code>intra_site_referral</code> si la page référante se trouve + quelque part dans le site web + <code>www.mydomain.example.com</code>.</p> + + <p>La dernière ligne définit la variable d'environnement + <code>HAVE_TS</code> si la requête contient un en-tête dont le nom + commence par "TS" et dont la valeur commence par tout caractère du + jeu [a-z].</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../env.html">Les variables d'environnement et le +serveur HTTP Apache</a> pour des exemples supplémentaires. +</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setenvifexpr" id="setenvifexpr">Directive</a> <a name="SetEnvIfExpr" id="SetEnvIfExpr">SetEnvIfExpr</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction d'une expression ap_expr</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfExpr <em>expr + [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + <p>La directive <code class="directive">SetEnvIfExpr</code> permet de + définir des variables d'environnement en fonction d'une expression + <code class="directive"><a href="../mod/core.html#if"><If></a></code> <code>ap_expr</code>. Cette + expression est évaluée à l'exécution, et utilise les variables + d'environnement <em>env-variable</em> de la même manière que la + directive <code class="directive">SetEnvIf</code>.</p> + +<pre class="prettyprint lang-config">SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered</pre> + + + <p>Dans cet exemple, la variable d'environnement + <code>iso_delivered</code> est définie chaque fois que notre + application tente de l'envoyer via <code>X-Sendfile</code>.</p> + + <p>Il pourrait être plus utile de définir une variable rfc1918 si + l'adresse IP distante est une adresse privée au sens de la RFC 1918 + :</p> + +<pre class="prettyprint lang-config">SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918</pre> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../expr.html">Les expressions dans le serveur HTTP +Apache</a>, pour une référence complète et davantage d'exemples.</li> +<li>La directive <code class="directive"><a href="../mod/core.html#if"><If></a></code> permet d'obtenir des résultats +similaires.</li> +<li><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="setenvifnocase" id="setenvifnocase">Directive</a> <a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfNoCase <em>attribut regex + [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr> +</table> + + <p>La directive <code class="directive">SetEnvIfNoCase</code> est identique + d'un point de vue sémantique à la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, et ne s'en distingue que + par le fait que la comparaison des expressions rationnelles est + effectuée sans tenir compte de la casse. Par exemple :</p> +<pre class="prettyprint lang-config">SetEnvIfNoCase Host Example\.Org site=example</pre> + + + <p>Cette ligne va définir la variable d'environnement + <code>site</code> avec la valeur "<code>example</code>" si le champ + d'en-tête de requête HTTP <code>Host:</code> est présent et contient + <code>Example.Org</code>, <code>example.org</code>, ou une autre + combinaison des mêmes caractères, sans tenir compte de la casse.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_setenvif.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.ja.utf8 b/docs/manual/mod/mod_setenvif.html.ja.utf8 new file mode 100644 index 0000000..4d6346f --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.ja.utf8 @@ -0,0 +1,340 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_setenvif - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_setenvif</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>リクエストの特徴に基づいた環境変数の設定を可能にする</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>setenvif_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_setenvif.c</td></tr></table> +<h3>概要</h3> + + + <p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> + モジュールは、リクエストのある側面が指定された正規表現 + に合うかどうかによって環境変数を設定する機能を提供します。 + これらの環境変数を使用して、サーバの他の部分がどのような動作をするかを + 決定することができます。</p> + + <p>このモジュールが提供するディレクティブは、 + 設定ファイルに現れる順番に適用されます。 + それを使って、次の例のようにより複雑な設定をすることができます。 + これは、ブラウザが mozilla ではあるけれど、MSIE ではないときに + <code>netscape</code> を設定します。</p> +<div class="example"><p><code> + BrowserMatch ^Mozilla netscape<br /> + BrowserMatch MSIE !netscape<br /> +</code></p></div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifexpr">SetEnvIfExpr</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../env.html">Apache の環境変数</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP User-Agent に基づいて環境変数を設定する +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">BrowserMatch</code> は + <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ディレクティブの + 特例で、<code>User-Agent</code> HTTP リクエストヘッダに基づいて + 環境変数を設定します。以下の 2 行の効果は同じになります:</p> + +<div class="example"><p><code> + BrowserMatchNoCase Robot is_a_robot<br /> + SetEnvIfNoCase User-Agent Robot is_a_robot<br /> +</code></p></div> + + <p>その他の例:</p> +<div class="example"><p><code> + BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br /> + BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br /> + BrowserMatch MSIE !javascript<br /> +</code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP User-Agent に基づいて大文字小文字を区別せずに +環境変数を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> +</table> + + <p><code class="directive">BrowserMatchNoCase</code> ディレクティブは + 意味的には <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> ディレクティブと + 同じです。ただし、このディレクティブは大文字小文字を区別しない + マッチングを行ないます。例えば:</p> + +<div class="example"><p><code> + BrowserMatchNoCase mac platform=macintosh<br /> + BrowserMatchNoCase win platform=windows<br /> +</code></p></div> + + <p><code class="directive">BrowserMatch</code> ディレクティブと + <code class="directive">BrowserMatchNoCase</code> ディレクティブは + <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ディレクティブと + <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code> ディレクティブの + 特例です。以下の 2 行の効果は同じです:</p> + +<div class="example"><p><code> + BrowserMatchNoCase Robot is_a_robot<br /> + SetEnvIfNoCase User-Agent Robot is_a_robot<br /> +</code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストの属性に基づいて環境変数を設定する +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">SetEnvIf</code> + ディレクティブは、リクエストの属性に基づいて環境変数を定義します。 + 最初の引数で指定できる <em>attribute</em> は以下の 4 つのどれかです:</p> + +<ol> +<li>HTTP リクエストヘッダフィールド (詳しい情報は <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC 2616</a> を + 参照してください)。例えば、<code>Host</code>, + <code>User-Agent</code>, <code>Referer</code>, + <code>Accept-Language</code> です。リクエストヘッダの集合を現すために + 正規表現を使うこともできます。</li> + +<li>以下のリクエストの一部分のどれか: + + <ul> + <li><code>Remote_Host</code> - + リクエストを行なっているクライアントのホスト名 (もしあれば)</li> + + <li><code>Remote_Addr</code> - + リクエストを行なっているクライアントの IP アドレス</li> + + <li><code>Server_Addr</code> - + リクエストを受け取ったサーバの IP アドレス + (2.0.43 以降のみ)</li> + + <li><code>Request_Method</code> - + 使用されているメソッド名 (<code>GET</code>, <code>POST</code> + <em>など</em>)</li> + + <li><code>Request_Protocol</code> - + リクエストが行なわれたプロトコルの名前とバージョン + (<em>例えば</em>、"HTTP/0.9", "HTTP/1.1" <em>など。</em>)</li> + + <li><code>Request_URI</code> - + URL のスキームとホストの後の部分。 + 追加の情報として、クエリーストリングにマッチさせる場合については + <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> + ディレクティブを参照してください。</li> + </ul> +</li> + +<li>リクエストと関連付けられる環境変数のリスト。これにより +<code class="directive">SetEnvIf</code> ディレクティブが以前のマッチの結果を +使うことができるようになります。この方法のテストでは前の部分にある +<code>SetEnvIf[NoCase]</code> の結果のみを使用可能です。「前」とは、 +より広い範囲に対して定義されている (サーバ全体のように) か、現在のディレクティブの +範囲でより前の部分で定義されているか、ということです。 +環境変数である可能性は、リクエストの特性に対するマッチが存在せず、 +<em>attribute</em> に正規表現が使われなかったときにのみ考慮されます。</li> + +<li> + SSL クライアント証明書拡張への参照で、<em>oid</em> オブジェクト ID + で指定されるもの。 + SSL リクエストでない場合や <em>oid</em> が設定されていなかった場合は、 + 変数はセットされません。<em>oid</em> が複数見つかった場合は + それらの文字列はカンマ <code>','</code> 区切りで連結されます。 + <em>oid</em> は文字列型拡張への参照でなければなりません。 +</li> +</ol> + +<p>二つ目の引数 (<em>regex</em>) は <a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>です。 +これは POSIX.2 の egrep 形式の正規表現と似ています。<em>regex</em> が +<em>attribute</em> にマッチする場合は、残りの引数が評価されます。</p> + +<p>残りの引数は設定する変数の名前で、設定される値を指定することもできます。 +これは、</p> + + <ol> + <li><code><em>varname</em></code></li> + + <li><code>!<em>varname</em></code></li> + + <li><code><em>varname</em>=<em>value</em></code></li> + </ol> + + <p>のどれかの形式になります。</p> + + <p>最初の形式では、値は "1" に設定されます。 + 二つ目はもし値が定義されていればそれを取り除きます。 + 三つ目は変数を <code><em>value</em></code> の与えられた値に設定します。 + 2.0.51 以降では、<var>value</var> 内に <code>$1</code>..<code>$9</code> + が存在すればそれを認識し、<var>regex</var> の対応する丸括弧で囲まれた部分で + 置換します。</p> + +<div class="example"><h3>例:</h3><p><code> + + SetEnvIf Request_URI "\.gif$" object_is_image=gif<br /> + SetEnvIf Request_URI "\.jpg$" object_is_image=jpg<br /> + SetEnvIf Request_URI "\.xbm$" object_is_image=xbm<br /> + :<br /> + SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral<br /> + :<br /> + SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br /> + :<br /> + SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" NetscapeComment=$1<br /> + :<br /> + SetEnvIf ^TS* ^[a-z].* HAVE_TS<br /> +</code></p></div> + + <p>初めの三つはリクエストが画像であるときに環境変数 + <code>object_is_image</code> を設定します。四つ目は + 参照元のページがウェブサイト <code>www.mydomain.example.com</code> にあるときに + <code>intra_site_referral</code> を設定します。</p> + + <p>6番目の例では環境変数 <code>NetscapeComment</code> を定義して、 + その値が SSL クライアント証明書の対応するフィールドの文字列であるようにします。 + ただし SSL クライアント証明書の対応するフィールドに文字列が存在する + ときにのみ、環境変数は設定されます。</p> + + <p>最後の例は、リクエストに "TS" で始まり、値が集合 [a-z] のどれかで + 始まるヘッダがあるときに <code>HAVE_TS</code> を設定します。</p> + +<h3>参照</h3> +<ul> +<li>他の例は、<a href="../env.html">Apache の環境変数</a> +</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfExpr" id="SetEnvIfExpr">SetEnvIfExpr</a> <a name="setenvifexpr" id="setenvifexpr">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Sets environment variables based on an ap_expr expression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストの属性に基づいて大文字小文字を区別せずに環境変数を設定する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_setenvif</td></tr> +</table> + + <p><code class="directive">SetEnvIfNoCase</code> は意味的には + <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ディレクティブと + 同じです。違いは、正規表現のマッチングが大文字小文字を区別しないで + 行なわれることです。例えば:</p> + +<div class="example"><p><code> + SetEnvIfNoCase Host Apache\.Org site=apache +</code></p></div> + + <p>これは HTTP リクエストヘッダにフィールド <code>Host:</code> が + あり、その値が <code>Apache.Org</code> や <code>apache.org</code>、 + その他の大文字小文字の組み合わせであったときに <code>site</code> + 環境変数を "<code>apache</code>" に設定します。</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_setenvif.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.ko.euc-kr b/docs/manual/mod/mod_setenvif.html.ko.euc-kr new file mode 100644 index 0000000..326c702 --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.ko.euc-kr @@ -0,0 +1,297 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_setenvif - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_setenvif</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>û ݿ ȯ溯 Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>setenvif_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_setenvif.c</td></tr></table> +<h3></h3> + + + <p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> û + ǥĿ شϴ η ȯ溯 Ѵ. + ٸ κ ൿ Ҷ ȯ溯 ִ.</p> + + <p>Ͽ þ óѴ. + MSIE ƴ϶ mozilla <code>netscape</code> + ϴ Ʒ þ Բ ִ.</p> + +<div class="example"><p><code> + BrowserMatch ^Mozilla netscape<br /> + BrowserMatch MSIE !netscape<br /> +</code></p></div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifexpr">SetEnvIfExpr</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../env.html">ġ ȯ溯</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>HTTP User-Agent ȯ溯 Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">BrowserMatch</code> <code class="directive"><a href="#setenvif">SetEnvIf</a></code> þ Ư + , HTTP û <code>User-Agent</code> ȯ溯 + Ѵ. :</p> +<div class="example"><p><code> + BrowserMatchNoCase Robot is_a_robot<br /> + SetEnvIfNoCase User-Agent Robot is_a_robot<br /> +</code></p></div> + + <p>߰ :</p> +<div class="example"><p><code> + BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br /> + BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br /> + BrowserMatch MSIE !javascript<br /> +</code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ҹڸ ʰ User-Agent ȯ溯 +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_setenvif</td></tr> +</table> + + <p><code class="directive">BrowserMatchNoCase</code> þ <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> þ + ǹ̻ . þ ҹڸ ʴ´. + :</p> +<div class="example"><p><code> + BrowserMatchNoCase mac platform=macintosh<br /> + BrowserMatchNoCase win platform=windows<br /> +</code></p></div> + + <p><code class="directive">BrowserMatch</code> + <code class="directive">BrowserMatchNoCase</code> þ + <code class="directive"><a href="#setenvif">SetEnvIf</a></code> + <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code> + þ Ư . :</p> +<div class="example"><p><code> + BrowserMatchNoCase Robot is_a_robot<br /> + SetEnvIfNoCase User-Agent Robot is_a_robot<br /> +</code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>û ȯ溯 Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">SetEnvIf</code> þ û + ȯ溯 Ѵ. ù° ƱԸƮ <em>attribute</em> + ϳ:</p> + +<ol> +<li>HTTP û ( ڼ <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> + ); : <code>Host</code>, <code>User-Agent</code>, + <code>Referer</code>, <code>Accept-Language</code>. ǥ + Ͽ û Ī ִ.</li> + +<li>û ϳ: + <ul> + <li><code>Remote_Host</code> - (ִٸ) ûϴ Ŭ̾Ʈ + ȣƮ</li> + + <li><code>Remote_Addr</code> - ûϴ Ŭ̾Ʈ IP ּ</li> + + <li><code>Server_Addr</code> - û IP ּ + (2.0.43 Ŀ)</li> + + <li><code>Request_Method</code> - ̸ + (<code>GET</code>, <code>POST</code>, <em></em>)</li> + + <li><code>Request_Protocol</code> - û ̸ + (<em> </em>, "HTTP/0.9", "HTTP/1.1", <em>.</em>)</li> + + <li><code>Request_URI</code> - HTTP û û ڿ + -- Ϲ URL ǹڿ Ŵ(scheme) + ȣƮ κ</li> + </ul> +</li> + +<li>û ȯ溯 ̸. <code class="directive">SetEnvIf</code> +þ þ ˻ ִ. +<code>SetEnvIf[NoCase]</code> þ ȯ溯 +˻ ִ. ''̶ ( ) Ȥ +þ Ѵ. û ƴϰ ǥ +ƴ <em>attribute</em> ȯ溯 Ѵ.</li> +</ol> + +<p>ι° ƱԸƮ (<em>regex</em>) <a href="http://www.pcre.org/">Perl ȣȯ ǥ</a>̴. +̴ POSIX.2 egrep ǥİ ϴ. <em>regex</em> +<em>attribute</em> ϸ ƱԸƮ óѴ.</p> + +<p> ƱԸƮ () ̴. + ̴</p> + + <ol> + <li><code><em>varname</em></code>, Ȥ</li> + + <li><code>!<em>varname</em></code>, Ȥ</li> + + <li><code><em>varname</em>=<em>value</em></code></li> + </ol> + + <p>ù° ´ "1" Ѵ. ι° ´ + ̹ ǵ ϰ, ° + <code><em>value</em></code> Ѵ. ġ 2.0.51 + <var>value</var> ִ <code>$1</code>..<code>$9</code> + <var>regex</var> ȣģ ǥ üѴ.</p> + +<div class="example"><h3>:</h3><p><code> + + SetEnvIf Request_URI "\.gif$" object_is_image=gif<br /> + SetEnvIf Request_URI "\.jpg$" object_is_image=jpg<br /> + SetEnvIf Request_URI "\.xbm$" object_is_image=xbm<br /> + :<br /> + SetEnvIf Referer www\.mydomain\.com intra_site_referral<br /> + :<br /> + SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br /> + :<br /> + SetEnvIf ^TS* ^[a-z].* HAVE_TS<br /> +</code></p></div> + + <p>ó ̹ û ȯ溯 + <code>object_is_image</code> Ѵ. ° + <code>www.mydomain.com</code> Ʈ + <code>intra_site_referral</code> Ѵ.</p> + + <p> û ̸ "TS" ϰ [a-z] + ϳ ϴ ִ ȯ溯 + <code>HAVE_TS</code> Ѵ.</p> + +<h3></h3> +<ul> +<li><a href="../env.html">ġ ȯ溯</a> + ִ. +</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfExpr" id="SetEnvIfExpr">SetEnvIfExpr</a> <a name="setenvifexpr" id="setenvifexpr">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Sets environment variables based on an ap_expr expression</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_setenvif</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ҹڸ ʰ û ȯ溯 +Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_setenvif</td></tr> +</table> + + <p><code class="directive">SetEnvIfNoCase</code> ǹ̻ <code class="directive"><a href="#setenvif">SetEnvIf</a></code> þ , + ҹڸ ʰ ǥ ã´. :</p> +<div class="example"><p><code> + SetEnvIfNoCase Host Apache\.Org site=apache +</code></p></div> + + <p> HTTP û <code>Host:</code> + <code>Apache.Org</code>, <code>apache.org</code> ϸ + <code>site</code> ȯ溯 "<code>apache</code>" Ѵ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_setenvif.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_setenvif.html.tr.utf8 b/docs/manual/mod/mod_setenvif.html.tr.utf8 new file mode 100644 index 0000000..98d243e --- /dev/null +++ b/docs/manual/mod/mod_setenvif.html.tr.utf8 @@ -0,0 +1,347 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_setenvif - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_setenvif</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Ortam değişkenlerinin isteğin özelliklerine uygun olarak atanmasını sağlar</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>setenvif_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_setenvif.c</td></tr></table> +<h3>Özet</h3> + + + <p><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> modülü dahili ortam değişkenlerinin + isteğin farklı bileşenlerinin belirttiğiniz düzenli ifade ile eşleşmesine + bağlı olarak atanmasını mümkün kılar. Bu ortam değişkenleri sunucunun + çeşitli kısımlarında yapılacak eylemlerin yanında CGI betiklerinde ve SSI + sayfalarında kullanılabilir hale gelmelerine karar verilirken + kullanılır.</p> + + <p>Yönergeler yapılandırma dosyasında yer aldıkları sıraya göre ele + alınırlar. Böylece daha karmaşık dizilimler kullanılabilir, bu örnekteki + tarayıcı Mozilla ise <code>netscape</code> ortam değişkeni atanmakta, + MSIE ise atanmamaktadır.</p> + + <pre class="prettyprint lang-config">BrowserMatch ^Mozilla netscape +BrowserMatch MSIE !netscape</pre> + + + <p><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> ile dizin listesi oluşturulması + veya bir <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> + için yol aranması gibi bir dahili <a class="glossarylink" href="../glossary.html#subrequest" title="sözlüğe bakınız">alt + istek</a> için sunucu yol araması yaparken isteklere özgü + ortam değişkenleri alt istekler tarafından miras alınMAZ. Buna ek + olarak, <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> modülünün devreye girdiği API + fazlarından dolayı yapılan alt isteklerde + <code class="directive"><a href="#setenvif">SetEnvIf</a></code> yönergeleri + ayrı ayrı değerlendirilMEZ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifexpr">SetEnvIfExpr</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../env.html">Apache HTTP Sunucusundaki Ortam Değişkenleri</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam değişkenlerini HTTP kullanıcı arayüzüne göre belirler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>BrowserMatch <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>] +[[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">BrowserMatch</code> yönergesi <code class="directive"><a href="#setenvif">SetEnvIf</a></code> yönergesinin özel bir halidir + ve ortam değişkenlerine <code>User-Agent</code> HTTP istek başlığının + değerine göre atama yapar. Aşağıdaki iki satır aynı etkiye sahiptir:</p> + + <pre class="prettyprint lang-config">BrowserMatch Robot is_a_robot +SetEnvIf User-Agent Robot is_a_robot</pre> + + + <p>Başka örnekler:</p> + + <pre class="prettyprint lang-config">BrowserMatch ^Mozilla forms jpeg=yes browser=netscape +BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript +BrowserMatch MSIE !javascript</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam değişkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne +duyarsız eşleşmelerine bağlı olarak belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>BrowserMatchNoCase <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>] +[[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_setenvif</td></tr> +</table> + + <p><code class="directive">BrowserMatchNoCase</code> yönergesi sözdizimsel ve + anlamsal olarak <code class="directive"><a href="#browsermatch">BrowserMatch</a></code> yönergesinin eşdeğeridir. + Ancak, eşleşmelerde harf büyüklüğüne duyarsızdır. Örnek:</p> + + <pre class="prettyprint lang-config">BrowserMatchNoCase mac platform=macintosh +BrowserMatchNoCase win platform=windows</pre> + + + <p><code class="directive">BrowserMatch</code> ve + <code class="directive">BrowserMatchNoCase</code> yönergeleri <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ve <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code> yönergelerinin özel + halleridir. Bu bakımda aşağıdaki iki satır aynı etkiye sahiptir:</p> + + <pre class="prettyprint lang-config">BrowserMatchNoCase Robot is_a_robot +SetEnvIfNoCase User-Agent Robot is_a_robot</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam değişkenlerini isteğin özniteliklerine göre atar. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetEnvIf <em>öznitelik + düzifd [!]ort-değişkeni</em>[=<em>değer</em>] + [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">SetEnvIf</code> yönergesi ortam değişkenlerini isteğin + özniteliklerine göre tanımlar. İlk bileşen olarak belirtilen + <code><em>öznitelik</em></code> şu dört şeyden biri olabilir:</p> + + <ol> + <li>Bir HTTP istek başlığı alanı (ayrıntılı bilgi için bak: <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>); + örneğin: <code>Host</code>, <code>User-Agent</code>, + <code>Referer</code> ve <code>Accept-Language</code>. Bir düzenli + ifade kullanılarak birden fazla istek başlığı belirtilebilir.</li> + + <li>İsteğin aşağıdaki bileşenlerinden biri: + <ul> + <li><code>Remote_Host</code> - isteği yapan istemcinin konak ismi + (varsa)</li> + + <li><code>Remote_Addr</code> -isteği yapan istemcinin IP adresi</li> + + <li><code>Server_Addr</code> - isteği alan sunucunun IP adresi + (sadece 2.0.43 sonrası sürümler için)</li> + + <li><code>Request_Method</code> - kullanılan yöntemin ismi + (<code>GET</code>, <code>POST</code>, vs.)</li> + + <li><code>Request_Protocol</code> - İsteğin yapıldığı protokolün + ismi ve numarası ("HTTP/0.9", "HTTP/1.1" gibi)</li> + + <li><code>Request_URI</code> - HTTP istek satırında belirtilen + özkaynak; genellikle sorgu dizgesi olmaksızın şema ve konak ismini + içeren bir URL parçasıdır. Sorgu dizgeleriyle eşleşmeler hakkında + ayrıntılı bilgi edinmek için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> + modülünün <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> + yönergesinin açıklamasına bakınız.</li> + </ul> + </li> + + <li>İstek ile evvelce ilişkilendirilmiş bir ortam değişkeninin ismi. Bu + sayede önceki bir eşleşmenin sonucuna karşı yeni bir sınama yapma + imkanı ortaya çıkar. Böyle bir sınama için sadece evvelce + <code>SetEnvIf[NoCase]</code> yönergeleri ile yapılmış atamalardaki + ortam değişkenleri kullanılabilir. ‘Evvelce’ derken, sunucu genelinde + veya bölüm içinde bu yönergeden önce yer alan + <code>SetEnvIf[NoCase]</code> yönerge satırları kastedilmektedir. + Ortam değişkenlerinin dikkate alınabilmesi için istek öznitelikleri + arasında hiçbir eşleşme olmaması ve <code><em>öznitelik</em></code> + olarak bir düzenli ifade belirtilmemiş olması gerekir.</li> + </ol> + + <p>İkinci bileşen (<code><em>düzifd</em></code>) bir <a class="glossarylink" href="../glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a>dir. <code><em>düzifd</em></code> + ile <code><em>öznitelik</em></code> eşleştiği takdirde yönergenin kalan + bileşenleri değerlendirmeye alınır.</p> + + <p>Kalan bileşenler atanacak ortam değişkenlerinin isimleri ve isteğe + bağlı olarak bunlara atanacak değerlerden oluşur. Bunlar şöyle + belirtilebilir:</p> + + <ol> + <li><code><em>değişken-adı</em></code> veya</li> + + <li><code>!<em>değişken-adı</em></code> ya da </li> + + <li><code><em>değişken-adı</em>=<em>değer</em></code></li> + </ol> + + <p>İlk biçemde değişkene "1" değeri atanır. İkincisinde atanmış bir + değişken atanmamış yapılır. Üçüncüsünde ise değişkene belirtilen + <code><em>değer</em></code> bire bir atanır. 2.0.51 sürümünden itibaren + Apache httpd parantezli düzenli ifadelerin sonuçları ile değiştirilmek + üzere <code><em>value</em></code> içinde <code>$1</code>..<code>$9</code> + gösterimleri tanınmaktadır. <code>$0</code> bu kalıp ile eşleşen tüm dizgeye erişir.</p> + + <pre class="prettyprint lang-config">SetEnvIf Request_URI "\.gif$" nesne_bir_resim=gif +SetEnvIf Request_URI "\.jpg$" nesne_bir_resim=jpg +SetEnvIf Request_URI "\.xbm$" nesne_bir_resim=xbm + +SetEnvIf Referer belgeler\.alanismi\.example\.com dahili_site_istendi + +SetEnvIf object_is_image xbm XBIT_PROCESSING=1 + +SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1 + +SetEnvIf ^TS ^[a-z] TS_VAR</pre> + + + <p>İlk üçünde istek bir resim dosyası için yapılmışsa + <code>nesne_bir_resim</code> ortam değişkeni atanmakta, dördüncüsünde + istenen sayfa <code>belgeler.alanismi.example.com</code> adlı sitede + bulunuyorsa <code>dahili_site_istendi</code> ortam değişkeni + atanmaktadır.</p> + + <p>Son örnekte ise istekte "TS" ile başlayıp [a-z] arasındaki + karakterlerle devam eden bir başlık alanı varsa <code>TS_VAR</code> + ortam değişkeni atanmaktadır.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../env.html">Apache HTTP Sunucusundaki Ortam Değişkenleri</a> +belgesinde daha fazla örnek bulunabilir.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfExpr" id="SetEnvIfExpr">SetEnvIfExpr</a> <a name="setenvifexpr" id="setenvifexpr">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir ap_expr ifadesine dayanarak ortam değişkenlerine değer atar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetEnvIfExpr <em>ifade + [!]ort-değişkeni</em>[=<em>değer</em>] + [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">SetEnvIfExpr</code> yönergesi bir <code class="directive"><a href="../mod/core.html#if"><If></a></code> <code>ap_expr</code> + ifadesine dayanarak ortam değişkenlerine değer atar. Bu ifadeler çalışma + anında değerlendirilirerek <code class="directive">SetEnvIf</code> yönergesindeki + gibi <em>ort-değişkeni</em>ne uygulanır.</p> + + <pre class="prettyprint lang-config">SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered</pre> + + + <p>Burada uygulamamızın her <code>X-Sendfile</code> göndermeye çalışmasında + ortam değişkenine <code>iso_delivered</code> değeri atanmaktadır.</p> + + <p>Uzak IP adresi RFC 1918'e göre özel bir adres ise rfc1918 değişkenine 1 + atanması daha kullanışlı bir örnek olurdu:</p> + + <pre class="prettyprint lang-config">SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918</pre> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li>Eksiksiz bir kılavuz ve daha fazla örnek için +<a href="../expr.html">Apache HTTP Sunucusundaki İfadeler</a> belgesine +bakınız.</li> +<li>Benzer sonuçlara ulaşmak için <code class="directive"><a href="../mod/core.html#if"><If></a></code> yönergesi kullanılabilir.</li> +<li><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ortam değişkenlerini isteğin özniteliklerinde harf büyüklüğüne +bağlı olmaksızın yapılmış tanımlara göre atar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SetEnvIfNoCase <em>öznitelik + düzifd [!]ort-değişkeni</em>[=<em>değer</em>] + [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak, dizin, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Geçersizleştirme:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_setenvif</td></tr> +</table> + <p><code class="directive">SetEnvIfNoCase</code> yönergesi sözdizimsel ve anlamsal + olarak <code class="directive"><a href="#setenvif">SetEnvIf</a></code> + yönergesinin eşdeğeridir. Ancak, eşleşmelerde harf büyüklüğüne + duyarsızdır. Örnek:</p> + + <pre class="prettyprint lang-config">SetEnvIfNoCase Host Example\.Org site=example</pre> + + + <p>Burada, <code>Host:</code> HTTP istek başlığında + <code>Example.Org</code>, <code>example.org</code> veya harf büyüklüğünce + farklı benzerleri belirtilmişse <code>site</code> ortam değişkenine + "<code>example</code>" değeri atanmaktadır.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_setenvif.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_setenvif.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_plain.html b/docs/manual/mod/mod_slotmem_plain.html new file mode 100644 index 0000000..843e262 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_slotmem_plain.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_slotmem_plain.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_slotmem_plain.html.en b/docs/manual/mod/mod_slotmem_plain.html.en new file mode 100644 index 0000000..630231b --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html.en @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_slotmem_plain - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_slotmem_plain</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_slotmem_plain.html" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_plain.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Slot-based shared memory provider.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>slotmem_plain_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_slotmem_plain.c</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_slotmem_plain.html">mod_slotmem_plain</a></code> is a memory provider which + provides for creation and access to a plain memory segment + in which the datasets are organized in "slots." + </p> + + <p>If the memory needs to be shared between threads and + processes, a better provider would be + <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>. + </p> + + <p><code class="module"><a href="../mod/mod_slotmem_plain.html">mod_slotmem_plain</a></code> provides the following API functions: + </p> + +<pre class="prettyprint lang-c">/* call the callback on all worker slots */ +apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool) + +/* create a new slotmem with each item size is item_size */ +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) + +/* attach to an existing slotmem */ +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) + +/* get the direct pointer to the memory associated with this worker slot */ +apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem) + +/* get/read the memory from this slot to dest */ +apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len) + +/* put/write the data from src to this slot */ +apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len) + +/* return the total number of slots in the segment */ +unsigned int num_slots(ap_slotmem_instance_t *s) + +/* return the total data size, in bytes, of a slot in the segment */ +apr_size_t slot_size(ap_slotmem_instance_t *s) + +/* grab or allocate the first free slot and mark as in-use (does not do any data copying) */ +apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id) + +/* forced grab or allocate the specified slot and mark as in-use (does not do any data copying) */ +apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id) + +/* release or free a slot and mark as not in-use (does not do any data copying) */ +apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)</pre> + + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_plain">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_plain">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_slotmem_plain.html" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_plain.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_slotmem_plain.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_plain.html.fr.utf8 b/docs/manual/mod/mod_slotmem_plain.html.fr.utf8 new file mode 100644 index 0000000..342901f --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html.fr.utf8 @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_slotmem_plain - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_slotmem_plain</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_plain.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée à base de +slots.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>slotmem_plain_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_plain.c</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_slotmem_plain.html">mod_slotmem_plain</a></code> 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". + </p> + + <p>Si la mémoire doit être partagée entre des threads et des + processus, il est préférable d'utiliser le fournisseur + <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>. + </p> + + <p><code class="module"><a href="../mod/mod_slotmem_plain.html">mod_slotmem_plain</a></code> fournit une API comprenant les + fonctions suivantes : + </p> + + +<pre class="prettyprint lang-c">/* appelle le callback sur tous les slots actifs */ +apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool) + +/* crée un nouveau slot de mémoire dont chaque item aura une taille de item_size. */ +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) + +/* rattache à un slot de mémoire existant. */ +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) + +/* indique la mémoire associée à ce slot actif. */ +apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem) + +/* lit la mémoire depuis ce slot et la transfert vers dest */ +apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len) + +/* écrit dans ce slot la mémoire en provenance de src */ +apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len) + +/* renvoie le nombre total de slots contenus dans ce segment */ +unsigned int num_slots(ap_slotmem_instance_t *s) + +/* renvoie la taille totale des données, en octets, contenues dans un slot de ce segment */ +apr_size_t slot_size(ap_slotmem_instance_t *s) + +/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune copie de données) */ +apr_status_t grab(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 fgrab(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) */ +apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)</pre> + + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_plain">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_plain">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_plain.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_slotmem_plain.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_shm.html b/docs/manual/mod/mod_slotmem_shm.html new file mode 100644 index 0000000..c173c1b --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_slotmem_shm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_slotmem_shm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_slotmem_shm.html.en b/docs/manual/mod/mod_slotmem_shm.html.en new file mode 100644 index 0000000..4ff603c --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html.en @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_slotmem_shm - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_slotmem_shm</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_slotmem_shm.html" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_shm.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Slot-based shared memory provider.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>slotmem_shm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_slotmem_shm.c</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> is a memory provider which + provides for creation and access to a shared memory segment + in which the datasets are organized in "slots." + </p> + + <p>All shared memory is cleared and cleaned with each + restart, whether graceful or not. The data itself is + stored and restored within a file noted by the <code>name</code> + parameter in the <code>create</code> and <code>attach</code> + calls. If not specified with an absolute path, the file will be + created relative to the path specified by the + <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code> directive. + </p> + + <p><code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> provides the following API functions: + </p> + +<pre class="prettyprint lang-c">/* call the callback on all worker slots */ +apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool) + +/* create a new slotmem with each item size is item_size. 'name' is used to generate a filename for the persistent + store of the shared memory if configured. Values are: + "none" - Anonymous shared memory and no persistent store + "file-name" - [DefaultRuntimeDir]/file-name + "/absolute-file-name" - Absolute file name */ +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) + +/* attach to an existing slotmem. See 'create()' for description of 'name' parameter */ +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) + +/* get the direct pointer to the memory associated with this worker slot */ +apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem) + +/* get/read the memory from this slot to dest */ +apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len) + +/* put/write the data from src to this slot */ +apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len) + +/* return the total number of slots in the segment */ +unsigned int num_slots(ap_slotmem_instance_t *s) + +/* return the total data size, in bytes, of a slot in the segment */ +apr_size_t slot_size(ap_slotmem_instance_t *s) + +/* grab or allocate the first free slot and mark as in-use (does not do any data copying) */ +apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id) + +/* forced grab or allocate the specified slot and mark as in-use (does not do any data copying) */ +apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id) + +/* release or free a slot and mark as not in-use (does not do any data copying) */ +apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)</pre> + + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_shm">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_shm">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_slotmem_shm.html" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_shm.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_slotmem_shm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_shm.html.fr.utf8 b/docs/manual/mod/mod_slotmem_shm.html.fr.utf8 new file mode 100644 index 0000000..fd62f19 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html.fr.utf8 @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_slotmem_shm - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_slotmem_shm</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_shm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée basée sur les +slots.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>slotmem_shm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_shm.c</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> 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". + </p> + + <p>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 <code>name</code> des appels <code>create</code> et + <code>attach</code>. Si son chemin absolu n'est pas spécifié, le + chemin du fichier sera relatif au chemin défini par la directive + <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>. + </p> + + <p><code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> fournit les fonctions d'API suivantes + : + </p> + +<pre class="prettyprint lang-c">/* appelle le callback pour tous les slots actifs */ +apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, 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" - Chemin absolu du fichier */ +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) + +/* attache à un slot de mémoire existant. Voir + 'create' pour la description du paramètre + '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) + +/* obtient la mémoire associée à ce slot actif. */ +apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem) + +/* lit la mémoire depuis ce slot et la transfert vers dest */ +apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len) + +/* écrit dans ce slot la mémoire en provenance de src */ +apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len) + +/* renvoie le nombre total de slots contenus dans ce segment */ +unsigned int num_slots(ap_slotmem_instance_t *s) + +/* renvoie la taille totale des données, en octets, contenues + dans un slot de ce segment */ +apr_size_t slot_size(ap_slotmem_instance_t *s) + +/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune + copie de données) */ +apr_status_t grab(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 fgrab(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) */ +apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)</pre> + + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_shm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_shm">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_shm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_slotmem_shm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_so.html b/docs/manual/mod/mod_so.html new file mode 100644 index 0000000..29d9f91 --- /dev/null +++ b/docs/manual/mod/mod_so.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_so.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_so.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_so.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_so.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_so.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_so.html.en b/docs/manual/mod/mod_so.html.en new file mode 100644 index 0000000..cc8f498 --- /dev/null +++ b/docs/manual/mod/mod_so.html.en @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_so - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_so</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_so.html" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Loading of executable code and +modules into the server at start-up or restart time</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>so_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_so.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>This is a Base module (always included) on +Windows</td></tr></table> +<h3>Summary</h3> + + + <p>On selected operating systems this module can be used to + load modules into Apache HTTP Server at runtime via the <a href="../dso.html">Dynamic Shared Object</a> (DSO) mechanism, + rather than requiring a recompilation.</p> + + <p>On Unix, the loaded code typically comes from shared object + files (usually with <code>.so</code> extension), on Windows + this may either be the <code>.so</code> or <code>.dll</code> + extension.</p> + + <div class="warning"><h3>Warning</h3> + <p>Modules built for one major version of the Apache HTTP Server + will generally not work on another. (e.g. 1.3 vs. 2.0, or 2.0 vs. + 2.2) There are usually API changes between one major version and + another that require that modules be modified to work with the new + version.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#windows">Creating Loadable Modules for Windows</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="windows" id="windows">Creating Loadable Modules for Windows</a></h2> + + <div class="note"><h3>Note</h3> + <p>On Windows, where loadable files typically have a file extension + of <code>.dll</code>, Apache httpd modules are called + <code>mod_whatever.so</code>, just as they are on other platforms. + However, you may encounter third-party modules, such as PHP for + example, that continue to use the <code>.dll</code> convention.</p> + + <p>While <code>mod_so</code> still loads modules with + <code>ApacheModuleFoo.dll</code> names, the new naming convention is + preferred; if you are converting your loadable module for 2.0, + please fix the name to this 2.0 convention.</p></div> + + <p>The Apache httpd module API is unchanged between the Unix and + Windows versions. Many modules will run on Windows with no or + little change from Unix, although others rely on aspects of the + Unix architecture which are not present in Windows, and will + not work.</p> + + <p>When a module does work, it can be added to the server in + one of two ways. As with Unix, it can be compiled into the + server. Because Apache httpd for Windows does not have the + <code>Configure</code> program of Apache httpd for Unix, the module's + source file must be added to the ApacheCore project file, and + its symbols must be added to the + <code>os\win32\modules.c</code> file.</p> + + <p>The second way is to compile the module as a DLL, a shared + library that can be loaded into the server at runtime, using + the <code class="directive">LoadModule</code> + directive. These module DLLs can be distributed and run on any + Apache httpd for Windows installation, without recompilation of the + server.</p> + + <p>To create a module DLL, a small change is necessary to the + module's source file: The module record must be exported from + the DLL (which will be created later; see below). To do this, + add the <code>AP_MODULE_DECLARE_DATA</code> (defined in the + Apache httpd header files) to your module's module record definition. + For example, if your module has:</p> + +<div class="example"><p><code> + module foo_module; +</code></p></div> + + <p>Replace the above with:</p> +<div class="example"><p><code> + module AP_MODULE_DECLARE_DATA foo_module; +</code></p></div> + + <p>Note that this will only be activated on Windows, so the + module can continue to be used, unchanged, with Unix if needed. + Also, if you are familiar with <code>.DEF</code> files, you can + export the module record with that method instead.</p> + + <p>Now, create a DLL containing your module. You will need to + link this against the libhttpd.lib export library that is + created when the libhttpd.dll shared library is compiled. You + may also have to change the compiler settings to ensure that + the Apache httpd header files are correctly located. You can find + this library in your server root's modules directory. It is + best to grab an existing module .dsp file from the tree to + assure the build environment is configured correctly, or + alternately compare the compiler and link options to your + .dsp.</p> + + <p>This should create a DLL version of your module. Now simply + place it in the <code>modules</code> directory of your server + root, and use the <code class="directive">LoadModule</code> + directive to load it.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadFile" id="LoadFile">LoadFile</a> <a name="loadfile" id="loadfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Link in the named object file or library</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LoadFile <em>filename</em> [<em>filename</em>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr> +</table> + + <p>The <code class="directive">LoadFile</code> directive links in the named object files or + libraries when the server is started or restarted; this is used + to load additional code which may be required for some module + to work. <em>Filename</em> is either an absolute path or + relative to <a href="core.html#serverroot">ServerRoot</a>.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">LoadFile "libexec/libxmlparse.so"</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadModule" id="LoadModule">LoadModule</a> <a name="loadmodule" id="loadmodule">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Links in the object file or library, and adds to the list +of active modules</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LoadModule <em>module filename</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr> +</table> + <p>The <code class="directive">LoadModule</code> directive links in the object file or library + <em>filename</em> and adds the module structure named + <em>module</em> to the list of active modules. <em>Module</em> + is the name of the external variable of type + <code>module</code> in the file, and is listed as the <a href="module-dict.html#ModuleIdentifier">Module Identifier</a> + in the module documentation.</p> + + <p>For example:</p> + + <pre class="prettyprint lang-config">LoadModule status_module "modules/mod_status.so"</pre> + + + <p>loads the named module from the modules subdirectory of the + ServerRoot.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_so.html" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_so.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.fr.utf8 b/docs/manual/mod/mod_so.html.fr.utf8 new file mode 100644 index 0000000..4c36c71 --- /dev/null +++ b/docs/manual/mod/mod_so.html.fr.utf8 @@ -0,0 +1,244 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_so - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_so</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chargement de modules ou de code exécutable au cours du +démarrage ou du redémarrage du serveur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>so_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_so.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, c'est un module de base (toujours +inclus)</td></tr></table> +<h3>Sommaire</h3> + + + <p>Sur les systèmes d'exploitation sélectionnés, ce module peut être + utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution + grâce au mécanisme des <a href="../dso.html">Dynamic Shared Object ou Objets Partagés + Dynamiquement</a> (DSO), et évite ainsi de devoir effectuer une + recompilation.</p> + + <p>Sous Unix, le code chargé provient en général de fichiers objet + partagés possèdant en général l'extension <code>.so</code>, alors + que sous Windows, l'extension peut être soit <code>.so</code>, soit + <code>.dll</code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>En général, les modules compilés pour une version majeure du + serveur HTTP Apache ne fonctionneront pas avec une autre (par + exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre, + il y a souvent des modifications d'API qui nécessitent des + modifications du module pour qu'il puisse fonctionner avec la + nouvelle version.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#windows">Création de modules chargeables pour +Windows</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="windows" id="windows">Création de modules chargeables pour +Windows</a></h2> + + <div class="note"><h3>Note</h3> + <p>Sous Windows, où les modules chargeables possèdent en général + l'extension de nom de fichier <code>.dll</code>, les modules Apache + httpd se nomment <code>mod_nom-module.so</code>, tout comme sur les + autres plates-formes. Vous trouverez cependant encore des modules + tiers, comme PHP par exemple, qui continuent d'utiliser la + convention de nommage avec extension <code>.dll</code>.</p> + + <p>Bien que <code>mod_so</code> puisse encore charger des modules + possèdant un nom du style <code>ApacheModuleFoo.dll</code>, + il est préférable d'utiliser la + nouvelle convention de nommage ; si vous modifiez votre module + chargeable pour la version 2.0, veuillez aussi modifier son nom pour + respecter cette nouvelle convention.</p></div> + + <p>Les API des modules Apache httpd sous Unix et Windows sont identiques. + Alors que certains modules s'appuient sur certains + aspects de l'architecture Unix non présents dans Windows, et ne + fonctionneront donc pas sur cette dernière plate-forme, de nombreux + modules fonctionnent sous Windows avec peu ou pas de modification + par rapport à leur version Unix.</p> + + <p>Lorsqu'un module fonctionne, il peut être ajouté au serveur de + deux manières. Sous Unix, il peut être compilé dans le serveur. + Comme Apache httpd pour Windows ne dispose pas du programme + <code>Configure</code> propre à Apache httpd pour Unix, le fichier source + du module doit être ajouté au fichier projet Apache de base, et ses + symboles ajoutés au fichier <code>os\win32\modules.c</code>.</p> + + <p>La seconde méthode consiste à compiler le module en tant que DLL, + à savoir une bibliothèque partagée qui pourra être chargée dans le + serveur en cours d'exécution via la directive + <code class="directive">LoadModule</code>. Ces modules DLL + peuvent être distribués et exécutés sur toute installation d'Apache + httpd pour Windows, sans avoir à recompiler le serveur.</p> + + <p>Pour créer un module DLL, il est nécessaire d'apporter une légère + modification à son fichier source : l'enregistrement du module doit + être exporté depuis la DLL (qui sera elle-même créée plus tard ; + voir plus loin). Pour ce faire, ajoutez la macro + <code>AP_MODULE_DECLARE_DATA</code> (définie dans les fichiers + d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre + module. Par exemple, si votre module est déclaré comme suit :</p> + +<div class="example"><p><code> + module foo_module; +</code></p></div> + + <p>Remplacez cette ligne par :</p> +<div class="example"><p><code> + module AP_MODULE_DECLARE_DATA foo_module; +</code></p></div> + + <p>Notez que cette macro ne sera prise en compte que sous Windows, + si bien que le module poura être utilisé sans changement sous Unix, + si besoin est. Alternativement, si vous êtes familier avec les + fichiers <code>.DEF</code>, vous pouvez les utiliser pour exporter + l'enregistrement du module.</p> + + <p>Maintenant, nous sommes prêts à créer une DLL contenant notre + module. Il va falloir pour cela la lier avec la bibliothèque + d'export libhttpd.lib qui a été créée au cours de la compilation de + la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi + nécessaire de modifier la configuration du compilateur pour + s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement + localisés. Vous trouverez cette bibliothèque à la racine du + répertoire des modules de votre serveur. Il est souhaitable + d'utiliser un fichier de module .dsp existant dans l'arborescence + afin de s'assurer que l'environnement de compilation est + correctement configuré, mais vous pouvez aussi comparer les options + de compilation et d'édition de liens à votre fichier .dsp.</p> + + <p>Ceci devrait créer une version DLL de votre module. Il vous + suffit maintenant de l'enregistrer dans le répertoire + <code>modules</code> à la racine de votre serveur, et d'utiliser la + directive <code class="directive">LoadModule</code> pour la charger.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="loadfile" id="loadfile">Directive</a> <a name="LoadFile" id="LoadFile">LoadFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison du fichier objet ou de la bibliothèque +spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadFile <em>nom-fichier</em> [<em>nom-fichier</em>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr> +</table> + + <p>La directive <code class="directive">LoadFile</code> permet de lier le fichier + objet ou la bibliothèque spécifié au serveur lors du + démarrage ou du redémarrage + de ce dernier ; ceci permet d'ajouter tout code additionnel + nécessaire au fonctionnement d'un module. + <em>nom-fichier</em> est soit un chemin absolu, soit un chemin + relatif au répertoire défini par la directive <a href="core.html#serverroot">ServerRoot</a>.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">LoadFile "libexec/libxmlparse.so"</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="loadmodule" id="loadmodule">Directive</a> <a name="LoadModule" id="LoadModule">LoadModule</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison avec le serveur du fichier objet ou de la +bibliothèque spécifié, et ajout de ce dernier à la liste des modules +actifs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadModule <em>module nom-fichier</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr> +</table> + <p>La directive <code class="directive">LoadModule</code> permet de lier le fichier objet ou la + bibliothèque <em>nom-fichier</em> avec le serveur, et d'ajouter la + structure de module nommée <em>module</em> à la liste des modules + actifs. <em>module</em> est le nom de la variable externe de type + <code>module</code> dans le fichier, et est référencé comme <a href="module-dict.html#ModuleIdentifier">Identificateur de + module</a> dans la documentation des modules.</p> + + <p>Par exemple :</p> + + <pre class="prettyprint lang-config">LoadModule status_module "modules/mod_status.so"</pre> + + + <p>charge le module spécifié depuis le sous-répertoire des modules + situé à la racine du serveur.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_so.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.ja.utf8 b/docs/manual/mod/mod_so.html.ja.utf8 new file mode 100644 index 0000000..ab9e2d1 --- /dev/null +++ b/docs/manual/mod/mod_so.html.ja.utf8 @@ -0,0 +1,230 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_so - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_so</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>起動時や再起動時に実行コードとモジュールをサーバにロードする +</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>so_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_so.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>このモジュールは Window では (常に含まれている) Base +モジュールです</td></tr></table> +<h3>概要</h3> + + + <p>いくつかのオペレーティングシステムでは、サーバの再コンパイルをする代わりに、 + このモジュールを使用して + <a href="../dso.html">動的共有オブジェクト</a> + (DSO) 機構により、実行時に Apache HTTP Server にモジュールを読み込ませることが + できます。</p> + + <p>Unix 上では、読み込まれるコードは通常は共有オブジェクトファイル + (普通 <code>.so</code> という拡張子が付いています) からです。 + Windows 上ではこのモジュールの拡張子は <code>.so</code> か <code>.dll</code> + です。</p> + + <div class="warning"><h3>警告</h3> + <p>Apache HTTP Server のあるメジャーバージョン向けにビルドされたモジュールは一般に + 他のメジャーバージョンでは動きません。(例えば 1.3 と 2.0、 2.0 と 2.2) + またメジャーバージョン間ではAPIの変更がしばしば発生し、そのため新しい + メジャーバージョン向けにモジュールの修正が必要になることがあります。</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> Windows 用のロード可能なモジュールを作成する</li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2>Windows 用のロード可能なモジュールを作成する</h2> + + <div class="note"><h3>注</h3> + <p>Windows において動的にロードされるモジュールの拡張子は普通 <code>.dll</code> + ですが、Apache httpd のモジュールは <code>mod_whatever.so</code> + といった名前を持ちます。これは、他のプラットフォームでの通常の形式に + あわせたものです。しかしながら、サードパーティ製モジュール、例えばPHPなど、 + は今でも <code>.dll</code> の拡張子を使っています。</p> + + <p>まだ <code>mod_so</code> で <code>ApacheModuleFoo.dll</code> という名前の + モジュールもロードされますが、新しい名前の付け方を使う方が好まれます。 + モジュールを 2.0 用に移植しているのであれば、2.0 の習慣に合うように名前を + 修正してください。</p></div> + + <p>Apache httpd のモジュール API は UNIX と Windows 間では変更されていません。 + 多くのモジュールは全く変更なし、もしくは簡単な変更により Windows + で実行できるようになります。ただし、それ以外の Windows には無い Unix + アーキテクチャーの機能に依存したモジュールは動作しません。</p> + + <p>モジュールが実際に動作するときは、 + 二つの方法のどちらかでサーバに追加することができます。まず、Unix + と同様にサーバにコンパイルして組み込むことができます。Windows + 用の Apache httpd は Unix 用の Apache にある <code>Configure</code> + プログラムがありませんので、モジュールのソースファイルを + ApacheCore プロジェクトファイルに追加し、シンボルを + <code>os\win32\modules.c</code> ファイルに追加する必要があります。</p> + + <p>二つ目はモジュールを DLL としてコンパイルする方法です。 + DLL は共有ライブラリで、実行時に + <code><code class="directive">LoadModule</code></code> + ディレクティブによりサーバに読み込むことができます。これらのモジュール + DLL はそのまま配布することが可能で、サーバを再コンパイルすることなく、Windows + 用の Apache httpd のすべてのインストールで実行することができます。</p> + + <p>モジュール DLL を作成するためには、 + モジュールの作成に小さな変更を行なう必要があります。 + つまり、モジュールのレコード (これは後で作成されます。 + 以下を参照してください) が DLL からエクスポートされなければなりません。 + これを行なうには、<code>AP_MODULE_DECLARE_DATA</code> (Apache httpd + のヘッダファイルで定義されています) をモジュールのモジュールレコード + 定義の部分に追加してください。たとえば、モジュールに</p> +<div class="example"><p><code> + module foo_module; +</code></p></div> + + <p>があるとすると、それを次のもので置き換えてください。</p> +<div class="example"><p><code> + module AP_MODULE_DECLARE_DATA foo_module; +</code></p></div> + + <p>Unix 上でもこのモジュールを + 変更無しで使い続けられるように、このマクロは Windows + 上でのみ効力を持ちます。<code>.DEF</code> + ファイルの方を良く知っているという場合は、 + 代わりにそれを使ってモジュールレコードを + エクスポートすることもできます。</p> + <p>さあ、あなたのモジュールの DLL を作成しましょう。これを、 + libhttpd.lib 共有ライブラリがコンパイルされたときに作成された + ibhttpd.lib エクスポートライブラリとリンクしてください。この時に、 + Apache httpd のヘッダファイルが正しい位置にあるように、 + コンパイラの設定を変える必要があるかもしれません。 + このライブラリはサーバルートの modules ディレクトリにあります。 + ビルド環境が正しく設定されるように、既存のモジュール用の .dsp を + 取ってくるのが一番良いでしょう。もしくは、あなたの .dsp と + コンパイラとリンクのオプションを比較する、というものでも良いです。</p> + + <p>これで DLL 版のモジュールが作成されているはずです。 + サーバルートの <code>modules</code> + ディレクトリにモジュールを置いて、 + <code><code class="directive">LoadModule</code></code> + ディレクティブを使って読み込んでください。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadFile" id="LoadFile">LoadFile</a> <a name="loadfile" id="loadfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>指定されたオブジェクトファイルやライブラリをリンクする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LoadFile <em>filename</em> [<em>filename</em>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_so</td></tr> +</table> + + <p>LoadFile ディレクティブは、サーバが起動されたときや再起動されたときに、 + 指定されたオブジェクトファイルやライブラリをリンクします。 + これはモジュールが動作するために必要になるかもしれない追加の + コードを読み込むために使用されます。<em>Filename</em> は絶対パスか、<a href="core.html#serverroot">ServerRoot</a> からの相対パスです。</p> + + <p>例:</p> + + <pre class="prettyprint lang-config">LoadFile libexec/libxmlparse.so</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadModule" id="LoadModule">LoadModule</a> <a name="loadmodule" id="loadmodule">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>オブジェクトファイルやライブラリをリンクし、使用モジュールの +リストに追加する</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LoadModule <em>module filename</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_so</td></tr> +</table> + + <p>LoadModule ディレクティブは <em>filename</em> + というオブジェクトファイルおよびライブラリをリンクし、<em>module</em> + という名前のモジュールの構造をアクティブなモジュールのリストに追加します。 + <em>Module</em> はファイル中の <code>module</code> + 型の外部変数の名前で、モジュールのドキュメントに + <a href="module-dict.html#moduleidentifier">モジュール識別子</a>として書かれているものです。例 :</p> + + <pre class="prettyprint lang-config">LoadModule status_module modules/mod_status.so</pre> + + + <p>これは ServerRoot の modules サブディレクトリから指定された名前の + モジュールをロードします。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_so.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.ko.euc-kr b/docs/manual/mod/mod_so.html.ko.euc-kr new file mode 100644 index 0000000..e437cba --- /dev/null +++ b/docs/manual/mod/mod_so.html.ko.euc-kr @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_so - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_so</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>Ҷ Ȥ Ҷ డ ڵ + оδ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>so_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_so.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td> ( ϴ) Base ̴.</td></tr></table> +<h3></h3> + + + <p> ü ġ <a href="../dso.html">ü</a> + (DSO) Ͽ ٽ ʰ ߿ + о ִ.</p> + + <p>о ڵ, н (<code>.so</code> Ȯڸ + ) Ϲ ṵ̈, <code>.so</code> + Ȥ <code>.dll</code> Ȯڸ .</p> + + <div class="warning"><h3></h3> + <p>ġ 1.3 ġ 2.0 . + ġ 2.0 о̰ų ġ Ϸ + ؾ Ѵ.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#windows"> о </a></li> +</ul><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="windows" id="windows"> о </a></h2> + + <div class="note"><h3></h3> + <p> ġ 1.3.15 2.0 Ǿ. + mod_foo.so̴.</p> + + <p>mod_so ApacheModuleFoo.dll о + , ο ̸ Ģ ȣѴ. 2.0 ° + Ѵٸ ̸ 2.0 Ģ ˸° ġ ٶ.</p></div> + + <p>ġ API н ̰ų ̰ų + . API н ϱ + , н Ǵ + Ȥ Ͽ ִ.</p> + + <p> ΰ ߰ ִ. н + ִ. ġ + н <code>Configure</code> α + ҽ ApacheCore Ʈ Ͽ ߰ϰ, ɺ + <code>os\win32\modules.c</code> Ͽ ߰ؾ Ѵ.</p> + + <p>ι° + <code><code class="directive">LoadModule</code></code> þ + Ͽ Ҷ о ִ ̺귯 DLL + ̴. DLL ϸ + ʰ ġ ִ.</p> + + <p> DLL ؼ ҽ ؾ + Ѵ. DLL module record exportؾ Ѵ. (Ʒ ) + ̸ module record ǿ (ġ Ͽ + ǵ) <code>AP_MODULE_DECLARE_DATA</code> ߰Ѵ. + , ִٸ:</p> + +<div class="example"><p><code> + module foo_module; +</code></p></div> + + <p> Ѵ:</p> +<div class="example"><p><code> + module AP_MODULE_DECLARE_DATA foo_module; +</code></p></div> + + <p> κ ϱ Ͽ н + ҽ ״ ִ. , <code>.DEF</code> Ͽ + ͼϴٸ Ͽ module record export + ִ.</p> + + <p> DLL . ̸ ̺귯 + libhttpd.dll Ҷ libhttpd.lib export ̺귯 + ũѴ. ġ ùٷ ã Ϸ + ؾ . modules 丮 + ̺귯 ã ִ. ȯ ùٷ ϱ + .dsp ų .dsp + Ϸ/Ŀ ɼ ϴ .</p> + + <p> DLL . ̰ + <code>modules</code> 丮 ΰ, + <code class="directive">LoadModule</code> þ Ͽ оδ.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadFile" id="LoadFile">LoadFile</a> <a name="loadfile" id="loadfile">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ̳ ̺귯 оδ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>LoadFile <em>filename</em> [<em>filename</em>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_so</td></tr> +</table> + + <p>LoadFile þ ϰų Ҷ + ̳ ̺귯 оδ(link in). þ + ϱ ʿ ڵ带 ߰ о϶ + Ѵ. <em>Filename</em> ̰ų <a href="core.html#serverroot">ServerRoot</a> ̴.</p> + + <p> :</p> + + <div class="example"><p><code>LoadFile libexec/libxmlparse.so</code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadModule" id="LoadModule">LoadModule</a> <a name="loadmodule" id="loadmodule">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>̳ ̺귯 о̰, 밡 + Ͽ ߰Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>LoadModule <em>module filename</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_so</td></tr> +</table> + <p>LoadModule þ Ȥ ̺귯 <em>filename</em> + о̰, 밡 Ͽ <em>module</em>̶ + ü ߰Ѵ. <em>Module</em> + <code>module</code> ڷ ܺκ̸, <a href="module-dict.html#ModuleIdentifier"></a> + ´. :</p> + + <div class="example"><p><code> + LoadModule status_module modules/mod_status.so + </code></p></div> + + <p>ServerRoot modules 丮 оδ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_so.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_so.html.tr.utf8 b/docs/manual/mod/mod_so.html.tr.utf8 new file mode 100644 index 0000000..9e65e88 --- /dev/null +++ b/docs/manual/mod/mod_so.html.tr.utf8 @@ -0,0 +1,230 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_so - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_so</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Modüllerin ve çalıştırılabilir kodun sunucunun başlatılması veya +yeniden başlatılması sırasında yüklenmesini sağlar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>so_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_so.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Uyumluluk:</a></th><td>Windows için bu bir temel modüldür (sunucu bunu daima içerir).</td></tr></table> +<h3>Özet</h3> + + + <p>Seçilen işletim sistemleri üzerinde bu modül Apache HTTP Sunucusunun + yeniden derlenmesini gerektirmeden modüllerin <a href="../dso.html">Devingen Paylaşımlı Nesne</a> (DSO) mekanizması üzerinden + kullanılabilmesini sağlar.</p> + + <p>Unix’te yüklenen kod genellikle paylaşımlı nesne dosyalarından + (<code>.so</code> uzantılı dosyalar), Windows’ta ise ya <code>.so</code> + ya da <code>.dll</code> uzantılı dosyalardan gelir.</p> + + <div class="warning"><h3>Uyarı</h3> + <p>Apache HTTP Sunucusunun ana sürümlerinden biri (1.3, 2.0, 2.2, 2.4 gibi) + için derlenmiş modüller genelde bir diğerinde çalışmaz. Genellikle + aralarında API değişikliği sözkonusu olduğundan çalışması için modüllerde + yeni sürüme göre değişiklik yapılması gerekir.</p> + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#windows">Yüklenebilir Modüllerin Windows için Oluşturulması</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="windows" id="windows">Yüklenebilir Modüllerin Windows için Oluşturulması</a></h2> + + + <div class="note"><h3>Bilginize</h3> + <p>Windows üzeinde yüklenebilir dosyalar genelde <code>.dll</code> sonekini + alırlar. Apache httpd modülleri ise diğer platformlardaki gibi + <code>mod_filanca.so</code> biçeminde isimlendirilmektedir. Bununla + birlikte, üçüncü parti modüllerden bazılarının (PHP gibi) hala + <code>.dll</code> sonekini kullandığı görülmektedir.</p> + + <p><code>mod_so</code> modülü <code>ApacheModuleFoo.dll</code> biçeminde + isimlendirilmiş modülleri hala yüklemekteyse de yeni adlandırma uzlaşımı + tercih edilmelidir. Yüklenebilir modülleri 2.0’a dönüştürüyorsanız, + lütfen isimlerini de 2.0 uzlaşımına uygun hale getiriniz.</p></div> + + <p>Apache httpd modül programlama arayüzü Unix ve Windows sürümleri + arasında değişiklik göstermez. Unix için kullanılan çoğu modül hiç + değişiklik yapmadan ya da çok küçük bir değişiklikle Windows’ta da + çalışmaktadır. Çalışmayanlar Unix platformunun sahip olduğu ancak Windows + platformunun sahip olmadığı nitelikleri kullanan modüllerdir.</p> + + <p>Bir modül Windows’ta çalıştığı zaman, sunucuya iki şekilde + yüklenebilir. Unix’te olduğu gibi, doğrudan sunucunun içinde + derlenebilir. Windows için hazırlanan Apache httpd paketi, Unix için + geçerli olan <code>Configure</code> betiğini içermediğinden modülün + kaynak dosyası ApacheCore proje dosyasına, sembolleri de + <code>os\win32\modules.c</code> dosyasına eklenmelidir.</p> + + <p>İkinci yol ise modülü bir paylaşımlı kütüphane olarak çalışma anında + <code class="directive"><a href="#loadmodule">LoadModule</a></code> yönergesi ile yüklemek + için bir DLL olarak derlemektir. Bu DLL modüller dağıtılabilir ve + sunucuyu yeniden derlemek gerekmeksizin her Windows için Apache httpd + kurulumunda çalışabilir.</p> + + <p>Bir modül DLL’i oluşturmak için modülün kaynak dosyasında küçük bir + değişiklik yapmak gerekir: Modül kaydının daha sonra oluşturulacak olan + DLL’den ihraç edilebilmesi gerekir (aşağıya bakınız). Bunu yapmak için + modülün modül kaydı tanımına (Apache httpd başlık dosyalarında + tanımlanmış olan) <code>AP_MODULE_DECLARE_DATA</code> eklenmelidir. + Örneğin, modülünüz</p> + + <div class="example"><p><code> + module foo_module; + </code></p></div> + + <p>diye bir satır içeriyorsa bunu,</p> + + <div class="example"><p><code> + module AP_MODULE_DECLARE_DATA foo_module; + </code></p></div> + + <p>olarak değiştirmelisiniz. Bunun yalnız Windows üzerinde etkili olduğunu + ve Unix için modül kodunda bir değişiklik gerekmediğini unutmayınız. + Ayrıca, <code>.DEF</code> dosyaları hakkında bilgi sahibi iseniz modül + kodunda değişiklik yapmak yerine modül kaydını bu yöntemle de ihraç + edebilirsiniz.</p> + + <p>Artık modülü içeren bir DLL oluşturmaya hazırsınız. Bunu, libhttpd.dll + paylaşımlı kütüphanesi derlenirken oluşturulan libhttpd.lib ihraç + kütüphanesi ile ilintilemeniz gerekecektir. Ayrıca, Apache httpd başlık + dosyalarının doğru konumlandığından emin olmak için derleyici + seçeneklerinde değişiklik yapmanız gerekebilir. Bu kütüphaneyi + sunucunuzun kök dizini altındaki <code>modules</code> dizininde + bulabilirsiniz. En iyisi derleme ortamının doğru yapılandırıldığından + emin olmak için ya ağaçta mevcut modüllerden birinin <code>.dsp</code> + dosyasını gaspedersiniz ya da kendi <code>.dsp</code> dosyanızın + ilintileme seçenekleriyle derleyicininkileri karşılaştırırsınız.</p> + + <p>Artık modülünüzün DLL sürümünü oluşturmalısınız. DLL’i sunucunuzun kök + dizininin altında bulunan <code>modules</code> dizinine yerleştirdikten + sonra <code class="directive">LoadModule</code> yönergesi ile sunucunuza + yükleyebilirsiniz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadFile" id="LoadFile">LoadFile</a> <a name="loadfile" id="loadfile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_so</td></tr> +</table> + + <p><code class="directive">LoadFile</code> yönergesi ismi belirtilen kütüphaneleri + veya nesne dosyalarını sunucu başlatılırken veya yeniden başlatılırken + sunucu ile ilintiler. Yönerge, bazı modüllerin çalışması sırasında + gereken ek kodların yüklenmesi için kullanılır. + <code><em>dosya-ismi</em></code> olarak mutlak bir dosya yolu + belirtilebileceği gibi <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>’a + göreli bir dosya yolu da belirtilebilir.</p> + + <p>Örnek:</p> + + <pre class="prettyprint lang-config">LoadFile libexec/libxmlparse.so</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LoadModule" id="LoadModule">LoadModule</a> <a name="loadmodule" id="loadmodule">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler +ve etkin modül listesine ekler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LoadModule <em>modül dosya-ismi</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_so</td></tr> +</table> + <p><code class="directive">LoadModule</code> yönergesi + <code><em>dosya-ismi</em></code> ile belirtilen nesne dosyasını veya + kütüphaneyi sunucu ile ilintiler ve etkin modül listesine belirtilen + <code><em>modül</em></code> ismiyle ekler. <code><em>modül</em></code>, + modülün kaynak dosyasında <code>module</code> türündeki tek harici + değişkenin ismi olup modül belgelerinde <a href="module-dict.html#ModuleIdentifier">Modül Betimleyici</a> olarak + geçer.</p> + + <p>Örneğin,</p> + + <pre class="prettyprint lang-config">LoadModule status_module modules/mod_status.so</pre> + + + <p>satırı ile ismi belirtilen dosya <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> dizini altındaki + <code>modules</code> alt dizininden yüklenir.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_so.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_so.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dbm.html b/docs/manual/mod/mod_socache_dbm.html new file mode 100644 index 0000000..db99382 --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_dbm.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_dbm.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_dbm.html.en b/docs/manual/mod/mod_socache_dbm.html.en new file mode 100644 index 0000000..a7a39bd --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html.en @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_dbm - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_socache_dbm</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_dbm.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>DBM based shared object cache provider.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>socache_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_socache_dbm.c</td></tr></table> +<h3>Summary</h3> + + <p><code>mod_socache_dbm</code> is a shared object cache provider + which provides for creation and access to a cache backed by a + DBM database. + </p> + + <div class="example"><p><code> + dbm:/path/to/datafile + </code></p></div> + + <p>Details of other shared object cache providers can be found + <a href="../socache.html">here</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dbm">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dbm">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_dbm.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dbm.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dbm.html.fr.utf8 b/docs/manual/mod/mod_socache_dbm.html.fr.utf8 new file mode 100644 index 0000000..6240278 --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html.fr.utf8 @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_dbm - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_dbm</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dbm.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur DBM.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dbm.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code>mod_socache_dbm</code> 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. + </p> + + <div class="example"><p><code> + dbm:/chemin/vers/datafile + </code></p></div> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dbm.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_dbm.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dc.html b/docs/manual/mod/mod_socache_dc.html new file mode 100644 index 0000000..570f341 --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_dc.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_dc.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_dc.html.en b/docs/manual/mod/mod_socache_dc.html.en new file mode 100644 index 0000000..c1d92e8 --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html.en @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_dc - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_socache_dc</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_dc.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dc.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Distcache based shared object cache provider.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>socache_dc_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_socache_dc.c</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> is a shared object cache provider + which provides for creation and access to a cache backed by the + <a href="http://distcache.sourceforge.net/">distcache</a> + distributed session caching libraries. + </p> + + <p>Details of other shared object cache providers can be found + <a href="../socache.html">here</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dc">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dc">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_dc.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dc.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_dc.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dc.html.fr.utf8 b/docs/manual/mod/mod_socache_dc.html.fr.utf8 new file mode 100644 index 0000000..bb1dd1e --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html.fr.utf8 @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_dc - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_dc</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dc.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dc.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur dc.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_dc_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dc.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> 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 <a href="http://distcache.sourceforge.net/">distcache</a>. + </p> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dc">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dc">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dc.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dc.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_dc.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_memcache.html b/docs/manual/mod/mod_socache_memcache.html new file mode 100644 index 0000000..39c065b --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_memcache.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_memcache.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_memcache.html.en b/docs/manual/mod/mod_socache_memcache.html.en new file mode 100644 index 0000000..5e90bec --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html.en @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_memcache - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_socache_memcache</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_memcache.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_memcache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Memcache based shared object cache provider.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>socache_memcache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_socache_memcache.c</td></tr></table> +<h3>Summary</h3> + + <p><code>mod_socache_memcache</code> is a shared object cache provider + which provides for creation and access to a cache backed by the + <a href="http://memcached.org/">memcached</a> + high-performance, distributed memory object caching system. + </p> + + + <p>This shared object cache provider's "create" method requires a + comma separated list of memcached host/port specifications. If using + this provider via another modules configuration (such as + <code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>), provide + the list of servers as the optional "arg" parameter.</p> + + <pre class="prettyprint lang-config">SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345</pre> + + + <p>Details of other shared object cache providers can be found + <a href="../socache.html">here</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#memcacheconnttl">MemcacheConnTTL</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_memcache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_memcache">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MemcacheConnTTL" id="MemcacheConnTTL">MemcacheConnTTL</a> <a name="memcacheconnttl" id="memcacheconnttl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Keepalive time for idle connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MemcacheConnTTL <em>num[units]</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MemcacheConnTTL 15s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_socache_memcache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.17 and later</td></tr> +</table> + + <p>Set the time to keep idle connections with the memcache server(s) + alive (threaded platforms only).</p> + + <p>Valid values for <code class="directive">MemcacheConnTTL</code> are times + up to one hour. 0 means no timeout.</p> + + <div class="note"><p>This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). + </p></div> + + <p>Before Apache 2.4.17, this timeout was hardcoded and its value was 600 usec. + So, the closest configuration to match the legacy behaviour is to set + <code class="directive">MemcacheConnTTL</code> to 1ms.</p> + + <div class="example"><pre class="prettyprint lang-config"># Set a timeout of 10 minutes +MemcacheConnTTL 10min +# Set a timeout of 60 seconds +MemcacheConnTTL 60</pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_memcache.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_memcache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_memcache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_memcache.html.fr.utf8 b/docs/manual/mod/mod_socache_memcache.html.fr.utf8 new file mode 100644 index 0000000..e127af8 --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html.fr.utf8 @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_memcache - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_memcache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_memcache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_memcache.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur Memcache.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_memcache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_memcache.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code>mod_socache_memcache</code> 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 <a href="http://memcached.org/">memcached</a>. + </p> + + <p>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 + dans la configuration d'autres modules (comme + <code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>), vous devez + fournir la liste des serveurs sous la forme du paramètre optionnel + "arg".</p> + + <pre class="prettyprint lang-config">SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345</pre> + + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#memcacheconnttl">MemcacheConnTTL</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_memcache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_memcache">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="memcacheconnttl" id="memcacheconnttl">Directive</a> <a name="MemcacheConnTTL" id="MemcacheConnTTL">MemcacheConnTTL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de conservation des connexions inactives</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MemcacheConnTTL <em>num[units]</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MemcacheConnTTL 15s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_socache_memcache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP +Apache.</td></tr> +</table> + + <p>Définit la durée pendant laquelle les connexions + inactives avec le(s) serveur(s) memcache seront conservées + (plateformes threadées seulement).</p> + + <p>Les valeurs valides de la directive + <code class="directive">MemcacheConnTTL</code> sont des durées d'une heure + maximum. La valeur 0 signifie une absence de péremption</p> + + <div class="note"><p>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.. + </p></div> + + <p>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 + <code class="directive">MemcacheConnTTL</code> est donc 1ms.</p> + + <div class="example"><pre class="prettyprint lang-config"># Définition d'un délai de 10 minutes +MemcacheConnTTL 10min +# Définition d'un délai de 60 secondes +MemcacheConnTTL 60</pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_memcache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_memcache.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_memcache.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_redis.html b/docs/manual/mod/mod_socache_redis.html new file mode 100644 index 0000000..eade40d --- /dev/null +++ b/docs/manual/mod/mod_socache_redis.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_redis.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_redis.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_redis.html.en b/docs/manual/mod/mod_socache_redis.html.en new file mode 100644 index 0000000..c751957 --- /dev/null +++ b/docs/manual/mod/mod_socache_redis.html.en @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_redis - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_socache_redis</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_redis.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_redis.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Redis based shared object cache provider.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>socache_redis_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_socache_redis.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.39 and later</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_socache_redis.html">mod_socache_redis</a></code> is a shared object cache provider + which provides for creation and access to a cache backed by the + <a href="https://redis.io/">Redis</a> + high-performance, distributed memory object caching system. + </p> + + + <p>This shared object cache provider's "create" method requires a + comma separated list of memcached host/port specifications. If using + this provider via another modules configuration (such as + <code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>), provide + the list of servers as the optional "arg" parameter.</p> + + <pre class="prettyprint lang-config">SSLSessionCache redis:redis.example.com:12345,redis2.example.com:12345</pre> + + + <p>Details of other shared object cache providers can be found + <a href="../socache.html">here</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redistimeout">RedisTimeout</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_redis">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_redis">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedisConnPoolTTL" id="RedisConnPoolTTL">RedisConnPoolTTL</a> <a name="redisconnpoolttl" id="redisconnpoolttl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>TTL used for the connection pool with the Redis server(s)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RedisConnPoolTTL <em>num</em>[<em>units</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>RedisConnPoolTTL 15s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_socache_redis</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.39 and later</td></tr> +</table> + <p>Set the time to keep idle connections with the Redis server(s) + alive (threaded platforms only).</p> + + <p>Valid values for <code class="directive">RedisConnPoolTTL</code> are times + up to one hour. 0 means no timeout.</p> + + <div class="note"><p>This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). + </p></div> + + <div class="example"><pre class="prettyprint lang-config"># Set a timeout of 10 minutes +RedisConnPoolTTL 10min +# Set a timeout of 60 seconds +RedisConnPoolTTL 60</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RedisTimeout" id="RedisTimeout">RedisTimeout</a> <a name="redistimeout" id="redistimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RedisTimeout <em>num</em>[<em>units</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>RedisTimeout 5s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_socache_redis</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.39 and later</td></tr> +</table> + <p>Set the Read/Write timeout used for the connection with the Redis + server(s).</p> + + <p>Valid values for <code class="directive">RedisTimeout</code> are times + up to one hour. 0 means no timeout.</p> + + <div class="note"><p>This timeout defaults to units of seconds, but accepts + suffixes for milliseconds (ms), seconds (s), minutes (min), and hours (h). + </p></div> + + <div class="example"><pre class="prettyprint lang-config"># Set a timeout of 10 minutes +RedisTimeout 10min +# Set a timeout of 60 seconds +RedisTimeout 60</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_redis.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_redis.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_redis.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_redis.html.fr.utf8 b/docs/manual/mod/mod_socache_redis.html.fr.utf8 new file mode 100644 index 0000000..0d35a3d --- /dev/null +++ b/docs/manual/mod/mod_socache_redis.html.fr.utf8 @@ -0,0 +1,156 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_redis - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_redis</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_redis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_redis.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagé basé sur Redis.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_redis_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_redis.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.39 du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_socache_redis.html">mod_socache_redis</a></code> implémente un fournisseur de cache + d'objets partagé qui permet la création et l'accès à un cache hébergé par le + système de mise en cache d'objets en mémoire partagée à hautes performances + <a href="https://redis.io/">Redis</a>. + </p> + + <p>La méthode "create" de ce fournisseur de cache d'objets partagé nécessite + une liste en mémoire de spécifications hôte/port séparées par des virgules. + Si vous utilisez ce fournisseur dans une directive de configuration d'un autre + module comme <code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>, + spécifiez la liste des serveurs sous la forme du paramètre optionnel "arg" :</p> + + <pre class="prettyprint lang-config">SSLSessionCache redis:redis.example.com:12345,redis2.example.com:12345</pre> + + + <p>Vous trouverez une description détaillée des autres fournisseurs de cache + d'objets partagé <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#redisconnpoolttl">RedisConnPoolTTL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#redistimeout">RedisTimeout</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_redis">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_redis">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="redisconnpoolttl" id="redisconnpoolttl">Directive</a> <a name="RedisConnPoolTTL" id="RedisConnPoolTTL">RedisConnPoolTTL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie du jeu de connexions avec le(s) serveur(s) Redis.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedisConnPoolTTL <em>num</em>[<em>units</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RedisConnPoolTTL 15s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_socache_redis</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.39 du serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive permet de définir la durée pendant laquelle les + connexions inactives avec le(s) serveur(s) Redis seront conservées + (plateformes threadées seulement).</p> + + <p>Les valeurs valides pour <code class="directive">RedisConnPoolTTL</code> sont des + durées limitées à 1 heure . 0 signifie aucune limite.</p> + + <div class="note"><p>Par défaut, l'unité de ces valeurs est la secondes, mais on peut + spécifier via un suffixe des valeurs en millisecondes (ms), en secondes (s), + en minutes (min) ou en heures (h). + </p></div> + + <div class="example"><pre class="prettyprint lang-config"># Définit une durée de vie de 10 minutes +RedisConnPoolTTL 10min +# Définit une durée de vie de 60 secondes +RedisConnPoolTTL 60</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="redistimeout" id="redistimeout">Directive</a> <a name="RedisTimeout" id="RedisTimeout">RedisTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée maximale de lecture/écriture sur la connexion avec le(s) +serveur(s) Redis.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedisTimeout <em>num</em>[<em>units</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RedisTimeout 5s</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_socache_redis</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.39 du serveur HTTP Apache.</td></tr> +</table> + <p>Cette directive permet de définir la durée maximale de lecture/écriture + sur la connexion avec le(s) serveur(s) Redis.</p> + + <p>Les valeurs valides pour <code class="directive">RedisTimeout</code> sont des + durées limitées à 1 heure . 0 signifie aucune limite.</p> + + <div class="note"><p>Par défaut, l'unité de ces valeurs est la secondes, mais on peut + spécifier via un suffixe des valeurs en millisecondes (ms), en secondes (s), + en minutes (min) ou en heures (h). + </p></div> + + <div class="example"><pre class="prettyprint lang-config"># Définit une durée de 10 minutes +RedisTimeout 10min +# Définit une durée de 60 secondes +RedisTimeout 60</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_redis.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_redis.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_redis.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_shmcb.html b/docs/manual/mod/mod_socache_shmcb.html new file mode 100644 index 0000000..267124d --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_socache_shmcb.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_socache_shmcb.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_socache_shmcb.html.en b/docs/manual/mod/mod_socache_shmcb.html.en new file mode 100644 index 0000000..08eed28 --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html.en @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_shmcb - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_socache_shmcb</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_shmcb.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_shmcb.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>shmcb based shared object cache provider.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>socache_shmcb_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_socache_shmcb.c</td></tr></table> +<h3>Summary</h3> + + <p><code>mod_socache_shmcb</code> is a shared object cache provider + which provides for creation and access to a cache backed by a + high-performance cyclic buffer inside a shared memory segment. + </p> + + <div class="example"><p><code> + shmcb:/path/to/datafile(512000) + </code></p></div> + + <p>Details of other shared object cache providers can be found + <a href="../socache.html">here</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_shmcb">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_shmcb">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_socache_shmcb.html" title="English"> en </a> | +<a href="../fr/mod/mod_socache_shmcb.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_shmcb.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_shmcb.html.fr.utf8 b/docs/manual/mod/mod_socache_shmcb.html.fr.utf8 new file mode 100644 index 0000000..705f070 --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html.fr.utf8 @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_shmcb - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_shmcb</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_shmcb.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_shmcb.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur shmcb.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_shmcb_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_shmcb.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code>mod_socache_shmcb</code> 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. + </p> + + <div class="example"><p><code> + shmcb:/chemin/vers/datafile(512000) + </code></p></div> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_shmcb">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_shmcb">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_shmcb.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_shmcb.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_socache_shmcb.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html b/docs/manual/mod/mod_speling.html new file mode 100644 index 0000000..e12609e --- /dev/null +++ b/docs/manual/mod/mod_speling.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_speling.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_speling.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_speling.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_speling.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_speling.html.en b/docs/manual/mod/mod_speling.html.en new file mode 100644 index 0000000..21be8ef --- /dev/null +++ b/docs/manual/mod/mod_speling.html.en @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_speling - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_speling</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_speling.html" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Attempts to correct mistaken URLs by ignoring +capitalization, or attempting to correct various minor +misspellings.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>speling_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_speling.c</td></tr></table> +<h3>Summary</h3> + + + <p>Requests to documents sometimes cannot be served by the core + apache server because the request was misspelled or + miscapitalized. This module addresses this problem by trying to + find a matching document, even after all other modules gave up. + It does its work by comparing each document name in the + requested directory against the requested document name + <strong>without regard to case</strong>, and allowing + <strong>up to one misspelling</strong> (character insertion / + omission / transposition or wrong character). A list is built + with all document names which were matched using this + strategy. <strong>Erroneous extension</strong> can also be fixed + by this module.</p> + + <p>If, after scanning the directory,</p> + + <ul> + <li>no matching document was found, Apache will proceed as + usual and return an error (<code>404 - document not found</code>).</li> + + <li>only one document is found that "almost" matches the + request, then it is returned in the form of a redirection + response (<code>301 - Moved Permanently</code>).</li> + + <li>more than one document with a close match was found, then + the list of the matches is returned to the client, and the + client can select the correct candidate (<code>300 - Multiple + Choices</code>).</li> + </ul> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#checkbasenamematch">CheckBasenameMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a> <a name="checkbasenamematch" id="checkbasenamematch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Also match files with differing file name extensions.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckBasenameMatch On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.50 and later</td></tr> +</table> + <p>When set, this directive extends the action of the spelling correction + to the file name extension. For example a file <code>foo.gif</code> will + match a request for <code>foo</code> or <code>foo.jpg</code>. This can be + particularly useful in conjunction with + <a href="../content-negotiation.html">MultiViews</a>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a> <a name="checkcaseonly" id="checkcaseonly">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the action of the speling module to case corrections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckCaseOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckCaseOnly Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +</table> + <p>When set, this directive limits the action of the spelling correction + to lower/upper case changes. Other potential corrections are not performed, + except when <code class="directive"><a href="#checkbasenamematch">CheckBasenameMatch</a></code> is also set.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a> <a name="checkspelling" id="checkspelling">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables the spelling +module</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckSpelling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckSpelling Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +</table> + <p>This directive enables or disables the spelling module. When + enabled, keep in mind that</p> + + <ul> + <li>the directory scan which is necessary for the spelling + correction will have an impact on the server's performance + when many spelling corrections have to be performed at the + same time.</li> + + <li>the document trees should not contain sensitive files + which could be matched inadvertently by a spelling + "correction".</li> + + <li>the module is unable to correct misspelled user names (as + in <code>http://my.host/~apahce/</code>), just file names or + directory names.</li> + + <li>spelling corrections apply strictly to existing files, so + a request for the <code><Location /status></code> may + get incorrectly treated as the negotiated file + "<code>/stats.html</code>".</li> + </ul> + + + <p><code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> should not be enabled in <a href="mod_dav.html">DAV</a> + enabled directories, because it will try to "spell fix" newly created + resource names against existing filenames, e.g., when trying to upload + a new document <code>doc43.html</code> it might redirect to an existing + document <code>doc34.html</code>, which is not what was intended. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_speling.html" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_speling.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html.fr.utf8 b/docs/manual/mod/mod_speling.html.fr.utf8 new file mode 100644 index 0000000..a138304 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.fr.utf8 @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_speling - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_speling</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Tente de corriger les erreurs de casse dans les URLs ou les +fautes de frappe mineures.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>speling_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_speling.c</td></tr></table> +<h3>Sommaire</h3> + + + <p>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 + de frappe ou de casse. 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 <strong>sans tenir compte de la + casse</strong>, et en acceptant <strong>jusqu'à une erreur</strong> + (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. Ce module traite aussi les + <strong>erreurs dans les extensions de fichiers</strong>.</p> + + <p>Si après le parcours du répertoire,</p> + + <ul> + <li>aucun document correspondant n'a été trouvé, Apache procèdera + normalement et renverra une erreur (<code>404 - document not found</code>).</li> + + <li>un seul document correspondant pratiquement à la requête a + été trouvé, celui-ci est renvoyé sous la forme d'une réponse de + redirection (<code>301 - Moved Permanently</code>).</li> + + <li>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 (<code>300 - Multiple + Choices</code>).</li> + </ul> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#checkbasenamematch">CheckBasenameMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="checkbasenamematch" id="checkbasenamematch">Directive</a> <a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckBasenameMatch On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.50 du serveur HTTP +Apache</td></tr> +</table> + <p>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 <code>foo.gif</code> sera pris en compte par une requête pour + <code>foo</code> ou <code>foo.jpg</code>. Ceci peut s'avérer + particulièrement utile en conjonction avec les <a href="../content-negotiation.html">MultiViews</a>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="checkcaseonly" id="checkcaseonly">Directive</a> <a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite l'action du module aux corrections de +majuscules</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckCaseOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckCaseOnly Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +</table> + <p>Lorsqu'elle est définie à "on", cette directive permet de limiter + l'action du module aux inversions majuscule/minuscule. Les autres + corrections éventuelles ne seront effectuées que si la directive <code class="directive"><a href="#checkbasenamematch">CheckBasenameMatch</a></code> est elle aussi définie.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="checkspelling" id="checkspelling">Directive</a> <a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le module de correction</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckSpelling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckSpelling Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +</table> + <p>Cette directive permet d'activer ou de désactiver le module de + correction. Lorsqu'il est activé, rappelez-vous que :</p> + + <ul> + <li>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.</li> + + <li>l'arborescence ne doit pas contenir de documents + sensibles qui pourraient être considérés par erreur comme + correspondant à la requête.</li> + + <li>le module ne corrige pas les noms d'utilisateur mal + orthographiés (comme dans + <code>http://mon.serveur/~apahce/</code>), mais seulement les noms + de fichiers ou de répertoires.</li> + + <li>les corrections s'appliquent strictement aux fichiers + existants, si bien qu'une requête pour <code><Location + /status></code> pour être traitée de manière incorrecte comme + une requête pour le fichier négocié "<code>/stats.html</code>".</li> + </ul> + + + <p><code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> ne doit pas être activé pour des répertoires + où <a href="mod_dav.html">DAV</a> 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 <code>doc43.html</code>, il est possible qu'il redirige vers un + document existant <code>doc34.html</code>, ce qui ne correspond pas à ce que + l'on souhaite. </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_speling.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html.ja.utf8 b/docs/manual/mod/mod_speling.html.ja.utf8 new file mode 100644 index 0000000..3d65104 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.ja.utf8 @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_speling - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_speling</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ユーザが入力したであろう間違った URL を、 +大文字小文字の区別を無視することと一つ以下の綴り間違いを許容することで +修正を試みる</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>speling_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_speling.c</td></tr></table> +<h3>概要</h3> + + + <p>リクエストの綴りが間違っていたり、 + 大文字小文字が違っていたりするために、Apache のコアサーバが + ドキュメントへのリクエストへの応答を正しく提供できないことがあります。 + このモジュールは、他のすべてのモジュールがあきらめた後であったとしても、 + リクエストに合うドキュメントを見つけようとすることによりこの問題の + 解決を試みます。このモジュールはリクエストされたディレクトリにある + それぞれのドキュメントの名前と、リクエストされたドキュメントの名前とを + <strong>大文字小文字の区別を無視し</strong>、<strong>一文字までの + 綴りの間違い</strong> (文字の挿入/省略/隣合う文字の置換、間違った文字) + を許可して比較することにより、目的を達成しようとします。 + この方法でリクエストに合うドキュメントの一覧が作成されます。</p> + + <p>ディレクトリをスキャンした後に、</p> + + <ul> + <li>適切なドキュメントが見つからなかった場合、 + Apache はいつもと同じように処理をし、 + 「ドキュメントが見つからない」というエラーを返します。</li> + + <li>リクエストに「ほとんど」合うドキュメントが一つだけ見つかった場合、 + それがリダイレクト応答として返されます。</li> + + <li>よく似たドキュメントが複数見つかった場合、 + そのリストがクライアントに返され、 + クライアントが正しい候補を選択できるようにします。</li> + </ul> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#checkbasenamematch">CheckBasenameMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a> <a name="checkbasenamematch" id="checkbasenamematch">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Also match files with differing file name extensions.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CheckBasenameMatch On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_speling</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in httpd 2.4.50 and later</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a> <a name="checkcaseonly" id="checkcaseonly">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>大文字小文字の修正だけ行うようにする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CheckCaseOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CheckCaseOnly Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_speling</td></tr> +</table> + <p> このディレクティブがセットされると、 + 綴り訂正機能は大文字小文字の修正のみ働き、他の修正機能は働きません。</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a> <a name="checkspelling" id="checkspelling">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>spelling モジュールを使用するようにする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CheckSpelling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>CheckSpelling Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_speling</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>CheckSpelling は Apache 1.1 では別配布のモジュールで、 +大文字小文字の間違いのみの機能でした。Apache 1.3 で Apache の配布に +含まれるようになりました。Apache 1.3.2 より前では <code>CheckSpelling</code> +ディレクティブは「サーバ」と「バーチャルホスト」コンテキストでのみ +使用可能でした</td></tr> +</table> + <p>このディレクティブは綴り用のモジュールを使用するかどうかを + 決めます。使用時には、以下のことを覚えておいてください</p> + + <ul> + <li>同時にたくさんの綴りの訂正を行なわなければならないときは、 + そのために行なわれるディレクトリのスキャンがサーバの性能に + 影響を与えます。</li> + + <li>ドキュメントの中に綴りの「訂正」により + 意図せず合ってしまうような重要なファイルがないようにしてください。 + </li> + + <li>モジュールはユーザ名の綴りの間違い + (<code>http://my.host/~apahce/</code> のように) + を訂正することはできません。 + 訂正できるのはファイル名とディレクトリ名だけです。</li> + + <li>綴りの訂正は存在するファイルに厳密に適用されますので、 + <code><Location /status></code> + はネゴシエーションの結果のファイル "<code>/stats.html</code>" + として間違って扱われるかもしれません。</li> + </ul> + + + <p><a href="mod_dav.html">DAV</a> が有効なディレクトリでは + <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> は有効にしないでください。 + 新しく作成したリソース名を既に存在するファイル名に「修正」しようとする、 + 例えば、新規ドキュメント <code>doc43.html</code> が既に存在する + <code>doc34.html</code> にリダイレクトされて、 + 期待とは違う挙動になるからです。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_speling.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_speling.html.ko.euc-kr b/docs/manual/mod/mod_speling.html.ko.euc-kr new file mode 100644 index 0000000..086c0e3 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.ko.euc-kr @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_speling - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_speling</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>ڰ ҹڸ ߸ ϰų Ʋ + ѹ Ͽ ߸ URL ġ õѴ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>speling_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_speling.c</td></tr></table> +<h3></h3> + + + <p> Ʋų ҹڸ ߸ Ͽ ġ + û 찡 ִ. ٸ + û شϴ ã´. + û 丮 ȿ ִ û ̸ + <strong>ҹ </strong> ( ÷ / / ü + Ȥ ߸ ) <strong> ѹ Ʋ + ָ</strong> Ѵ. ̷ .</p> + + <p>丮 캻 Ŀ,</p> + + <ul> + <li> ãϸ, ġ Ϲ "document not + found ( ã )" ȯѴ.</li> + + <li>û "" ġϴ ϳ ã , + ̷ Ѵ.</li> + + <li> ã , Ŭ̾Ʈ ùٸ + ֵ .</li> + </ul> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#checkbasenamematch">CheckBasenameMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a> <a name="checkbasenamematch" id="checkbasenamematch">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Also match files with differing file name extensions.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CheckBasenameMatch On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_speling</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>Available in httpd 2.4.50 and later</td></tr> +</table><p>The documentation for this directive has + not been translated yet. Please have a look at the English + version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a> <a name="checkcaseonly" id="checkcaseonly">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>Limits the action of the speling module to case corrections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code /></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_speling</td></tr> +</table><p>Documentation not yet translated. Please see English version of document.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a> <a name="checkspelling" id="checkspelling">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> Ѵ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>CheckSpelling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>CheckSpelling Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_speling</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>ġ 1.1 CheckSpelling Ͽ, +ҹڰ ٸ 츸 ó ־. ġ 1.3 ġ + Ϻΰ Ǿ. ġ 1.3.2 +<code>CheckSpelling</code> þ "ּ" "ȣƮ" +ҿ ־.</td></tr> +</table> + <p> þ 뿩θ Ѵ. Ѵٸ + ϶</p> + + <ul> + <li> 丮 캸 ۾ ÿ + ɿ ش.</li> + + <li>߿ "" 쿬 ִ + й Ѵ.</li> + + <li> ϸ 丮 , + (<code>http://my.host/~apahce/</code> ) + Ʋ ڸ Ѵ.</li> + + <li> ϴ Ͽ ȴ. + <code><Location /status></code> û + ģ "<code>/stats.html</code>" Ϸ + ִ.</li> + </ul> + + + <p><a href="mod_dav.html">DAV</a> ϴ 丮 + mod_speling ϸ ȵȴ. εϷ + <code>doc43.html</code> ϰ + <code>doc34.html</code> Ϸ ̷Ʈϴ , DAV + ҽ ϸ " " + õϱ ̴. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_speling.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ssl.html b/docs/manual/mod/mod_ssl.html new file mode 100644 index 0000000..fb09d4e --- /dev/null +++ b/docs/manual/mod/mod_ssl.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_ssl.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_ssl.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_ssl.html.en b/docs/manual/mod/mod_ssl.html.en new file mode 100644 index 0000000..5d6b416 --- /dev/null +++ b/docs/manual/mod/mod_ssl.html.en @@ -0,0 +1,2888 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ssl - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_ssl</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ssl.html" title="English"> en </a> | +<a href="../fr/mod/mod_ssl.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Strong cryptography using the Secure Sockets +Layer (SSL) and Transport Layer Security (TLS) protocols</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>ssl_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_ssl.c</td></tr></table> +<h3>Summary</h3> + +<p>This module provides SSL v3 and TLS v1.x support for the Apache +HTTP Server. SSL v2 is no longer supported.</p> + +<p>This module relies on <a href="http://www.openssl.org/">OpenSSL</a> +to provide the cryptography engine.</p> + +<p>Further details, discussion, and examples are provided in the +<a href="../ssl/">SSL documentation</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#envvars">Environment Variables</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformats">Custom Log Formats</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Request Notes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expressionparser">Expression Parser Extension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzproviders">Authorization providers for use with Require</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatefile">SSLCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslciphersuite">SSLCipherSuite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcompression">SSLCompression</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcryptodevice">SSLCryptoDevice</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslengine">SSLEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslfips">SSLFIPS</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspenable">SSLOCSPEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssloptions">SSLOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslprotocol">SSLProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyengine">SSLProxyEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyverify">SSLProxyVerify</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrandomseed">SSLRandomSeed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrequire">SSLRequire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrequiressl">SSLRequireSSL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessioncache">SSLSessionCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessiontickets">SSLSessionTickets</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingcache">SSLStaplingCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslusername">SSLUserName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslusestapling">SSLUseStapling</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslverifyclient">SSLVerifyClient</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslverifydepth">SSLVerifyDepth</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="envvars" id="envvars">Environment Variables</a></h2> + +<p>This module can be configured to provide several items of SSL information +as additional environment variables to the SSI and CGI namespace. Except for +<code>HTTPS</code> and <code>SSL_TLS_SNI</code> which are always defined, this +information is not provided by default for performance reasons. (See +<code class="directive"><a href="#ssloptions">SSLOptions</a></code> <code>StdEnvVars</code>, below) +The generated variables +are listed in the table below. For backward compatibility the information can +be made available under different names, too. Look in the <a href="../ssl/ssl_compat.html">Compatibility</a> chapter for details on the +compatibility variables.</p> + +<table class="bordered"><tr class="header"> + <th><a name="table3">Variable Name</a></th> + <th>Value Type</th> + <th>Description</th> +</tr> +<tr><td><code>HTTPS</code></td> <td>flag</td> <td>HTTPS is being used.</td></tr> +<tr class="odd"><td><code>SSL_PROTOCOL</code></td> <td>string</td> <td>The SSL protocol version (SSLv3, TLSv1, TLSv1.1, TLSv1.2)</td></tr> +<tr><td><code>SSL_SESSION_ID</code></td> <td>string</td> <td>The hex-encoded SSL session id</td></tr> +<tr class="odd"><td><code>SSL_SESSION_RESUMED</code></td> <td>string</td> <td>Initial or Resumed SSL Session. Note: multiple requests may be served over the same (Initial or Resumed) SSL session if HTTP KeepAlive is in use</td></tr> +<tr><td><code>SSL_SECURE_RENEG</code></td> <td>string</td> <td><code>true</code> if secure renegotiation is supported, else <code>false</code></td></tr> +<tr class="odd"><td><code>SSL_CIPHER</code></td> <td>string</td> <td>The cipher specification name</td></tr> +<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>string</td> <td><code>true</code> if cipher is an export cipher</td></tr> +<tr class="odd"><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>number</td> <td>Number of cipher bits (actually used)</td></tr> +<tr><td><code>SSL_CIPHER_ALGKEYSIZE</code></td> <td>number</td> <td>Number of cipher bits (possible)</td></tr> +<tr class="odd"><td><code>SSL_COMPRESS_METHOD</code></td> <td>string</td> <td>SSL compression method negotiated</td></tr> +<tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>string</td> <td>The mod_ssl program version</td></tr> +<tr class="odd"><td><code>SSL_VERSION_LIBRARY</code></td> <td>string</td> <td>The OpenSSL program version</td></tr> +<tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>string</td> <td>The version of the client certificate</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>string</td> <td>The serial of the client certificate</td></tr> +<tr><td><code>SSL_CLIENT_S_DN</code></td> <td>string</td> <td>Subject DN in client's certificate</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>string</td> <td>Component of client's Subject DN</td></tr> +<tr><td><code>SSL_CLIENT_SAN_Email_</code><em>n</em></td> <td>string</td> <td>Client certificate's subjectAltName extension entries of type rfc822Name</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>string</td> <td>Client certificate's subjectAltName extension entries of type dNSName</td></tr> +<tr><td><code>SSL_CLIENT_SAN_OTHER_msUPN_</code><em>n</em></td> <td>string</td> <td>Client certificate's subjectAltName extension entries of type otherName, Microsoft User Principal Name form (OID 1.3.6.1.4.1.311.20.2.3)</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_I_DN</code></td> <td>string</td> <td>Issuer DN of client's certificate</td></tr> +<tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>string</td> <td>Component of client's Issuer DN</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_V_START</code></td> <td>string</td> <td>Validity of client's certificate (start time)</td></tr> +<tr><td><code>SSL_CLIENT_V_END</code></td> <td>string</td> <td>Validity of client's certificate (end time)</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_V_REMAIN</code></td> <td>string</td> <td>Number of days until client's certificate expires</td></tr> +<tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>string</td> <td>Algorithm used for the signature of client's certificate</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_A_KEY</code></td> <td>string</td> <td>Algorithm used for the public key of client's certificate</td></tr> +<tr><td><code>SSL_CLIENT_CERT</code></td> <td>string</td> <td>PEM-encoded client certificate</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em></td> <td>string</td> <td>PEM-encoded certificates in client certificate chain</td></tr> +<tr><td><code>SSL_CLIENT_CERT_RFC4523_CEA</code></td> <td>string</td> <td>Serial number and issuer of the certificate. The format matches that of the CertificateExactAssertion in RFC4523</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_VERIFY</code></td> <td>string</td> <td><code>NONE</code>, <code>SUCCESS</code>, <code>GENEROUS</code> or <code>FAILED:</code><em>reason</em></td></tr> +<tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>string</td> <td>The version of the server certificate</td></tr> +<tr class="odd"><td><code>SSL_SERVER_M_SERIAL</code></td> <td>string</td> <td>The serial of the server certificate</td></tr> +<tr><td><code>SSL_SERVER_S_DN</code></td> <td>string</td> <td>Subject DN in server's certificate</td></tr> +<tr class="odd"><td><code>SSL_SERVER_SAN_Email_</code><em>n</em></td> <td>string</td> <td>Server certificate's subjectAltName extension entries of type rfc822Name</td></tr> +<tr><td><code>SSL_SERVER_SAN_DNS_</code><em>n</em></td> <td>string</td> <td>Server certificate's subjectAltName extension entries of type dNSName</td></tr> +<tr class="odd"><td><code>SSL_SERVER_SAN_OTHER_dnsSRV_</code><em>n</em></td> <td>string</td> <td>Server certificate's subjectAltName extension entries of type otherName, SRVName form (OID 1.3.6.1.5.5.7.8.7, RFC 4985)</td></tr> +<tr><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>string</td> <td>Component of server's Subject DN</td></tr> +<tr class="odd"><td><code>SSL_SERVER_I_DN</code></td> <td>string</td> <td>Issuer DN of server's certificate</td></tr> +<tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>string</td> <td>Component of server's Issuer DN</td></tr> +<tr class="odd"><td><code>SSL_SERVER_V_START</code></td> <td>string</td> <td>Validity of server's certificate (start time)</td></tr> +<tr><td><code>SSL_SERVER_V_END</code></td> <td>string</td> <td>Validity of server's certificate (end time)</td></tr> +<tr class="odd"><td><code>SSL_SERVER_A_SIG</code></td> <td>string</td> <td>Algorithm used for the signature of server's certificate</td></tr> +<tr><td><code>SSL_SERVER_A_KEY</code></td> <td>string</td> <td>Algorithm used for the public key of server's certificate</td></tr> +<tr class="odd"><td><code>SSL_SERVER_CERT</code></td> <td>string</td> <td>PEM-encoded server certificate</td></tr> +<tr><td><code>SSL_SRP_USER</code></td> <td>string</td> <td>SRP username</td></tr> +<tr class="odd"><td><code>SSL_SRP_USERINFO</code></td> <td>string</td> <td>SRP user info</td></tr> +<tr><td><code>SSL_TLS_SNI</code></td> <td>string</td> <td>Contents of the SNI TLS extension (if supplied with ClientHello)</td></tr> +</table> + +<p><em>x509</em> specifies a component of an X.509 DN; one of +<code>C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email</code>. In httpd 2.2.0 and +later, <em>x509</em> may also include a numeric <code>_n</code> +suffix. If the DN in question contains multiple attributes of the +same name, this suffix is used as a zero-based index to select a +particular attribute. For example, where the server certificate +subject DN included two OU attributes, <code>SSL_SERVER_S_DN_OU_0</code> +and +<code>SSL_SERVER_S_DN_OU_1</code> could be used to reference each. A +variable name without a <code>_n</code> suffix is equivalent to that +name with a <code>_0</code> suffix; the first (or only) attribute. +When the environment table is populated using +the <code>StdEnvVars</code> option of +the <code class="directive"><a href="#ssloptions">SSLOptions</a></code> directive, the +first (or only) attribute of any DN is added only under a non-suffixed +name; i.e. no <code>_0</code> suffixed entries are added.</p> + +<p>In httpd 2.4.32 and later, an optional <em>_RAW</em> suffix may be +added to <em>x509</em> in a DN component, to suppress conversion of +the attribute value to UTF-8. This must be placed after the index +suffix (if any). For example, <code>SSL_SERVER_S_DN_OU_RAW</code> or +<code>SSL_SERVER_S_DN_OU_0_RAW</code> could be used.</p> + +<p>The format of the <em>*_DN</em> variables has changed in Apache HTTPD +2.3.11. See the <code>LegacyDNStringFormat</code> option for +<code class="directive"><a href="#ssloptions">SSLOptions</a></code> for details.</p> + +<p><code>SSL_CLIENT_V_REMAIN</code> is only available in version 2.1 +and later.</p> + +<p>A number of additional environment variables can also be used +in <code class="directive">SSLRequire</code> expressions, or in custom log +formats:</p> + +<div class="note"><pre>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</pre></div> + +<p>In these contexts, two special formats can also be used:</p> + +<dl> + <dt><code>ENV:<em>variablename</em></code></dt> + <dd>This will expand to the standard environment + variable <em>variablename</em>.</dd> + + <dt><code>HTTP:<em>headername</em></code></dt> + <dd>This will expand to the value of the request header with name + <em>headername</em>.</dd> +</dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logformats" id="logformats">Custom Log Formats</a></h2> + +<p>When <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is built into Apache or at least +loaded (under DSO situation) additional functions exist for the <a href="mod_log_config.html#formats">Custom Log Format</a> of +<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. First there is an +additional ``<code>%{</code><em>varname</em><code>}x</code>'' +eXtension format function which can be used to expand any variables +provided by any module, especially those provided by mod_ssl which can +you find in the above table.</p> +<p> +For backward compatibility there is additionally a special +``<code>%{</code><em>name</em><code>}c</code>'' cryptography format function +provided. Information about this function is provided in the <a href="../ssl/ssl_compat.html">Compatibility</a> chapter.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"</pre> +</div> +<p>These formats even work without setting the <code>StdEnvVars</code> +option of the <code class="directive"><a href="#ssloptions">SSLOptions</a></code> +directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Request Notes</a></h2> + +<p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> sets "notes" for the request which can be +used in logging with the <code>%{<em>name</em>}n</code> format +string in <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> + +<p>The notes supported are as follows:</p> + +<dl> + <dt><code>ssl-access-forbidden</code></dt> + <dd>This note is set to the value <code>1</code> if access was + denied due to an <code class="directive">SSLRequire</code> + or <code class="directive">SSLRequireSSL</code> directive.</dd> + + <dt><code>ssl-secure-reneg</code></dt> + <dd>If <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is built against a version of + OpenSSL which supports the secure renegotiation extension, this note + is set to the value <code>1</code> if SSL is in used for the current + connection, and the client also supports the secure renegotiation + extension. If the client does not support the secure renegotiation + extension, the note is set to the value <code>0</code>. + If <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is not built against a version of + OpenSSL which supports secure renegotiation, or if SSL is not in use + for the current connection, the note is not set.</dd> +</dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="expressionparser" id="expressionparser">Expression Parser Extension</a></h2> + +<p>When <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is built into Apache or at least +loaded (under DSO situation) any <a name="envvars">variables</a> +provided by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> can be used in expressions +for the <a href="../expr.html">ap_expr Expression Parser</a>. +The variables can be referenced using the syntax +``<code>%{</code><em>varname</em><code>}</code>''. Starting +with version 2.4.18 one can also use the +<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> style syntax +``<code>%{SSL:</code><em>varname</em><code>}</code>'' or +the function style syntax +``<code>ssl(</code><em>varname</em><code>)</code>''.</p> +<div class="example"><h3>Example (using <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>)</h3><pre class="prettyprint lang-config">Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}" +Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"</pre> +</div> +<p>This feature even works without setting the <code>StdEnvVars</code> +option of the <code class="directive"><a href="#ssloptions">SSLOptions</a></code> +directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authzproviders" id="authzproviders">Authorization providers for use with Require</a></h2> + + <p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> provides a few authentication providers for use + with <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>'s + <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> directive.</p> + + <h3><a name="reqssl" id="reqssl">Require ssl</a></h3> + + <p>The <code>ssl</code> provider denies access if a connection is not + encrypted with SSL. This is similar to the + <code class="directive">SSLRequireSSL</code> directive.</p> + + <pre class="prettyprint lang-config">Require ssl</pre> + + + + + <h3><a name="reqverifyclient" id="reqverifyclient">Require ssl-verify-client</a></h3> + + <p>The <code>ssl</code> provider allows access if the user is + authenticated with a valid client certificate. This is only + useful if <code>SSLVerifyClient optional</code> is in effect.</p> + + <p>The following example grants access if the user is authenticated + either with a client certificate or by username and password.</p> + + <pre class="prettyprint lang-config">Require ssl-verify-client +Require valid-user</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCACertificateFile" id="SSLCACertificateFile">SSLCACertificateFile</a> <a name="sslcacertificatefile" id="sslcacertificatefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCACertificateFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive sets the <em>all-in-one</em> file where you can assemble the +Certificates of Certification Authorities (CA) whose <em>clients</em> you deal +with. These are used for Client Authentication. Such a file is simply the +concatenation of the various PEM-encoded Certificate files, in order of +preference. This can be used alternatively and/or additionally to +<code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCACertificatePath" id="SSLCACertificatePath">SSLCACertificatePath</a> <a name="sslcacertificatepath" id="sslcacertificatepath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCACertificatePath <em>directory-path</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive sets the directory where you keep the Certificates of +Certification Authorities (CAs) whose clients you deal with. These are used to +verify the client certificate on Client Authentication.</p> +<p> +The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you can't just place the Certificate files +there: you also have to create symbolic links named +<em>hash-value</em><code>.N</code>. And you should always make sure this directory +contains the appropriate symbolic links.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCADNRequestFile" id="SSLCADNRequestFile">SSLCADNRequestFile</a> <a name="sslcadnrequestfile" id="sslcadnrequestfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCADNRequestFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>When a client certificate is requested by mod_ssl, a list of +<em>acceptable Certificate Authority names</em> is sent to the client +in the SSL handshake. These CA names can be used by the client to +select an appropriate client certificate out of those it has +available.</p> + +<p>If neither of the directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> or <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> are given, then the +set of acceptable CA names sent to the client is the names of all the +CA certificates given by the <code class="directive"><a href="#sslcacertificatefile">SSLCACertificateFile</a></code> and <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> directives; in other +words, the names of the CAs which will actually be used to verify the +client certificate.</p> + +<p>In some circumstances, it is useful to be able to send a set of +acceptable CA names which differs from the actual CAs used to verify +the client certificate - for example, if the client certificates are +signed by intermediate CAs. In such cases, <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> and/or <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> can be used; the +acceptable CA names are then taken from the complete set of +certificates in the directory and/or file specified by this pair of +directives.</p> + +<p><code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> must +specify an <em>all-in-one</em> file containing a concatenation of +PEM-encoded CA certificates.</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCADNRequestFile "/usr/local/apache2/conf/ca-names.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCADNRequestPath" id="SSLCADNRequestPath">SSLCADNRequestPath</a> <a name="sslcadnrequestpath" id="sslcadnrequestpath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCADNRequestPath <em>directory-path</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> + +<p>This optional directive can be used to specify the set of +<em>acceptable CA names</em> which will be sent to the client when a +client certificate is requested. See the <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> directive for more +details.</p> + +<p>The files in this directory have to be PEM-encoded and are accessed +through hash filenames. So usually you can't just place the +Certificate files there: you also have to create symbolic links named +<em>hash-value</em><code>.N</code>. And you should always make sure +this directory contains the appropriate symbolic links.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCADNRequestPath "/usr/local/apache2/conf/ca-names.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCARevocationCheck" id="SSLCARevocationCheck">SSLCARevocationCheck</a> <a name="sslcarevocationcheck" id="sslcarevocationcheck">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable CRL-based revocation checking</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLCARevocationCheck none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Optional <em>flag</em>s available in httpd 2.4.21 or +later</td></tr> +</table> +<p> +Enables certificate revocation list (CRL) checking. At least one of +<code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> +or <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code> must be +configured. When set to <code>chain</code> (recommended setting), +CRL checks are applied to all certificates in the chain, while setting it to +<code>leaf</code> limits the checks to the end-entity cert. +</p> +<p>The available <em>flag</em>s are:</p> +<ul> +<li><code>no_crl_for_cert_ok</code> + <p> + Prior to version 2.3.15, CRL checking in mod_ssl also succeeded when + no CRL(s) for the checked certificate(s) were found in any of the locations + configured with <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> + or <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>. + </p> + <p> + With the introduction of <code class="directive">SSLCARevocationFile</code>, + the behavior has been changed: by default with <code>chain</code> or + <code>leaf</code>, CRLs <strong>must</strong> be present for the + validation to succeed - otherwise it will fail with an + <code>"unable to get certificate CRL"</code> error. + </p> + <p> + The <em>flag</em> <code>no_crl_for_cert_ok</code> allows to restore + previous behaviour. + </p> +</li> +</ul> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain</pre> +</div> +<div class="example"><h3>Compatibility with versions 2.2</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain no_crl_for_cert_ok</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCARevocationFile" id="SSLCARevocationFile">SSLCARevocationFile</a> <a name="sslcarevocationfile" id="sslcarevocationfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCARevocationFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive sets the <em>all-in-one</em> file where you can +assemble the Certificate Revocation Lists (CRL) of Certification +Authorities (CA) whose <em>clients</em> you deal with. These are used +for Client Authentication. Such a file is simply the concatenation of +the various PEM-encoded CRL files, in order of preference. This can be +used alternatively and/or additionally to <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCARevocationFile "/usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCARevocationPath" id="SSLCARevocationPath">SSLCARevocationPath</a> <a name="sslcarevocationpath" id="sslcarevocationpath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCARevocationPath <em>directory-path</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive sets the directory where you keep the Certificate Revocation +Lists (CRL) of Certification Authorities (CAs) whose clients you deal with. +These are used to revoke the client certificate on Client Authentication.</p> +<p> +The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you have not only to place the CRL files there. +Additionally you have to create symbolic links named +<em>hash-value</em><code>.rN</code>. And you should always make sure this directory +contains the appropriate symbolic links.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCertificateChainFile" id="SSLCertificateChainFile">SSLCertificateChainFile</a> <a name="sslcertificatechainfile" id="sslcertificatechainfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of PEM-encoded Server CA Certificates</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCertificateChainFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<div class="note"><h3>SSLCertificateChainFile is deprecated</h3> +<p><code>SSLCertificateChainFile</code> became obsolete with version 2.4.8, +when <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code> +was extended to also load intermediate CA certificates from the server +certificate file.</p> +</div> + +<p> +This directive sets the optional <em>all-in-one</em> file where you can +assemble the certificates of Certification Authorities (CA) which form the +certificate chain of the server certificate. This starts with the issuing CA +certificate of the server certificate and can range up to the root CA +certificate. Such a file is simply the concatenation of the various +PEM-encoded CA Certificate files, usually in certificate chain order.</p> +<p> +This should be used alternatively and/or additionally to <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> for explicitly +constructing the server certificate chain which is sent to the browser +in addition to the server certificate. It is especially useful to +avoid conflicts with CA certificates when using client +authentication. Because although placing a CA certificate of the +server certificate chain into <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> has the same effect +for the certificate chain construction, it has the side-effect that +client certificates issued by this same CA certificate are also +accepted on client authentication.</p> +<p> +But be careful: Providing the certificate chain works only if you are using a +<em>single</em> RSA <em>or</em> DSA based server certificate. If you are +using a coupled RSA+DSA certificate pair, this will work only if actually both +certificates use the <em>same</em> certificate chain. Else the browsers will be +confused in this situation.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCertificateChainFile "/usr/local/apache2/conf/ssl.crt/ca.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCertificateFile" id="SSLCertificateFile">SSLCertificateFile</a> <a name="sslcertificatefile" id="sslcertificatefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCertificateFile <var>file-path</var>|<var>certid</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td><var>certid</var> available in 2.4.42 and later.</td></tr> +</table> +<p> +This directive points to a file with certificate data in PEM format, or the certificate identifier through a configured cryptographic token. +If using a PEM file, at minimum, the file must include an end-entity (leaf) certificate. +The directive can be used multiple times (referencing different filenames) +to support multiple algorithms for server authentication - typically +RSA, DSA, and ECC. The number of supported algorithms depends on the +OpenSSL version being used for mod_ssl: with version 1.0.0 or later, +<code>openssl list-public-key-algorithms</code> will output a list +of supported algorithms, see also the note below about limitations +of OpenSSL versions prior to 1.0.2 and the ways to work around them. +</p> + +<p> +The files may also include intermediate CA certificates, sorted from +leaf to root. This is supported with version 2.4.8 and later, +and obsoletes <code class="directive"><a href="#sslcertificatechainfile">SSLCertificateChainFile</a></code>. +When running with OpenSSL 1.0.2 or later, this allows +to configure the intermediate CA chain on a per-certificate basis. +</p> + +<p> +Custom DH parameters and an EC curve name for ephemeral keys, +can also be added to end of the first file configured using +<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>. +This is supported in version 2.4.7 or later. +Such parameters can be generated using the commands +<code>openssl dhparam</code> and <code>openssl ecparam</code>. +The parameters can be added as-is to the end of the first +certificate file. Only the first file can be used for custom +parameters, as they are applied independently of the authentication +algorithm type. +</p> + +<p> +Finally the end-entity certificate's private key can also be +added to the certificate file instead of using a separate +<code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> +directive. This practice is highly discouraged. If it is used, +the certificate files using such an embedded key must be configured +after the certificates using a separate key file. If the private +key is encrypted, the pass phrase dialog is forced at startup time. +</p> + +<p>As an alternative to storing certificates and private keys in +files, a certificate identifier can be used to identify a certificate +stored in a token. Currently, only <a href="https://tools.ietf.org/html/rfc7512">PKCS#11 URIs</a> are +recognized as certificate identifiers, and can be used in conjunction +with the OpenSSL <code>pkcs11</code> engine. If <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> is omitted, the +certificate and private key can be loaded through the single +identifier specified with <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>.</p> + +<div class="note"> +<h3>DH parameter interoperability with primes > 1024 bit</h3> +<p> +Beginning with version 2.4.7, mod_ssl makes use of +standardized DH parameters with prime lengths of 2048, 3072 and 4096 bits +and with additional prime lengths of 6144 and 8192 bits beginning with +version 2.4.10 +(from <a href="http://www.ietf.org/rfc/rfc3526.txt">RFC 3526</a>), and hands +them out to clients based on the length of the certificate's RSA/DSA key. +With Java-based clients in particular (Java 7 or earlier), this may lead +to handshake failures - see this +<a href="../ssl/ssl_faq.html#javadh">FAQ answer</a> for working around +such issues. +</p> +</div> + +<div class="note"> +<h3>Default DH parameters when using multiple certificates and OpenSSL +versions prior to 1.0.2</h3> +<p> +When using multiple certificates to support different authentication algorithms +(like RSA, DSA, but mainly ECC) and OpenSSL prior to 1.0.2, it is recommended +to either use custom DH parameters (preferably) by adding them to the +first certificate file (as described above), or to order the +<code class="directive">SSLCertificateFile</code> directives such that RSA/DSA +certificates are placed <strong>after</strong> the ECC one. +</p> +<p> +This is due to a limitation in older versions of OpenSSL which don't let the +Apache HTTP Server determine the currently selected certificate at handshake +time (when the DH parameters must be sent to the peer) but instead always +provide the last configured certificate. Consequently, the server may select +default DH parameters based on the length of the wrong certificate's key (ECC +keys are much smaller than RSA/DSA ones and their length is not relevant for +selecting DH primes). +</p> +<p> +Since custom DH parameters always take precedence over the default ones, this +issue can be avoided by creating and configuring them (as described above), +thus using a custom/suitable length. +</p> +</div> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># Example using a PEM-encoded file. +SSLCertificateFile "/usr/local/apache2/conf/ssl.crt/server.crt" +# Example use of a certificate and private key from a PKCS#11 token: +SSLCertificateFile "pkcs11:token=My%20Token%20Name;id=45"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCertificateKeyFile" id="SSLCertificateKeyFile">SSLCertificateKeyFile</a> <a name="sslcertificatekeyfile" id="sslcertificatekeyfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Server PEM-encoded private key file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td><var>keyid</var> available in 2.4.42 and later.</td></tr> +</table> +<p> +This directive points to the PEM-encoded private key file for the +server, or the key ID through a configured cryptographic token. If the +contained private key is encrypted, the pass phrase dialog is forced +at startup time.</p> + +<p> +The directive can be used multiple times (referencing different filenames) +to support multiple algorithms for server authentication. For each +<code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> +directive, there must be a matching <code class="directive">SSLCertificateFile</code> +directive.</p> + +<p> +The private key may also be combined with the certificate in the file given by +<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>, but this practice +is highly discouraged. If it is used, the certificate files using such +an embedded key must be configured after the certificates using a separate +key file.</p> + +<p>As an alternative to storing private keys in files, a key +identifier can be used to identify a private key stored in a +token. Currently, only <a href="https://tools.ietf.org/html/rfc7512">PKCS#11 URIs</a> are recognized as private key +identifiers, and can be used in conjunction with the OpenSSL +<code>pkcs11</code> engine.</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># To use a private key from a PEM-encoded file: +SSLCertificateKeyFile "/usr/local/apache2/conf/ssl.key/server.key" +# To use a private key from a PKCS#11 token: +SSLCertificateKeyFile "pkcs11:token=My%20Token%20Name;id=45"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCipherSuite" id="SSLCipherSuite">SSLCipherSuite</a> <a name="sslciphersuite" id="sslciphersuite">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLCipherSuite DEFAULT (depends on OpenSSL version)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This complex directive uses a colon-separated <em>cipher-spec</em> string +consisting of OpenSSL cipher specifications to configure the Cipher Suite the +client is permitted to negotiate in the SSL handshake phase. The optional +protocol specifier can configure the Cipher Suite for a specific SSL version. +Possible values include "SSL" for all SSL Protocols up to and including TLSv1.2. +</p> +<p> +Notice that this +directive can be used both in per-server and per-directory context. +In per-server context it applies to the standard SSL handshake when a connection +is established. In per-directory context it forces a SSL renegotiation with the +reconfigured Cipher Suite after the HTTP request was read but before the HTTP +response is sent.</p> +<p> +If the SSL library supports TLSv1.3 (OpenSSL 1.1.1 and later), the protocol +specifier "TLSv1.3" can be used to configure the cipher suites for that protocol. +Since TLSv1.3 does not offer renegotiations, specifying ciphers for it in +a directory context is not allowed.</p> +<p> +For a list of TLSv1.3 cipher names, see +<a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_ciphersuites.html">the OpenSSL +documentation</a>.</p> +<p> +An SSL cipher specification in <em>cipher-spec</em> is composed of 4 major +attributes plus a few extra minor ones:</p> +<ul> +<li><em>Key Exchange Algorithm</em>:<br /> + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password +</li> +<li><em>Authentication Algorithm</em>:<br /> + RSA, Diffie-Hellman, DSS, ECDSA, or none. +</li> +<li><em>Cipher/Encryption Algorithm</em>:<br /> + AES, DES, Triple-DES, RC4, RC2, IDEA, etc. +</li> +<li><em>MAC Digest Algorithm</em>:<br /> + MD5, SHA or SHA1, SHA256, SHA384. +</li> +</ul> +<p>An SSL cipher can also be an export cipher. SSLv2 ciphers are no longer +supported. To specify which ciphers to use, one can either specify all the +Ciphers, one at a time, or use aliases to specify the preference and order +for the ciphers (see <a href="#table1">Table +1</a>). The actually available ciphers and aliases depends on the used +openssl version. Newer openssl versions may include additional ciphers.</p> + +<table class="bordered"> + +<tr><th><a name="table1">Tag</a></th> <th>Description</th></tr> +<tr><td colspan="2"><em>Key Exchange Algorithm:</em></td></tr> +<tr><td><code>kRSA</code></td> <td>RSA key exchange</td></tr> +<tr><td><code>kDHr</code></td> <td>Diffie-Hellman key exchange with RSA key</td></tr> +<tr><td><code>kDHd</code></td> <td>Diffie-Hellman key exchange with DSA key</td></tr> +<tr><td><code>kEDH</code></td> <td>Ephemeral (temp.key) Diffie-Hellman key exchange (no cert)</td> </tr> +<tr><td><code>kSRP</code></td> <td>Secure Remote Password (SRP) key exchange</td></tr> +<tr><td colspan="2"><em>Authentication Algorithm:</em></td></tr> +<tr><td><code>aNULL</code></td> <td>No authentication</td></tr> +<tr><td><code>aRSA</code></td> <td>RSA authentication</td></tr> +<tr><td><code>aDSS</code></td> <td>DSS authentication</td> </tr> +<tr><td><code>aDH</code></td> <td>Diffie-Hellman authentication</td></tr> +<tr><td colspan="2"><em>Cipher Encoding Algorithm:</em></td></tr> +<tr><td><code>eNULL</code></td> <td>No encryption</td> </tr> +<tr><td><code>NULL</code></td> <td>alias for eNULL</td> </tr> +<tr><td><code>AES</code></td> <td>AES encryption</td> </tr> +<tr><td><code>DES</code></td> <td>DES encryption</td> </tr> +<tr><td><code>3DES</code></td> <td>Triple-DES encryption</td> </tr> +<tr><td><code>RC4</code></td> <td>RC4 encryption</td> </tr> +<tr><td><code>RC2</code></td> <td>RC2 encryption</td> </tr> +<tr><td><code>IDEA</code></td> <td>IDEA encryption</td> </tr> +<tr><td colspan="2"><em>MAC Digest Algorithm</em>:</td></tr> +<tr><td><code>MD5</code></td> <td>MD5 hash function</td></tr> +<tr><td><code>SHA1</code></td> <td>SHA1 hash function</td></tr> +<tr><td><code>SHA</code></td> <td>alias for SHA1</td> </tr> +<tr><td><code>SHA256</code></td> <td>SHA256 hash function</td> </tr> +<tr><td><code>SHA384</code></td> <td>SHA384 hash function</td> </tr> +<tr><td colspan="2"><em>Aliases:</em></td></tr> +<tr><td><code>SSLv3</code></td> <td>all SSL version 3.0 ciphers</td> </tr> +<tr><td><code>TLSv1</code></td> <td>all TLS version 1.0 ciphers</td> </tr> +<tr><td><code>EXP</code></td> <td>all export ciphers</td> </tr> +<tr><td><code>EXPORT40</code></td> <td>all 40-bit export ciphers only</td> </tr> +<tr><td><code>EXPORT56</code></td> <td>all 56-bit export ciphers only</td> </tr> +<tr><td><code>LOW</code></td> <td>all low strength ciphers (no export, single DES)</td></tr> +<tr><td><code>MEDIUM</code></td> <td>all ciphers with 128 bit encryption</td> </tr> +<tr><td><code>HIGH</code></td> <td>all ciphers using Triple-DES</td> </tr> +<tr><td><code>RSA</code></td> <td>all ciphers using RSA key exchange</td> </tr> +<tr><td><code>DH</code></td> <td>all ciphers using Diffie-Hellman key exchange</td> </tr> +<tr><td><code>EDH</code></td> <td>all ciphers using Ephemeral Diffie-Hellman key exchange</td> </tr> +<tr><td><code>ECDH</code></td> <td>Elliptic Curve Diffie-Hellman key exchange</td> </tr> +<tr><td><code>ADH</code></td> <td>all ciphers using Anonymous Diffie-Hellman key exchange</td> </tr> +<tr><td><code>AECDH</code></td> <td>all ciphers using Anonymous Elliptic Curve Diffie-Hellman key exchange</td> </tr> +<tr><td><code>SRP</code></td> <td>all ciphers using Secure Remote Password (SRP) key exchange</td> </tr> +<tr><td><code>DSS</code></td> <td>all ciphers using DSS authentication</td> </tr> +<tr><td><code>ECDSA</code></td> <td>all ciphers using ECDSA authentication</td> </tr> +<tr><td><code>aNULL</code></td> <td>all ciphers using no authentication</td> </tr> +</table> +<p> +Now where this becomes interesting is that these can be put together +to specify the order and ciphers you wish to use. To speed this up +there are also aliases (<code>SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH</code>) for certain groups of ciphers. These tags can be joined +together with prefixes to form the <em>cipher-spec</em>. Available +prefixes are:</p> +<ul> +<li>none: add cipher to list</li> +<li><code>+</code>: move matching ciphers to the current location in list</li> +<li><code>-</code>: remove cipher from list (can be added later again)</li> +<li><code>!</code>: kill cipher from list completely (can <strong>not</strong> be added later again)</li> +</ul> + +<div class="note"> +<h3><code>aNULL</code>, <code>eNULL</code> and <code>EXP</code> +ciphers are always disabled</h3> +<p>Beginning with version 2.4.7, null and export-grade +ciphers are always disabled, as mod_ssl unconditionally adds +<code>!aNULL:!eNULL:!EXP</code> to any cipher string at initialization.</p> +</div> + +<p>A simpler way to look at all of this is to use the ``<code>openssl ciphers +-v</code>'' command which provides a nice way to successively create the +correct <em>cipher-spec</em> string. The default <em>cipher-spec</em> string +depends on the version of the OpenSSL libraries used. Let's suppose it is +``<code>RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5</code>'' which +means the following: Put <code>RC4-SHA</code> and <code>AES128-SHA</code> at +the beginning. We do this, because these ciphers offer a good compromise +between speed and security. Next, include high and medium security ciphers. +Finally, remove all ciphers which do not authenticate, i.e. for SSL the +Anonymous Diffie-Hellman ciphers, as well as all ciphers which use +<code>MD5</code> as hash algorithm, because it has been proven insufficient.</p> +<div class="example"><pre>$ 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</pre></div> +<p>The complete list of particular RSA & DH ciphers for SSL is given in <a href="#table2">Table 2</a>.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW</pre> +</div> +<table class="bordered"> + +<tr><th><a name="table2">Cipher-Tag</a></th> <th>Protocol</th> <th>Key Ex.</th> <th>Auth.</th> <th>Enc.</th> <th>MAC</th> <th>Type</th> </tr> +<tr><td colspan="7"><em>RSA Ciphers:</em></td></tr> +<tr><td><code>DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>IDEA-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>RC4-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>RC4-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>MD5</td> <td /> </tr> +<tr><td><code>DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EXP-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-RC2-CBC-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC2(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>EXP-RC4-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>NULL-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>NULL-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>MD5</td> <td /> </tr> +<tr><td colspan="7"><em>Diffie-Hellman Ciphers:</em></td></tr> +<tr><td><code>ADH-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>RC4(128)</td> <td>MD5</td> <td /> </tr> +<tr><td><code>EDH-RSA-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-DSS-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EXP-EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>DSS</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +</table> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCompression" id="SSLCompression">SSLCompression</a> <a name="sslcompression" id="sslcompression">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable compression on the SSL level</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCompression on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLCompression off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.3 and later, if using OpenSSL 0.9.8 or later; +virtual host scope available if using OpenSSL 1.0.0 or later. +The default used to be <code>on</code> in version 2.4.3.</td></tr> +</table> +<p>This directive allows to enable compression on the SSL level.</p> +<div class="warning"> +<p>Enabling compression causes security issues in most setups (the so called +CRIME attack).</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLCryptoDevice" id="SSLCryptoDevice">SSLCryptoDevice</a> <a name="sslcryptodevice" id="sslcryptodevice">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable use of a cryptographic hardware accelerator</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLCryptoDevice <em>engine</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLCryptoDevice builtin</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive enables use of a cryptographic hardware accelerator +board to offload some of the SSL processing overhead. This directive +can only be used if the SSL toolkit is built with "engine" support; +OpenSSL 0.9.7 and later releases have "engine" support by default, the +separate "-engine" releases of OpenSSL 0.9.6 must be used.</p> + +<p>To discover which engine names are supported, run the command +"<code>openssl engine</code>".</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># For a Broadcom accelerator: +SSLCryptoDevice ubsec</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLEngine" id="SSLEngine">SSLEngine</a> <a name="sslengine" id="sslengine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SSL Engine Operation Switch</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLEngine on|off|optional</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLEngine off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive toggles the usage of the SSL/TLS Protocol Engine. This +is should be used inside a <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> section to enable SSL/TLS for a +that virtual host. By default the SSL/TLS Protocol Engine is +disabled for both the main server and all configured virtual hosts.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> +SSLEngine on +#... +</VirtualHost></pre> +</div> +<p>In Apache 2.1 and later, <code class="directive">SSLEngine</code> can be set to +<code>optional</code>. This enables support for +<a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, Upgrading to TLS +Within HTTP/1.1. At this time no web browsers support RFC 2817.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLFIPS" id="SSLFIPS">SSLFIPS</a> <a name="sslfips" id="sslfips">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SSL FIPS mode Switch</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLFIPS on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLFIPS off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive toggles the usage of the SSL library FIPS_mode flag. +It must be set in the global server context and cannot be configured +with conflicting settings (SSLFIPS on followed by SSLFIPS off or +similar). The mode applies to all SSL library operations. +</p> +<p> +If httpd was compiled against an SSL library which did not support +the FIPS_mode flag, <code>SSLFIPS on</code> will fail. Refer to the +FIPS 140-2 Security Policy document of the SSL provider library for +specific requirements to use mod_ssl in a FIPS 140-2 approved mode +of operation; note that mod_ssl itself is not validated, but may be +described as using FIPS 140-2 validated cryptographic module, when +all components are assembled and operated under the guidelines imposed +by the applicable Security Policy. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLHonorCipherOrder" id="SSLHonorCipherOrder">SSLHonorCipherOrder</a> <a name="sslhonorcipherorder" id="sslhonorcipherorder">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option to prefer the server's cipher preference order</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLHonorCipherOrder on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLHonorCipherOrder off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>When choosing a cipher during an SSLv3 or TLSv1 handshake, normally +the client's preference is used. If this directive is enabled, the +server's preference will be used instead.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLHonorCipherOrder on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLInsecureRenegotiation" id="SSLInsecureRenegotiation">SSLInsecureRenegotiation</a> <a name="sslinsecurerenegotiation" id="sslinsecurerenegotiation">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option to enable support for insecure renegotiation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLInsecureRenegotiation on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLInsecureRenegotiation off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.2.15 and later, if using OpenSSL 0.9.8m or later</td></tr> +</table> +<p>As originally specified, all versions of the SSL and TLS protocols +(up to and including TLS/1.2) were vulnerable to a Man-in-the-Middle +attack +(<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>) +during a renegotiation. This vulnerability allowed an attacker to +"prefix" a chosen plaintext to the HTTP request as seen by the web +server. A protocol extension was developed which fixed this +vulnerability if supported by both client and server.</p> + +<p>If <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is linked against OpenSSL version 0.9.8m +or later, by default renegotiation is only supported with +clients supporting the new protocol extension. If this directive is +enabled, renegotiation will be allowed with old (unpatched) clients, +albeit insecurely.</p> + +<div class="warning"><h3>Security warning</h3> +<p>If this directive is enabled, SSL connections will be vulnerable to +the Man-in-the-Middle prefix attack as described +in <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>.</p> +</div> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLInsecureRenegotiation on</pre> +</div> + +<p>The <code>SSL_SECURE_RENEG</code> environment variable can be used +from an SSI or CGI script to determine whether secure renegotiation is +supported for a given SSL connection.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPDefaultResponder" id="SSLOCSPDefaultResponder">SSLOCSPDefaultResponder</a> <a name="sslocspdefaultresponder" id="sslocspdefaultresponder">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the default responder URI for OCSP validation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPDefaultResponder <em>uri</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>This option sets the default OCSP responder to use. If <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> is not enabled, +the URI given will be used only if no responder URI is specified in +the certificate being verified.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPEnable" id="SSLOCSPEnable">SSLOCSPEnable</a> <a name="sslocspenable" id="sslocspenable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable OCSP validation of the client certificate chain</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPEnable on|leaf|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLOCSPEnable off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Mode <em>leaf</em> available in httpd 2.4.34 and later</td></tr> +</table> +<p>This option enables OCSP validation of the client certificate +chain. If this option is enabled, certificates in the client's +certificate chain will be validated against an OCSP responder after +normal verification (including CRL checks) have taken place. In +mode 'leaf', only the client certificate itself will be validated.</p> + +<p>The OCSP responder used is either extracted from the certificate +itself, or derived by configuration; see the +<code class="directive"><a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></code> and +<code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> +directives.</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLVerifyClient on +SSLOCSPEnable on +SSLOCSPDefaultResponder "http://responder.example.com:8888/responder" +SSLOCSPOverrideResponder on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPNoverify" id="SSLOCSPNoverify">SSLOCSPNoverify</a> <a name="sslocspnoverify" id="sslocspnoverify">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>skip the OCSP responder certificates verification</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPNoverify on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLOCSPNoverify off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.26 and later, if using OpenSSL 0.9.7 or later</td></tr> +</table> +<p>Skip the OCSP responder certificates verification, mostly useful when +testing an OCSP server.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPOverrideResponder" id="SSLOCSPOverrideResponder">SSLOCSPOverrideResponder</a> <a name="sslocspoverrideresponder" id="sslocspoverrideresponder">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force use of the default responder URI for OCSP validation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPOverrideResponder on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLOCSPOverrideResponder off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>This option forces the configured default OCSP responder to be used +during OCSP certificate validation, regardless of whether the +certificate being validated references an OCSP responder.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPProxyURL" id="SSLOCSPProxyURL">SSLOCSPProxyURL</a> <a name="sslocspproxyurl" id="sslocspproxyurl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Proxy URL to use for OCSP requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPProxyURL <em>url</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.19 and later</td></tr> +</table> +<p>This option allows to set the URL of a HTTP proxy that should be used for +all queries to OCSP responders.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPResponderCertificateFile" id="SSLOCSPResponderCertificateFile">SSLOCSPResponderCertificateFile</a> <a name="sslocsprespondercertificatefile" id="sslocsprespondercertificatefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPResponderCertificateFile <em>file</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.26 and later, if using OpenSSL 0.9.7 or later</td></tr> +</table> +<p>This supplies a list of trusted OCSP responder certificates to be used +during OCSP responder certificate validation. The supplied certificates are +implicitly trusted without any further validation. This is typically used +where the OCSP responder certificate is self signed or omitted from the OCSP +response.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPResponderTimeout" id="SSLOCSPResponderTimeout">SSLOCSPResponderTimeout</a> <a name="sslocsprespondertimeout" id="sslocsprespondertimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Timeout for OCSP queries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPResponderTimeout <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLOCSPResponderTimeout 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>This option sets the timeout for queries to OCSP responders, when +<code class="directive"><a href="#sslocspenable">SSLOCSPEnable</a></code> is turned on.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPResponseMaxAge" id="SSLOCSPResponseMaxAge">SSLOCSPResponseMaxAge</a> <a name="sslocspresponsemaxage" id="sslocspresponsemaxage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum allowable age for OCSP responses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPResponseMaxAge <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLOCSPResponseMaxAge -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>This option sets the maximum allowable age ("freshness") for OCSP responses. +The default value (<code>-1</code>) does not enforce a maximum age, +which means that OCSP responses are considered valid as long as their +<code>nextUpdate</code> field is in the future.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPResponseTimeSkew" id="SSLOCSPResponseTimeSkew">SSLOCSPResponseTimeSkew</a> <a name="sslocspresponsetimeskew" id="sslocspresponsetimeskew">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum allowable time skew for OCSP response validation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPResponseTimeSkew <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLOCSPResponseTimeSkew 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>This option sets the maximum allowable time skew for OCSP responses +(when checking their <code>thisUpdate</code> and <code>nextUpdate</code> fields).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOCSPUseRequestNonce" id="SSLOCSPUseRequestNonce">SSLOCSPUseRequestNonce</a> <a name="sslocspuserequestnonce" id="sslocspuserequestnonce">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use a nonce within OCSP queries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOCSPUseRequestNonce on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLOCSPUseRequestNonce on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.10 and later</td></tr> +</table> +<p>This option determines whether queries to OCSP responders should contain +a nonce or not. By default, a query nonce is always used and checked against +the response's one. When the responder does not use nonces (e.g. Microsoft OCSP +Responder), this option should be turned <code>off</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOpenSSLConfCmd" id="SSLOpenSSLConfCmd">SSLOpenSSLConfCmd</a> <a name="sslopensslconfcmd" id="sslopensslconfcmd">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.8 and later, if using OpenSSL 1.0.2 or later</td></tr> +</table> +<p>This directive exposes OpenSSL's <em>SSL_CONF</em> API to mod_ssl, +allowing a flexible configuration of OpenSSL parameters without the need +of implementing additional <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> directives when new +features are added to OpenSSL.</p> + +<p>The set of available <code class="directive">SSLOpenSSLConfCmd</code> commands +depends on the OpenSSL version being used for <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> +(at least version 1.0.2 is required). For a list of supported command +names, see the section <em>Supported configuration file commands</em> in the +<a href="http://www.openssl.org/docs/man1.0.2/ssl/SSL_CONF_cmd.html#SUPPORTED-CONFIGURATION-FILE-COMMANDS">SSL_CONF_cmd(3)</a> manual page for OpenSSL.</p> + +<p>Some of the <code class="directive">SSLOpenSSLConfCmd</code> commands can be used +as an alternative to existing directives (such as +<code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> or +<code class="directive"><a href="#sslprotocol">SSLProtocol</a></code>), +though it should be noted that the syntax / allowable values for the parameters +may sometimes differ.</p> + +<div class="example"><h3>Examples</h3><pre class="prettyprint lang-config">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</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLOptions" id="SSLOptions">SSLOptions</a> <a name="ssloptions" id="ssloptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure various SSL engine run-time options</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLOptions [+|-]<em>option</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive can be used to control various run-time options on a +per-directory basis. Normally, if multiple <code class="directive">SSLOptions</code> +could apply to a directory, then the most specific one is taken +completely; the options are not merged. However if <em>all</em> the +options on the <code class="directive">SSLOptions</code> directive are preceded by a +plus (<code>+</code>) or minus (<code>-</code>) symbol, the options +are merged. Any options preceded by a <code>+</code> are added to the +options currently in force, and any options preceded by a +<code>-</code> are removed from the options currently in force.</p> +<p> +The available <em>option</em>s are:</p> +<ul> +<li><code>StdEnvVars</code> + <p> + When this option is enabled, the standard set of SSL related CGI/SSI + environment variables are created. This per default is disabled for + performance reasons, because the information extraction step is a + rather expensive operation. So one usually enables this option for + CGI and SSI requests only.</p> +</li> +<li><code>ExportCertData</code> + <p> + When this option is enabled, additional CGI/SSI environment variables are + created: <code>SSL_SERVER_CERT</code>, <code>SSL_CLIENT_CERT</code> and + <code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em> (with <em>n</em> = 0,1,2,..). + These contain the PEM-encoded X.509 Certificates of server and client for + the current HTTPS connection and can be used by CGI scripts for deeper + Certificate checking. Additionally all other certificates of the client + certificate chain are provided, too. This bloats up the environment a + little bit which is why you have to use this option to enable it on + demand.</p> +</li> +<li><code>FakeBasicAuth</code> + <p> + When this option is enabled, the Subject Distinguished Name (DN) of the + Client X509 Certificate is translated into a HTTP Basic Authorization + username. This means that the standard Apache authentication methods can + be used for access control. The user name is just the Subject of the + Client's X509 Certificate (can be determined by running OpenSSL's + <code>openssl x509</code> command: <code>openssl x509 -noout -subject -in + </code><em>certificate</em><code>.crt</code>). Note that no password is + obtained from the user. Every entry in the user file needs this password: + ``<code>xxj31ZMTZzkVA</code>'', which is the DES-encrypted version of the + word `<code>password</code>''. Those who live under MD5-based encryption + (for instance under FreeBSD or BSD/OS, etc.) should use the following MD5 + hash of the same word: ``<code>$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/</code>''.</p> + + <p>Note that the <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicfake">AuthBasicFake</a></code> + directive within <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> can be used as a more + general mechanism for faking basic authentication, giving control over the + structure of both the username and password.</p> +</li> +<li><code>StrictRequire</code> + <p> + This <em>forces</em> forbidden access when <code class="directive"><a href="#sslrequiressl">SSLRequireSSL</a></code> or + <code class="directive"><a href="#sslrequire">SSLRequire</a></code> successfully decided that access should be + forbidden. Usually the default is that in the case where a ``<code>Satisfy + any</code>'' directive is used, and other access restrictions are passed, + denial of access due to <code>SSLRequireSSL</code> or + <code>SSLRequire</code> is overridden (because that's how the Apache + <code>Satisfy</code> mechanism should work.) But for strict access restriction + you can use <code>SSLRequireSSL</code> and/or <code>SSLRequire</code> in + combination with an ``<code>SSLOptions +StrictRequire</code>''. Then an + additional ``<code>Satisfy Any</code>'' has no chance once mod_ssl has + decided to deny access.</p> +</li> +<li><code>OptRenegotiate</code> + <p> + This enables optimized SSL connection renegotiation handling when SSL + directives are used in per-directory context. By default a strict + scheme is enabled where <em>every</em> per-directory reconfiguration of + SSL parameters causes a <em>full</em> SSL renegotiation handshake. When this + option is used mod_ssl tries to avoid unnecessary handshakes by doing more + granular (but still safe) parameter checks. Nevertheless these granular + checks sometimes may not be what the user expects, so enable this on a + per-directory basis only, please.</p> +</li> +<li><code>LegacyDNStringFormat</code> + <p> + This option influences how values of the + <code>SSL_{CLIENT,SERVER}_{I,S}_DN</code> variables are formatted. Since + version 2.3.11, Apache HTTPD uses a RFC 2253 compatible format by + default. This uses commas as delimiters between the attributes, allows the + use of non-ASCII characters (which are converted to UTF8), escapes + various special characters with backslashes, and sorts the attributes + with the "C" attribute last.</p> + + <p>If <code>LegacyDNStringFormat</code> is set, the old format will be + used which sorts the "C" attribute first, uses slashes as separators, and + does not handle non-ASCII and special characters in any consistent way. + </p> +</li> +</ul> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLOptions +FakeBasicAuth -StrictRequire +<Files ~ "\.(cgi|shtml)$"> + SSLOptions +StdEnvVars -ExportCertData +</Files></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLPassPhraseDialog" id="SSLPassPhraseDialog">SSLPassPhraseDialog</a> <a name="sslpassphrasedialog" id="sslpassphrasedialog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLPassPhraseDialog <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLPassPhraseDialog builtin</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +When Apache starts up it has to read the various Certificate (see +<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>) and +Private Key (see <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>) files of the +SSL-enabled virtual servers. Because for security reasons the Private +Key files are usually encrypted, mod_ssl needs to query the +administrator for a Pass Phrase in order to decrypt those files. This +query can be done in two ways which can be configured by +<em>type</em>:</p> +<ul> +<li><code>builtin</code> + <p> + This is the default where an interactive terminal dialog occurs at startup + time just before Apache detaches from the terminal. Here the administrator + has to manually enter the Pass Phrase for each encrypted Private Key file. + Because a lot of SSL-enabled virtual hosts can be configured, the + following reuse-scheme is used to minimize the dialog: When a Private Key + file is encrypted, all known Pass Phrases (at the beginning there are + none, of course) are tried. If one of those known Pass Phrases succeeds no + dialog pops up for this particular Private Key file. If none succeeded, + another Pass Phrase is queried on the terminal and remembered for the next + round (where it perhaps can be reused).</p> + <p> + This scheme allows mod_ssl to be maximally flexible (because for N encrypted + Private Key files you <em>can</em> use N different Pass Phrases - but then + you have to enter all of them, of course) while minimizing the terminal + dialog (i.e. when you use a single Pass Phrase for all N Private Key files + this Pass Phrase is queried only once).</p></li> + +<li><code>|/path/to/program [args...]</code> + + <p>This mode allows an external program to be used which acts as a + pipe to a particular input device; the program is sent the standard + prompt text used for the <code>builtin</code> mode on + <code>stdin</code>, and is expected to write password strings on + <code>stdout</code>. If several passwords are needed (or an + incorrect password is entered), additional prompt text will be + written subsequent to the first password being returned, and more + passwords must then be written back.</p></li> + +<li><code>exec:/path/to/program</code> + <p> + Here an external program is configured which is called at startup for each + encrypted Private Key file. It is called with two arguments (the first is + of the form ``<code>servername:portnumber</code>'', the second is either + ``<code>RSA</code>'', ``<code>DSA</code>'', ``<code>ECC</code>'' or an + integer index starting at 3 if more than three keys are configured), which + indicate for which server and algorithm it has to print the corresponding + Pass Phrase to <code>stdout</code>. In versions 2.4.8 (unreleased) + and 2.4.9, it is called with one argument, a string of the + form ``<code>servername:portnumber:index</code>'' (with <code>index</code> + being a zero-based integer number), which indicate the server, TCP port + and certificate number. The intent is that this external + program first runs security checks to make sure that the system is not + compromised by an attacker, and only when these checks were passed + successfully it provides the Pass Phrase.</p> + <p> + Both these security checks, and the way the Pass Phrase is determined, can + be as complex as you like. Mod_ssl just defines the interface: an + executable program which provides the Pass Phrase on <code>stdout</code>. + Nothing more or less! So, if you're really paranoid about security, here + is your interface. Anything else has to be left as an exercise to the + administrator, because local security requirements are so different.</p> + <p> + The reuse-algorithm above is used here, too. In other words: The external + program is called only once per unique Pass Phrase.</p></li> +</ul> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLPassPhraseDialog "exec:/usr/local/apache/sbin/pp-filter"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProtocol" id="SSLProtocol">SSLProtocol</a> <a name="sslprotocol" id="sslprotocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure usable SSL/TLS protocol versions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProtocol [+|-]<em>protocol</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProtocol all -SSLv3 (up to 2.4.16: all)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive can be used to control which versions of the SSL/TLS protocol +will be accepted in new connections.</p> +<p> +The available (case-insensitive) <em>protocol</em>s are:</p> +<ul> +<li><code>SSLv3</code> + <p> + This is the Secure Sockets Layer (SSL) protocol, version 3.0, from + the Netscape Corporation. + It is the successor to SSLv2 and the predecessor to TLSv1, but is + deprecated in <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC 7568</a>.</p></li> + +<li><code>TLSv1</code> + <p> + This is the Transport Layer Security (TLS) protocol, version 1.0. + It is the successor to SSLv3 and is defined in + <a href="http://www.ietf.org/rfc/rfc2246.txt">RFC 2246</a>. + It is supported by nearly every client.</p></li> + +<li><code>TLSv1.1</code> (when using OpenSSL 1.0.1 and later) + <p> + A revision of the TLS 1.0 protocol, as defined in + <a href="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</a>.</p></li> + +<li><code>TLSv1.2</code> (when using OpenSSL 1.0.1 and later) + <p> + A revision of the TLS 1.1 protocol, as defined in + <a href="http://www.ietf.org/rfc/rfc5246.txt">RFC 5246</a>.</p></li> + +<li><code>TLSv1.3</code> (when using OpenSSL 1.1.1 and later) + <p> + A new version of the TLS protocol, as defined in + <a href="http://www.ietf.org/rfc/rfc8446.txt">RFC 8446</a>.</p></li> + +<li><code>all</code> + <p> + This is a shortcut for ``<code>+SSLv3 +TLSv1</code>'' or + - when using OpenSSL 1.0.1 and later - + ``<code>+SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2</code>'', respectively + (except for OpenSSL versions compiled with the ``no-ssl3'' configuration + option, where <code>all</code> does not include <code>+SSLv3</code>).</p></li> +</ul> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProtocol TLSv1</pre> +</div> +<div class="note"> +<h3><code class="directive">SSLProtocol</code> for name-based virtual hosts</h3> +<p> +Before OpenSSL 1.1.1, even though the Server Name Indication (SNI) allowed to +determine the targeted virtual host early in the TLS handshake, it was not +possible to switch the TLS protocol version of the connection at this point, +and thus the <code class="directive">SSLProtocol</code> negotiated was always based off +the one of the <em>base virtual host</em> (first virtual host declared on the +listening <code>IP:port</code> of the connection). +</p> +<p> +Beginning with Apache HTTP server version 2.4.42, when built/linked against +OpenSSL 1.1.1 or later, and when the SNI is provided by the client in the TLS +handshake, the <code class="directive">SSLProtocol</code> of each (name-based) virtual +host can and will be honored. +</p> +<p> +For compatibility with previous versions, if no +<code class="directive">SSLProtocol</code> is configured in a name-based virtual host, +the one from the base virtual host still applies, <strong>unless</strong> +<code class="directive">SSLProtocol</code> is configured globally in which case the +global value applies (this latter exception is more sensible than compatible, +though). +</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCACertificateFile" id="SSLProxyCACertificateFile">SSLProxyCACertificateFile</a> <a name="sslproxycacertificatefile" id="sslproxycacertificatefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCACertificateFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets the <em>all-in-one</em> file where you can assemble the +Certificates of Certification Authorities (CA) whose <em>remote servers</em> you deal +with. These are used for Remote Server Authentication. Such a file is simply the +concatenation of the various PEM-encoded Certificate files, in order of +preference. This can be used alternatively and/or additionally to +<code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-remote-server.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCACertificatePath" id="SSLProxyCACertificatePath">SSLProxyCACertificatePath</a> <a name="sslproxycacertificatepath" id="sslproxycacertificatepath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCACertificatePath <em>directory-path</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets the directory where you keep the Certificates of +Certification Authorities (CAs) whose remote servers you deal with. These are used to +verify the remote server certificate on Remote Server Authentication.</p> +<p> +The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you can't just place the Certificate files +there: you also have to create symbolic links named +<em>hash-value</em><code>.N</code>. And you should always make sure this directory +contains the appropriate symbolic links.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCARevocationCheck" id="SSLProxyCARevocationCheck">SSLProxyCARevocationCheck</a> <a name="sslproxycarevocationcheck" id="sslproxycarevocationcheck">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCARevocationCheck chain|leaf|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyCARevocationCheck none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +Enables certificate revocation list (CRL) checking for the +<em>remote servers</em> you deal with. At least one of +<code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> +or <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code> must be +configured. When set to <code>chain</code> (recommended setting), +CRL checks are applied to all certificates in the chain, while setting it to +<code>leaf</code> limits the checks to the end-entity cert. +</p> +<div class="note"> +<h3>When set to <code>chain</code> or <code>leaf</code>, +CRLs <em>must</em> be available for successful validation</h3> +<p> +Prior to version 2.3.15, CRL checking in mod_ssl also succeeded when +no CRL(s) were found in any of the locations configured with +<code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> +or <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>. +With the introduction of this directive, the behavior has been changed: +when checking is enabled, CRLs <em>must</em> be present for the validation +to succeed - otherwise it will fail with an +<code>"unable to get certificate CRL"</code> error. +</p> +</div> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyCARevocationCheck chain</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCARevocationFile" id="SSLProxyCARevocationFile">SSLProxyCARevocationFile</a> <a name="sslproxycarevocationfile" id="sslproxycarevocationfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCARevocationFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets the <em>all-in-one</em> file where you can +assemble the Certificate Revocation Lists (CRL) of Certification +Authorities (CA) whose <em>remote servers</em> you deal with. These are used +for Remote Server Authentication. Such a file is simply the concatenation of +the various PEM-encoded CRL files, in order of preference. This can be +used alternatively and/or additionally to <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyCARevocationFile "/usr/local/apache2/conf/ssl.crl/ca-bundle-remote-server.crl"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCARevocationPath" id="SSLProxyCARevocationPath">SSLProxyCARevocationPath</a> <a name="sslproxycarevocationpath" id="sslproxycarevocationpath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCARevocationPath <em>directory-path</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets the directory where you keep the Certificate Revocation +Lists (CRL) of Certification Authorities (CAs) whose remote servers you deal with. +These are used to revoke the remote server certificate on Remote Server Authentication.</p> +<p> +The files in this directory have to be PEM-encoded and are accessed through +hash filenames. So usually you have not only to place the CRL files there. +Additionally you have to create symbolic links named +<em>hash-value</em><code>.rN</code>. And you should always make sure this directory +contains the appropriate symbolic links.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCheckPeerCN" id="SSLProxyCheckPeerCN">SSLProxyCheckPeerCN</a> <a name="sslproxycheckpeercn" id="sslproxycheckpeercn">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Whether to check the remote server certificate's CN field +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCheckPeerCN on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyCheckPeerCN on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets whether the remote server certificate's CN field is +compared against the hostname of the request URL. If both are not equal +a 502 status code (Bad Gateway) is sent. <code>SSLProxyCheckPeerCN</code> is +superseded by <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code> +in release 2.4.5 and later. +</p> +<p> +In all releases 2.4.5 through 2.4.20, setting +<code>SSLProxyCheckPeerName off</code> was sufficient to enable this behavior +(as the <code>SSLProxyCheckPeerCN</code> default was <code>on</code>.) In +these releases, both directives must be set to <code>off</code> to completely +avoid remote server certificate name validation. Many users reported this +to be very confusing. +</p> +<p> +As of release 2.4.21, all configurations which enable either one of the +<code>SSLProxyCheckPeerName</code> or <code>SSLProxyCheckPeerCN</code> options +will use the new <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code> +behavior, and all configurations which disable either one of the +<code>SSLProxyCheckPeerName</code> or <code>SSLProxyCheckPeerCN</code> options +will suppress all remote server certificate name validation. Only the following +configuration will trigger the legacy certificate CN comparison in 2.4.21 and +later releases; +</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerCN on +SSLProxyCheckPeerName off</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCheckPeerExpire" id="SSLProxyCheckPeerExpire">SSLProxyCheckPeerExpire</a> <a name="sslproxycheckpeerexpire" id="sslproxycheckpeerexpire">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Whether to check if remote server certificate is expired +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCheckPeerExpire on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyCheckPeerExpire on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets whether it is checked if the remote server certificate +is expired or not. If the check fails a 502 status code (Bad Gateway) is +sent. +</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerExpire on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCheckPeerName" id="SSLProxyCheckPeerName">SSLProxyCheckPeerName</a> <a name="sslproxycheckpeername" id="sslproxycheckpeername">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure host name checking for remote server certificates +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCheckPeerName on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyCheckPeerName on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Apache HTTP Server 2.4.5 and later<br /> +The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive configures host name checking for server certificates when +mod_ssl is acting as an SSL client. The check will succeed if the host name +from the request URI matches one of the CN attribute(s) of the certificate's +subject, or matches the subjectAltName extension. If the check fails, the SSL +request is aborted and a 502 status code (Bad Gateway) is returned. +</p> +<p> +Wildcard matching is supported for specific cases: an subjectAltName entry +of type dNSName, or CN attributes starting with <code>*.</code> will match +with any host name of the same number of name elements and the same suffix. +E.g. <code>*.example.org</code> will match <code>foo.example.org</code>, +but will not match <code>foo.bar.example.org</code>, because the number of +elements in the respective host names differs. +</p> +<p> +This feature was introduced in 2.4.5 and superseded the behavior of the +<code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> directive, which +only tested the exact value in the first CN attribute against the host name. +However, many users were confused by the behavior of using these directives +individually, so the mutual behavior of <code>SSLProxyCheckPeerName</code> +and <code>SSLProxyCheckPeerCN</code> directives were improved in release +2.4.21. See the <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> +directive description for the original behavior and details of these +improvements. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyCipherSuite" id="SSLProxyCipherSuite">SSLProxyCipherSuite</a> <a name="sslproxyciphersuite" id="sslproxyciphersuite">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p>Equivalent to <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code>, but +for the proxy connection. +Please refer to <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> +for additional information.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyEngine" id="SSLProxyEngine">SSLProxyEngine</a> <a name="sslproxyengine" id="sslproxyengine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SSL Proxy Engine Operation Switch</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyEngine on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyEngine off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive toggles the usage of the SSL/TLS Protocol Engine for proxy. This +is usually used inside a <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> section to enable SSL/TLS for proxy +usage in a particular virtual host. By default the SSL/TLS Protocol Engine is +disabled for proxy both for the main server and all configured virtual hosts.</p> + +<p>Note that the <code class="directive">SSLProxyEngine</code> directive should not, in +general, be included in a virtual host that will be acting as a +forward proxy (using <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> +or <code class="directive"><a href="../mod/mod_proxy.html#proxyrequests">ProxyRequests</a></code> directives). +<code class="directive">SSLProxyEngine</code> is not required to enable a forward proxy +server to proxy SSL/TLS requests.</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> + SSLProxyEngine on + #... +</VirtualHost></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyMachineCertificateChainFile" id="SSLProxyMachineCertificateChainFile">SSLProxyMachineCertificateChainFile</a> <a name="sslproxymachinecertificatechainfile" id="sslproxymachinecertificatechainfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyMachineCertificateChainFile <em>filename</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets the all-in-one file where you keep the certificate chain +for all of the client certs in use. This directive will be needed if the +remote server presents a list of CA certificates that are not direct signers +of one of the configured client certificates. +</p> +<p> +This referenced file is simply the concatenation of the various PEM-encoded +certificate files. Upon startup, each client certificate configured will +be examined and a chain of trust will be constructed. +</p> +<div class="warning"><h3>Security warning</h3> +<p>If this directive is enabled, all of the certificates in the file will be +trusted as if they were also in <code class="directive"><a href="#sslproxycacertificatefile"> +SSLProxyCACertificateFile</a></code>.</p> +</div> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateChainFile "/usr/local/apache2/conf/ssl.crt/proxyCA.pem"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyMachineCertificateFile" id="SSLProxyMachineCertificateFile">SSLProxyMachineCertificateFile</a> <a name="sslproxymachinecertificatefile" id="sslproxymachinecertificatefile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyMachineCertificateFile <em>filename</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets the all-in-one file where you keep the certificates and +keys used for authentication of the proxy server to remote servers. +</p> +<p> +This referenced file is simply the concatenation of the various +PEM-encoded certificate files. Use this directive alternatively or +additionally to <code>SSLProxyMachineCertificatePath</code>. The +referenced file can contain any number of pairs of client certificate +and associated private key. Each pair can be specified in either +(certificate, key) or (key, certificate) order. If the file includes +any non-leaf certificate, or any unmatched key and certificate pair, a +configuration error will be issued at startup. +</p> + +<p>When challenged to provide a client certificate by a remote server, +the server should provide a list of <em>acceptable certificate +authority names</em> in the challenge. If such a list is <em>not</em> +provided, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> will use the first configured +client cert/key. If a list of CA names <em>is</em> provided, +<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> will iterate through that list, and attempt +to find a configured client cert which was issued either directly by +that CA, or indirectly via any number of intermediary CA certificates. +The chain of intermediate CA certificates can be built from those +configured with <code class="directive"><a href="#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></code>. The +first configured matching certificate will then be supplied in +response to the challenge.</p> + +<p>If the list of CA names <em>is</em> provided by the remote server, +and <em>no</em> matching client certificate can be found, no client +certificate will be provided by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, which will +likely fail the SSL/TLS handshake (depending on the remote server +configuration).</p> + +<div class="warning"> +<p>Currently there is no support for encrypted private keys</p> +</div> +<div class="warning"> +<p>Only keys encoded in PKCS1 RSA, DSA or EC format are supported. +Keys encoded in PKCS8 format, ie. starting with +"<code>-----BEGIN PRIVATE KEY-----</code>", +must be converted, eg. using +"<code>openssl rsa -in private-pkcs8.pem -outform pem</code>".</p> +</div> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateFile "/usr/local/apache2/conf/ssl.crt/proxy.pem"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyMachineCertificatePath" id="SSLProxyMachineCertificatePath">SSLProxyMachineCertificatePath</a> <a name="sslproxymachinecertificatepath" id="sslproxymachinecertificatepath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyMachineCertificatePath <em>directory</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets the directory where you keep the client +certificates and keys used for authentication of the proxy server to +remote servers. +</p> +<p> +mod_ssl will attempt to load every file inside the specified directory +as if it was configured individually with <code class="directive"><a href="#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></code>. +</p> +<div class="warning"> +<p>Currently there is no support for encrypted private keys</p> +</div> +<div class="warning"> +<p>Only keys encoded in PKCS1 RSA, DSA or EC format are supported. +Keys encoded in PKCS8 format, ie. starting with +"<code>-----BEGIN PRIVATE KEY-----</code>", +must be converted, eg. using +"<code>openssl rsa -in private-pkcs8.pem -outform pem</code>".</p> +</div> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificatePath "/usr/local/apache2/conf/proxy.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyProtocol" id="SSLProxyProtocol">SSLProxyProtocol</a> <a name="sslproxyprotocol" id="sslproxyprotocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyProtocol [+|-]<em>protocol</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyProtocol all -SSLv3 (up to 2.4.16: all)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> + +<p> +This directive can be used to control the SSL protocol flavors mod_ssl should +use when establishing its server environment for proxy . It will only connect +to servers using one of the provided protocols.</p> +<p>Please refer to <code class="directive"><a href="#sslprotocol">SSLProtocol</a></code> +for additional information. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyVerify" id="SSLProxyVerify">SSLProxyVerify</a> <a name="sslproxyverify" id="sslproxyverify">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of remote server Certificate verification</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyVerify <em>level</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyVerify none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> + +<p>When a proxy is configured to forward requests to a remote SSL +server, this directive can be used to configure certificate +verification of the remote server. </p> +<p> +The following levels are available for <em>level</em>:</p> +<ul> +<li><strong>none</strong>: + no remote server Certificate is required at all</li> +<li><strong>optional</strong>: + the remote server <em>may</em> present a valid Certificate</li> +<li><strong>require</strong>: + the remote server <em>has to</em> present a valid Certificate</li> +<li><strong>optional_no_ca</strong>: + the remote server may present a valid Certificate<br /> + but it need not to be (successfully) verifiable.</li> +</ul> +<p>In practice only levels <strong>none</strong> and +<strong>require</strong> are really interesting, because level +<strong>optional</strong> doesn't work with all servers and level +<strong>optional_no_ca</strong> is actually against the idea of +authentication (but can be used to establish SSL test pages, etc.)</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyVerify require</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLProxyVerifyDepth" id="SSLProxyVerifyDepth">SSLProxyVerifyDepth</a> <a name="sslproxyverifydepth" id="sslproxyverifydepth">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLProxyVerifyDepth <em>number</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLProxyVerifyDepth 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The proxy section context is allowed in httpd 2.4.30 and later</td></tr> +</table> +<p> +This directive sets how deeply mod_ssl should verify before deciding that the +remote server does not have a valid certificate. </p> +<p> +The depth actually is the maximum number of intermediate certificate issuers, +i.e. the number of CA certificates which are max allowed to be followed while +verifying the remote server certificate. A depth of 0 means that self-signed +remote server certificates are accepted only, the default depth of 1 means +the remote server certificate can be self-signed or has to be signed by a CA +which is directly known to the server (i.e. the CA's certificate is under +<code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>), etc.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLProxyVerifyDepth 10</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLRandomSeed" id="SSLRandomSeed">SSLRandomSeed</a> <a name="sslrandomseed" id="sslrandomseed">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This configures one or more sources for seeding the Pseudo Random Number +Generator (PRNG) in OpenSSL at startup time (<em>context</em> is +<code>startup</code>) and/or just before a new SSL connection is established +(<em>context</em> is <code>connect</code>). This directive can only be used +in the global server context because the PRNG is a global facility.</p> +<p> +The following <em>source</em> variants are available:</p> +<ul> +<li><code>builtin</code> + <p> This is the always available builtin seeding source. Its usage + consumes minimum CPU cycles under runtime and hence can be always used + without drawbacks. The source used for seeding the PRNG contains of the + current time, the current process id and a randomly + chosen 128 bytes extract of the stack. + The drawback is that this is not really a strong source and at startup + time (where the scoreboard is still not available) this source just + produces a few bytes of entropy. So you should always, at least for the + startup, use an additional seeding source.</p></li> +<li><code>file:/path/to/source</code> + <p> + This variant uses an external file <code>/path/to/source</code> as the + source for seeding the PRNG. When <em>bytes</em> is specified, only the + first <em>bytes</em> number of bytes of the file form the entropy (and + <em>bytes</em> is given to <code>/path/to/source</code> as the first + argument). When <em>bytes</em> is not specified the whole file forms the + entropy (and <code>0</code> is given to <code>/path/to/source</code> as + the first argument). Use this especially at startup time, for instance + with an available <code>/dev/random</code> and/or + <code>/dev/urandom</code> devices (which usually exist on modern Unix + derivatives like FreeBSD and Linux).</p> + <p> + <em>But be careful</em>: Usually <code>/dev/random</code> provides only as + much entropy data as it actually has, i.e. when you request 512 bytes of + entropy, but the device currently has only 100 bytes available two things + can happen: On some platforms you receive only the 100 bytes while on + other platforms the read blocks until enough bytes are available (which + can take a long time). Here using an existing <code>/dev/urandom</code> is + better, because it never blocks and actually gives the amount of requested + data. The drawback is just that the quality of the received data may not + be the best.</p></li> + +<li><code>exec:/path/to/program</code> + <p> + This variant uses an external executable + <code>/path/to/program</code> as the source for seeding the + PRNG. When <em>bytes</em> is specified, only the first + <em>bytes</em> number of bytes of its <code>stdout</code> contents + form the entropy. When <em>bytes</em> is not specified, the + entirety of the data produced on <code>stdout</code> form the + entropy. Use this only at startup time when you need a very strong + seeding with the help of an external program (for instance as in + the example above with the <code>truerand</code> utility you can + find in the mod_ssl distribution which is based on the AT&T + <em>truerand</em> library). Using this in the connection context + slows down the server too dramatically, of course. So usually you + should avoid using external programs in that context.</p></li> +<li><code>egd:/path/to/egd-socket</code> (Unix only) + <p> + This variant uses the Unix domain socket of the + external Entropy Gathering Daemon (EGD) (see <a href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech + /crypto/</a>) to seed the PRNG. Use this if no random device exists + on your platform.</p></li> +</ul> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">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</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLRenegBufferSize" id="SSLRenegBufferSize">SSLRenegBufferSize</a> <a name="sslrenegbuffersize" id="sslrenegbuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the size for the SSL renegotiation buffer</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLRenegBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLRenegBufferSize 131072</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> + +<p>If an SSL renegotiation is required in per-location context, for +example, any use of <code class="directive"><a href="#sslverifyclient">SSLVerifyClient</a></code> in a Directory or +Location block, then <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> must buffer any HTTP +request body into memory until the new SSL handshake can be performed. +This directive can be used to set the amount of memory that will be +used for this buffer. </p> + +<div class="warning"><p> +Note that in many configurations, the client sending the request body +will be untrusted so a denial of service attack by consumption of +memory must be considered when changing this configuration setting. +</p></div> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLRenegBufferSize 262144</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLRequire" id="SSLRequire">SSLRequire</a> <a name="sslrequire" id="sslrequire">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLRequire <em>expression</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> + +<div class="note"><h3>SSLRequire is deprecated</h3> +<p><code>SSLRequire</code> is deprecated and should in general be replaced +by <a href="mod_authz_core.html#reqexpr">Require expr</a>. The so called +<a href="../expr.html">ap_expr</a> syntax of <code>Require expr</code> is +a superset of the syntax of <code>SSLRequire</code>, with the following +exception:</p> + +<p>In <code>SSLRequire</code>, the comparison operators <code><</code>, +<code><=</code>, ... are completely equivalent to the operators +<code>lt</code>, <code>le</code>, ... and work in a somewhat peculiar way that +first compares the length of two strings and then the lexical order. +On the other hand, <a href="../expr.html">ap_expr</a> has two sets of +comparison operators: The operators <code><</code>, +<code><=</code>, ... do lexical string comparison, while the operators +<code>-lt</code>, <code>-le</code>, ... do integer comparison. +For the latter, there are also aliases without the leading dashes: +<code>lt</code>, <code>le</code>, ... +</p> + +</div> + +<p> +This directive specifies a general access requirement which has to be +fulfilled in order to allow access. It is a very powerful directive because the +requirement specification is an arbitrarily complex boolean expression +containing any number of access checks.</p> +<p> +The <em>expression</em> must match the following syntax (given as a BNF +grammar notation):</p> +<blockquote> +<pre>expr ::= "<strong>true</strong>" | "<strong>false</strong>" + | "<strong>!</strong>" expr + | expr "<strong>&&</strong>" expr + | expr "<strong>||</strong>" expr + | "<strong>(</strong>" expr "<strong>)</strong>" + | comp + +comp ::= word "<strong>==</strong>" word | word "<strong>eq</strong>" word + | word "<strong>!=</strong>" word | word "<strong>ne</strong>" word + | word "<strong><</strong>" word | word "<strong>lt</strong>" word + | word "<strong><=</strong>" word | word "<strong>le</strong>" word + | word "<strong>></strong>" word | word "<strong>gt</strong>" word + | word "<strong>>=</strong>" word | word "<strong>ge</strong>" word + | word "<strong>in</strong>" "<strong>{</strong>" wordlist "<strong>}</strong>" + | word "<strong>in</strong>" "<strong>PeerExtList(</strong>" word "<strong>)</strong>" + | word "<strong>=~</strong>" regex + | word "<strong>!~</strong>" regex + +wordlist ::= word + | wordlist "<strong>,</strong>" word + +word ::= digit + | cstring + | variable + | function + +digit ::= [0-9]+ +cstring ::= "..." +variable ::= "<strong>%{</strong>" varname "<strong>}</strong>" +function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>"</pre> +</blockquote> +<p>For <code>varname</code> any of the variables described in <a href="#envvars">Environment Variables</a> can be used. For +<code>funcname</code> the available functions are listed in +the <a href="../expr.html#functions">ap_expr documentation</a>.</p> + +<p>The <em>expression</em> is parsed into an internal machine +representation when the configuration is loaded, and then evaluated +during request processing. In .htaccess context, the <em>expression</em> is +both parsed and executed each time the .htaccess file is encountered during +request processing.</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">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]+$/</pre> +</div> + +<p>The <code>PeerExtList(<em>object-ID</em>)</code> function expects +to find zero or more instances of the X.509 certificate extension +identified by the given <em>object ID</em> (OID) in the client certificate. +The expression evaluates to true if the left-hand side string matches +exactly against the value of an extension identified with this OID. +(If multiple extensions with the same OID are present, at least one +extension must match).</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")</pre> +</div> + +<div class="note"><h3>Notes on the PeerExtList function</h3> + +<ul> + +<li><p>The object ID can be specified either as a descriptive +name recognized by the SSL library, such as <code>"nsComment"</code>, +or as a numeric OID, such as <code>"1.2.3.4.5.6"</code>.</p></li> + +<li><p>Expressions with types known to the SSL library are rendered to +a string before comparison. For an extension with a type not +recognized by the SSL library, mod_ssl will parse the value if it is +one of the primitive ASN.1 types UTF8String, IA5String, VisibleString, +or BMPString. For an extension of one of these types, the string +value will be converted to UTF-8 if necessary, then compared against +the left-hand-side expression.</p></li> + +</ul> +</div> + + +<h3>See also</h3> +<ul> +<li><a href="../env.html">Environment Variables in Apache HTTP Server</a>, +for additional examples. +</li> +<li><a href="mod_authz_core.html#reqexpr">Require expr</a></li> +<li><a href="../expr.html">Generic expression syntax in Apache HTTP Server</a> +</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLRequireSSL" id="SSLRequireSSL">SSLRequireSSL</a> <a name="sslrequiressl" id="sslrequiressl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLRequireSSL</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive forbids access unless HTTP over SSL (i.e. HTTPS) is enabled for +the current connection. This is very handy inside the SSL-enabled virtual +host or directories for defending against configuration errors that expose +stuff that should be protected. When this directive is present all requests +are denied which are not using SSL.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLRequireSSL</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLSessionCache" id="SSLSessionCache">SSLSessionCache</a> <a name="sslsessioncache" id="sslsessioncache">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of the global/inter-process SSL Session +Cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLSessionCache <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLSessionCache none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This configures the storage type of the global/inter-process SSL Session +Cache. This cache is an optional facility which speeds up parallel request +processing. For requests to the same server process (via HTTP keep-alive), +OpenSSL already caches the SSL session information locally. But because modern +clients request inlined images and other data via parallel requests (usually +up to four parallel requests are common) those requests are served by +<em>different</em> pre-forked server processes. Here an inter-process cache +helps to avoid unnecessary session handshakes.</p> +<p> +The following five storage <em>type</em>s are currently supported:</p> +<ul> +<li><code>none</code> + + <p>This disables the global/inter-process Session Cache. This + will incur a noticeable speed penalty and may cause problems if + using certain browsers, particularly if client certificates are + enabled. This setting is not recommended.</p></li> + +<li><code>nonenotnull</code> + + <p>This disables any global/inter-process Session Cache. However + it does force OpenSSL to send a non-null session ID to + accommodate buggy clients that require one.</p></li> + +<li><code>dbm:/path/to/datafile</code> + + <p>This makes use of a DBM hashfile on the local disk to + synchronize the local OpenSSL memory caches of the server + processes. This session cache may suffer reliability issues under + high load. To use this, ensure that + <code class="module"><a href="../mod/mod_socache_dbm.html">mod_socache_dbm</a></code> is loaded.</p></li> + +<li><code>shmcb:/path/to/datafile</code>[<code>(</code><em>size</em><code>)</code>] + + <p>This makes use of a high-performance cyclic buffer + (approx. <em>size</em> bytes in size) inside a shared memory + segment in RAM (established via <code>/path/to/datafile</code>) to + synchronize the local OpenSSL memory caches of the server + processes. This is the recommended session cache. To use this, + ensure that <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> is loaded.</p></li> + +<li><code>dc:UNIX:/path/to/socket</code> + + <p>This makes use of the <a href="http://distcache.sourceforge.net/">distcache</a> distributed session + caching libraries. The argument should specify the location of + the server or proxy to be used using the distcache address syntax; + for example, <code>UNIX:/path/to/socket</code> specifies a UNIX + domain socket (typically a local dc_client proxy); + <code>IP:server.example.com:9001</code> specifies an IP + address. To use this, ensure that + <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> is loaded.</p></li> + +</ul> + +<div class="example"><h3>Examples</h3><pre class="prettyprint lang-config">SSLSessionCache "dbm:/usr/local/apache/logs/ssl_gcache_data" +SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)"</pre> +</div> + +<p>The <code>ssl-cache</code> mutex is used to serialize access to +the session cache to prevent corruption. This mutex can be configured +using the <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> directive.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLSessionCacheTimeout" id="SSLSessionCacheTimeout">SSLSessionCacheTimeout</a> <a name="sslsessioncachetimeout" id="sslsessioncachetimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLSessionCacheTimeout <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLSessionCacheTimeout 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Applies also to RFC 5077 TLS session resumption in Apache 2.4.10 and later</td></tr> +</table> +<p> +This directive sets the timeout in seconds for the information stored in the +global/inter-process SSL Session Cache, the OpenSSL internal memory cache and +for sessions resumed by TLS session resumption (RFC 5077). +It can be set as low as 15 for testing, but should be set to higher +values like 300 in real life.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLSessionCacheTimeout 600</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLSessionTicketKeyFile" id="SSLSessionTicketKeyFile">SSLSessionTicketKeyFile</a> <a name="sslsessionticketkeyfile" id="sslsessionticketkeyfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLSessionTicketKeyFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.0 and later, if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>Optionally configures a secret key for encrypting and decrypting +TLS session tickets, as defined in +<a href="http://www.ietf.org/rfc/rfc5077.txt">RFC 5077</a>. +Primarily suitable for clustered environments where TLS sessions information +should be shared between multiple nodes. For single-instance httpd setups, +it is recommended to <em>not</em> configure a ticket key file, but to +rely on (random) keys generated by mod_ssl at startup, instead.</p> +<p>The ticket key file must contain 48 bytes of random data, +preferably created from a high-entropy source. On a Unix-based system, +a ticket key file can be created as follows:</p> + +<div class="example"><p><code> +dd if=/dev/random of=/path/to/file.tkey bs=1 count=48 +</code></p></div> + +<p>Ticket keys should be rotated (replaced) on a frequent basis, +as this is the only way to invalidate an existing session ticket - +OpenSSL currently doesn't allow to specify a limit for ticket lifetimes. +A new ticket key only gets used after restarting the web server. +All existing session tickets become invalid after a restart.</p> + +<div class="warning"> +<p>The ticket key file contains sensitive keying material and should +be protected with file permissions similar to those used for +<code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>.</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLSessionTickets" id="SSLSessionTickets">SSLSessionTickets</a> <a name="sslsessiontickets" id="sslsessiontickets">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable or disable use of TLS session tickets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLSessionTickets on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLSessionTickets on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.11 and later, if using OpenSSL 0.9.8f +or later.</td></tr> +</table> +<p>This directive allows to enable or disable the use of TLS session tickets +(RFC 5077).</p> +<div class="warning"> +<p>TLS session tickets are enabled by default. Using them without restarting +the web server with an appropriate frequency (e.g. daily) compromises perfect +forward secrecy.</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLSRPUnknownUserSeed" id="SSLSRPUnknownUserSeed">SSLSRPUnknownUserSeed</a> <a name="sslsrpunknownuserseed" id="sslsrpunknownuserseed">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SRP unknown user seed</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLSRPUnknownUserSeed <em>secret-string</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.4 and later, if using OpenSSL 1.0.1 or +later</td></tr> +</table> +<p> +This directive sets the seed used to fake SRP user parameters for unknown +users, to avoid leaking whether a given user exists. Specify a secret +string. If this directive is not used, then Apache will return the +UNKNOWN_PSK_IDENTITY alert to clients who specify an unknown username. +</p> +<div class="example"><h3>Example</h3><p><code> +SSLSRPUnknownUserSeed "secret" +</code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLSRPVerifierFile" id="SSLSRPVerifierFile">SSLSRPVerifierFile</a> <a name="sslsrpverifierfile" id="sslsrpverifierfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Path to SRP verifier file</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLSRPVerifierFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.4 and later, if using OpenSSL 1.0.1 or +later</td></tr> +</table> +<p> +This directive enables TLS-SRP and sets the path to the OpenSSL SRP (Secure +Remote Password) verifier file containing TLS-SRP usernames, verifiers, salts, +and group parameters.</p> +<div class="example"><h3>Example</h3><p><code> +SSLSRPVerifierFile "/path/to/file.srpv" +</code></p></div> +<p> +The verifier file can be created with the <code>openssl</code> command line +utility:</p> +<div class="example"><h3>Creating the SRP verifier file</h3><p><code> +openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +</code></p></div> +<p> The value given with the optional <code>-userinfo</code> parameter is +available in the <code>SSL_SRP_USERINFO</code> request environment variable.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingCache" id="SSLStaplingCache">SSLStaplingCache</a> <a name="sslstaplingcache" id="sslstaplingcache">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the OCSP stapling cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingCache <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>Configures the cache used to store OCSP responses which get included +in the TLS handshake if <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> +is enabled. Configuration of a cache is mandatory for OCSP stapling. +With the exception of <code>none</code> and <code>nonenotnull</code>, +the same storage types are supported as with +<code class="directive"><a href="#sslsessioncache">SSLSessionCache</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingErrorCacheTimeout" id="SSLStaplingErrorCacheTimeout">SSLStaplingErrorCacheTimeout</a> <a name="sslstaplingerrorcachetimeout" id="sslstaplingerrorcachetimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingErrorCacheTimeout <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStaplingErrorCacheTimeout 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>Sets the timeout in seconds before <em>invalid</em> responses +in the OCSP stapling cache (configured through <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>) will expire. +To set the cache timeout for valid responses, see +<code class="directive"><a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingFakeTryLater" id="SSLStaplingFakeTryLater">SSLStaplingFakeTryLater</a> <a name="sslstaplingfaketrylater" id="sslstaplingfaketrylater">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingFakeTryLater on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStaplingFakeTryLater on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>When enabled and a query to an OCSP responder for stapling +purposes fails, mod_ssl will synthesize a "tryLater" response for the +client. Only effective if <code class="directive"><a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code> +is also enabled.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingForceURL" id="SSLStaplingForceURL">SSLStaplingForceURL</a> <a name="sslstaplingforceurl" id="sslstaplingforceurl">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingForceURL <em>uri</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>This directive overrides the URI of an OCSP responder as obtained from +the authorityInfoAccess (AIA) extension of the certificate. +One potential use is when a proxy is used for retrieving OCSP queries.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingResponderTimeout" id="SSLStaplingResponderTimeout">SSLStaplingResponderTimeout</a> <a name="sslstaplingrespondertimeout" id="sslstaplingrespondertimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Timeout for OCSP stapling queries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingResponderTimeout <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStaplingResponderTimeout 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>This option sets the timeout for queries to OCSP responders when +<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> is enabled +and mod_ssl is querying a responder for OCSP stapling purposes.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingResponseMaxAge" id="SSLStaplingResponseMaxAge">SSLStaplingResponseMaxAge</a> <a name="sslstaplingresponsemaxage" id="sslstaplingresponsemaxage">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum allowable age for OCSP stapling responses</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingResponseMaxAge <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStaplingResponseMaxAge -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>This option sets the maximum allowable age ("freshness") when +considering OCSP responses for stapling purposes, i.e. when +<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> is turned on. +The default value (<code>-1</code>) does not enforce a maximum age, +which means that OCSP responses are considered valid as long as their +<code>nextUpdate</code> field is in the future.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingResponseTimeSkew" id="SSLStaplingResponseTimeSkew">SSLStaplingResponseTimeSkew</a> <a name="sslstaplingresponsetimeskew" id="sslstaplingresponsetimeskew">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingResponseTimeSkew <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStaplingResponseTimeSkew 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>This option sets the maximum allowable time skew when mod_ssl checks the +<code>thisUpdate</code> and <code>nextUpdate</code> fields of OCSP responses +which get included in the TLS handshake (OCSP stapling). Only applicable +if <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> is turned on.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingReturnResponderErrors" id="SSLStaplingReturnResponderErrors">SSLStaplingReturnResponderErrors</a> <a name="sslstaplingreturnrespondererrors" id="sslstaplingreturnrespondererrors">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Pass stapling related OCSP errors on to client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingReturnResponderErrors on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStaplingReturnResponderErrors on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>When enabled, mod_ssl will pass responses from unsuccessful +stapling related OCSP queries (such as responses with an overall status +other than "successful", responses with a certificate status other than +"good", expired responses etc.) on to the client. +If set to <code>off</code>, only responses indicating a certificate status +of "good" will be included in the TLS handshake.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStaplingStandardCacheTimeout" id="SSLStaplingStandardCacheTimeout">SSLStaplingStandardCacheTimeout</a> <a name="sslstaplingstandardcachetimeout" id="sslstaplingstandardcachetimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStaplingStandardCacheTimeout <em>seconds</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStaplingStandardCacheTimeout 3600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>Sets the timeout in seconds before responses in the OCSP stapling cache +(configured through <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>) +will expire. This directive applies to <em>valid</em> responses, while +<code class="directive"><a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></code> is +used for controlling the timeout for invalid/unavailable responses. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLStrictSNIVHostCheck" id="SSLStrictSNIVHostCheck">SSLStrictSNIVHostCheck</a> <a name="sslstrictsnivhostcheck" id="sslstrictsnivhostcheck">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLStrictSNIVHostCheck on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLStrictSNIVHostCheck off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.2.12 and later</td></tr> +</table> +<p> +This directive sets whether a non-SNI client is allowed to access a name-based +virtual host. If set to <code>on</code> in the default name-based virtual +host, clients that are SNI unaware will not be allowed to access <em>any</em> +virtual host, belonging to this particular IP / port combination. +If set to <code>on</code> in any other virtual host, SNI unaware clients +are not allowed to access this particular virtual host. +</p> + +<div class="warning"><p> +This option is only available if httpd was compiled against an SNI capable +version of OpenSSL. +</p></div> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLStrictSNIVHostCheck on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLUserName" id="SSLUserName">SSLUserName</a> <a name="sslusername" id="sslusername">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Variable name to determine user name</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLUserName <em>varname</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive sets the "user" field in the Apache request object. +This is used by lower modules to identify the user with a character +string. In particular, this may cause the environment variable +<code>REMOTE_USER</code> to be set. The <em>varname</em> can be +any of the <a href="#envvars">SSL environment variables</a>.</p> + +<p>Note that this directive has no effect if the +<code>FakeBasicAuth</code> option is used (see <a href="#ssloptions">SSLOptions</a>).</p> + +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLUserName SSL_CLIENT_S_DN_CN</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLUseStapling" id="SSLUseStapling">SSLUseStapling</a> <a name="sslusestapling" id="sslusestapling">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLUseStapling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLUseStapling off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available if using OpenSSL 0.9.8h or later</td></tr> +</table> +<p>This option enables OCSP stapling, as defined by the "Certificate +Status Request" TLS extension specified in RFC 6066. If enabled (and +requested by the client), mod_ssl will include an OCSP response +for its own certificate in the TLS handshake. Configuring an +<code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code> is a +prerequisite for enabling OCSP stapling.</p> + +<p>OCSP stapling relieves the client of querying the OCSP responder +on its own, but it should be noted that with the RFC 6066 specification, +the server's <code>CertificateStatus</code> reply may only include an +OCSP response for a single cert. For server certificates with intermediate +CA certificates in their chain (the typical case nowadays), +stapling in its current implementation therefore only partially achieves the +stated goal of "saving roundtrips and resources" - see also +<a href="http://www.ietf.org/rfc/rfc6961.txt">RFC 6961</a> +(TLS Multiple Certificate Status Extension). +</p> + +<p>When OCSP stapling is enabled, the <code>ssl-stapling</code> mutex is used +to control access to the OCSP stapling cache in order to prevent corruption, +and the <code>sss-stapling-refresh</code> mutex is used to control refreshes +of OCSP responses. These mutexes can be configured using the +<code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> directive. +</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLVerifyClient" id="SSLVerifyClient">SSLVerifyClient</a> <a name="sslverifyclient" id="sslverifyclient">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of Client Certificate verification</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLVerifyClient <em>level</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLVerifyClient none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive sets the Certificate verification level for the Client +Authentication. Notice that this directive can be used both in per-server and +per-directory context. In per-server context it applies to the client +authentication process used in the standard SSL handshake when a connection is +established. In per-directory context it forces a SSL renegotiation with the +reconfigured client verification level after the HTTP request was read but +before the HTTP response is sent.</p> +<p> +The following levels are available for <em>level</em>:</p> +<ul> +<li><strong>none</strong>: + no client Certificate is required at all</li> +<li><strong>optional</strong>: + the client <em>may</em> present a valid Certificate</li> +<li><strong>require</strong>: + the client <em>has to</em> present a valid Certificate</li> +<li><strong>optional_no_ca</strong>: + the client may present a valid Certificate<br /> + but it need not to be (successfully) verifiable. This option + cannot be relied upon for client authentication. </li> +</ul> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLVerifyClient require</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SSLVerifyDepth" id="SSLVerifyDepth">SSLVerifyDepth</a> <a name="sslverifydepth" id="sslverifydepth">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SSLVerifyDepth <em>number</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SSLVerifyDepth 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +This directive sets how deeply mod_ssl should verify before deciding that the +clients don't have a valid certificate. Notice that this directive can be +used both in per-server and per-directory context. In per-server context it +applies to the client authentication process used in the standard SSL +handshake when a connection is established. In per-directory context it forces +a SSL renegotiation with the reconfigured client verification depth after the +HTTP request was read but before the HTTP response is sent.</p> +<p> +The depth actually is the maximum number of intermediate certificate issuers, +i.e. the number of CA certificates which are max allowed to be followed while +verifying the client certificate. A depth of 0 means that self-signed client +certificates are accepted only, the default depth of 1 means the client +certificate can be self-signed or has to be signed by a CA which is directly +known to the server (i.e. the CA's certificate is under +<code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>), etc.</p> +<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SSLVerifyDepth 10</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_ssl.html" title="English"> en </a> | +<a href="../fr/mod/mod_ssl.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ssl.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ssl.html.fr.utf8 b/docs/manual/mod/mod_ssl.html.fr.utf8 new file mode 100644 index 0000000..bd8aa04 --- /dev/null +++ b/docs/manual/mod/mod_ssl.html.fr.utf8 @@ -0,0 +1,3198 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ssl - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_ssl</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ssl_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ssl.c</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module fournit le support SSL v3 et TLS v1 au serveur HTTP +Apache. SSL v2 n'est plus supporté.</p> + +<p>Ce module s'appuie sur <a href="http://www.openssl.org/">OpenSSL</a> +pour fournir le moteur de chiffrement.</p> + +<p>D'autres détails, discussions et exemples sont fournis dans la <a href="../ssl/">documentation SSL</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#envvars">Variables d'environnement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformats">Formats de journaux +personnalisés</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Information à propos de la requête</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expressionparser">Extension pour l'interprétation +des expressions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzproviders">Fournisseurs d'autorisation +disponibles avec Require</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatefile">SSLCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslciphersuite">SSLCipherSuite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcompression">SSLCompression</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcryptodevice">SSLCryptoDevice</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslengine">SSLEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslfips">SSLFIPS</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspenable">SSLOCSPEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspnoverify">SSLOCSPNoverify</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssloptions">SSLOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslprotocol">SSLProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyengine">SSLProxyEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyverify">SSLProxyVerify</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrandomseed">SSLRandomSeed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrequire">SSLRequire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrequiressl">SSLRequireSSL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessioncache">SSLSessionCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessiontickets">SSLSessionTickets</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingcache">SSLStaplingCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslusername">SSLUserName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslusestapling">SSLUseStapling</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslverifyclient">SSLVerifyClient</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslverifydepth">SSLVerifyDepth</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="envvars" id="envvars">Variables d'environnement</a></h2> + +<p>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, sauf pour +<code>HTTPS</code> et <code>SSL_TLS_SNI</code> qui sont toujours définies, ces +informations ne sont pas fournies pour des raisons de performances (Voir +la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> +<code>StdEnvVars</code> ci-dessous). +Les variables générées se trouvent dans la table ci-dessous. +Ces informations peuvent également être disponible sous des noms différents +à des fins de compatibilité ascendante. Reportez-vous au chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a> pour plus de détails à +propos des variables de compatibilité.</p> + +<table class="bordered"><tr class="header"> + <th><a name="table3">Nom de la variable</a></th> + <th>Type de valeur</th> + <th>Description</th> +</tr> +<tr><td><code>HTTPS</code></td> <td>drapeau</td> +<td>HTTPS est utilisé.</td></tr> +<tr class="odd"><td><code>SSL_PROTOCOL</code></td> <td>chaîne</td> +<td>La version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)</td></tr> +<tr><td><code>SSL_SESSION_ID</code></td> <td>chaîne</td> +<td>L'identifiant de session SSL codé en hexadécimal</td></tr> +<tr class="odd"><td><code>SSL_SESSION_RESUMED</code></td> <td>chaîne</td> +<td>Session 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</td></tr> +<tr><td><code>SSL_SECURE_RENEG</code></td> <td>chaîne</td> +<td><code>true</code> si la renégociation sécurisée est supportée, +<code>false</code> dans le cas contraire</td></tr> +<tr class="odd"><td><code>SSL_CIPHER</code></td> <td>chaîne</td> +<td>Le nom de l'algorithme de chiffrement</td></tr> +<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>chaîne</td> +<td><code>true</code> si l'algorithme de chiffrement est un algorithme +exporté</td></tr> +<tr class="odd"><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>nombre</td> +<td>Nombre de bits de chiffrement (réellement utilisés)</td></tr> +<tr><td><code>SSL_CIPHER_ALGKEYSIZE</code></td> <td>nombre</td> +<td>Nombre de bits de chiffrement (possible)</td></tr> +<tr class="odd"><td><code>SSL_COMPRESS_METHOD</code></td> <td>chaîne</td> +<td>Méthode de compression SSL négociée</td></tr> +<tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>chaîne</td> +<td>La version du programme mod_ssl</td></tr> +<tr class="odd"><td><code>SSL_VERSION_LIBRARY</code></td> <td>chaîne</td> +<td>La version du programme OpenSSL</td></tr> +<tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>chaîne</td> +<td>La version du certificat client</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>chaîne</td> +<td>Le numéro de série du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_S_DN</code></td> <td>chaîne</td> +<td>Le DN sujet du certificat client</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN sujet du client</td></tr> +<tr><td><code>SSL_CLIENT_SAN_Email_</code><em>n</em></td> <td>chaîne</td> +<td>Les entrées d'extension subjectAltName du certificat client de type rfc822Name</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td> +<td>Les entrées d'extension subjectAltName du certificat client de type dNSName</td></tr> +<tr><td><code>SSL_CLIENT_SAN_OTHER_msUPN_</code><em>n</em></td> +<td>chaîne</td> <td>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)</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_I_DN</code></td> <td>chaîne</td> +<td>DN de l'émetteur du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN de l'émetteur du certificat du client</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_V_START</code></td> <td>chaîne</td> +<td>Validité du certificat du client (date de début)</td></tr> +<tr><td><code>SSL_CLIENT_V_END</code></td> <td>chaîne</td> +<td>Validité du certificat du client (date de fin)</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_V_REMAIN</code></td> <td>chaîne</td> +<td>Nombre de jours avant expiration du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la signature du certificat du client</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_A_KEY</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la clé publique du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_CERT</code></td> <td>chaîne</td> +<td>Certificat du client au format PEM</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em></td> +<td>chaîne</td> <td>Certificats de la chaîne de certification du +client au format PEM</td></tr> +<tr><td><code>SSL_CLIENT_CERT_RFC4523_CEA</code></td> <td>chaîne</td> +<td>Numéro de série et fournisseur du certificat. le format correspond à +celui de la CertificateExactAssertion dans la RFC4523</td></tr> +<tr class="odd"><td><code>SSL_CLIENT_VERIFY</code></td> <td>chaîne</td> +<td><code>NONE</code>, <code>SUCCESS</code>, <code>GENEROUS</code> ou +<code>FAILED:</code><em>raison</em></td></tr> +<tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>chaîne</td> +<td>La version du certificat du serveur</td></tr> +<tr class="odd"><td><code>SSL_SERVER_M_SERIAL</code></td> <td>chaîne</td> <td> + +The serial of the server certificate</td></tr> +<tr><td><code>SSL_SERVER_S_DN</code></td> <td>chaîne</td> +<td>DN sujet du certificat du serveur</td></tr> +<tr class="odd"><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN sujet du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_SAN_Email_</code><em>n</em></td> +<td>chaîne</td> <td>Les entrées d'extension subjectAltName du +certificat de serveur de type rfc822Name</td></tr> +<tr class="odd"><td><code>SSL_SERVER_SAN_DNS_</code><em>n</em></td> <td>chaîne</td> +<td>Les entrées d'extension subjectAltName du +certificat de serveur de type dNSName</td></tr> +<tr><td><code>SSL_SERVER_SAN_OTHER_dnsSRV_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type otherName du +certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985)</td></tr> +<tr class="odd"><td><code>SSL_SERVER_I_DN</code></td> <td>chaîne</td> +<td>DN de l'émetteur du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN de l'émetteur du certificat du serveur</td></tr> +<tr class="odd"><td><code>SSL_SERVER_V_START</code></td> <td>chaîne</td> +<td>Validité du certificat du serveur (date de dédut)</td></tr> +<tr><td><code>SSL_SERVER_V_END</code></td> <td>chaîne</td> +<td>Validité du certificat du serveur (date de fin)</td></tr> +<tr class="odd"><td><code>SSL_SERVER_A_SIG</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la signature du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_A_KEY</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la clé publique du certificat du serveur</td></tr> +<tr class="odd"><td><code>SSL_SERVER_CERT</code></td> <td>chaîne</td> +<td>Certificat du serveur au format PEM</td></tr> +<tr><td><code>SSL_SRP_USER</code></td> <td>chaîne</td> +<td>nom d'utilisateur SRP</td></tr> +<tr class="odd"><td><code>SSL_SRP_USERINFO</code></td> <td>chaîne</td> +<td>informations sur l'utilisateur SRP</td></tr> +<tr><td><code>SSL_TLS_SNI</code></td> <td>string</td> +<td>Contenu de l'extension SNI TLS (si supporté par ClientHello)</td></tr> +</table> + +<p><em>x509</em> spécifie un élément de DN X.509 parmi +<code>C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email</code>. A partir de la version +2.2.0 d'Apache, <em>x509</em> peut aussi comporter un suffixe numérique +<code>_n</code>. 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 +<code>SSL_SERVER_S_DN_OU_0</code> et <code>SSL_SERVER_S_DN_OU_1</code> +pour référencer chacun d'entre eux. Un nom de variable sans suffixe +<code>_n</code> est équivalent au même nom avec le suffixe +<code>_0</code>, ce qui correspond au premier attribut (ou au seul) +caractérisant le DN. +Lorsque la table d'environnement est remplie en utilisant l'option +<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code>, 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 <code>_0</code> +n'est enregistrée.</p> + +<p>A partir de la version 2.4.32 de httpd, on peut ajouter le suffixe +<em>_RAW</em> à <em>x509</em> dans un composant DN afin d'empêcher la conversion +de la valeur de l'attribut en UTF-8. Il doit être placé après le suffixe index +(s'il existe). On utilisera par exemple <code>SSL_SERVER_S_DN_OU_RAW</code> ou +<code>SSL_SERVER_S_DN_OU_0_RAW</code>.</p> + +<p>Le format des variables <em>*_DN</em> a changé depuis la version +2.3.11 d'Apache HTTPD. Voir l'option <code>LegacyDNStringFormat</code> +de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> pour +plus de détails.</p> + +<p><code>SSL_CLIENT_V_REMAIN</code> n'est disponible qu'à partir de la +version 2.1.</p> + +<p>Plusieurs variables d'environnement additionnelles peuvent être +utilisées dans les expressions <code class="directive">SSLRequire</code>, ou +dans les formats de journalisation personnalisés :</p> + +<div class="note"><pre>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</pre></div> + +<p>Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés +:</p> + +<dl> + <dt><code>ENV:<em>nom_variable</em></code></dt> + <dd>Correspond à la variable d'environnement standard + <em>nom_variable</em>.</dd> + + <dt><code>HTTP:<em>nom_en-tête</em></code></dt> + <dd>Correspond à la valeur de l'en-tête de requête dont le nom est + <em>nom_en-tête</em>.</dd> +</dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logformats" id="logformats">Formats de journaux +personnalisés</a></h2> + +<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé dans le serveur Apache +ou même chargé (en mode DSO), des fonctions supplémentaires sont +disponibles pour le <a href="mod_log_config.html#formats">Format de journal personnalisé</a> du +module <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. A ce titre, la fonction de +format d'eXtension ``<code>%{</code><em>nom-var</em><code>}x</code>'' +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.</p> +<p> +A des fins de compatibilité ascendante, il existe une fonction de format +cryptographique supplémentaire +``<code>%{</code><em>nom</em><code>}c</code>''. Vous trouverez toutes +les informations à propos de cette fonction dans le chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"</pre> +</div> +<p>Ces formats sont disponibles même si l'option <code>StdEnvVars</code> de la +directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été +définie.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="notes" id="notes">Information à propos de la requête</a></h2> + +<p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> enregistre des informations à propos de la +requête que l'on peut restituer dans les journaux avec la chaîne de +format <code>%{<em>nom</em>}n</code> via le module +<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> + +<p>Les informations enregistrées sont les suivantes :</p> + +<dl> + <dt><code>ssl-access-forbidden</code></dt> + <dd>Cette information contient la valeur <code>1</code> si l'accès a + été refusé suite à une directive <code class="directive">SSLRequire</code> ou + <code class="directive">SSLRequireSSL</code>.</dd> + + <dt><code>ssl-secure-reneg</code></dt> + <dd>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> 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 + <code>1</code>. Si le client ne supporte pas la renégociation + sécurisée, l'information contiendra la valeur <code>0</code>. Si + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> 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.</dd> +</dl> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="expressionparser" id="expressionparser">Extension pour l'interprétation +des expressions</a></h2> + +<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé statiquement avec +Apache, ou même chargé dynamiquement (en tant que module DSO), toute <a name="envvars">variable</a> en provenance de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut +être utilisée pour l'<a href="../expr.html">interprétation des +expression ap_expr</a>. Les variables peuvent être référencées en +utilisant la syntaxe ``<code>%{</code><em>varname</em><code>}</code>''. +A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de +style <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> +``<code>%{SSL:</code><em>varname</em><code>}</code>'', ou la syntaxe de +style fonction ``<code>ssl(</code><em>varname</em><code>)</code>''.</p> +<div class="example"><h3>Exemple (en utilisant <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>)</h3><pre class="prettyprint lang-config">Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}" +Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"</pre> +</div> +<p>Cette fonctionnalité est disponible même si l'option +<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été définie.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authzproviders" id="authzproviders">Fournisseurs d'autorisation +disponibles avec Require</a></h2> + + <p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> propose quelques fournisseurs + d'autorisation à utiliser avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> du module + <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>.</p> + + <h3><a name="reqssl" id="reqssl">Require ssl</a></h3> + + <p>Le fournisseur <code>ssl</code> refuse l'accès si une connexion + n'est pas chiffrée avec SSL. L'effet est similaire à celui de la + directive <code class="directive">SSLRequireSSL</code>.</p> + + + <pre class="prettyprint lang-config">Require ssl</pre> + + + + + + <h3><a name="reqverifyclient" id="reqverifyclient">Require ssl-verify-client</a></h3> + + <p>Le fournisseur <code>ssl</code> autorise l'accès si + l'utilisateur est authentifié via un certificat client valide. Ceci + n'a un effet que si <code>SSLVerifyClient optional</code> est actif.</p> + + <p>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 :</p> + + <pre class="prettyprint lang-config">Require ssl-verify-client +Require valid-user</pre> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcacertificatefile" id="sslcacertificatefile">Directive</a> <a name="SSLCACertificateFile" id="SSLCACertificateFile">SSLCACertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCACertificateFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> 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 <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcacertificatepath" id="sslcacertificatepath">Directive</a> <a name="SSLCACertificatePath" id="SSLCACertificatePath">SSLCACertificatePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour +l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCACertificatePath <em>chemin-répertoire</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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.</p> +<p> +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 +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcadnrequestfile" id="sslcadnrequestfile">Directive</a> <a name="SSLCADNRequestFile" id="SSLCADNRequestFile">SSLCADNRequestFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCADNRequestFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>Lorsque mod_ssl demande un certificat client, une liste de <em>noms +d'Autorités de Certification acceptables</em> 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.</p> + +<p>Si aucune des directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> 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 <code class="directive"><a href="#sslcacertificatefile">SSLCACertificateFile</a></code> et <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> ; en d'autres termes, +c'est la liste des noms de CAs qui sera effectivement utilisée pour +vérifier le certificat du client.</p> + +<p>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 <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> et/ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code>, 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.</p> + +<p><code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> doit +spécifier un fichier <em>tout-en-un</em> contenant une concaténation des +certificats de CA codés en PEM.</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCADNRequestFile "/usr/local/apache2/conf/ca-names.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcadnrequestpath" id="sslcadnrequestpath">Directive</a> <a name="SSLCADNRequestPath" id="SSLCADNRequestPath">SSLCADNRequestPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCADNRequestPath <em>chemin-répertoire</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> + +<p>Cette directive optionnelle permet de définir la liste de <em>noms de +CAs acceptables</em> qui sera envoyée au client lorsqu'un certificat de +client est demandé. Voir la directive <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> pour plus de +détails.</p> + +<p>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 +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCADNRequestPath "/usr/local/apache2/conf/ca-names.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcarevocationcheck" id="sslcarevocationcheck">Directive</a> <a name="SSLCARevocationCheck" id="SSLCARevocationCheck">SSLCARevocationCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCARevocationCheck none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le drapeau optionnel <em>flag</em>s est disponible à partir de la +version 2.4.21 du serveur HTTP Apache</td></tr> +</table> +<p> +Active la vérification des révocations basée sur les Listes de +Révocations de Certificats (CRL). Au moins une des directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code> doit être définie. +Lorsque cette directive est définie à <code>chain</code> (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur <code>leaf</code> limite +la vérification au certificat hors chaîne (la feuille). +</p> +<p><em>flag</em>s peut prendre comme valeurs </p> +<ul> +<li><code>no_crl_for_cert_ok</code> +<p> +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 <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.</p> +<p>Le comportement a +changé avec l'introduction de la directive +<code class="directive">SSLCARevocationFile</code> : par défaut avec +<code>chain</code> ou <code>leaf</code>, les CRLs <em>doivent</em> être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur <code>"unable to get certificate CRL"</code>.</p> +<p>La valeur <code>no_crl_for_cert_ok</code> du drapeau <em>flag</em> permet de +retrouver le comportement précédent.</p> +</li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain</pre> +</div> +<div class="example"><h3>Compatibilité avec la branche 2.2</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain no_crl_for_cert_ok</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcarevocationfile" id="sslcarevocationfile">Directive</a> <a name="SSLCARevocationFile" id="SSLCARevocationFile">SSLCARevocationFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> 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 <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationFile +"/usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcarevocationpath" id="sslcarevocationpath">Directive</a> <a name="SSLCARevocationPath" id="SSLCARevocationPath">SSLCARevocationPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationPath <em>chemin-répertoire</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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.</p> +<p> +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 +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcertificatechainfile" id="sslcertificatechainfile">Directive</a> <a name="SSLCertificateChainFile" id="SSLCertificateChainFile">SSLCertificateChainFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant les certificats de CA du serveur codés en +PEM</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateChainFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<div class="note"><h3>SSLCertificateChainFile est obsolète</h3> +<p><code>SSLCertificateChainFile</code> est devenue obsolète avec la +version 2.4.8, lorsque la directive +<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code> a été étendue +pour supporter aussi les certificats de CA intermédiaires dans le +fichier de certificats du serveur.</p> +</div> +<p> +Cette directive permet de définir le fichier optionnel +<em>tout-en-un</em> 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.</p> +<p>Elle doit être utilisée à la place et/ou en complément de la +directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> +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 <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> 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.</p> +<p> +Soyez cependant prudent : fournir la chaîne de certification ne +fonctionne que si vous utilisez un <em>simple</em> certificat de +serveur RSA <em>ou</em> DSA. Si vous utilisez une paire de certificats +couplés RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment <em>la même</em> chaîne de certification. Dans le cas +contraire, la confusion risque de s'installer au niveau des +navigateurs.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCertificateChainFile "/usr/local/apache2/conf/ssl.crt/ca.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcertificatefile" id="sslcertificatefile">Directive</a> <a name="SSLCertificateFile" id="SSLCertificateFile">SSLCertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM ou identificateur de jeton</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateFile <var>file-path</var>|<var>certid</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'option <var>certid</var> est disponible à partir de la version +2.4.42 du serveur HTTP Apache.</td></tr> +</table> +<p>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 ou +l'identificateur de certificat via un jeton cryptographique. Si on utilise un +fichier au format PEM, ce dernier 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 <code>openssl +list-public-key-algorithms</code> 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. +</p> + +<p>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 <code class="directive"><a href="#sslcertificatechainfile">SSLCertificateChainFile</a></code>. 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.</p> + +<p>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 <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>. +Ces paramètres peuvent être générés avec les commandes <code>openssl +dhparam</code> et <code>openssl ecparam</code>, 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é. +</p> + +<p>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 <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> séparée. Cette +pratique est cependant fortement déconseillée. Dans ce cas, les fichiers de +certificat qui contiennent de telles clés embarquées doivent être définis +après les certificats qui utilisent 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. +</p> + +<p>Plutôt que de stocker les certificats et les clés privées dans des fichiers, +on peut utiliser un identificateur de certificat pour identifier un certificat +stocké dans un jeton. Actuellement, seuls les <a href="https://tools.ietf.org/html/rfc7512">URIs PKCS#11</a> sont reconnus comme +identificateurs de certificats et peuvent être utilisés en conjonction avec le +moteur OpenSSL <code>pkcs11</code>. Si la directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> est absente, le certificat et +la clé privée peuvent être chargés avec l'identificateur spécifié via la +directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>.</p> + +<div class="note"> +<h3>Interopérabilité des paramètres DH avec les nombres premiers de +plus de 1024 bits</h3> +<p> +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 <a href="http://www.ietf.org/rfc/rfc3526.txt">RFC +3526</a>), 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 <a href="../ssl/ssl_faq.html#javadh">réponse de la FAQ SSL</a> pour +contourner les problèmes de ce genre. +</p> +</div> + +<div class="note"> +<h3>Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une +version d'OpenSSL antérieure à 1.0.2.</h3> +<p> +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 +<code class="directive">SSLCertificateFile</code> de façon à ce que les certificats +RSA/DSA soit placés <strong>après</strong> les certificats ECC. +</p> +<p> +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). +</p> +<p> +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. +</p> +</div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Exemple utilisant un fichier codé en PEM. +SSLCertificateFile "/usr/local/apache2/conf/ssl.crt/server.crt" +# Exemple d'utilisation d'un certificat et d'une clé privés issus d'un jeton +# PKCS#11 : +SSLCertificateFile "pkcs11:token=My%20Token%20Name;id=45"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcertificatekeyfile" id="sslcertificatekeyfile">Directive</a> <a name="SSLCertificateKeyFile" id="SSLCertificateKeyFile">SSLCertificateKeyFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la clé privée du serveur codée en +PEM</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td><var>keyid</var> est disponible à partir de la version 2.4.42 du +serveur HTTP Apache.</td></tr> +</table> +<p> +Cette directive permet de définir le fichier contenant la clé privée du serveur +codée en PEM ou l'identifiant de la clé via un jeton cryptographique défini. 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.</p> + +<p> +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 <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> doit être associée +une directive <code class="directive">SSLCertificateFile</code> correspondante. +</p> + +<p> +La clé privée peut aussi être ajoutée au fichier défini par la directive +<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>, mais cette +pratique est fortement déconseillée. Dans ce cas, les fichiers de +certificats qui comportent une telle clé doivent être définis après les +certificats qui utilisent un fichier de clé séparé.</p> + +<p>Plutôt que de stocker des clés privées dans des fichiers, il est possible +d'identifier une clé privée via un identifiant stocké dans un jeton. +Actuellement, seuls les <a href="https://tools.ietf.org/html/rfc7512">PKCS#11 +URIs</a> sont reconnus comme identifiants de clés privées et peuvent être +utilisés en conjonction avec le moteur OpenSSL <code>pkcs11</code>.</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Pour utiliser une clé privée stockée dans fichier encodé PEM : +SSLCertificateKeyFile "/usr/local/apache2/conf/ssl.key/server.key" +# Pour utiliser une clé privée à partir d'un jeton PKCS#11 : +SSLCertificateKeyFile "pkcs11:token=My%20Token%20Name;id=45"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslciphersuite" id="sslciphersuite">Directive</a> <a name="SSLCipherSuite" id="SSLCipherSuite">SSLCipherSuite</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL +installée)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive complexe utilise la chaîne <em>cipher-spec</em> +contenant la liste des algorithmes de chiffrement OpenSSL que le client +peut utiliser au cours de la phase d'initialisation de la connexion SSL. La +spécification optionnelle du protocole permet de configurer la suite +d'algorithmes de chiffrement pour une version spécifique de SSL. Une des valeurs +possibles est "SSL" pour toutes les versions du protocole SSL jusqu'à TLSv1.2 +compris. +</p> +<p> +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.</p> +<p> +Si la bibliothèque SSL supporte TLSv1.3 (versions d'OpenSSL 1.1.1 et +supérieures), il est possible de spécifier le paramètre "TLSv1.3" pour +configurer la suite d'algorithmes de chiffrement pour ce protocole. Comme +TLSv1.3 n'autorise pas la renégociation, spécifier pour lui des algorithmes de +chiffrement dans un contexte de répertoire n'est pas autorisé</p> +<p> +Pour obtenir la liste des noms d'algorithmes de chiffrement pour TLSv1.3, se +référer à la <a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_ciphersuites.html">the +OpenSSL documentation</a>.</p> +<p> +La liste d'algorithmes de chiffrement SSL spécifiée par l'argument +<em>cipher-spec</em> comporte quatre attributs principaux auxquels +s'ajoutent quelques attributs secondaires :</p> +<ul> +<li><em>Algorithme d'échange de clés</em>:<br /> + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password. +</li> +<li><em>Algorithme d'authentification</em>:<br /> + RSA, Diffie-Hellman, DSS, ECDSA, ou none. +</li> +<li><em>Algorithme de chiffrement</em>:<br /> + AES, DES, Triple-DES, RC4, RC2, IDEA, etc... +</li> +<li><em>Algorithme de condensé MAC</em>:<br /> + MD5, SHA ou SHA1, SHA256, SHA384. +</li> +</ul> +<p>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 <a href="#table1">Table 1</a>). 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.</p> + +<table class="bordered"> + +<tr><th><a name="table1">Symbole</a></th> <th>Description</th></tr> +<tr><td colspan="2"><em>Algorithme d'échange de clés :</em></td></tr> +<tr><td><code>kRSA</code></td> <td>Echange de clés RSA</td></tr> +<tr><td><code>kDHr</code></td> <td>Echange de clés Diffie-Hellman avec +clé RSA</td></tr> +<tr><td><code>kDHd</code></td> <td>Echange de clés Diffie-Hellman avec +clé DSA</td></tr> +<tr><td><code>kEDH</code></td> <td>Echange de clés Diffie-Hellman +temporaires (pas de certificat)</td> </tr> +<tr><td><code>kSRP</code></td> <td>échange de clés avec mot de passe +distant sécurisé (SRP)</td></tr> +<tr><td colspan="2"><em>Algorithmes d'authentification :</em></td></tr> +<tr><td><code>aNULL</code></td> <td>Pas d'authentification</td></tr> +<tr><td><code>aRSA</code></td> <td>Authentification RSA</td></tr> +<tr><td><code>aDSS</code></td> <td>Authentification DSS</td> </tr> +<tr><td><code>aDH</code></td> <td>Authentification Diffie-Hellman</td></tr> +<tr><td colspan="2"><em>Algorithmes de chiffrement :</em></td></tr> +<tr><td><code>eNULL</code></td> <td>Pas de chiffrement</td> </tr> +<tr><td><code>NULL</code></td> <td>alias pour eNULL</td> </tr> +<tr><td><code>AES</code></td> <td>Chiffrement AES</td> </tr> +<tr><td><code>DES</code></td> <td>Chiffrement DES</td> </tr> +<tr><td><code>3DES</code></td> <td>Chiffrement Triple-DES</td> </tr> +<tr><td><code>RC4</code></td> <td>Chiffrement RC4</td> </tr> +<tr><td><code>RC2</code></td> <td>Chiffrement RC2</td> </tr> +<tr><td><code>IDEA</code></td> <td>Chiffrement IDEA</td> </tr> +<tr><td colspan="2"><em>Algorithmes de condensés MAC </em>:</td></tr> +<tr><td><code>MD5</code></td> <td>Fonction de hashage MD5</td></tr> +<tr><td><code>SHA1</code></td> <td>Fonction de hashage SHA1</td></tr> +<tr><td><code>SHA</code></td> <td>alias pour SHA1</td> </tr> +<tr><td><code>SHA256</code></td> <td>Fonction de hashage SHA256</td> </tr> +<tr><td><code>SHA384</code></td> <td>Fonction de hashage SHA384</td> </tr> +<tr><td colspan="2"><em>Alias :</em></td></tr> +<tr><td><code>SSLv3</code></td> <td>tous les algorithmes de chiffrement +SSL version 3.0</td> </tr> +<tr><td><code>TLSv1</code></td> <td>tous les algorithmes de chiffrement +TLS version 1.0</td> </tr> +<tr><td><code>EXP</code></td> <td>tous les algorithmes de chiffrement +externes</td> </tr> +<tr><td><code>EXPORT40</code></td> <td>tous les algorithmes de chiffrement +externes limités à 40 bits</td> </tr> +<tr><td><code>EXPORT56</code></td> <td>tous les algorithmes de chiffrement +externes limités à 56 bits</td> </tr> +<tr><td><code>LOW</code></td> <td>tous les algorithmes de chiffrement +faibles (non externes, DES simple)</td></tr> +<tr><td><code>MEDIUM</code></td> <td>tous les algorithmes avec +chiffrement 128 bits</td> </tr> +<tr><td><code>HIGH</code></td> <td>tous les algorithmes +utilisant Triple-DES</td> </tr> +<tr><td><code>RSA</code></td> <td>tous les algorithmes +utilisant l'échange de clés RSA</td> </tr> +<tr><td><code>DH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman</td> </tr> +<tr><td><code>EDH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman temporaires</td> </tr> +<tr><td><code>ECDH</code></td> <td>Echange de clés Elliptic Curve Diffie-Hellman</td> </tr> +<tr><td><code>ADH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman anonymes</td> </tr> +<tr><td><code>AECDH</code></td> <td>tous les algorithmes utilisant +l'échange de clés Elliptic Curve Diffie-Hellman</td> </tr> +<tr><td><code>SRP</code></td> <td>tous les algorithmes utilisant +l'échange de clés avec mot de passe distant sécurisé (SRP)</td> </tr> +<tr><td><code>DSS</code></td> <td>tous les algorithmes +utilisant l'authentification DSS</td> </tr> +<tr><td><code>ECDSA</code></td> <td>tous les algorithmes utilisant +l'authentification ECDSA</td> </tr> +<tr><td><code>aNULL</code></td> <td>tous les algorithmes n'utilisant +aucune authentification</td> </tr> +</table> +<p> +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 (<code>SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH</code>) pour certains groupes d'algorithmes. Ces symboles peuvent +être reliés par des préfixes pour former la chaîne <em>algorithmes</em>. +Les préfixes disponibles sont :</p> +<ul> +<li>none: ajoute l'algorithme à la liste</li> +<li><code>+</code>: déplace les algorithmes qui conviennent à la +place courante dans la liste</li> +<li><code>-</code>: supprime l'algorithme de la liste (peut être rajouté +plus tard)</li> +<li><code>!</code>: supprime définitivement l'algorithme de la liste (ne +peut <strong>plus</strong> y être rajouté plus tard)</li> +</ul> + +<div class="note"> +<h3>Les algorithmes <code>aNULL</code>, <code>eNULL</code> et +<code>EXP</code> sont toujours désactivés</h3> +<p>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 +<code>!aNULL:!eNULL:!EXP</code> à toute chaîne d'algorithme de +chiffrement à l'initialisation.</p> +</div> + +<p>Pour vous simplifier la vie, vous pouvez utiliser la commande +``<code>openssl ciphers -v</code>'' qui vous fournit un moyen simple de +créer la chaîne <em>algorithmes</em> avec succès. La chaîne +<em>algorithmes</em> par défaut dépend de la version des bibliothèques +SSL installées. Supposons qu'elle contienne +``<code>RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5</code>'', ce qui +stipule de mettre <code>RC4-SHA</code> et <code>AES128-SHA</code> 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 +<code>MD5</code> pour le hashage, car celui-ci est reconnu comme +insuffisant.</p> +<div class="example"><pre>$ 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</pre></div> +<p>Vous trouverez la liste complète des algorithmes RSA & DH +spécifiques à SSL dans la <a href="#table2">Table 2</a>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW</pre> +</div> +<table class="bordered"> + +<tr><th><a name="table2">Symbole algorithme</a></th> <th>Protocole</th> +<th>Echange de clés</th> <th>Authentification</th> <th>Chiffrement</th> +<th>Condensé MAC</th> <th>Type</th> </tr> +<tr><td colspan="7"><em>Algorithmes RSA :</em></td></tr> +<tr><td><code>DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>IDEA-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>RC4-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>RC4-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>MD5</td> <td /> </tr> +<tr><td><code>DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EXP-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-RC2-CBC-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC2(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>EXP-RC4-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>NULL-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>NULL-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>MD5</td> <td /> </tr> +<tr><td colspan="7"><em>Algorithmes Diffie-Hellman :</em></td></tr> +<tr><td><code>ADH-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>RC4(128)</td> <td>MD5</td> <td /> </tr> +<tr><td><code>EDH-RSA-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-DSS-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EXP-EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>DSS</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +</table> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcompression" id="sslcompression">Directive</a> <a name="SSLCompression" id="SSLCompression">SSLCompression</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'activer la compression au niveau SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCompression on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCompression off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>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 <code>on</code> dans la version 2.4.3.</td></tr> +</table> +<p>Cette directive permet d'activer la compression au niveau SSL.</p> +<div class="warning"> +<p>L'activation de la compression est à l'origine de problèmes de +sécurité dans la plupart des configurations (l'attaque nommée CRIME).</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcryptodevice" id="sslcryptodevice">Directive</a> <a name="SSLCryptoDevice" id="SSLCryptoDevice">SSLCryptoDevice</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'utilisation d'un accélérateur matériel de +chiffrement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCryptoDevice <em>moteur</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCryptoDevice builtin</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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".</p> + +<p>Pour déterminer les moteurs supportés, exécutez la commande +"<code>openssl engine</code>".</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Pour un accélérateur Broadcom : +SSLCryptoDevice ubsec</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslengine" id="sslengine">Directive</a> <a name="SSLEngine" id="SSLEngine">SSLEngine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLEngine on|off|optional</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLEngine off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet d'activer/désactiver le moteur du protocole +SSL/TLS. Elle doit être utilisée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> 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.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> +SSLEngine on +#... +</VirtualHost></pre> +</div> +<p>Depuis la version 2.1 d'Apache, la directive +<code class="directive">SSLEngine</code> peut être définie à +<code>optional</code>, ce qui active le support de <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, Upgrading to +TLS Within HTTP/1.1. Pour le moment, aucun navigateur web ne supporte +RFC 2817.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslfips" id="sslfips">Directive</a> <a name="SSLFIPS" id="SSLFIPS">SSLFIPS</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Coimmutateur du mode SSL FIPS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLFIPS on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLFIPS off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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. +</p> +<p> +Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le +drapeau FIPS_mode, la directive <code>SSLFIPS on</code> é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. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslhonorcipherorder" id="sslhonorcipherorder">Directive</a> <a name="SSLHonorCipherOrder" id="SSLHonorCipherOrder">SSLHonorCipherOrder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLHonorCipherOrder on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLHonorCipherOrder off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>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.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLHonorCipherOrder on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslinsecurerenegotiation" id="sslinsecurerenegotiation">Directive</a> <a name="SSLInsecureRenegotiation" id="SSLInsecureRenegotiation">SSLInsecureRenegotiation</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option permettant d'activer le support de la renégociation +non sécurisée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLInsecureRenegotiation on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLInsecureRenegotiation off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis httpd 2.2.15, si une version 0.9.8m +ou supérieure d'OpenSSL est utilisée</td></tr> +</table> +<p>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 (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>) +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.</p> + +<p>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> 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</p> + +<div class="warning"><h3>Avertissement à propos de la sécurité</h3> +<p>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 <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>.</p> +</div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLInsecureRenegotiation on</pre> +</div> + +<p>La variable d'environnement <code>SSL_SECURE_RENEG</code> 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.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspdefaultresponder" id="sslocspdefaultresponder">Directive</a> <a name="SSLOCSPDefaultResponder" id="SSLOCSPDefaultResponder">SSLOCSPDefaultResponder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URI du répondeur par défaut pour la validation +OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPDefaultResponder <em>uri</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>Cette directive permet de définir le répondeur OCSP par défaut. Si la +directive <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> 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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspenable" id="sslocspenable">Directive</a> <a name="SSLOCSPEnable" id="SSLOCSPEnable">SSLOCSPEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la validation OCSP de la chaîne de certificats du +client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPEnable on|leaf|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPEnable off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le mode <em>leaf</em> est disponible à partir de la version +2.4.34 du serveur HTTP Apache</td></tr> +</table> +<p>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). En mode 'leaf', seul le certificat du client sera validé.</p> + +<p>Le répondeur OCSP utilisé est soit extrait du certificat lui-même, +soit spécifié dans la configuration ; voir les directives <code class="directive"><a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></code> et <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code>.</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyClient on +SSLOCSPEnable on +SSLOCSPDefaultResponder "http://responder.example.com:8888/responder" +SSLOCSPOverrideResponder on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspnoverify" id="sslocspnoverify">Directive</a> <a name="SSLOCSPNoverify" id="SSLOCSPNoverify">SSLOCSPNoverify</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Evite la vérification des certificats des répondeurs OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPNoverify on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPNoverify off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache, +sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL</td></tr> +</table> +<p>Cette directive permet d'éviter la vérification des certificats +des répondeurs OCSP, ce qui peut s'avérer utile lorsqu'on teste un serveur OCSP.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspoverrideresponder" id="sslocspoverrideresponder">Directive</a> <a name="SSLOCSPOverrideResponder" id="SSLOCSPOverrideResponder">SSLOCSPOverrideResponder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPOverrideResponder on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPOverrideResponder off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspproxyurl" id="sslocspproxyurl">Directive</a> <a name="SSLOCSPProxyURL" id="SSLOCSPProxyURL">SSLOCSPProxyURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse de mandataire à utiliser pour les requêtes OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPProxyURL <em>url</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr> +</table> +<p>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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocsprespondercertificatefile" id="sslocsprespondercertificatefile">Directive</a> <a name="SSLOCSPResponderCertificateFile" id="SSLOCSPResponderCertificateFile">SSLOCSPResponderCertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un jeu de certificats de confiance du répondeur OCSP avec +encodage PEM</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponderCertificateFile <em>file</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache, +sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL</td></tr> +</table> +<p>Cette directive permet de définir un fichier contenant une liste de +certificats de confiance du répondeur OCSP à utiliser au cours de la validation +du certificat du répondeur OCSP. Les certificats fournis peuvent +être considérés comme de confiance sans avoir à effectuer de vérifications +supplémentaires. Ce processus de validation du certificat du répondeur OCSP +intervient en général lorsque ce dernier est autosigné ou tout simplement absent +de la réponse OCSP.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocsprespondertimeout" id="sslocsprespondertimeout">Directive</a> <a name="SSLOCSPResponderTimeout" id="SSLOCSPResponderTimeout">SSLOCSPResponderTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente pour les requêtes OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponderTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponderTimeout 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>Cette option permet de définir le délai d'attente pour les requêtes à +destination des répondeurs OCSP, lorsque la directive <code class="directive"><a href="#sslocspenable">SSLOCSPEnable</a></code> est à on.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspresponsemaxage" id="sslocspresponsemaxage">Directive</a> <a name="SSLOCSPResponseMaxAge" id="SSLOCSPResponseMaxAge">SSLOCSPResponseMaxAge</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé pour les réponses OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponseMaxAge <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseMaxAge -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>Cette option permet de définir l'âge maximum autorisé (la +"fraicheur") des réponses OCSP. La valeur par défault (<code>-1</code>) +signifie qu'aucun âge maximum n'est défini ; autrement dit, les +réponses OCSP sont considérées comme valides tant que la valeur de leur +champ <code>nextUpdate</code> se situe dans le futur.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspresponsetimeskew" id="sslocspresponsetimeskew">Directive</a> <a name="SSLOCSPResponseTimeSkew" id="SSLOCSPResponseTimeSkew">SSLOCSPResponseTimeSkew</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dérive temporelle maximale autorisée pour la validation des +réponses OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponseTimeSkew <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseTimeSkew 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p>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 +<code>thisUpdate</code> et <code>nextUpdate</code>).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspuserequestnonce" id="sslocspuserequestnonce">Directive</a> <a name="SSLOCSPUseRequestNonce" id="SSLOCSPUseRequestNonce">SSLOCSPUseRequestNonce</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use a nonce within OCSP queries</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPUseRequestNonce on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPUseRequestNonce on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Available in httpd 2.4.10 and later</td></tr> +</table><p>La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslopensslconfcmd" id="sslopensslconfcmd">Directive</a> <a name="SSLOpenSSLConfCmd" id="SSLOpenSSLConfCmd">SSLOpenSSLConfCmd</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOpenSSLConfCmd <em>commande</em> <em>valeur</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.8 du serveur HTTP +Apache avec OpenSSL 1.0.2 ou supérieur</td></tr> +</table> +<p>Cette directive permet à mod_ssl d'accéder à l'API <em>SSL_CONF</em> +d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des +directives supplémentaires pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> lorsque de nouvelles +fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de +ce dernier beaucoup plus souple.</p> + +<p>Le jeu de commandes disponibles pour la directive +<code class="directive">SSLOpenSSLConfCmd</code> dépend de la version d'OpenSSL +utilisée pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> (la version minimale 1.0.2 est un +prérequis). Pour obtenir la liste des commandes supportées, voir la +section <em>Supported configuration file commands</em> de la page de +manuel d'OpenSSL <a href="http://www.openssl.org/docs/man1.0.2/ssl/SSL_CONF_cmd.html#SUPPORTED-CONFIGURATION-FILE-COMMANDS">SSL_CONF_cmd(3)</a>.</p> + +<p>Certaines commandes peuvent remplacer des directives existantes +(comme <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> ou +<code class="directive"><a href="#sslprotocol">SSLProtocol</a></code>) ; notez cependant +que la syntaxe et/ou les valeurs possibles peuvent différer.</p> + +<div class="example"><h3>Examples</h3><pre class="prettyprint lang-config">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</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssloptions" id="ssloptions">Directive</a> <a name="SSLOptions" id="SSLOptions">SSLOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure différentes options d'exécution du moteur SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOptions [+|-]<em>option</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet de contrôler différentes options d'exécution du +moteur SSL dans un contexte de répertoire. Normalement, si plusieurs +<code class="directive">SSLOptions</code> 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 <em>toutes</em> précédées par un symbole plus +(<code>+</code>) ou moins (<code>-</code>). Toute option précédée d'un +<code>+</code> est ajoutée aux options actuellement en vigueur, et toute +option précédée d'un <code>-</code> est supprimée de ces mêmes +options. +</p> +<p> +Les <em>option</em>s disponibles sont :</p> +<ul> +<li><code>StdEnvVars</code> + <p> + 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.</p> +</li> +<li><code>ExportCertData</code> + <p> + Lorsque cette option est activée, des variables d'environnement + CGI/SSI supplémentaires sont créées : <code>SSL_SERVER_CERT</code>, + <code>SSL_CLIENT_CERT</code> et + <code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em> (avec <em>n</em> = + 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.</p> +</li> +<li><code>FakeBasicAuth</code> + <p> + 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 <code>openssl x509</code> : <code>openssl x509 + -noout -subject -in </code><em>certificat</em><code>.crt</code>). + 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 : + ``<code>xxj31ZMTZzkVA</code>'', qui est la version chiffrée en DES + du mot ``<code>password</code>''. 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 : + ``<code>$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/</code>''.</p> + + <p>Notez que la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicfake">AuthBasicFake</a></code> implémentée par le + module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> peut être utilisée d'une + manière plus générale comme simulation d'authentification basique, + ce qui permet de contrôler la structure nom utilisateur/mot de + passe.</p> +</li> +<li><code>StrictRequire</code> + <p> + Cette option <em>force</em> l'interdiction d'accès lorsque + <code class="directive"><a href="#sslrequiressl">SSLRequireSSL</a></code> ou <code class="directive"><a href="#sslrequire">SSLRequire</a></code> a décidé que + l'accès devait être interdit. Par défaut, dans le cas où + une directive ``<code>Satisfy any</code>'' 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 à <code>SSLRequireSSL</code> ou + <code>SSLRequire</code> (parce que c'est ainsi que le mécanisme + <code>Satisfy</code> d'Apache doit fonctionner). Pour des + restrictions d'accès plus strictes, vous pouvez cependant utiliser + <code>SSLRequireSSL</code> et/ou <code>SSLRequire</code> en + combinaison avec une option ``<code>SSLOptions + +StrictRequire</code>''. Une directive ``<code>Satisfy Any</code>'' + n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de + l'interdire.</p> +</li> +<li><code>OptRenegotiate</code> + <p> + 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 <em>chaque</em> reconfiguration des paramètres SSL au + niveau du répertoire implique une phase de renégociation SSL + <em>complète</em>. 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.</p> +</li> +<li><code>LegacyDNStringFormat</code> + <p> + Cette option permet d'agir sur la manière dont les valeurs des + variables <code>SSL_{CLIENT,SERVER}_{I,S}_DN</code> 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.</p> + + <p>Si l'option <code>LegacyDNStringFormat</code> 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. + </p> +</li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLOptions +FakeBasicAuth -StrictRequire +<Files ~ "\.(cgi|shtml)$"> + SSLOptions +StdEnvVars -ExportCertData +</Files></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslpassphrasedialog" id="sslpassphrasedialog">Directive</a> <a name="SSLPassPhraseDialog" id="SSLPassPhraseDialog">SSLPassPhraseDialog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLPassPhraseDialog <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLPassPhraseDialog builtin</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Lors de son démarrage, Apache doit lire les différents fichiers de +certificats (voir la directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>) et de clés privées +(voir la directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>) 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 <em>type</em> permet de choisir la manière dont +cette demande peut être formulée parmi les trois suivantes :</p> +<ul> +<li><code>builtin</code> + <p> + 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é).</p> + <p> + Cette méthode confère à mod_ssl une grande souplesse (car pour N + fichiers de clé privée chiffrés, vous <em>pouvez</em> 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).</p></li> + +<li><code>|/chemin/vers/programme [arguments...]</code> + + <p>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 <code>builtin</code> + est envoyé au programme sur <code>stdin</code>, et celui-ci doit + renvoyer des mots de passe sur <code>stdout</code>. 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.</p></li> + +<li><code>exec:/chemin/vers/programme</code> + <p> + Ici, un programme externe est appelé au démarrage du serveur pour + chaque fichier de clé privée chiffré.Il est appelé avec deux + arguments (le premier est de la forme + ``<code>nom-serveur:port</code>'', le second + est ``<code>RSA</code>'', ``<code>DSA</code>'', ``<code>ECC</code>'' + ou un index entier commençant à 3 si plus de 3 clés ont été + configurées), qui + indiquent pour quels serveur et algorithme il doit écrire le mot de + passe correspondant sur <code>stdout</code>. Avec les versions 2.4.8 + (non réalisée) et + 2.4.9, il est appelé avec un seul argument, une chaîne de la forme + "<code>servername:portnumber:index</code>" (où <code>index</code> + est un nombre entier commençant à zéro), qui spécifie le serveur, + le port TCP et un numéro de certificat. 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.</p> + <p> + 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 <code>stdout</code>. 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.</p> + <p> + 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.</p></li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLPassPhraseDialog "exec:/usr/local/apache/sbin/pp-filter"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslprotocol" id="sslprotocol">Directive</a> <a name="SSLProtocol" id="SSLProtocol">SSLProtocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique les versions du protocole SSL/TLS +disponibles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProtocol [+|-]<em>protocole</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProtocol all -SSLv3 (jusqu'à la version 2.4.16 : all)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet de définir quelles versions du protocole SSL/TLS +seront acceptées lors de l'initialisation d'une nouvelle connexion.</p> +<p> +Les <em>protocole</em>s disponibles sont les suivants (sensibles à la +casse) :</p> +<ul> +<li><code>SSLv3</code> + <p> + 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 <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC + 7568</a></p></li> + +<li><code>TLSv1</code> + <p> + 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 <a href="http://www.ietf.org/rfc/rfc2246.txt">RFC2246</a>. Il est + supporté par la plupart des clients.</p></li> + +<li><code>TLSv1.1</code> (à partir de la version 1.0.1 d'OpenSSL) + <p> + Une révision du protocole TLS 1.0 définie dans la <a href="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</a>.</p></li> + +<li><code>TLSv1.2</code> (à partir de la version 1.0.1 d'OpenSSL) + <p> + Une révision du protocole TLS 1.1 définie dans la <a href="http://www.ietf.org/rfc/rfc5246.txt">RFC 5246</a>.</p></li> + +<li><code>TLSv1.3</code> (à partir de la version 1.1.1 d'OpenSSL) + <p> + Une nouvelle version du protocole TLS définie dans la <a href="http://www.ietf.org/rfc/rfc8446.txt">RFC 8446</a>.</p></li> + +<li><code>all</code> + <p> + C'est un raccourci pour ``<code>+SSLv3 +TLSv1</code>'' ou - à partir + de la version 1.0.1 d'OpenSSL - ``<code>+SSLv3 +TLSv1 +TLSv1.1 + +TLSv1.2</code>'' (sauf si OpenSSL a été compilé avec l'option + ``no-ssl3'', auquel cas <code>all</code> n'inclura pas + <code>+SSLv3</code>).</p></li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProtocol TLSv1</pre> +</div> +<div class="note"> +<h3>La directive <code class="directive">SSLProtocol</code> et les serveurs virtuels +basés sur le nom</h3> +<p> +Avant OpenSSL 1.1.1, et même si l'indication du nom de serveur (Server Name +Indication ou SNI) permettait de déterminer le serveur virtuel cible assez tôt +au cours de la négociation TLS, il était impossible de changer de version de +protocole TLS à ce point, si bien que le <code class="directive">SSLProtocol</code> +négocié se basait toujours sur celui du <em>serveur virtuel de base</em> (le +premier serveur virtuel déclaré avec le couple <code>IP:port</code> de la +connexion). +</p> +<p> +A partir de la version 2.4.42, si le serveur HTTP Apache est compilé avec une +version 1.1.1. ou supérieure d'OpenSSL, et si le client fournit la SNI dans la +négociation TLS, le <code class="directive">SSLProtocol</code> de chaque serveur virtuel +(basé sur le nom) pourra être pris en compte et le sera. +</p> +<p> +A des fins de compatibilité avec les versions précédentes, si un serveur virtuel +basé sur le nom n'a aucune directive <code class="directive">SSLProtocol</code> définie, +c'est le protocole du serveur virtuel de base qui s'appliquera, <strong>à +moins</strong> qu'une directive <code class="directive">SSLProtocol</code> ne soit +configurée au niveau global, auquel cas c'est le protocole défini par cette +directive qui s'appliquera (ce dernier cas relève cependant plus d'un +comportement logique que d'un souci de compatibilité). +</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycacertificatefile" id="sslproxycacertificatefile">Directive</a> <a name="SSLProxyCACertificateFile" id="SSLProxyCACertificateFile">SSLProxyCACertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCACertificateFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +stockés les certificats des Autorités de Certification (CA) pour les +<em>serveurs distants</em> 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 <code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCACertificateFile +"/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycacertificatepath" id="sslproxycacertificatepath">Directive</a> <a name="SSLProxyCACertificatePath" id="SSLProxyCACertificatePath">SSLProxyCACertificatePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCACertificatePath <em>chemin-répertoire</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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.</p> +<p> +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 +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycarevocationcheck" id="sslproxycarevocationcheck">Directive</a> <a name="SSLProxyCARevocationCheck" id="SSLProxyCARevocationCheck">SSLProxyCARevocationCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationCheck chain|leaf|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCARevocationCheck none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +Active la vérification des révocations basée sur les Listes de +révocations de Certificats (CRL) pour les <em>serveurs distants</em> +auxquels vous vous connectez. A moins une des directives <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code> doit être définie. +Lorsque cette directive est définie à <code>chain</code> (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur <code>leaf</code> limite +la vérification au certificat hors chaîne (la feuille). +</p> +<div class="note"> +<h3>Lorsque la directive est définie à <code>chain</code> ou +<code>leaf</code>, les CRLs doivent être disponibles pour que la +validation réussisse</h3> +<p> +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 <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs <em>doivent</em> être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur <code>"CRL introuvable"</code>. +</p> +</div> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationCheck chain</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycarevocationfile" id="sslproxycarevocationfile">Directive</a> <a name="SSLProxyCARevocationFile" id="SSLProxyCARevocationFile">SSLProxyCARevocationFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les <em>serveurs distants</em> 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 <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationFile +"/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycarevocationpath" id="sslproxycarevocationpath">Directive</a> <a name="SSLProxyCARevocationPath" id="SSLProxyCARevocationPath">SSLProxyCARevocationPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationPath <em>chemin-répertoire</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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.</p> +<p> +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 +<em>valeur-de-hashage</em><code>.rN</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycheckpeercn" id="sslproxycheckpeercn">Directive</a> <a name="SSLProxyCheckPeerCN" id="SSLProxyCheckPeerCN">SSLProxyCheckPeerCN</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification du champ CN du certificat +du serveur distant +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerCN on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerCN on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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, SSLProxyCheckPeerCN a été remplacé par <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code>. +</p> +<p> +De la version 2.4.5 à la version 2.4.20, spécifier <code>SSLProxyCheckPeerName +off</code> était suffisant pour obtenir ce comportement (car la valeur par +défaut de <code>SSLProxyCheckPeerCN</code> était <code>on</code>). Avec ces +versions, les deux directives doivent être définies à <code>off</code> pour +éviter toute validation du nom de certificat du serveur distant, et de +nombreux utilisateurs ont signalé ce comportement comme très perturbant. +</p> +<p> +A partir de la version 2.4.21, toutes les configurations qui activent au moins +une des deux directives <code>SSLProxyCheckPeerName</code> ou +<code>SSLProxyCheckPeerCN</code> adopteront le nouveau comportement de la +directive <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code>, et +toutes les configurations qui désactivent une des deux directives +<code>SSLProxyCheckPeerName</code> ou <code>SSLProxyCheckPeerCN</code> +éviteront toute validation du nom de certificat du serveur distant. Seule la +configuration suivante permettra de retrouver la comparaison de CN +traditionnelle pour les versions 2.4.21 et supérieures : +</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerCN on +SSLProxyCheckPeerName off</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycheckpeerexpire" id="sslproxycheckpeerexpire">Directive</a> <a name="SSLProxyCheckPeerExpire" id="SSLProxyCheckPeerExpire">SSLProxyCheckPeerExpire</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification de l'expiration du +certificat du serveur distant +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerExpire on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerExpire on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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é. +</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerExpire on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycheckpeername" id="sslproxycheckpeername">Directive</a> <a name="SSLProxyCheckPeerName" id="SSLProxyCheckPeerName">SSLProxyCheckPeerName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure la vérification du nom d'hôte dans les +certificats serveur distants +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerName on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerName on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache<br /> +Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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é. +</p> +<p> +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 <code>*.</code> correspondront à tout nom d'hôte comportant +le même nombre de champs et le même suffixe ; par exemple, +<code>*.example.org</code> correspondra à <code>foo.example.org</code>, +mais pas à <code>foo.bar.example.org</code> car le nombre d'éléments dans les +nom est différent. +</p> +<p> +Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la +directive <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> 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 <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> pour le +comportement original et des détails à propos de ces améliorations. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxyciphersuite" id="sslproxyciphersuite">Directive</a> <a name="SSLProxyCipherSuite" id="SSLProxyCipherSuite">SSLProxyCipherSuite</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p>Cette directive est équivalente à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code>, mais s'applique à une connexion de +mandataire. Veuillez vous reporter à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> pour plus d'informations.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxyengine" id="sslproxyengine">Directive</a> <a name="SSLProxyEngine" id="SSLProxyEngine">SSLProxyEngine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur de mandataire +SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyEngine on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyEngine off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> 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.</p> + +<p>Notez que la directive <code class="directive">SSLProxyEngine</code> 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 <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyrequests">ProxyRequests</a></code>). +<code class="directive">SSLProxyEngine</code> n'est pas nécessaire pour activer un +serveur mandataire direct pour les requêtes SSL/TLS.</p> + + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> + SSLProxyEngine on + #... +</VirtualHost></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxymachinecertificatechainfile" id="sslproxymachinecertificatechainfile">Directive</a> <a name="SSLProxyMachineCertificateChainFile" id="SSLProxyMachineCertificateChainFile">SSLProxyMachineCertificateChainFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificateChainFile <em>nom-fichier</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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. +</p> +<p> +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. +</p> +<div class="warning"><h3>Avertissement en matière de sécurité</h3> +<p>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 <code class="directive"><a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></code>.</p> +</div> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateChainFile +"/usr/local/apache2/conf/ssl.crt/proxyCA.pem"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxymachinecertificatefile" id="sslproxymachinecertificatefile">Directive</a> <a name="SSLProxyMachineCertificateFile" id="SSLProxyMachineCertificateFile">SSLProxyMachineCertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificateFile <em>chemin-fichier</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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. +</p> +<p> +Le fichier spécifié est la simple concaténation des différents fichiers de +certificats codés en PEM. Cette directive s'utilise à la place ou en complément +de la directive <code>SSLProxyMachineCertificatePath</code>. Le fichier spécifié +peut contenir un nombre quelconque de paires certificat client/clé privée +associée, et chaque paire peut être spécifiée selon l'ordre (certificat, clé) ou +(clé, certificat). Des certificats non-feuilles (CA) peuvent aussi être inclus +dans le fichier et sont traités comme s'ils avaient été définis via la directive +<code class="directive"><a href="#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></code>. +</p> + +<p>Lorsqu'un serveur distant sollicite le serveur pour obtenir un certificat +client, ce dernier doit fournir une liste de <em>noms d'autorités de +certification acceptables</em> au cours de la négociation. Si cette liste n'est +<em>pas</em> fournie, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> utilisera la première paire certificat/clé +client définie. Si par contre cette liste <em>est</em> fournie, +<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> va la parcourir afin de trouver un certificat client +défini qui a été fourni soit directement par l'autorité de certification +considérée, soit indirectement via un nombre quelconque de certificats d'autorités de +certification intermédiaires. La chaîne de certificats d'autorités de +certification intermédiaires peut être construite à partir de ceux qui sont +inclus dans le fichier ou configurés +via la directive <code class="directive"><a href="#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></code>. Le premier +certificat défini correspondant sera alors fourni comme réponse au cours de la +négociation</p> + +<p>Si la liste de noms de CA <em>est</em> fournie au serveur distant, et si +<em>aucun</em> certificat client correspondant n'est trouvé, aucun certificat +client ne sera fourni par <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, ce qui fera probablement +échouer la négociation SSL/TLS (en fonction de la configuration du serveur +distant).</p> + +<div class="warning"> +<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p> +</div> +<div class="warning"> +<p>Seules les clés au format PKCS1 RSA, DSA ou EC sont supportées. Les clés +au format PKCS8, autrement dit celles commençant par "<code>-----BEGIN +PRIVATE KEY-----</code>", doivent être converties via une commande du style +"<code>openssl rsa -in private-pkcs8.pem -outform pem</code>".</p> +</div> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateFile +"/usr/local/apache2/conf/ssl.crt/proxy.pem"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxymachinecertificatepath" id="sslproxymachinecertificatepath">Directive</a> <a name="SSLProxyMachineCertificatePath" id="SSLProxyMachineCertificatePath">SSLProxyMachineCertificatePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificatePath <em>chemin-répertoire</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +Cette directive permet de définir le répertoire où sont stockés les clés +et certificats clients permettant au serveur mandataire de s'authentifier auprès +des serveurs distants. +</p> +<p>mod_ssl va essayer de charger tous les fichiers contenus dans le répertoire +spécifié, comme si ces derniers étaient définis individuellement via la +directive <code class="directive"><a href="#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></code>.</p> + +<div class="warning"> +<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p> +</div> +<div class="warning"> +<p>Seules les clés au format PKCS1 RSA, DSA ou EC sont supportées. Les clés +au format PKCS8, autrement dit celles commençant par "<code>-----BEGIN +PRIVATE KEY-----</code>", doivent être converties via une commande du style +"<code>openssl rsa -in private-pkcs8.pem -outform pem</code>".</p> +</div> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificatePath "/usr/local/apache2/conf/proxy.crt/"</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxyprotocol" id="sslproxyprotocol">Directive</a> <a name="SSLProxyProtocol" id="SSLProxyProtocol">SSLProxyProtocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les protocoles SSL disponibles pour la fonction de +mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyProtocol [+|-]<em>protocole</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyProtocol all -SSLv3 (jusqu'à la version 2.4.16: all)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> + +<p> +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.</p> +<p>Veuillez vous reporter à la directive <code class="directive"><a href="#sslprotocol">SSLProtocol</a></code> pour plus d'informations. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxyverify" id="sslproxyverify">Directive</a> <a name="SSLProxyVerify" id="SSLProxyVerify">SSLProxyVerify</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat du serveur +distant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyVerify <em>niveau</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerify none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> + +<p>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.</p> + +<p> +Les valeurs de <em>niveau</em>x disponibles sont les suivantes :</p> +<ul> +<li><strong>none</strong>: + aucun certificat n'est requis pour le serveur distant</li> +<li><strong>optional</strong>: + le serveur distant <em>peut</em> présenter un certificat valide</li> +<li><strong>require</strong>: + le serveur distant <em>doit</em> présenter un certificat valide</li> +<li><strong>optional_no_ca</strong>: + le serveur distant peut présenter un certificat valide<br /> + mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).</li> +</ul> +<p>En pratique, seuls les niveaux <strong>none</strong> et +<strong>require</strong> sont vraiment intéressants, car le niveau +<strong>optional</strong> ne fonctionne pas avec tous les serveurs, et +le niveau <strong>optional_no_ca</strong> 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...).</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyVerify require</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxyverifydepth" id="sslproxyverifydepth">Directive</a> <a name="SSLProxyVerifyDepth" id="SSLProxyVerifyDepth">SSLProxyVerifyDepth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyVerifyDepth <em>niveau</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerifyDepth 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, section proxy</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le contexte d'une section proxy est supporté à partir de la +version 2.4.30 du serveur HTTP Apache</td></tr> +</table> +<p> +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.</p> +<p> +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 +<code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>), +etc...</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyVerifyDepth 10</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslrandomseed" id="sslrandomseed">Directive</a> <a name="SSLRandomSeed" id="SSLRandomSeed">SSLRandomSeed</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRandomSeed <em>contexte</em> <em>source</em> +[<em>nombre</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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 <em>contexte</em> a pour valeur +<code>startup</code>) et/ou juste avant l'établissement d'une nouvelle +connexion SSL (si <em>contexte</em> a pour valeur <code>connect</code>). +Cette directive ne peut être utilisée qu'au niveau du serveur global car +le PRNG est un service global.</p> +<p> +Les différentes valeurs de <em>source</em> disponibles sont :</p> +<ul> +<li><code>builtin</code> + <p>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 un extrait de 128 octets aléatoirement choisi dans la pile. 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.</p></li> +<li><code>file:/chemin/vers/source</code> + <p> + Cette variante utilise un fichier externe + <code>file:/chemin/vers/source</code> comme source de déclenchement + du PRNG. Lorsque <em>nombre</em> est spécifié, seuls les + <em>nombre</em> premiers octets du fichier forment l'entropie (et + <em>nombre</em> est fourni comme premier argument à + <code>/chemin/vers/source</code>). Lorsque <em>nombre</em> n'est pas + spécifié, l'ensemble du fichier forme l'entropie (et <code>0</code> + est fourni comme premier argument à + <code>/chemin/vers/source</code>). Utilisez cette source en + particulier au démarrage, par exemple avec un fichier de + périphérique <code>/dev/random</code> et/ou + <code>/dev/urandom</code> (qui sont en général présent sur les + plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).</p> + <p><em>Soyez cependant prudent</em> : en général, + <code>/dev/random</code> 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 <code>/dev/urandom</code>, 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é.</p></li> + +<li><code>exec:/chemin/vers/programme</code> + <p> + Cette variante utilise un exécutable externe + <code>/chemin/vers/programme</code> comme source de déclenchement du + PRNG. Lorsque <em>nombre</em> est spécifié, seules les + <em>nombre</em> premiers octets de son flux <code>stdout</code> + forment l'entropie. Lorsque <em>nombre</em> n'est pas spécifié, + l'intégralité des données produites sur <code>stdout</code> 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 <code>truerand</code> basé sur la + bibliothèque <em>truerand</em> 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.</p></li> +<li><code>egd:/chemin/vers/socket-egd</code> (Unix seulement) + <p>Cette variante utilise le socket de domaine Unix du Démon + Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD + (voir <a href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech + /crypto/</a>) 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.</p></li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">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</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslrenegbuffersize" id="sslrenegbuffersize">Directive</a> <a name="SSLRenegBufferSize" id="SSLRenegBufferSize">SSLRenegBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille du tampon de renégociation +SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRenegBufferSize <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLRenegBufferSize 131072</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> + +<p>Si une renégociation SSL est requise dans un contexte de répertoire, +par exemple avec l'utilisation de <code class="directive"><a href="#sslverifyclient">SSLVerifyClient</a></code> 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.</p> + +<div class="warning"><p> +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. +</p></div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRenegBufferSize 262144</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslrequire" id="sslrequire">Directive</a> <a name="SSLRequire" id="SSLRequire">SSLRequire</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRequire <em>expression</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<div class="note"><h3>SSLRequire est obsolète</h3> +<p><code>SSLRequire</code> est obsolète et doit en général être +remplacée par l'expression <a href="mod_authz_core.html#reqexpr">Require</a>. La syntaxe <a href="../expr.html">ap_expr</a> de l'expression <code>Require</code> est +une extension de la syntaxe de <code>SSLRequire</code>, avec les +différences suivantes :</p> + +<p>Avec <code>SSLRequire</code>, les opérateurs de comparaison +<code><</code>, <code><=</code>, ... sont strictement équivalents +aux opérateurs <code>lt</code>, <code>le</code>, ... , et fonctionnent +selon une méthode qui compare tout d'abord la longueur des deux chaînes, +puis l'ordre alphabétique. Les expressions <a href="../expr.html">ap_expr</a>, quant à elles, possèdent deux jeux +d'opérateurs de comparaison : les opérateurs <code><</code>, +<code><=</code>, ... effectuent une comparaison alphabétique de +chaînes, alors que les opérateurs <code>-lt</code>, <code>-le</code>, +... effectuent une comparaison d'entiers. Ces derniers possèdent aussi +des alias sans tiret initial : <code>lt</code>, <code>le</code>, ... +</p> + +</div> + +<p>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.</p> +<p> +L'<em>expression</em> doit respecter la syntaxe suivante (fournie ici +sous la forme d'une notation dans le style de la grammaire BNF) :</p> +<blockquote> +<pre>expr ::= "<strong>true</strong>" | "<strong>false</strong>" + | "<strong>!</strong>" expr + | expr "<strong>&&</strong>" expr + | expr "<strong>||</strong>" expr + | "<strong>(</strong>" expr "<strong>)</strong>" + | comp + +comp ::= word "<strong>==</strong>" word | word "<strong>eq</strong>" word + | word "<strong>!=</strong>" word | word "<strong>ne</strong>" word + | word "<strong><</strong>" word | word "<strong>lt</strong>" word + | word "<strong><=</strong>" word | word "<strong>le</strong>" word + | word "<strong>></strong>" word | word "<strong>gt</strong>" word + | word "<strong>>=</strong>" word | word "<strong>ge</strong>" word + | word "<strong>in</strong>" "<strong>{</strong>" wordlist "<strong>}</strong>" + | word "<strong>in</strong>" "<strong>PeerExtList(</strong>" word "<strong>)</strong>" + | word "<strong>=~</strong>" regex + | word "<strong>!~</strong>" regex + +wordlist ::= word + | wordlist "<strong>,</strong>" word + +word ::= digit + | cstring + | variable + | function + +digit ::= [0-9]+ +cstring ::= "..." +variable ::= "<strong>%{</strong>" varname "<strong>}</strong>" +function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>"</pre> +</blockquote> +<p>Pour <code>varname</code>, toute variable décrite dans <a href="#envvars">Variables d'environnement</a> pourra être utilisée. +Pour <code>funcname</code>, vous trouverez la liste des fonctions +disponibles dans la <a href="../expr.html#functions">documentation +ap_expr</a>.</p> + +<p><em>expression</em> 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, <em>expression</em> est interprétée et exécutée +chaque fois que le fichier .htaccess intervient lors du traitement de la +requête.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">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]+$/</pre> +</div> + + +<p>La fonction <code>PeerExtList(<em>identifiant objet</em>)</code> +recherche une instance d'extension de certificat X.509 identifiée par +<em>identifiant objet</em> (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). +</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")</pre> +</div> + +<div class="note"><h3>Notes à propos de la fonction PeerExtList</h3> + +<ul> + +<li><p>L'identifiant objet peut être spécifié soit comme un nom +descriptif reconnu par la bibliothèque SSL, tel que +<code>"nsComment"</code>, soit comme un OID numérique tel que +<code>"1.2.3.4.5.6"</code>.</p></li> + +<li><p>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 primaires 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.</p></li> + +</ul> +</div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../env.html">Les variables d'environnement dans le +serveur HTTP Apache</a>, pour d'autres exemples. +</li> +<li><a href="mod_authz_core.html#reqexpr">Require expr</a></li> +<li><a href="../expr.html">Syntaxe générale des expressions dans le +serveur HTTP Apache</a> +</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslrequiressl" id="sslrequiressl">Directive</a> <a name="SSLRequireSSL" id="SSLRequireSSL">SSLRequireSSL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRequireSSL</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequireSSL</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsessioncache" id="sslsessioncache">Directive</a> <a name="SSLSessionCache" id="SSLSessionCache">SSLSessionCache</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type du cache de session SSL global et +inter-processus</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionCache <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCache none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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 +<em>plusieurs</em> processus du serveur pré-déclenchés. Ici, un cache +inter-processus permet d'éviter des négociations de session +inutiles.</p> +<p> +Les quatre <em>type</em>s de stockage suivants sont actuellement +supportés :</p> +<ul> +<li><code>none</code> + + <p>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.</p></li> + +<li><code>nonenotnull</code> + + <p>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.</p></li> + +<li><code>dbm:/chemin/vers/fichier-données</code> + + <p>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 + <code class="module"><a href="../mod/mod_socache_dbm.html">mod_socache_dbm</a></code> doit être chargé.</p></li> + +<li><code>shmcb:/chemin/vers/fichier-données</code>[<code>(</code><em>nombre</em><code>)</code>] + + <p>Cette valeur utilise un tampon cyclique à hautes performances + (d'une taille d'environ <em>nombre</em> octets) dans un segment de + mémoire partagée en RAM (établi via + <code>/chemin/vers/fichier-données</code>, 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 + <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> doit être chargé.</p></li> + +<li><code>dc:UNIX:/chemin/vers/socket</code> + + <p>Cette valeur utilise les bibliothèques de mise en cache de + sessions distribuée sur <a href="http://distcache.sourceforge.net/">distcache</a>. + L'argument doit spécifier le serveur ou mandataire à utiliser en + utilisant la syntaxe d'adressage distcache ; par exemple, + <code>UNIX:/chemin/vers/socket</code> spécifie une socket de domaine + Unix (en général un mandataire de dc_client local) ; + <code>IP:serveur.example.com:9001</code> spécifie une adresse IP. + Pour l'utiliser, le module <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> doit être + chargé.</p></li> + +</ul> + +<div class="example"><h3>Exemples</h3><pre class="prettyprint lang-config">SSLSessionCache "dbm:/usr/local/apache/logs/ssl_gcache_data" +SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)"</pre> +</div> + +<p>Le mutex <code>ssl-cache</code> permet de sérialiser l'accès au cache +de session afin d'éviter toute corruption. Ce mutex peut être configuré +via la directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsessioncachetimeout" id="sslsessioncachetimeout">Directive</a> <a name="SSLSessionCacheTimeout" id="SSLSessionCacheTimeout">SSLSessionCacheTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionCacheTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCacheTimeout 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>S'applique aussi à la reprise de session TLS (RFC 5077) à +partir de la version 2.4.10 du serveur HTTP Apache</td></tr> +</table> +<p> +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.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLSessionCacheTimeout 600</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsessionticketkeyfile" id="sslsessionticketkeyfile">Directive</a> <a name="SSLSessionTicketKeyFile" id="SSLSessionTicketKeyFile">SSLSessionTicketKeyFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionTicketKeyFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>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</td></tr> +</table> +<p>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 <a href="http://www.ietf.org/rfc/rfc5077.txt">RFC 5077</a>. 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.</p> +<p>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 :</p> + +<div class="example"><p><code> +dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48 +</code></p></div> + +<p>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é ne peut être utilisée qu'après avoir +redémarré le serveur. Tous les tickets de session existants deviennent +invalides après le redémarrage du serveur.</p> + +<div class="warning"> +<p>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 <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>.</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsessiontickets" id="sslsessiontickets">Directive</a> <a name="SSLSessionTickets" id="SSLSessionTickets">SSLSessionTickets</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les tickets de session TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionTickets on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionTickets on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>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. +</td></tr> +</table> +<p>Cette directive permet d'activer ou de désactiver l'utilisation des +tickets de session TLS (RFC 5077).</p> +<div class="warning"> +<p>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é.</p> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsrpunknownuserseed" id="sslsrpunknownuserseed">Directive</a> <a name="SSLSRPUnknownUserSeed" id="SSLSRPUnknownUserSeed">SSLSRPUnknownUserSeed</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Source d'aléa pour utilisateur SRP inconnu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSRPUnknownUserSeed <em>secret-string</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP +Apache, si la version 1.0.1 ou supérieure d'OpenSSL est utilisée.</td></tr> +</table> +<p> +Cette directive permet de définir la source d'aléa à 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. +</p> +<div class="example"><h3>Exemple</h3><p><code> +SSLSRPUnknownUserSeed "secret" +</code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsrpverifierfile" id="sslsrpverifierfile">Directive</a> <a name="SSLSRPVerifierFile" id="SSLSRPVerifierFile">SSLSRPVerifierFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de vérification SRP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSRPVerifierFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP +Apache, si la version 1.0.1 ou supérieure d'OpenSSL est utilisée.</td></tr> +</table> +<p> +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.</p> +<div class="example"><h3>Exemple</h3><p><code> +SSLSRPVerifierFile "/path/to/file.srpv" +</code></p></div> +<p> +Le fichier de vérification peut être créé via l'utilitaire en ligne de +commande <code>openssl</code> :</p> +<div class="example"><h3>Création du fichier de vérification SRP</h3><p><code> +openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +</code></p></div> +<p>La valeur affectée au paramètre optionnel <code>-userinfo</code> est +enregistrée dans la variable d'environnement +<code>SSL_SRP_USERINFO</code>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingcache" id="sslstaplingcache">Directive</a> <a name="SSLStaplingCache" id="SSLStaplingCache">SSLStaplingCache</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration du cache pour l'agrafage OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingCache <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Si <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> 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 <code>none</code> et <code>nonenotnull</code>, cette +directive supporte les mêmes types de stockage que la directive +<code class="directive"><a href="#sslsessioncache">SSLSessionCache</a></code>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingerrorcachetimeout" id="sslstaplingerrorcachetimeout">Directive</a> <a name="SSLStaplingErrorCacheTimeout" id="SSLStaplingErrorCacheTimeout">SSLStaplingErrorCacheTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses invalides dans le cache pour +agrafage OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingErrorCacheTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingErrorCacheTimeout 600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de définir la durée de vie des réponses +<em>invalides</em> dans le cache pour agrafage OCSP configuré via la +directive <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>. Pour +définir la durée de vie des réponses valides, voir la directive +<code class="directive"><a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingfaketrylater" id="sslstaplingfaketrylater">Directive</a> <a name="SSLStaplingFakeTryLater" id="SSLStaplingFakeTryLater">SSLStaplingFakeTryLater</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Génère une réponse "tryLater" pour les requêtes OCSP échouées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingFakeTryLater on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingFakeTryLater on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>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 (<code class="directive"><a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code> doit être +activée).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingforceurl" id="sslstaplingforceurl">Directive</a> <a name="SSLStaplingForceURL" id="SSLStaplingForceURL">SSLStaplingForceURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingForceURL <em>uri</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>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</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingrespondertimeout" id="sslstaplingrespondertimeout">Directive</a> <a name="SSLStaplingResponderTimeout" id="SSLStaplingResponderTimeout">SSLStaplingResponderTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente maximum pour les requêtes vers les serveurs +OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponderTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponderTimeout 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>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 (<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit +avoir été activée au préalable).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingresponsemaxage" id="sslstaplingresponsemaxage">Directive</a> <a name="SSLStaplingResponseMaxAge" id="SSLStaplingResponseMaxAge">SSLStaplingResponseMaxAge</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponseMaxAge <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseMaxAge -1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de définir l'âge maximum autorisé +("fraîcheur") des réponses OCSP incluses dans la négociation TLS +(<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit +avoir été activée au préalable). La valeur par défaut (<code>-1</code>) +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 +<code>nextUpdate</code> se trouve dans le futur.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingresponsetimeskew" id="sslstaplingresponsetimeskew">Directive</a> <a name="SSLStaplingResponseTimeSkew" id="SSLStaplingResponseTimeSkew">SSLStaplingResponseTimeSkew</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponseTimeSkew <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseTimeSkew 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>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 <code>nextUpdate</code> et <code>thisUpdate</code> des réponses +OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette +directive, <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit +être à "on".</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingreturnrespondererrors" id="sslstaplingreturnrespondererrors">Directive</a> <a name="SSLStaplingReturnResponderErrors" id="SSLStaplingReturnResponderErrors">SSLStaplingReturnResponderErrors</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmet au client les erreurs survenues lors des requêtes +OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingReturnResponderErrors on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingReturnResponderErrors on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>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 statut général autre que +"successful", les réponses avec un statut de certificat autre que +"good", les réponses arrivées à expiration, etc...). +Lorsqu'elle est à <code>off</code>, seules les réponses avec un +statut de certificat égal à "good" seront incluses dans la négociation +TLS.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstaplingstandardcachetimeout" id="sslstaplingstandardcachetimeout">Directive</a> <a name="SSLStaplingStandardCacheTimeout" id="SSLStaplingStandardCacheTimeout">SSLStaplingStandardCacheTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses OCSP dans le cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingStandardCacheTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingStandardCacheTimeout 3600</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de définir la durée de vie des réponses OCSP +dans le cache configuré via la directive <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>. Elle ne s'applique qu'aux +réponse <em>valides</em>, alors que la directive <code class="directive"><a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></code> s'applique aux +réponses invalides ou non disponibles. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslstrictsnivhostcheck" id="sslstrictsnivhostcheck">Directive</a> <a name="SSLStrictSNIVHostCheck" id="SSLStrictSNIVHostCheck">SSLStrictSNIVHostCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStrictSNIVHostCheck on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStrictSNIVHostCheck off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.12 d'Apache</td></tr> +</table> +<p> +Cette directive permet de contrôler l'accès des clients non-SNI à un serveur +virtuel à base de nom. Si elle est définie à <code>on</code> 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 à <code>on</code> dans un serveur virtuel +quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce +serveur. +</p> + +<div class="warning"><p> +Cette option n'est disponible que si httpd a été compilé avec une +version d'OpenSSL supportant SNI. +</p></div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLStrictSNIVHostCheck on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslusername" id="sslusername">Directive</a> <a name="SSLUserName" id="SSLUserName">SSLUserName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de la variable servant à déterminer le nom de +l'utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLUserName <em>nom-var</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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 <code>REMOTE_USER</code>. +La valeur de l'argument <em>nom-var</em> peut correspondre à toute <a href="#envvars">variable d'environnement SSL</a>.</p> + +<p>Notez que cette directive est sans effet si l'option +<code>FakeBasicAuth</code> est utilisée (voir <a href="#ssloptions">SSLOptions</a>).</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLUserName SSL_CLIENT_S_DN_CN</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslusestapling" id="sslusestapling">Directive</a> <a name="SSLUseStapling" id="SSLUseStapling">SSLUseStapling</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'ajout des réponses OCSP à la négociation TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLUseStapling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLUseStapling off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>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 <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>.</p> + +<p>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 <code>CertificateStatus</code> 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 <a href="http://www.ietf.org/rfc/rfc6961.txt">RFC 6961</a> (TLS +Multiple Certificate Status Extension). +</p> + +<p>Lorsque l'agrafage OCSP est activé, le mutex +<code>ssl-stapling</code> contrôle l'accès au cache de l'agrafage OCSP +afin de prévenir toute corruption, et le mutex +<code>sss-stapling-refresh</code> contrôle le raffraîchissement des +réponses OCSP. Ces mutex peuvent être configurés via la directive +<code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. +</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslverifyclient" id="sslverifyclient">Directive</a> <a name="SSLVerifyClient" id="SSLVerifyClient">SSLVerifyClient</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLVerifyClient <em>niveau</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLVerifyClient none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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.</p> +<p> +Les valeurs de <em>niveau</em> disponibles sont les suivantes :</p> +<ul> +<li><strong>none</strong>: + aucun certificat client n'est requis</li> +<li><strong>optional</strong>: + le client <em>peut</em> présenter un certificat valide</li> +<li><strong>require</strong>: + le client <em>doit</em> présenter un certificat valide</li> +<li><strong>optional_no_ca</strong>: + 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.</li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyClient require</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslverifydepth" id="sslverifydepth">Directive</a> <a name="SSLVerifyDepth" id="SSLVerifyDepth">SSLVerifyDepth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Profondeur maximale des certificats de CA pour la +vérification des certificats clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLVerifyDepth <em>nombre</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLVerifyDepth 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +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 le +client selon la nouvelle profondeur spécifiée, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.</p> +<p> +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 <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>), etc...</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyDepth 10</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ssl.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_status.html b/docs/manual/mod/mod_status.html new file mode 100644 index 0000000..4a6da9b --- /dev/null +++ b/docs/manual/mod/mod_status.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_status.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_status.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_status.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_status.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_status.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_status.html.en b/docs/manual/mod/mod_status.html.en new file mode 100644 index 0000000..cb28b88 --- /dev/null +++ b/docs/manual/mod/mod_status.html.en @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_status - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_status</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_status.html" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides information on server activity and +performance</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>status_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_status.c</td></tr></table> +<h3>Summary</h3> + + <p>The Status module allows a server administrator to find out + how well their server is performing. A HTML page is presented + that gives the current server statistics in an easily readable + form. If required this page can be made to automatically + refresh (given a compatible browser). Another page gives a + simple machine-readable list of the current server state.</p> + + <p>The details given are:</p> + + <ul> + <li>The number of workers serving requests</li> + + <li>The number of idle workers</li> + + <li>The status of each worker, the number of requests that + worker has performed and the total number of bytes served by + the worker (*)</li> + + <li>A total number of accesses and byte count served (*)</li> + + <li>The time the server was started/restarted and the time it + has been running for</li> + + <li>Averages giving the number of requests per second, the + number of bytes served per second and the average number of + bytes per request (*)</li> + + <li>The current percentage CPU used by each worker and in + total by all workers combined (*)</li> + + <li>The current hosts and requests being processed (*)</li> + </ul> + + <p>The lines marked "(*)" are only available if + <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> + is <code>On</code>. In version 2.3.6, loading mod_status will + toggle <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> On + by default.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Status Support</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">Automatic Updates</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">Machine Readable Status File</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Using server-status to troubleshoot</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_status">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_status">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Enabling Status Support</a></h2> + + + <p>To enable status reports only for browsers from the example.com + domain add this code to your <code>httpd.conf</code> + configuration file</p> +<pre class="prettyprint lang-config"><Location "/server-status"> + SetHandler server-status + Require host example.com +</Location></pre> + + + <p>You can now access server statistics by using a Web browser + to access the page + <code>http://your.server.name/server-status</code></p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="autoupdate" id="autoupdate">Automatic Updates</a></h2> + + + <p>You can get the status page to update itself automatically if + you have a browser that supports "refresh". Access the page + <code>http://your.server.name/server-status?refresh=N</code> to + refresh the page every N seconds.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="machinereadable" id="machinereadable">Machine Readable Status File</a></h2> + + + <p>A machine-readable version of the status file is available by + accessing the page + <code>http://your.server.name/server-status?auto</code>. This + is useful when automatically run, see the Perl program + <code>log_server_status</code>, which you will find in the + <code>/support</code> directory of your Apache HTTP Server installation.</p> + + <div class="note"> + <strong>It should be noted that if <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> is + loaded into the server, its handler capability is available + in <em>all</em> configuration files, including + <em>per</em>-directory files (<em>e.g.</em>, + <code>.htaccess</code>). This may have security-related + ramifications for your site.</strong> + </div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">Using server-status to troubleshoot</a></h2> + + + <p>The <code>server-status</code> page may be used as a starting + place for troubleshooting a situation where your server is consuming + all available resources (CPU or memory), and you wish to identify + which requests or clients are causing the problem.</p> + + <p>First, ensure that you have <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> set on, so that you can see + the full request and client information for each child or + thread.</p> + + <p>Now look in your process list (using <code>top</code>, or similar + process viewing utility) to identify the specific processes that are + the main culprits. Order the output of <code>top</code> by CPU + usage, or memory usage, depending on what problem you're trying to + address.</p> + + <p>Reload the <code>server-status</code> page, and look for those process + ids, and you'll be able to see what request is being served by that + process, for what client. Requests are transient, so you may need to + try several times before you catch it in the act, so to speak.</p> + + <p>This process <em>should</em> give you some idea what client, or + what type of requests, are primarily responsible for your load + problems. Often you will identify a particular web application that + is misbehaving, or a particular client that is attacking your + site.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_status.html" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_status.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.fr.utf8 b/docs/manual/mod/mod_status.html.fr.utf8 new file mode 100644 index 0000000..5dc8596 --- /dev/null +++ b/docs/manual/mod/mod_status.html.fr.utf8 @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_status - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_status</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des informations sur les performances et l'activité +du serveur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>status_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_status.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module Status permet à un administrateur de déterminer le + niveau de performances de son serveur. Les statistiques instantanées + du serveur sont présentées dans une page HTML sous une forme + aisément lisible. Si nécessaire, cette page peut être configurée + pour être automatiquement actualisée (sous réserve de + compatibilité du navigateur). Une autre page fournit l'état + instantané du serveur sous la forme d'une simple liste lisible par + une machine.</p> + + <p>Les détails fournis sont :</p> + + <ul> + <li>Le nombre de processus servant les requêtes</li> + + <li>Le nombre de processus inactifs</li> + + <li>L'état de chaque processus, le nombre de requêtes qu'il a + traitées et le nombre total d'octets qu'il a servis (*)</li> + + <li>Le nombre total d'accès effectués et d'octets servis (*)</li> + + <li>Le moment où le serveur a été démarré/redémarré et le temps + écoulé depuis</li> + + <li>Les valeurs moyennes du nombre de requêtes par seconde, du + nombre d'octets servis par seconde et du nombre d'octets par + requête (*)</li> + + <li>Le pourcentage CPU instantané utilisé par chaque processus et + par l'ensemble des processus (*)</li> + + <li>Les hôtes et requêtes actuellement en cours de traitement + (*)</li> + </ul> + + <p>Les lignes se terminant par "(*)" ne sont disponibles que si la + directive <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> + est définie à <code>On</code>. Depuis la version + 2.3.6, le chargement de mod_status définit automatiquement + <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> à On.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation du rapport d'état</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">Actualisation automatique</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">Fichier d'état lisible par une machine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Utilisation de server-status pour la recherche de défauts de + fonctionnement</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_status">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_status">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Activation du rapport d'état</a></h2> + + + <p>Pour n'activer les rapports d'état que pour les navigateurs + appartenent au domaine example.com, ajoutez ces lignes à votre + fichier de configuration <code>httpd.conf</code> :</p> +<pre class="prettyprint lang-config"><Location "/etat-serveur"> + SetHandler server-status + Require host example.com +</Location></pre> + + + <p>Il est alors possible d'obtenir les statistiques du serveur en + utilisant un navigateur web et en accédant à la page + <code>http://votre.serveur/etat-serveur</code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="autoupdate" id="autoupdate">Actualisation automatique</a></h2> + + + <p>Vous pouvez faire en sorte que cette page d'état s'actualise + elle-même automatiquement si votre navigateur supporte "refresh". + Pour ce faire, accédez à la page + <code>http://votre.serveur/etat-serveur?refresh=N</code>, pour que + cette dernière soit actualisée toutes les N secondes.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="machinereadable" id="machinereadable">Fichier d'état lisible par une machine</a></h2> + + + <p>La page <code>http://votre.serveur/etat-serveur?auto</code> + permet d'obtenir une version du fichier d'état lisible par une + machine. Ceci s'avère intéressant dans le cadre d'une exécution + automatique : voir le programme en Perl + <code>log_server_status</code> situé dans le répertoire + <code>/support</code> de votre distribution du serveur HTTP Apache.</p> + + <div class="note"> + <strong>Veuillez noter que si <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> a été + chargé dans le serveur, son gestionnaire sera disponible dans + <em>tous</em> les fichiers de configuration, y compris les + fichiers de configuration de <em>niveau répertoire</em> (par + exemple <code>.htaccess</code>), ce qui peut avoir des + répercutions quant à la sécurité de votre site.</strong> + </div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">Utilisation de server-status pour la recherche de défauts de + fonctionnement</a></h2> + + + <p>La page <code>server-status</code> peut servir de point de départ + à la recherche de défauts de fonctionnement lorsque votre serveur + mobilise toutes les ressources disponibles (CPU ou mémoire), pour + identifier quels clients ou requêtes sont la cause du problème.</p> + + <p>Tout d'abord, assurez-vous que la directive <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> est bien définie à on, de + façon à ce que vous puissiez avoir accès à toutes les informations à + propos de la requête et du client pour chaque processus enfant ou + thread.</p> + + <p>Consultez ensuite la liste des processus en cours (à l'aide de + <code>top</code>, ou d'un utilitaire de listage des processus + similaire), afin d'identifier les processus coupables. Triez + l'affichage de <code>top</code> par utilisation CPU ou mémoire, en + fonction du problème rencontré.</p> + + <p>Rechargez la page <code>server-status</code> et recherchez + les identifiants des processus trouvés précédemment ; vous pourrez + alors déterminer quelle requête est traitée par ces processus, pour + quel client. Les requêtes peuvent apparaître de manière fugitive, et + il se peut que vous deviez effectuer plusieurs essais avant de + parvenir à les prendre en flagrant délit, pour ainsi dire.</p> + + <p>Cette procédure <em>devrait</em> vous permettre de cerner quel + client, ou type de requête, sont à l'origine de vos problèmes de + charge. Il est probable que vous identifiiez une application web au + comportement anormal, ou un client en train d'attaquer votre site.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_status.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.ja.utf8 b/docs/manual/mod/mod_status.html.ja.utf8 new file mode 100644 index 0000000..d35d388 --- /dev/null +++ b/docs/manual/mod/mod_status.html.ja.utf8 @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_status - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_status</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーバの活動状況と性能に関する情報を提供する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>status_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_status.c</td></tr></table> +<h3>概要</h3> + + <p>この Status モジュールによりサーバ管理者はサーバがどのくらい + の性能で動作しているかを知ることができるようになります。 + 現時点でのサーバの統計情報を読みやすい形式で表した HTML ページが + 表示されます。必要であれば、このページは自動的にリフレッシュさせる + こともできます (互換性のあるブラウザを使用している場合)。 + 別に、現時点でのサーバの状態を単純な機械読み取り可能なリストで + 表すページもあります。</p> + + <p>表示される情報は:</p> + + <ul> + <li>リクエストを扱っているワーカーの数</li> + + <li>アイドル (訳注: リクエストを扱っていない) ワーカーの数</li> + + <li>各ワーカーの状態、ワーカーが扱ったリクエストの数、 + ワーカーが送った総バイト数 (*)</li> + + <li>総アクセス数と総バイト数 (*)</li> + + <li>サーバが起動もしくは再起動された時刻と動作している時間</li> + + <li>平均の 1 秒あたりのリクエスト数、1 秒あたりの送られたバイト数、 + リクエストあたりのバイト数 (*)</li> + + <li>各ワーカーと Apache 全体で使用されている CPU の割合 (*)</li> + + <li>現時点のホストと処理されているリクエスト (*)</li> + </ul> + + <p>"(*)" の付いている情報を表示するには + <code class="directive"><a href="#extendedstatus">ExtendedStatus</a></code> + が <code>On</code> になっている必要があります。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Status を使用可能にする</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">自動更新</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">機械読み取り可能なステータスファイル</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<p>このモジュールにディレクティブはありません。</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_status">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_status">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Status を使用可能にする</a></h2> + + + <p>example.com ドメインからのブラウザのみに対して + ステータスの報告を使用可能にするには + 以下のコードを <code>httpd.conf</code> 設定ファイルに追加します</p> +<div class="example"><p><code> + <Location /server-status><br /> + SetHandler server-status<br /> +<br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .example.com<br /> + </Location> +</code></p></div> + + <p>これで、サーバの統計情報をウェブブラウザを使って + <code>http://your.server.name/server-status</code> をアクセスすることにより + 知ることができるようになります。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="autoupdate" id="autoupdate">自動更新</a></h2> + + + <p>ブラウザが「リフレッシュ」機能をサポートしていれば、ステータスページを + 自動的に更新するようにできます。N 秒毎に更新させるためには + <code>http://your.server.name/server-status?refresh=N</code> + というページをアクセスしてください。</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="machinereadable" id="machinereadable">機械読み取り可能なステータスファイル</a></h2> + + + <p><code>http://your.server.name/server-status?auto</code> を + アクセスすることにより、ステータスファイルの機械読み取り可能なバージョンを + 得ることができます。これは自動的に実行されるときに便利です。 + Apache の <code>/support</code> ディレクトリにある + Perl プログラム <code>log_server_status</code> を見てください。</p> + + <div class="note"> + <strong><code class="module"><a href="../mod/mod_status.html">mod_status</a></code> がサーバに組み込まれている + 場合、ハンドラの機能はディレクトリ<em>毎</em>のファイル + (<em>すなわち</em>、<code>.htaccess</code>) も含む<em>すべて</em>の + 設定ファイルで使用可能になることには注意をしておく必要があります。 + これは、サイトによってはセキュリティに関する望ましくない結果を + もたらすことがあるかもしれません。</strong> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_status.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.ko.euc-kr b/docs/manual/mod/mod_status.html.ko.euc-kr new file mode 100644 index 0000000..de21d45 --- /dev/null +++ b/docs/manual/mod/mod_status.html.ko.euc-kr @@ -0,0 +1,165 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_status - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_status</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> Ȱ ɿ Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>status_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_status.c</td></tr></table> +<h3></h3> + + <p>Status ڿ ¸ ش. + ִ HTML 踦 ش. + ʿϴٸ (ǥ ) ڵ + ִ. ¸ ǻͰ ִ + ִ.</p> + + <p>˷ִ :</p> + + <ul> + <li>û ϴ worker </li> + + <li> ִ(idle) worker </li> + + <li> worker , worker ó û + worker ü Ʈ (*)</li> + + <li> Ƚ Ʈ (*)</li> + + <li> Ȥ ð ð</li> + + <li>ʴ û , ʴ Ʈ û + Ʈ (*)</li> + + <li> ġ ü worker CPU (*)</li> + + <li> óϰ ִ ȣƮ û (*)</li> + </ul> + + <p>ǥ ġ "(*)" ǥ 踦 . + Ͻ ɼ ؾ Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Status ϱ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">ڵ </a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">ǻͰ ִ Status </a></li> +</ul><h3 class="directives">þ</h3> +<p> þ ϴ.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_status">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_status">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Status ϱ</a></h2> + + + <p>foo.com ο Ը ¸ ַ + <code>httpd.conf</code> Ͽ ߰Ѵ</p> +<div class="example"><p><code> + <Location /server-status><br /> + SetHandler server-status<br /> +<br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .foo.com<br /> + </Location> +</code></p></div> + + <p> + <code>http://your.server.name/server-status</code> + ϸ 踦 ִ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="autoupdate" id="autoupdate">ڵ </a></h2> + + + <p> "簻" Ѵٸ status ڵ + ִ. N ʸ Ϸ + <code>http://your.server.name/server-status?refresh=N</code> + ϶.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="machinereadable" id="machinereadable">ǻͰ ִ Status </a></h2> + + + <p><code>http://your.server.name/server-status?auto</code> + ǻͰ ִ status ִ. + ġ <code>/support</code> 丮 ִ + <code>log_server_status</code> Perl α ڵ + ϴ α ϴ.</p> + + <div class="note"> + <strong><code class="module"><a href="../mod/mod_status.html">mod_status</a></code> + Ͽٸ 丮<em></em> (<em> + </em>, <code>.htaccess</code>) Ͽ <em></em> + Ͽ ڵ鷯 ִ. Ʈ + ִ.</strong> + </div> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_status.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.tr.utf8 b/docs/manual/mod/mod_status.html.tr.utf8 new file mode 100644 index 0000000..cae57af --- /dev/null +++ b/docs/manual/mod/mod_status.html.tr.utf8 @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_status - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_status</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Sunucu etkinliği ve başarımı hakkında bilgi sağlar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>status_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_status.c</td></tr></table> +<h3>Özet</h3> + + <p><code>mod_status</code> modülü, sunucu yöneticisinin, HTTP sunucusunun + ne kadar başarılı olduğu hakkında bilgi edinmesini sağlar. Bilgiler, + kolayca okunabilen bir HTML sayfası olarak sunulur ve o anki sunucu + istatistiklerinden oluşur. Gerekirse sayfa kendiliğinden tazelenebilir + (uyumlu bir tarayıcı gerekir). Diğer sayfa o anki sunucu durumunu makine + tarafından okunabilen biçimde listeler.</p> + + <p>Sunulan bilgiler şunlardır:</p> + + <ul> + <li>İstekleri sunan çocuk süreç sayısı</li> + + <li>Boştaki çocuk süreçlerin sayısı</li> + + <li>Her çocuk sürecin durumu, çocuk sürecin işleme tabi tuttuğu istek + sayısı ve sunduğu bayt sayısı (*)</li> + + <li>Toplam erişim sayısı ve sunulan toplam bayt sayısı (*)</li> + + <li>Sunucunun kaç kere başlatıldığı/yeniden başlatıldığı ve ne kadar + zamandır çalışmakta olduğu</li> + + <li>Saniyedeki ortalama istek sayısı, saniyedeki bayt sayısı ve istek + başına ortalama bayt sayısı (*)</li> + + <li>Birlikte tüm çocuk süreçler tarafınan toplamda ve her çocuk süreç + tarafından ayrı ayrı kullanılan o anki işlemci zamanı yüzdesi (*)</li> + + <li>O an işlem görmekte olan konakların ve isteklerin sayısı (*)</li> + </ul> + + <p>"(*)" imli bilgiler sadece <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> yönergesinin değeri <code>On</code> olduğu + takdirde mevcuttur. 2.3.6 sürümünde, bu modulün yüklenmesi öntanımlı + olarak <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> yönergesinin + değerini <code>On</code> yapacaktır.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#enable">Durum Bilgisi Desteğinin Etkinleştirilmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">Sayfanın Tazelenmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">Makine Tarafından Okunabilen Durum Dosyası</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Sorun gidermek için server-status kullanımı</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<p>Bu modül yönerge içermez.</p> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_status">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_status">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="enable" id="enable">Durum Bilgisi Desteğinin Etkinleştirilmesi</a></h2> + + + <p>Durum raporları, sadece example.com alanından ve sadece tarayıcılar için + etkin kılınmak istenirse <code>httpd.conf</code> dosyasına şu satırlar + eklenebilir:</p> + +<pre class="prettyprint lang-config"><Location "/server-status"> + SetHandler server-status + Require host example.com +</Location></pre> + + + <p>Sunucu istatistiklerine tarayıcınızla erişmek isterseniz, + <code>http://sunucunuzun.ismi.buraya/server-status</code> + şeklinde bir istek yapabilirsiniz.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="autoupdate" id="autoupdate">Sayfanın Tazelenmesi</a></h2> + + + <p>Tarayıcınız “tazeleme” yeteneğine sahipse durum sayfası düzenli + aralıklarla güncellenecektir. Sayfanın N saniyede bir güncellenmesini + isterseniz isteği şöyle yapabilirsiniz:<br /> + <code>http://sunucunuzun.ismi.buraya/server-status?refresh=N</code></p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="machinereadable" id="machinereadable">Makine Tarafından Okunabilen Durum Dosyası</a></h2> + + + <p>Durum dosyasının makine tarafından okunabilen sürümüne + <code>http://sunucunuzun.ismi.buraya/server-status?auto</code> + şeklinde bir istek yaparak erişebilirsiniz. Bu, kendiliğinden çalıştığı + takdirde yararlıdır; Apache HTTP Sunucusu kurulumunuzun + <code>/support</code> dizininde bulunan <code>log_server_status</code> + isimli Perl betiğine bakınız.</p> + + <div class="note"><h3>Güvenlik</h3> + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> sunucuya yüklendiği takdirde + istatistikleri raporlama yeteneği dizin içi yapılandırma dosyaları + (<code>.htaccess</code> gibi) dahil <em>tüm</em> yapılandırma dosyaları + için kullanılabilir olacaktır. Bu durum güvenlik ile ilgili olarak + siteniz için içinden çıkılması güç durumlara yol açabilir (çapanoğlu + durumu).</div> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="troubleshoot" id="troubleshoot">Sorun gidermek için server-status kullanımı</a></h2> + + + <p>Sunucunuzun kullanılabilir tüm özkaynakları (işlemci veya bellek) + sömürdüğü ve sizin de bu soruna hangi istemcilerin veya isteklerin yol + açtığını saptamak istediğiniz durumda sorunu gidermek için başlangıç yeri + olarak <code>server-status</code> sayfası kullanılabilir.</p> + + <p>Önce <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> yönergesine On + atadığınızsan emin olun. Böylece her çocuk süreç veya evre için tüm istek + ve istemci bilgilerini görebilirsiniz.</p> + + <p>(<code>top</code> veya benzeri bir süreç izleme aracı kullanarak) Artık + kendi süreç listenize ana zanlılar olan süreçleri bulmak için + bakabilirsiniz. Sorunun çeşidine bağlı olarak <code>top</code> çıktısını + işlemci kullanımına veya bellek kullanımına göre sıralatabilirsiniz.</p> + + <p><code>server-status</code> sayfasını yeniden yükleyip bu süreç + kimliklerine bakın. Böylece, bu süreçler tarafından hangi isteklerin hangi + istemcilere sunulduğunu görebilirsiniz. İstekler kısa sürelerle görünürler, + bu bakımdan iş üstünde yakalamak için çeşitli denemeler yapmanız + gerekebilir.</p> + + <p>Bu işlem, yük sorununuzdan birinci derecede sorumlu istek türleri veya + istemciler hakkında bir fikir verecektir. Çoğu durumda belli bir HTTP + uygulamasının yanlış davrandığını veya belli bir istemcinin sitenize + saldırmakta olduğunu farkedersiniz.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_status.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_status.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_substitute.html b/docs/manual/mod/mod_substitute.html new file mode 100644 index 0000000..591a8c2 --- /dev/null +++ b/docs/manual/mod/mod_substitute.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_substitute.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_substitute.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_substitute.html.en b/docs/manual/mod/mod_substitute.html.en new file mode 100644 index 0000000..db1aef3 --- /dev/null +++ b/docs/manual/mod/mod_substitute.html.en @@ -0,0 +1,224 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_substitute - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_substitute</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_substitute.html" title="English"> en </a> | +<a href="../fr/mod/mod_substitute.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Perform search and replace operations on response bodies</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>substitute_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_substitute.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.2.7 and later</td></tr></table> +<h3>Summary</h3> + + <p><code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> provides a mechanism to perform + both regular expression and fixed string substitutions on + response bodies.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#substitute">Substitute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_substitute">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_substitute">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Substitute" id="Substitute">Substitute</a> <a name="substitute" id="substitute">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Pattern to filter the response content</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Substitute <var>s/pattern/substitution/[infq]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr> +</table> + <p>The <code class="directive">Substitute</code> directive specifies a + search and replace pattern to apply to the response body.</p> + + <p>The meaning of the pattern can be modified by using any + combination of these flags:</p> + + <dl> + <dt><code>i</code></dt> + <dd>Perform a case-insensitive match.</dd> + <dt><code>n</code></dt> + <dd>By default the pattern is treated as a regular expression. + Using the <code>n</code> flag forces the pattern to be treated + as a fixed string.</dd> + <dt><code>f</code></dt> + <dd>The <code>f</code> flag causes <code>mod_substitute</code> to flatten the + result of a substitution allowing for later substitutions to + take place on the boundary of this one. This is the default.</dd> + <dt><code>q</code></dt> + <dd>The <code>q</code> flag causes <code>mod_substitute</code> to not + flatten the buckets after each substitution. This can + result in much faster response and a decrease in memory + utilization, but should only be used if there is no possibility + that the result of one substitution will ever match a pattern + or regex of a subsequent one.</dd> + </dl> + + <p>The <var>substitution</var> may contain literal text and regular + expression backreferences</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s/foo/bar/ni" +</Location></pre> +</div> + + <p>The character which is used to separate (or "delimit") the + various parts of the substitution string is referred to as the + "delimiter", and it is most common to use a slash for this + purpose.</p> + + <p>If either the pattern or the substitution contain a slash + character then an alternative delimiter may be used to make the + directive more readable:</p> + + <div class="example"><h3>Example of using an alternate delimiter</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s|<BR */?>|<br />|i" +</Location></pre> +</div> + + <p>Backreferences can be used in the comparison and in the substitution, + when regular expressions are used, as illustrated in the following example: </p> + <div class="example"><h3>Example of using backreferences and captures</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + # "foo=k,bar=k" -> "foo/bar=k" + Substitute "s|foo=(\w+),bar=\1|foo/bar=$1|" +</Location></pre> +</div> + + <p>A common use scenario for <code>mod_substitute</code> is the + situation in which a front-end server proxies requests to a back-end + server which returns HTML with hard-coded embedded URLs that refer + to the back-end server. These URLs don't work for the end-user, + since the back-end server is unreachable.</p> + + <p>In this case, <code>mod_substitute</code> can be used to rewrite + those URLs into something that will work from the front end:</p> + + <div class="example"><h3>Rewriting URLs embedded in proxied content</h3><pre class="prettyprint lang-config">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"</pre> +</div> + + <p><code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> + modifies any <code>Location</code> (redirect) headers that are sent + by the back-end server, and, in this example, + <code class="directive">Substitute</code> takes care of the rest of the problem by + fixing up the HTML response as well.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SubstituteInheritBefore" id="SubstituteInheritBefore">SubstituteInheritBefore</a> <a name="substituteinheritbefore" id="substituteinheritbefore">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Change the merge order of inherited patterns</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SubstituteInheritBefore on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SubstituteInheritBefore off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.17 and later</td></tr> +</table> + <p>Whether to apply the inherited <code class="directive"><a href="#substitute">Substitute</a></code> + patterns first (<code>on</code>), or after the ones of the current + context (<code>off</code>). + <code class="directive">SubstituteInheritBefore</code> is itself inherited, + hence contexts that inherit it (those that don't specify their own + <code class="directive">SubstituteInheritBefore</code> value) will apply the + closest defined merge order.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SubstituteMaxLineLength" id="SubstituteMaxLineLength">SubstituteMaxLineLength</a> <a name="substitutemaxlinelength" id="substitutemaxlinelength">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the maximum line size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SubstituteMaxLineLength 1m</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in httpd 2.4.11 and later</td></tr> +</table> + <p>The maximum line size handled by <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> + is limited to restrict memory use. The limit can be configured + using <code class="directive">SubstituteMaxLineLength</code>. + The value can be given as the number of bytes and can be suffixed + with a single letter <code>b</code>, <code>B</code>, <code>k</code>, + <code>K</code>, <code>m</code>, <code>M</code>, <code>g</code>, + <code>G</code> to provide the size in bytes, kilobytes, megabytes + or gigabytes respectively.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + SubstituteMaxLineLength 10m + Substitute "s/foo/bar/ni" +</Location></pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_substitute.html" title="English"> en </a> | +<a href="../fr/mod/mod_substitute.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_substitute.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_substitute.html.fr.utf8 b/docs/manual/mod/mod_substitute.html.fr.utf8 new file mode 100644 index 0000000..23405cc --- /dev/null +++ b/docs/manual/mod/mod_substitute.html.fr.utf8 @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_substitute - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_substitute</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_substitute.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue des opérations de recherche/remplacement sur les +corps de réponses</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>substitute_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_substitute.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.7 +du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> fournit un mécanisme permettant + d'effectuer des substitutions de chaînes fixes ou d'expressions + rationnelles sur les corps de réponses.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#substitute">Substitute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_substitute">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_substitute">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="substitute" id="substitute">Directive</a> <a name="Substitute" id="Substitute">Substitute</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modèle de substition dans le contenu de la +réponse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Substitute <var>s/modèle/substitution/[infq]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr> +</table> + <p>La directive <code class="directive">Substitute</code> permet de + spécifier un modèle de recherche/remplacement à appliquer au corps + de la réponse.</p> + + <p>La signification du modèle peut être modifiée via toute + combinaison de ces drapeaux :</p> + + <dl> + <dt><code>i</code></dt> + <dd>Effectue une comparaison sans tenir compte de la casse.</dd> + <dt><code>n</code></dt> + <dd>Par défaut, le modèle est traité en tant qu'expression + rationnelle. Le drapeau <code>n</code> force le traitement du + modèle en tant que chaîne fixe.</dd> + <dt><code>f</code></dt> + + <dd>Avec le drapeau <code>f</code>, <code>mod_substitute</code> 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.</dd> + <dt><code>q</code></dt> + + <dd>Avec le drapeau <code>q</code>, <code>mod_substitute</code> 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.</dd> + </dl> + + <p><var>substitution</var> peut contenir du texte et des références arrières + d'expressions rationnelles.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s/foo/bar/ni" +</Location></pre> +</div> + + <p>Le caractère utilisé pour séparer (ou "délimiter") les différentes partie + de la valeur de substitution est référencé sous le nom de "délimiteur", et + il s'agit le plus souvent d'un "slash".</p> + + <p>Si le modèle ou la chaîne de substitution contient un caractère + slash '/', il est possible d'utiliser un autre délimiteur afin de rendre la + directive plus lisible :</p> + + <div class="example"><h3>Exemple d'utilisation d'un délimiteur + alternatif</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s|<BR */?>|<br />|i" +</Location></pre> +</div> + + <p>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 :</p> + <div class="example"><h3>Exemple d'utilisation de références arrières et de captures</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + # "foo=k,bar=k" -> "foo/bar=k" + Substitute "s|foo=(\w+),bar=\1|foo/bar=$1|" +</Location></pre> +</div> + + <p>Un scénario courant d'utilisation de <code>mod_substitute</code> + 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.</p> + + <p>On peut, dans ce cas, utiliser <code>mod_substitute</code> pour + réécrire ces URLs afin qu'elles soit utilisables dans la partie + située derrière le mandataire :</p> + + <div class="example"><h3>Réécriture des URLs intégrées à un contenu mandaté</h3><pre class="prettyprint lang-config">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"</pre> +</div> + + <p>La directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> modifie tout en-tête + <code>Location</code> (redirection) envoyé par le serveur + d'arrière-plan et, dans cet exemple, la directive + <code class="directive">Substitute</code> se charge à son tour de la modification de + la réponse HTML.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="substituteinheritbefore" id="substituteinheritbefore">Directive</a> <a name="SubstituteInheritBefore" id="SubstituteInheritBefore">SubstituteInheritBefore</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie l'ordre de fusion des modèles hérités</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteInheritBefore on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SubstituteInheritBefore on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP +Apache</td></tr> +</table> + <p>Cette directive permet de définir si l'on applique les modèles +<code class="directive"><a href="#substitute">Substitute</a></code> hérités en premier +(valeur <code>on</code>), ou après ceux du +contexte courant (valeur <code>off</code>). La valeur de la directive +<code class="directive">SubstituteInheritBefore</code> est +elle-même héritée, et les contextes qui en héritent (ceux qui ne +définissent pas explicitement leur propre directive +<code class="directive">SubstituteInheritBefore</code>) appliqueront donc +l'ordre de fusion défini le plus proche.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="substitutemaxlinelength" id="substitutemaxlinelength">Directive</a> <a name="SubstituteMaxLineLength" id="SubstituteMaxLineLength">SubstituteMaxLineLength</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la longueur de ligne maximale</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SubstituteMaxLineLength 1m</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP +Apache</td></tr> +</table> + <p>La taille de la ligne traitée par <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> + est limitée afin de restreindre l'utilisation des ressources + mémoire. La directive <code class="directive">SubstituteMaxLineLength</code> + 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 <code>b</code>, <code>B</code>, <code>k</code>, + <code>K</code>, <code>m</code>, <code>M</code>, <code>g</code> ou + <code>G</code> pour fournir une valeur respectivement en octets, + kiloOctets, mégaOctets ou gigaOctets.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + SubstituteMaxLineLength 10m + Substitute "s/foo/bar/ni" +</Location></pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_substitute.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_substitute.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html b/docs/manual/mod/mod_suexec.html new file mode 100644 index 0000000..23c65c0 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_suexec.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_suexec.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_suexec.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_suexec.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_suexec.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_suexec.html.en b/docs/manual/mod/mod_suexec.html.en new file mode 100644 index 0000000..2d8971e --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.en @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_suexec - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_suexec</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows CGI scripts to run as a specified user +and Group</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>suexec_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_suexec.c</td></tr></table> +<h3>Summary</h3> + + <p>This module, in combination with the <code class="program"><a href="../programs/suexec.html">suexec</a></code> support program allows + CGI scripts to run as a specified user and Group.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../suexec.html">SuEXEC support</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a> <a name="suexecusergroup" id="suexecusergroup">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>User and group for CGI programs to run as</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SuexecUserGroup <em>User Group</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_suexec</td></tr> +</table> + <p>The <code class="directive">SuexecUserGroup</code> directive allows you + to specify a user and group for CGI programs to run as. Non-CGI + requests are still processed with the user specified in the <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> directive.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">SuexecUserGroup nobody nogroup</pre> +</div> + + <p>Startup will fail if this directive is specified but the suEXEC + feature is disabled.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#suexec">Suexec</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_suexec.html" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_suexec.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.fr.utf8 b/docs/manual/mod/mod_suexec.html.fr.utf8 new file mode 100644 index 0000000..54aa54f --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.fr.utf8 @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_suexec - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_suexec</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>suexec_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_suexec.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module, en combinaison avec son programme support + <code class="program"><a href="../programs/suexec.html">suexec</a></code>, permet l'exécution des scripts CGI sous + l'utilisateur et le groupe spécifiés.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../suexec.html">Support de SuEXEC</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="suexecusergroup" id="suexecusergroup">Directive</a> <a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SuexecUserGroup <em>Utilisateur Groupe</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_suexec</td></tr> +</table> + <p>La directive <code class="directive">SuexecUserGroup</code> 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 <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SuexecUserGroup nobody nogroup</pre> +</div> + + <p>Le démarrage échouera si cette + directive est spécifiée et si la fonctionnalité suEXEC est + désactivée.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#suexec">Suexec</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_suexec.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.ja.utf8 b/docs/manual/mod/mod_suexec.html.ja.utf8 new file mode 100644 index 0000000..0000e95 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.ja.utf8 @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_suexec - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_suexec</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>指定されたユーザとグループで CGI スクリプトを実行する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>suexec_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_suexec.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 以降で使用可能</td></tr></table> +<h3>概要</h3> + + <p>このモジュールと <code class="program"><a href="../programs/suexec.html">suexec</a></code> サポートプログラム + により、CGI スクリプトが指定されたユーザとグループで + 実行されるようにできます。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../suexec.html">SuEXEC サポート</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a> <a name="suexecusergroup" id="suexecusergroup">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI プログラムのユーザパーミッション、グループパーミッション</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SuexecUserGroup <em>User Group</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_suexec</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>SuexecUserGroup は 2.0 以降でのみ使用可能。</td></tr> +</table> + <p><code class="directive">SuexecUserGroup</code> ディレクティブは CGI プログラム + が実行されるユーザとグループを指定できるようにします。CGI 以外の + リクエストは User ディレクティブで指定されたユーザのままで処理されます。 + このディレクティブは Apache 1.3 における VirtualHosts の中で + User ディレクティブと Group ディレクティブを使う用法の代わりになります。</p> + + <div class="example"><h3>例</h3><p><code> + + SuexecUserGroup nobody nogroup + </code></p></div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_suexec.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.ko.euc-kr b/docs/manual/mod/mod_suexec.html.ko.euc-kr new file mode 100644 index 0000000..a109776 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.ko.euc-kr @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_suexec - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_suexec</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>CGI ũƮ Ư ڿ Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>suexec_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_suexec.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.0 ĺ</td></tr></table> +<h3></h3> + + <p> <a href="../programs/suexec.html">suexec + α</a> Ͽ CGI ũƮ Ư ڿ + Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../suexec.html">SuEXEC </a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a> <a name="suexecusergroup" id="suexecusergroup">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>CGI α ڿ </td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>SuexecUserGroup <em>User Group</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_suexec</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">:</a></th><td>SuexecUserGroup 2.0 Ŀ ִ.</td></tr> +</table> + <p><code class="directive">SuexecUserGroup</code> þ CGI α + ڿ Ѵ. CGI ƴ û + User þ ڰ óѴ. þ ġ + 1.3 VirtualHost ȿ User Group þ + üѴ.</p> + + <div class="example"><h3></h3><p><code> + + SuexecUserGroup nobody nogroup + </code></p></div> + + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_suexec.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.tr.utf8 b/docs/manual/mod/mod_suexec.html.tr.utf8 new file mode 100644 index 0000000..668f4d9 --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.tr.utf8 @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_suexec - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_suexec</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>CGI betiklerinin belli bir kullanıcı ve grubun aidiyetinde +çalışmasını mümkün kılar.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>suexec_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_suexec.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül <code class="program"><a href="../programs/suexec.html">suexec</a></code> programı ile birlikte CGI + betiklerinin belli bir kullanıcı ve grubun aidiyetinde çalışmasını + mümkün kılar.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../suexec.html">SuEXEC Desteği</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a> <a name="suexecusergroup" id="suexecusergroup">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>CGI betiklerini çalıştıracak kullanıcı ve grup belirtilir. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SuexecUserGroup <em>Kullanıcı Grup</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_suexec</td></tr> +</table> + <p><code class="directive">SuexecUserGroup</code> yönergesi CGI programlarını + çalıştıracak kullanıcı ve grubu belirtmeye yarar. CGI harici istekler + hala <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> yönergesinde + belirtilen kullanıcı tarafından yerine getirilir.</p> + + <pre class="prettyprint lang-config">SuexecUserGroup nobody nogroup</pre> + + + <p>Bu yönerge belirtildiği halde + <code class="directive"><a href="../mod/mod_unixd.html#suexec">Suexec</a></code> + özelliği etkinleştirilmemişse Apache httpd başlatılamaz.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#suexec">Suexec</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_suexec.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_systemd.html b/docs/manual/mod/mod_systemd.html new file mode 100644 index 0000000..5b32c9f --- /dev/null +++ b/docs/manual/mod/mod_systemd.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_systemd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_systemd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_systemd.html.en b/docs/manual/mod/mod_systemd.html.en new file mode 100644 index 0000000..7f6d925 --- /dev/null +++ b/docs/manual/mod/mod_systemd.html.en @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_systemd - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_systemd</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_systemd.html" title="English"> en </a> | +<a href="../fr/mod/mod_systemd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides better support for systemd integration</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>systemd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_systemd.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.42 and later</td></tr></table> +<h3>Summary</h3> + + <p>This module provides support for systemd integration. It allows + httpd to be used in a service with the systemd + <code>Type=notify</code> (see <a href="https://www.freedesktop.org/software/systemd/man/systemd.service.html">systemd.service(5)</a> + for more information). The module is activated if loaded.</p> + + <div class="example"><h3>Example of systemd service unit (more settings are probably needed for production systems)</h3><pre>[Unit] +Description=The Apache HTTP Server +After=network.target + +[Service] +Type=notify +ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start +ExecReload=/usr/local/apache2/bin/httpd -k graceful +KillMode=mixed + +[Install] +WantedBy=multi-user.target</pre></div> + + <p>Special attention should be given to how <code>ExecStop</code> + and/or <code>KillMode</code> are configured for the service. If + configured, an <code>ExecStop</code> command should be a + <em>synchronous operation</em> which itself exits when the daemon + has terminated. Running <code>httpd -k stop</code> + <em>asynchronously</em> initiates daemon termination, so does not + satisfy this condition. The example above uses + <code>KillMode=mixed</code> so that systemd sends + <code>SIGTERM</code> to signal the parent process (and only the + parent) to shut down. The entire process group is then sent + <code>SIGKILL</code> after <code>TimeoutStopSec</code> elapses, if + any processes are still running. See <a href="https://www.freedesktop.org/software/systemd/man/systemd.kill.html">systemd.kill(5)</a> + for more information.</p> + + <p>This module does not provide support for Systemd socket activation.</p> + + <p><code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> is + enabled by default if the module is loaded. If <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> is not disabled in + the configuration, run-time load and request statistics are made + available in the <code>systemctl status</code> output.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_systemd">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_systemd">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_systemd.html" title="English"> en </a> | +<a href="../fr/mod/mod_systemd.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_systemd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_systemd.html.fr.utf8 b/docs/manual/mod/mod_systemd.html.fr.utf8 new file mode 100644 index 0000000..f924957 --- /dev/null +++ b/docs/manual/mod/mod_systemd.html.fr.utf8 @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_systemd - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_systemd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_systemd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_systemd.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit un support amélioré pour l'intégration de systemd</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>systemd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_systemd.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module implémente le support de l'intégration de systemd. Il + permet d'utiliser httpd en temps que service avec le paramètre de + systemd <code>Type=notify</code> (voir la page de manuel + <a href="https://www.freedesktop.org/software/systemd/man/systemd.service.html">systemd.service(5)</a> + pour plus de détails). Le module est activé s'il est chargé.</p> + + <div class="example"><h3>Exemple basique d'unité de service systemd (à étoffer pour un système en + production)</h3><pre>[Unit] +Description=The Apache HTTP Server +After=network.target + +[Service] +Type=notify +ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start +ExecReload=/usr/local/apache2/bin/httpd -k graceful +KillMode=mixed + +[Install] +WantedBy=multi-user.target</pre></div> + + <p>Si vous utilisez <code>ExecStop</code> et/ou <code>KillMode</code>, vous + devez prêter une attention particulière à leur configuration pour ce service. + Si elle est présente, une commande <code>ExecStop</code> doit être une + <em>operation synchrone</em> qui se termine elle-même en même temps que le + démon. Cette condition n'est pas satisfaite si vous exécutez la commande + <code>httpd -k stop</code> de manière <em>asynchrone</em>, car elle initie + l'arrêt du démon. L'exemple ci-dessus utilise <code>KillMode=mixed</code> + afin que systemd envoie <code>SIGTERM</code> au processus parent (et + seulement à ce dernier) pour lui indiquer qu'il doit s'arrêter. Les processus + encore en cours d'exécution après un temps égal à <code>TimeoutStopSec</code> + recevront alors le signal <code>SIGKILL</code>. Voir <a href="https://www.freedesktop.org/software/systemd/man/systemd.kill.html">systemd.kill(5)</a> + pour plus d'informations.</p> + + <p>Ce module ne fournit pas le support de l'activation du socket Systemd.</p> + + <p><code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> est activé par défaut + si le module est chargé. Si <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> n'est pas explicitement désactivé + dans le fichier de configuration, les statistiques à propos de la charge et + des requêtes pendant l'exécution apparaîtront dans la sortie de la commande + <code>systemctl status</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_systemd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_systemd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_systemd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_systemd.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_systemd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_tls.html b/docs/manual/mod/mod_tls.html new file mode 100644 index 0000000..1e7dfb0 --- /dev/null +++ b/docs/manual/mod/mod_tls.html @@ -0,0 +1,5 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_tls.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_tls.html.en b/docs/manual/mod/mod_tls.html.en new file mode 100644 index 0000000..9b7ccc4 --- /dev/null +++ b/docs/manual/mod/mod_tls.html.en @@ -0,0 +1,663 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_tls - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_tls</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_tls.html" title="English"> en </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>TLS v1.2 and v1.3 implemented in memory-safe Rust via + the rustls library + </td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>tls_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_tls.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.4.52 and later</td></tr></table> +<h3>Summary</h3> + + <p> + mod_tls is an alternative to <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> for providing https to a server. + It's feature set is a subset, described in more detail below. It can + be used as a companion to <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, e.g. both modules can be loaded at + the same time. + </p><p> + mod_tls, being written in C, used the Rust implementation of TLS named + <a href="https://github.com/rustls/rustls">rustls</a> via its C interface + <a href="https://github.com/rustls/rustls-ffi">rustls-ffi</a>. This gives + <em>memory safe</em> cryptography and protocol handling at comparable + performance. + </p><p> + It can be configured for frontend and backend connections. The configuration + directive have been kept mostly similar to <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ones. + </p> + </div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#vhost_context">TLS in a VirtualHost context</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#comparison">Feature Comparison with mod_ssl</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocols">TLS Protocols</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ciphers">TLS Ciphers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">Virtual Hosts</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ACME">ACME Certificates</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#OCSP">OCSP Stapling</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#variables">TLS Variables</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#certificates">Client Certificates</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#tlscertificate">TLSCertificate</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsciphersprefer">TLSCiphersPrefer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlscipherssuppress">TLSCiphersSuppress</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsengine">TLSEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlshonorclientorder">TLSHonorClientOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsoptions">TLSOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsprotocol">TLSProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsproxyca">TLSProxyCA</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsproxyciphersprefer">TLSProxyCiphersPrefer</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsproxycipherssuppress">TLSProxyCiphersSuppress</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsproxyengine">TLSProxyEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsproxymachinecertificate">TLSProxyMachineCertificate</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsproxyprotocol">TLSProxyProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlssessioncache">TLSSessionCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#tlsstrictsni">TLSStrictSNI</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_tls">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_tls">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="vhost_context" id="vhost_context">TLS in a VirtualHost context</a></h2> + + <pre class="prettyprint lang-config">Listen 443 +TLSEngine 443 + +<VirtualHost *:443> + ServerName example.net + TLSCertificate file_with_certificate.pem file_with_key.pem + ... +</VirtualHost></pre> + + <p> + The above is a minimal configuration. Instead of enabling mod_tls + in every virtual host, the port for incoming TLS connections is + specified. + </p><p> + You cannot mix virtual hosts with <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> and mod_tls on the same + port. It's either or. SNI and ALPN are supported. You may use several + virtual hosts on the same port and a mix of protocols like http/1.1 + and h2. + </p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="comparison" id="comparison">Feature Comparison with mod_ssl</a></h2> + <p> + The table below gives a comparison of feature between + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> and mod_tls. If a feature of <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> is no listed here, + it is not supported by mod_tls. The one difference, probably most relevant + is the lack for client certificate support in the current version of + mod_tls. + </p> + <table> + <tr><th>Feature</th><th>mod_ssl</th><th>mod_tls</th><th>Comment</th></tr> +<tr><td>Frontend TLS</td><td>yes</td><td>yes</td><td /></tr> +<tr><td>Backend TLS</td><td>yes</td><td>yes</td><td /></tr> +<tr><td>TLS v1.3</td><td>yes*</td><td>yes</td><td>*)with recent OpenSSL</td></tr> +<tr><td>TLS v1.2</td><td>yes</td><td>yes</td><td /></tr> +<tr><td>TLS v1.0</td><td>yes*</td><td>no</td><td>*)if enabled in OpenSSL</td></tr> +<tr><td>SNI Virtual Hosts</td><td>yes</td><td>yes</td><td /></tr> +<tr><td>Client Certificates</td><td>yes</td><td>no</td><td /></tr> +<tr><td>Machine Certificates for Backend</td><td>yes</td><td>yes</td><td /></tr> +<tr><td>OCSP Stapling</td><td>yes</td><td>yes*</td><td>*)via <code class="module"><a href="../mod/mod_md.html">mod_md</a></code></td></tr> +<tr><td>Backend OCSP check</td><td>yes</td><td>no*</td><td>*)stapling will be verified</td></tr> +<tr><td>TLS version to allow</td><td>min-max</td><td>min</td><td /></tr> +<tr><td>TLS ciphers</td><td>exclusive list</td><td>preferred/suppressed</td><td /></tr> +<tr><td>TLS cipher ordering</td><td>client/server</td><td>client/server</td><td /></tr> +<tr><td>TLS sessions</td><td>yes</td><td>yes</td><td /></tr> +<tr><td>SNI strictness</td><td>default no</td><td>default yes</td><td /></tr> +<tr><td>Option EnvVars</td><td>exhaustive</td><td>limited*</td><td>*)see var list</td></tr> +<tr><td>Option ExportCertData</td><td>client+server</td><td>server</td><td /></tr> +<tr><td>Backend CA</td><td>file/dir</td><td>file</td><td /></tr> +<tr><td>Revocation CRLs</td><td>yes</td><td>no</td><td /></tr> +<tr><td>TLS Renegotiation</td><td>yes*</td><td>no</td><td>*)in TLS v1.2</td></tr> +<tr><td>Encrypted Cert Keys</td><td>yes</td><td>no</td><td /></tr> + </table> + <p> + </p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="protocols" id="protocols">TLS Protocols</a></h2> + <p> + mod_tls supports TLS protocol version 1.2 and 1.3. Should there ever be + a version 1.4 and <code>rustls</code> supports it, it will be available as well. + </p> + <p> + In mod_tls, you configure the <em>minimum</em> version to use, never the maximum: + </p> + <pre class="prettyprint lang-config">TLSProtocol TLSv1.3+</pre> + + <p> + This allows only version 1.3 and whatever may be its successor one day when talking + to your server or to a particular virtual host. + </p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ciphers" id="ciphers">TLS Ciphers</a></h2> + <p> + The list of TLS ciphers supported in the <code>rustls</code> library, + can be found <a href="https://docs.rs/rustls/">here</a>. All TLS v1.3 + ciphers are supported. For TLS v1.2, only ciphers that rustls considers + secure are available. + </p><p> + mod_tls supports the following names for TLS ciphers: + </p> + <ol> + <li> + The <a href="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4">IANA assigned name</a> + which uses `_` to separate parts. Example: <code>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</code> + </li> + <li> + The OpenSSL name, using `-` as separator (for 1.2). Example: <code>ECDHE-ECDSA-AES256-SHA384</code>. + Such names often appear in documentation. `mod_tls` defines them for all TLS v1.2 ciphers. + For TLS v1.3 ciphers, names starting with <code>TLS13_</code> are also supported. + </li> + <li> + The <a href="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4">IANA assigned identifier</a>, + which is a 16-bit numeric value. Example: <code>0xc024</code>. + You can use this in configurations as <code>TLS_CIPHER_0xc024</code>. + </li> + </ol> + <p> + You can configure a preference for ciphers, which means they will be used + for clients that support them. If you do not configure a preference, <code>rustls</code> + will use the one that it considers best. This is recommended. + </p> + <p> + Should you nevertheless have the need to prefer one cipher over another, you + may configure it like this: + </p> + <pre class="prettyprint lang-config">TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384 +# or several +TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305</pre> + + <p> + If you name a cipher that is unknown, the configuration will fail. + If you name a cipher is not supported by <code>rustls</code> (or no + longer supported in an updated version of <code>rustls</code> for security + reasons), mod_tls will log a <code>WARNING</code>, but continue to work. + </p> + <p> + A similar mechanism exists, if you want to disable a particular cipher: + </p> + <pre class="prettyprint lang-config">TLSCipherSuppress ECDHE-ECDSA-AES256-SHA384</pre> + + <p> + A suppressed cipher will not longer be used. + If you name a cipher that is unknown, the configuration will fail. + If you name a cipher is not supported by <code>rustls</code> (or no + longer supported in an updated version of <code>rustls</code> for security + reasons), mod_tls will log a <code>WARNING</code>, but continue to work. + </p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="vhosts" id="vhosts">Virtual Hosts</a></h2> + <p> + mod_tls uses the SNI (Server Name Indicator) to select one of the + configured virtual hosts that match the port being served. Should + the client not provide an SNI, the <em>first</em> configured + virtual host will be selected. If the client <em>does</em> provide + an SNI (as all today's clients do), it <em>must</em> match one + virtual host (<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> or + <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>) + or the connection will fail. + </p> + <p> + As with <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, you may specify ciphers and protocol + versions for the base server (global) and/or individual virtual hosts + that are selected via SNI by the client. + </p> + <pre class="prettyprint lang-config">Listen 443 +TLSEngine 443 + +<VirtualHost *:443> + ServerName example1.net + TLSCertificate example1-cert.pem + ... +</VirtualHost> + +<VirtualHost *:443> + ServerName example2.net + TLSCertificate example2-cert.pem + ... + TLSProtocol v1.3+ +</VirtualHost></pre> + + <p> + The example above show different TLS settings for virtual hosts on the + same port. This is supported. <code>example1</code> can be contacted via + all TLS versions and <code>example2</code> only allows v1.3 or later. + </p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ACME" id="ACME">ACME Certificates</a></h2> + <p> + ACME certificates via <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> are supported, just as + for <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. A minimal configuration: + </p> + <pre class="prettyprint lang-config">Listen 443 +TLSEngine 443 +MDomain example.net + +<VirtualHost *:443> + ServerName example.net + ... +</VirtualHost></pre> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="OCSP" id="OCSP">OCSP Stapling</a></h2> + <p> + mod_tls has no own implementation to retrieve OCSP information for + a certificate. However, it will use such for Stapling if it is provided + by <code class="module"><a href="../mod/mod_md.html">mod_md</a></code>. See <code class="module"><a href="../mod/mod_md.html">mod_md</a></code>'s documentation + on how to enable this. + </p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="variables" id="variables">TLS Variables</a></h2> + <p> + Via the directive <code class="directive"><a href="#tlsoptions">TLSOptions</a></code>, several variables + are placed into the environment of requests and can be inspected, for + example in a CGI script. + </p> + <p> + The variable names are given by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Note that these + are only a subset of the many variables that <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> exposes. + </p> + <table> + <tr><th>Variable</th><th>TLSOption</th><th>Description</th></tr> + <tr><td>SSL_TLS_SNI</td><td>*</td><td>the server name indicator (SNI) send by the client</td></tr> + <tr><td>SSL_PROTOCOL</td><td>*</td><td>the TLS protocol negotiated</td></tr> + <tr><td>SSL_CIPHER</td><td>*</td><td>the name of the TLS cipher negotiated</td></tr> + <tr><td>SSL_VERSION_INTERFACE</td><td>StdEnvVars</td><td>the module version</td></tr> + <tr><td>SSL_VERSION_LIBRARY</td><td>StdEnvVars</td><td>the rustls-ffi version</td></tr> + <tr><td>SSL_SECURE_RENEG</td><td>StdEnvVars</td><td>always `false`</td></tr> + <tr><td>SSL_COMPRESS_METHOD</td><td>StdEnvVars</td><td>always `false`</td></tr> + <tr><td>SSL_CIPHER_EXPORT</td><td>StdEnvVars</td><td>always `false`</td></tr> + <tr><td>SSL_CLIENT_VERIFY</td><td>StdEnvVars</td><td>always `false`</td></tr> + <tr><td>SSL_SESSION_RESUMED</td><td>StdEnvVars</td><td>either `Resumed` if a known TLS session id was presented by the client or `Initial` otherwise</td></tr> + <tr><td>SSL_SERVER_CERT</td><td>ExportCertData</td><td>the selected server certificate in PEM format</td></tr> + </table> + <p> + The variable <code>SSL_SESSION_ID</code> is intentionally not supported as + it contains sensitive information. + </p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="certificates" id="certificates">Client Certificates</a></h2> + <p> + While <code>rustls</code> supports client certificates in principle, parts + of the infrastructure to make <em>use</em> of these in a server are not + offered. + </p> + <p> + Among these features are: revocation lists, inspection of certificate + extensions and the matched issuer chain for OCSP validation. Without these, + revocation of client certificates is not possible. Offering authentication + without revocation is not considered an option. + </p> + <p> + Work will continue on this and client certificate support may become + available in a future release. + </p> + </div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSCertificate" id="TLSCertificate">TLSCertificate</a> <a name="tlscertificate" id="tlscertificate">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSCertificate <em>cert_file</em> [<em>key_file</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + If you do not specify a separate key file, the key is assumed to also be + found in the first file. You may add more than one certificate to a + server/virtual host. The first certificate suitable for a client is then chosen. + </p><p> + The path can be specified relative to the server root. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSCiphersPrefer" id="TLSCiphersPrefer">TLSCiphersPrefer</a> <a name="tlsciphersprefer" id="tlsciphersprefer">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>defines ciphers that are preferred.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSCiphersPrefer <em>cipher(-list)</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + This will not disable any ciphers supported by `rustls`. If you + specify a cipher that is completely unknown, the configuration will + fail. If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. + </p><p> + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">TLSCiphersPrefer ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305</pre> +</div> + <p> + The example gives 2 ciphers preference over others, in the + order they are mentioned. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSCiphersSuppress" id="TLSCiphersSuppress">TLSCiphersSuppress</a> <a name="tlscipherssuppress" id="tlscipherssuppress">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>defines ciphers that are not to be used.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSCiphersSuppress <em>cipher(-list)</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + This will not disable any unmentioned ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. + </p><p> + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">TLSCiphersSuppress ECDHE-ECDSA-CHACHA20-POLY1305</pre> +</div> + <p> + The example removes a cipher for use in connections. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSEngine" id="TLSEngine">TLSEngine</a> <a name="tlsengine" id="tlsengine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSEngine [<em>address</em>:]<em>port</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + This is set on a global level, not in individual <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>s. + It will affect all <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> + that match the specified address/port. + You can use <code class="directive">TLSEngine</code> several times to use more than one address/port. + </p><p> + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">TLSEngine 443</pre> +</div> + <p> + The example tells mod_tls to handle incoming connection on port 443 for + all listeners. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSHonorClientOrder" id="TLSHonorClientOrder">TLSHonorClientOrder</a> <a name="tlshonorclientorder" id="tlshonorclientorder">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>determines if the order of ciphers supported by the client is honored</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSHonorClientOrder on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TLSHonorClientOrder on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + <code class="directive">TLSHonorClientOrder</code> determines if the order of ciphers + supported by the client is honored. + </p><p> + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSOptions" id="TLSOptions">TLSOptions</a> <a name="tlsoptions" id="tlsoptions">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>enables SSL variables for requests.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSOptions [+|-]<em>option</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + <code class="directive">TLSOptions</code> is analog to <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> in <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + It can be set per directory/location and `option` can be: + </p> + <ul> + <li>`StdEnvVars`: adds more variables to the requests environment, + as forwarded for example to CGI processing and other applications. + </li> + <li>`ExportCertData`: adds certificate related variables to the request environment. + </li> + <li>`Defaults`: resets all options to their default values.</li> + </ul> + <p> + Adding variables to a request environment adds overhead, especially + when certificates need to be inspected and fields extracted. + Therefore most variables are not set by default. + </p> + <p> + You can configure <code class="directive">TLSOptions</code> per location or generally on a + server/virtual host. Prefixing an option with `-` disables this + option while leaving others unchanged. + A `+` prefix is the same as writing the option without one. + </p> + <p> + The `Defaults` value can be used to reset any options that are + inherited from other locations or the virtual host/server. + </p> + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location /myplace/app> + TLSOptions Defaults StdEnvVars + ... +</Location></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSProtocol" id="TLSProtocol">TLSProtocol</a> <a name="tlsprotocol" id="tlsprotocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>specifies the minimum version of the TLS protocol to use.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSProtocol <em>version</em>+</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TLSProtocol v1.2+</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + The default is `v1.2+`. Settings this to `v1.3+` would disable TLSv1.2. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSProxyCA" id="TLSProxyCA">TLSProxyCA</a> <a name="tlsproxyca" id="tlsproxyca">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>sets the root certificates to validate the backend server with.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSProxyCA <em>file.pem</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSProxyCiphersPrefer" id="TLSProxyCiphersPrefer">TLSProxyCiphersPrefer</a> <a name="tlsproxyciphersprefer" id="tlsproxyciphersprefer">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>defines ciphers that are preferred for a proxy connection.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSProxyCiphersPrefer <em>cipher(-list)</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + This will not disable any ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSProxyCiphersSuppress" id="TLSProxyCiphersSuppress">TLSProxyCiphersSuppress</a> <a name="tlsproxycipherssuppress" id="tlsproxycipherssuppress">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSProxyCiphersSuppress <em>cipher(-list)</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + This will not disable any unmentioned ciphers supported by `rustls`. + If you specify a cipher that is completely unknown, the configuration will fail. + If you specify a cipher that is known but not supported by `rustls`, + a warning will be logged but the server will continue. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSProxyEngine" id="TLSProxyEngine">TLSProxyEngine</a> <a name="tlsproxyengine" id="tlsproxyengine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>enables TLS for backend connections.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSProxyEngine on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + <code class="directive">TLSProxyEngine</code> is analog to <code class="directive"><a href="../mod/mod_ssl.html#sslproxyengine">SSLProxyEngine</a></code> in <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + </p><p> + This can be used in a server/virtual host or <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> section to + enable the module for outgoing connections using <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSProxyMachineCertificate" id="TLSProxyMachineCertificate">TLSProxyMachineCertificate</a> <a name="tlsproxymachinecertificate" id="tlsproxymachinecertificate">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + The certificate is used to authenticate against a proxied backend server. + </p><p> + If you do not specify a separate key file, the key is assumed to also be + found in the first file. You may add more than one certificate to a proxy + setup. The first certificate suitable for a proxy connection to a backend + is then chosen by <code>rustls</code>. + </p> + <p> + The path can be specified relative to the server root. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSProxyProtocol" id="TLSProxyProtocol">TLSProxyProtocol</a> <a name="tlsproxyprotocol" id="tlsproxyprotocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSProxyProtocol <em>version</em>+</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TLSProxyProtocol v1.2+</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, proxy section</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + The default is `v1.2+`. Settings this to `v1.3+` would disable TLSv1.2. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSSessionCache" id="TLSSessionCache">TLSSessionCache</a> <a name="tlssessioncache" id="tlssessioncache">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>specifies the cache for TLS session resumption.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSSessionCache <em>cache-spec</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + This uses a cache on the server side to allow clients to resume connections. + </p><p> + You can set this to `none` or define a cache as in the <code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code> + directive of <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. + </p><p> + If not configured, `mod_tls` will try to create a shared memory cache on its own, + using `shmcb:tls/session-cache` as specification. + Should that fail, a warning is logged, but the server continues. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TLSStrictSNI" id="TLSStrictSNI">TLSStrictSNI</a> <a name="tlsstrictsni" id="tlsstrictsni">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TLSStrictSNI on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TLSStrictSNI on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_tls</td></tr> +</table> + <p> + Client connections using SNI will be unsuccessful if no match is found. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_tls.html" title="English"> en </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_tls.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html b/docs/manual/mod/mod_unique_id.html new file mode 100644 index 0000000..75891fe --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_unique_id.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_unique_id.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_unique_id.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_unique_id.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_unique_id.html.en b/docs/manual/mod/mod_unique_id.html.en new file mode 100644 index 0000000..5223942 --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.en @@ -0,0 +1,250 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unique_id - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_unique_id</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_unique_id.html" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides an environment variable with a unique +identifier for each request</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>unique_id_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_unique_id.c</td></tr></table> +<h3>Summary</h3> + + + <p>This module provides a magic token for each request which is + guaranteed to be unique across "all" requests under very + specific conditions. The unique identifier is even unique + across multiple machines in a properly configured cluster of + machines. The environment variable <code>UNIQUE_ID</code> is + set to the identifier for each request. Unique identifiers are + useful for various reasons which are beyond the scope of this + document.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#theory">Theory</a></li> +</ul><h3 class="directives">Directives</h3> +<p>This module provides no + directives.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unique_id">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unique_id">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theory" id="theory">Theory</a></h2> + + + <p>First a brief recap of how the Apache server works on Unix + machines. This feature currently isn't supported on Windows NT. + On Unix machines, Apache creates several children, the children + process requests one at a time. Each child can serve multiple + requests in its lifetime. For the purpose of this discussion, + the children don't share any data with each other. We'll refer + to the children as <dfn>httpd processes</dfn>.</p> + + <p>Your website has one or more machines under your + administrative control, together we'll call them a cluster of + machines. Each machine can possibly run multiple instances of + Apache. All of these collectively are considered "the + universe", and with certain assumptions we'll show that in this + universe we can generate unique identifiers for each request, + without extensive communication between machines in the + cluster.</p> + + <p>The machines in your cluster should satisfy these + requirements. (Even if you have only one machine you should + synchronize its clock with NTP.)</p> + + <ul> + <li>The machines' times are synchronized via NTP or other + network time protocol.</li> + + <li>The machines' hostnames all differ, such that the module + can do a hostname lookup on the hostname and receive a + different IP address for each machine in the cluster.</li> + </ul> + + <p>As far as operating system assumptions go, we assume that + pids (process ids) fit in 32-bits. If the operating system uses + more than 32-bits for a pid, the fix is trivial but must be + performed in the code.</p> + + <p>Given those assumptions, at a single point in time we can + identify any httpd process on any machine in the cluster from + all other httpd processes. The machine's IP address and the pid + of the httpd process are sufficient to do this. A httpd process + can handle multiple requests simultaneously if you use a + multi-threaded MPM. In order to identify threads, we use a thread + index Apache httpd uses internally. So in order to + generate unique identifiers for requests we need only + distinguish between different points in time.</p> + + <p>To distinguish time we will use a Unix timestamp (seconds + since January 1, 1970 UTC), and a 16-bit counter. The timestamp + has only one second granularity, so the counter is used to + represent up to 65536 values during a single second. The + quadruple <em>( ip_addr, pid, time_stamp, counter )</em> is + sufficient to enumerate 65536 requests per second per httpd + process. There are issues however with pid reuse over time, and + the counter is used to alleviate this issue.</p> + + <p>When an httpd child is created, the counter is initialized + with ( current microseconds divided by 10 ) modulo 65536 (this + formula was chosen to eliminate some variance problems with the + low order bits of the microsecond timers on some systems). When + a unique identifier is generated, the time stamp used is the + time the request arrived at the web server. The counter is + incremented every time an identifier is generated (and allowed + to roll over).</p> + + <p>The kernel generates a pid for each process as it forks the + process, and pids are allowed to roll over (they're 16-bits on + many Unixes, but newer systems have expanded to 32-bits). So + over time the same pid will be reused. However unless it is + reused within the same second, it does not destroy the + uniqueness of our quadruple. That is, we assume the system does + not spawn 65536 processes in a one second interval (it may even + be 32768 processes on some Unixes, but even this isn't likely + to happen).</p> + + <p>Suppose that time repeats itself for some reason. That is, + suppose that the system's clock is screwed up and it revisits a + past time (or it is too far forward, is reset correctly, and + then revisits the future time). In this case we can easily show + that we can get pid and time stamp reuse. The choice of + initializer for the counter is intended to help defeat this. + Note that we really want a random number to initialize the + counter, but there aren't any readily available numbers on most + systems (<em>i.e.</em>, you can't use rand() because you need + to seed the generator, and can't seed it with the time because + time, at least at one second resolution, has repeated itself). + This is not a perfect defense.</p> + + <p>How good a defense is it? Suppose that one of your machines + serves at most 500 requests per second (which is a very + reasonable upper bound at this writing, because systems + generally do more than just shovel out static files). To do + that it will require a number of children which depends on how + many concurrent clients you have. But we'll be pessimistic and + suppose that a single child is able to serve 500 requests per + second. There are 1000 possible starting counter values such + that two sequences of 500 requests overlap. So there is a 1.5% + chance that if time (at one second resolution) repeats itself + this child will repeat a counter value, and uniqueness will be + broken. This was a very pessimistic example, and with real + world values it's even less likely to occur. If your system is + such that it's still likely to occur, then perhaps you should + make the counter 32 bits (by editing the code).</p> + + <p>You may be concerned about the clock being "set back" during + summer daylight savings. However this isn't an issue because + the times used here are UTC, which "always" go forward. Note + that x86 based Unixes may need proper configuration for this to + be true -- they should be configured to assume that the + motherboard clock is on UTC and compensate appropriately. But + even still, if you're running NTP then your UTC time will be + correct very shortly after reboot.</p> + + + <p>The <code>UNIQUE_ID</code> environment variable is + constructed by encoding the 144-bit (32-bit IP address, 32 bit + pid, 32 bit time stamp, 16 bit counter, 32 bit thread index) + quadruple using the + alphabet <code>[A-Za-z0-9@-]</code> in a manner similar to MIME + base64 encoding, producing 24 characters. The MIME base64 + alphabet is actually <code>[A-Za-z0-9+/]</code> however + <code>+</code> and <code>/</code> need to be specially encoded + in URLs, which makes them less desirable. All values are + encoded in network byte ordering so that the encoding is + comparable across architectures of different byte ordering. The + actual ordering of the encoding is: time stamp, IP address, + pid, counter. This ordering has a purpose, but it should be + emphasized that applications should not dissect the encoding. + Applications should treat the entire encoded + <code>UNIQUE_ID</code> as an opaque token, which can be + compared against other <code>UNIQUE_ID</code>s for equality + only.</p> + + <p>The ordering was chosen such that it's possible to change + the encoding in the future without worrying about collision + with an existing database of <code>UNIQUE_ID</code>s. The new + encodings should also keep the time stamp as the first element, + and can otherwise use the same alphabet and bit length. Since + the time stamps are essentially an increasing sequence, it's + sufficient to have a <em>flag second</em> in which all machines + in the cluster stop serving any request, and stop using the old + encoding format. Afterwards they can resume requests and begin + issuing the new encodings.</p> + + <p>This we believe is a relatively portable solution to this + problem. The identifiers + generated have essentially an infinite life-time because future + identifiers can be made longer as required. Essentially no + communication is required between machines in the cluster (only + NTP synchronization is required, which is low overhead), and no + communication between httpd processes is required (the + communication is implicit in the pid value assigned by the + kernel). In very specific situations the identifier can be + shortened, but more information needs to be assumed (for + example the 32-bit IP address is overkill for any site, but + there is no portable shorter replacement for it). </p> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_unique_id.html" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_unique_id.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html.fr.utf8 b/docs/manual/mod/mod_unique_id.html.fr.utf8 new file mode 100644 index 0000000..4cb5b1e --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.fr.utf8 @@ -0,0 +1,272 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unique_id - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_unique_id</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit une variable d'environnement contenant un +identifiant unique pour chaque requête</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>unique_id_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_unique_id.c</td></tr></table> +<h3>Sommaire</h3> + + + <p>Ce module fournit un identifiant dont l'unicité est garantie + parmi "toutes" les requêtes sous des conditions très précises. + L'identifiant unique le sera aussi parmi plusieurs machines + appartenant à un cluster correctement configuré. L'identifiant est + affecté à la variable d'environnement <code>UNIQUE_ID</code> pour + chaque requête. Les identifiants uniques sont utiles pour diverses + raisons dont la nature se situe au delà de la portée de ce + document.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#theory">Théorie</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unique_id">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unique_id">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theory" id="theory">Théorie</a></h2> + + + <p>Tout d'abord un bref rappel de la manière dont le serveur Apache + fonctionne sous Unix (cette fonctionnalité n'étant actuellement pas + supportée sous Windows NT). Sous Unix, Apache crée plusieurs + processus enfants, ces derniers traitant les requêtes une par une. + Chaque processus enfant peut traiter plusieurs requêtes pendant sa + durée de vie. Dans le cadre de cette discussion, nous supposerons + que les différents processus enfants ne s'échangent pas de données + entre eux. Nous nous référerons aux processus enfants sous le nom de + <dfn>processus httpd</dfn>.</p> + + <p>Votre site web est réparti entre une ou plusieurs machines dont + vous êtes l'administrateur, et que nous nommerons cluster de + serveurs. Chaque serveur peut exécuter plusieurs instances d'Apache. + L'ensemble de ces dernières sera considéré comme "l'Univers", et + sous certaines hypothèses, nous montrerons qu'il est possible dans + cet univers, de générer des identifiants uniques pour chaque + requête, sans pour autant nécessiter une communication importante + entre les différents serveurs du cluster.</p> + + <p>Les machines de votre cluster doivent satisfaire ces conditions + (même si le cluster ne comporte qu'une machine, vous devez + synchroniser son horloge avec NTP) :</p> + + <ul> + <li>Les temps des machines sont synchronisés via NTP ou tout autre + protocole de synchronisation du temps en réseau.</li> + + <li>Les nom d'hôtes des machines sont tous différents, de façon à + ce que le module puisse recevoir une adresse IP différente pour + chaque machine du cluster en effectuant une recherche sur le nom + d'hôte.</li> + </ul> + + <p>Au vu des caractéristiques actuelles du système d'exploitation, + nous supposerons que les pids (identifiants processus) sont codés + sur 32 bits. Si le système d'exploitation utilise plus de 32 bits + pour un pid, la correction est triviale mais doit être effectuée + dans le code.</p> + + <p>Ces hypothèses posées, à un instant donné, nous pouvons + distinguer tout processus httpd sur toute machine du cluster de tous + les autres processus httpd. Pour ce faire, il suffit d'utiliser + l'adresse IP de la machine et le pid du processus httpd. Un + processus httpd peut traiter plusieurs requêtes simultanément si + vous utilisez un module MPM multi-threadé. Pour identifier les + threads, Apache httpd utilise en interne un index de threads. Ainsi, + afin de générer des identifiants uniques pour chaque requête, il + suffit d'effectuer une distinction en fonction du temps.</p> + + <p>Pour déterminer le temps, nous utiliserons un repère de temps + Unix (les secondes écoulées depuis le 1er janvier 1970 UTC), et un + compteur 16 bits. La précision du repère de temps n'étant que d'une + seconde, le compteur va représenter 65536 valeurs par seconde. Le + quadruplet <em>(adresse IP, pid, repère de temps, compteur)</em> est + en mesure de distinguer 65536 requêtes par seconde par processus + httpd. Il peut cependant arriver que le même pid soit réutilisé au + cours du temps, et le compteur est là pour pallier cet + inconvénient.</p> + + <p>Lorsqu'un processus enfant httpd est créé, le compteur est + initialisé avec (nombre de microsecondes actuel divisé par 10) + modulo 65536 (cette formule a été choisie pour éliminer certains + problème de variance avec les bits de poids faibles du compteur de + microsecondes sur certains systèmes). Lorsqu'un identifiant unique + est généré, le repère de temps utilisé est le moment où la requête + arrive sur le serveur web. Le compteur est incrémenté à chaque + création d'identifiant (et peut repasser à 0 lorsqu'il a atteint sa + valeur maximale).</p> + + <p>Le noyau génère un pid pour chaque processus lors de sa création, + et le compteur de pid est réinitialisé à une certaine valeur + lorsqu'il a atteint sa valeur maximale (les pid sont codés sur 16 + bits sous de nombreux Unixes, mais les systèmes les plus récents les + ont étendus à 32 bits). La même valeur de pid pourra donc être + réutilisée au cours du temps. Cependant, tant qu'elle n'est pas + réutilisée dans la même seconde, elle ne remet pas en cause + l'unicité de notre quadruplet. Nous supposerons donc que le système + ne créera pas plus de 65536 processus en une seconde (ce nombre peut + être de 32768 sous certains Unixes, mais même dans ce cas, on est en + général loin de cette situation).</p> + + <p>Il est possible que le temps se répète pour une raison + quelconque. + Supposons par exemple que l'horloge système soit retardée et repasse + par un temps passé (ou bien, comme elle avançait, elle a été remise + à l'heure, et elle repasse par un temps futur). Dans ce cas, il peut + être facilement démontré que le couple pid/repère de temps peut être + réutilisé. Le choix de la formule d'initialisation du compteur a + été effectué dans l'intention de pallier ce problème. Notez qu'un + nombre vraiment aléatoire serait souhaitable pour initialiser le + compteur, mais il n'existe pas de tel nombre directement lisible sur + la plupart des systèmes (c'est à dire que vous ne pouvez pas + utiliser rand() car vous devez déclencher le générateur avec une + valeur unique, et vous ne pouvez pas utiliser le temps à cet effet + car celui-ci , au moins à la seconde près, s'est répété). Il ne + s'agit donc pas d'une défense parfaite.</p> + + <p>Même si elle n'est pas parfaite, quel est le degré d'efficacité + de cette défense ? Supposons + qu'une de vos machines serve au plus 500 requêtes par seconde (ce + qui constitue une limite supérieure très raisonnable au moment où ce + document est écrit, car les systèmes ne se contentent en général pas + de débiter des fichiers statiques). Pour y parvenir, un certain nombre + de processus enfants sera nécessaire, qui dépendra du nombre de + clients simultanés présents. Mais soyons pessimiste et supposons + qu'un seul processus enfant soit capable de servir 500 requêtes par + secondes. + Il existe 1000 valeurs de démarrage possibles du compteur pour + lesquelles deux séquences de 500 requêtes puissent se recouvrir. Il + y a donc 1,5% de chance que le processus enfant répète une valeur de + compteur si le temps se répète (avec une résolution d'une seconde), + et l'unicité sera alors remise en cause. C'est cependant un exemple + très pessimiste, et avec les valeurs du monde réel, il y a bien + moins de chances que cela ne se produise. Si vous estimez que ceci a + tout de même quelque chances de se produire sur votre système, vous + pouvez migrer vers un compteur à 32 bits (en modifiant le code).</p> + + <p>On pourrait supposer que ceci a plus de chance de se produire + lors du passage à l'heure d'hiver où l'horloge est "retardée". Cela + ne constitue cependant pas un problème car les temps pris en compte + ici sont des temps UTC, qui vont "toujours" de l'avant. Notez que + les Unixes à base de processeur x86 peuvent nécessiter une + configuration particulière pour que ceci soit vrai -- il doivent + être configurés pour assumer que l'horloge système est en UTC et + compenser de manière appropriée. Mais même dans ce cas, si vous + utilisez NTP, votre temps UTC sera correct peu après le + redémarrage.</p> + + + <p>La variable d'environnement <code>UNIQUE_ID</code> est construite + par codage du quadruplet de 144 bits (adresse IP sur 32 bits, pid + sur 32 bits, repère de temps sur 32 bits, compteur 16 bits et index + de threads sur 32 bits) en + utilisant l'alphabet <code>[A-Za-z0-9@-]</code> d'une manière + similaire à celle du codage MIME base64, et sa valeur se présente + sous la forme d'une chaîne de 24 caractères. L'alphabet MIME base64 + est en fait <code>[A-Za-z0-9+/]</code> ; cependant, les caractères + <code>+</code> et <code>/</code> nécessitent un codage particulier + dans les URLs, ce qui rend leur utilisation peu commode. Toutes les + valeurs sont codées dans l'ordre des octets d'une adresse réseau de + façon à ce + que le codage soit comparable entre des architectures où l'ordre des + octets est différent. L'ordre réel de codage est : repère de temps, + adresse IP, pid, compteur. Cet ordre de codage possède un but + précis, mais il faut souligner que les applications n'ont aucun + intérêt à entrer dans les détails de ce codage. Les applications + doivent se contenter de traiter la variable <code>UNIQUE_ID</code> + comme un symbole opaque, qui peut être comparé avec d'autres + <code>UNIQUE_ID</code>s en ne testant que leur égalité.</p> + + <p>L'ordre a été choisi de façon à ce qu'il soit possible de + modifier le codage dans le futur sans avoir à se préoccuper de + conflits éventuels avec une base de données de + <code>UNIQUE_ID</code>s existante. Les nouveaux codages doivent + conserver le repère de temps comme premier élément, et pour le + reste, utiliser les même alphabet et longueur en bits. Comme les + repères de temps constituent essentiellement un séquence croissante, + il suffit que toutes les machines du cluster arrêtent de traiter + toute requête dans la même <em>seconde repère</em>, et n'utilisent + alors plus l'ancien format de codage. Ensuite, elles peuvent + reprendre le traitement des requêtes en utilisant les nouveaux + codages.</p> + + <p>Nous pensons que ceci apporte une solution relativement portable + au problème. Les + identifiants générés possèdent une durée de vie pratiquement infinie + car les identifiants futurs pourront être allongés selon les + besoins. Pratiquement aucune communication n'est requise entre les + machines du cluster (seule la synchronisation NTP est requise, ce + qui représente une charge très faible), et aucune communication + entre les processus httpd n'est nécessaire (la communication est + implicite et incluse dans le pid assigné par le noyau). Dans des + situations très spécifiques, l'identifiant peut être raccourci, mais + dans ce cas, d'avantage d'informations doivent être admises (par + exemple, les 32 bits de l'adresse IP sont excessifs pour la plupart + des sites, mais il n'existe pas de valeur de remplacement portable + plus courte).</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_unique_id.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html.ja.utf8 b/docs/manual/mod/mod_unique_id.html.ja.utf8 new file mode 100644 index 0000000..bc164a2 --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.ja.utf8 @@ -0,0 +1,248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unique_id - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_unique_id</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>それぞれのリクエストに対する一意な識別子の入った環境変数を +提供する</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>unique_id_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_unique_id.c</td></tr></table> +<h3>概要</h3> + + + <p>このモジュールは非常に制限された条件下で、 + それぞれのリクエストに「すべて」のリクエストに対して + 一意に決まることが保証されている魔法のトークンを提供します。 + この一意な識別子は、適切に設定されたクラスタでは複数の + マシンの間でさえも一意になります。それぞれのリクエストに対して環境変数 + <code>UNIQUE_ID</code> に識別子が設定されます。 + 一意な識別子が便利な理由はいろいろありますが、 + このドキュメントの目的からは外れるため、ここでは説明しません。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#theory">理論</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<p>このモジュールにディレクティブはありません。</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unique_id">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unique_id">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theory" id="theory">理論</a></h2> + + + <p>まずはじめに、Apache サーバが Unix + マシンでどのように動作をするかを簡単に説明します。 + この機能は現時点では Windows NT ではサポートされていません。 + Unix マシンでは Apache はいくつかの子プロセスを作成し、 + その子プロセスが一つずつリクエストを処理します。それぞれの子プロセスは、 + 生存期間中に複数のリクエストを扱うことができます。 + この議論では子プロセス間では一切データを共有しないことにします。 + 以後、この子プロセスのことを <dfn>httpd プロセス</dfn> と呼びます。</p> + + <p>あなたのウェブサイトにはあなたが管理するいくつかのマシンがあるとします。 + それらをまとめてクラスタと呼ぶことにします。それぞれのマシンは複数の + Apache を実行することもできます。 + これらすべてをまとめたものが「宇宙」であると考えられます。 + いくつかの仮定の下で、クラスタのマシン間がたくさん通信をすることなく、 + この宇宙の中でそれぞれのリクエストに一意な識別子を生成できることを示します。 + </p> + + <p>クラスタにあるマシンは以下の要求を見たさなければなりません。 + (マシンが一つだけだとしても、NTP で時計を合わせる方が良いです。)</p> + + <ul> + <li>NTP や他のネットワーク上で時間を合わせるプロトコルによって + 各マシンの時間の同期が取られていること。</li> + + <li>モジュールがホスト名を引いて違う IP + アドレスを受け取ることができるように、 + クラスタのそれぞれのマシンのホスト名が違うこと。</li> + </ul> + + <p>オペレーティングシステムにおいては、pid (プロセス ID) が + 32 ビットの範囲内であることを仮定します。オペレーティングシステムの + pid が 32 ビットを超える場合は、簡単な修正ではありますが、 + コードを変更する必要があります。</p> + + <p>これらの仮定が満たされていると、ある時点において、 + クラスタ内のどのマシンのどの httpd + プロセスでも、一意に同定することができます。これはマシンの IP + アドレスと httpd プロセスの pid で十分に行なうことができます。 + ですから、リクエストに一意な識別子を生成するためには、 + 時刻を区別する必要があるだけです。</p> + + <p>時刻を区別するために、Unix のタイムスタンプ (UTC の 1970 年 + 1 月 1 日からの秒数) と、16 ビットのカウンタを使います。 + タイムスタンプの粒度は一秒ですので、一秒間の 65536 + までの値を表現するためにカウンタを使用します。四つの値 + <em>( ip_addr, pid, time_stamp, counter )</em> で各 httpd + プロセスで一秒の間に 65536 リクエストを数えあげることができます。 + 時間が経つと pid が再利用されるという問題がありますが、 + この問題を解決するためにカウンタが使用されます。</p> + + <p>httpd の子プロセスが作成されると、カウンタは + (その時点のマイクロ秒 ÷ 10) modulo 65536 で初期化されます + (この式はいくつかのシステムにある、マイクロ秒の + タイマの下位ビットが異なるという問題を解決するために選ばれました)。 + 一意な識別子が生成されたとき、使用されるタイムスタンプは + ウェブサーバにリクエストが到着した時刻になります。 + カウンタは識別子が生成されるたびに増加します + (あふれた場合は 0 に戻ります)。</p> + + <p>カーネルはプロセスをフォークすると、それぞれのプロセスのために + pid を生成します。pid は繰り返されることが許可されています + (pid の値は多くの Unix では 16 ビットですが、新しいシステムでは + 32 ビットに拡張されています)。 + ですから、ある程度の時間が経過すると同じ pid が再び使用されます。 + しかし、一秒内に再使用されなければ、 + 四つの値の一意性は保たれます。つまり、我々はシステムが一秒間 + に 65536 個のプロセスを起動しないと仮定しています (いくつかの Unix + では 32768 プロセスですが、それですらほとんどあり得ないでしょう)。</p> + + <p>何らかの理由で、同じ時刻が繰り返されたとしましょう。 + つまり、システムの時計が狂っていて、もう一度過去の時刻になってしまった + (もしくは進みすぎていたときに、 + 正しい時刻に戻したために再び将来の時刻になってしまった) とします。 + この場合、pid とタイムスタンプが再使用されることが簡単に示されます。 + カウンタ初期化用の関数は、この問題の回避を手助けしようと選択されています。 + 本当はカウンタの初期化をするためにランダムな数字を使いたいのですが、 + ほとんどのシステムでは簡単に使用できる数は無いことに注意してください + (<em>すなわち</em>、rand ()は使えません。rand () には seed + を与える必要があり、seed には時刻を使えません。一秒単位では、 + その時刻はすでに繰り返されているからです)。 + これは、完璧な対策ではありません。</p> + + <p>この対策はどのくらい効果があるでしょうか? + ここでは、マシン群の中の一つは最大で一秒に 500 + リクエストを扱うと仮定します (これを書いている時点では妥当な上限です。 + 通常システムがすることは静的なファイルを取りだすだけではありませんから)。 + それを行なうために、そのマシンは並行して来るクライアントの数に + 応じた数の子プロセスを要求します。 + しかしながら、悲観的に考えて、一つの子プロセスが一秒に 500 + リクエストを扱えるとします。そうすると、(一秒の精度において) + 時刻が同じ時を繰り返すと、この子プロセスがカウンタの値を再び使い、 + 一意性が壊れる可能性が 1.5% あります。 + これは非常に悲観的な例で、実世界の値では、ほとんど起こりそうにありません。 + それでもこれが起こる可能性のあるようなシステムなら、 + (プログラムコードを編集して) + カウンタを 32 ビットにするのが良いでしょう。 + </p> + + <p>サマータイムにより時計が「戻される」ことを気にしている人が + いるかもしれません。ここで使用される時間は UTC であり、 + それは「常に」進むのでここでは問題になりません。x86 上の Unix + はこの条件を満たすために適切な設定が必要かもしれないことに + 注意してください。マザーボードの時計は UTC になっていて、 + 他の時間はそこから適切に補正されることを仮定できるように + 設定されなければなりません。そのような場合でさえ、NTP + を使っているならばリブート後にすぐ正しい UTC の時間になるでしょう。</p> + + <p><code>UNIQUE_ID</code> 環境変数は 112 ビット (32 ビット IP + アドレス、32 ビット pid, 32 ビットタイムスタンプ、16 + ビットカウンタの四つの組) をアルファベット <code>[A-Za-z0-9@-]</code> + を用いて MIME の base64 符号化と同様の方法により符号化し、19 + の文字を生成することにより作成されます。MIME の base64 + のアルファベットは実際は <code>[A-Za-z0-9+/]</code> ですが、 + <code>+</code> と <code>/</code> とは URL + では特別な符号化が必要なので、あまり望ましくありません。 + 全ての値はネットワークバイトオーダで符号化されますので、 + 符号は違ったバイトオーダのアーキテクチャ間で比較可能です。 + 実際の符号化の順番は: タイムスタンプ、IP アドレス、pid, + カウンタです。この順には目的がありますが、 + アプリケーションは符号を解析するべきではないことを強調しておきます。 + アプリケーションは符号化された <code>UNIQUE_ID</code> + 全体を透過的なトークンとして扱うべきです。 + <code>UNIQUE_ID</code> は他の <code>UNIQUE_ID</code> + との等価性を調べるためだけにのみ使用できます。</p> + + <p>この順番は将来、既存の <code>UNIQUE_ID</code> + のデータベースとの衝突を心配することなく符号を変更することが + 可能になるように選択しています。 + 新しい符号はタイムスタンプを最初の要素として残すのが望ましく、 + それ以外は同じアルファベットとビット長を使うことができます。 + タイムスタンプは本質的に増加系列ですので、 + クラスタの全てのマシンがリクエストとサーバ機能を停止して、 + 古い符号化方式を使用するのをやめる<em>フラグ秒</em>があれば十分です。 + その後は、リクエストを再開し、 + 新しい符号を発行することができるようになります。</p> + + <p>我々はこれが、 + この問題に対する比較的移植性の高い解決法だと考えています。 + Windows NT のようなマルチスレッドのシステムに拡張することができますし、 + 将来必要になればさらに増やすこともできます。 + ID は必要に応じて長くすることができますので、生成された ID + は実質上、無限に有効です。また、クラスタのマシン間の通信も事実上必要なく + (NTP による同期のみが必要で、これはオーバヘッドはあまりありません)、httpd + プロセス間の通信も必要ありません (通信はカーネルにより割り当てられた + pid の値により暗黙の内に行なわています)。 + さらに限られた状況下では、ID はさらに短くすることができますが、 + より多くの情報を仮定する必要がでてきます (例えば、32 ビット + IP アドレスはどのサイトにおいても過剰な情報ですが、 + それの代わりになる移植性のあるものはありません)。</p> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_unique_id.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unique_id.html.ko.euc-kr b/docs/manual/mod/mod_unique_id.html.ko.euc-kr new file mode 100644 index 0000000..1ee6e05 --- /dev/null +++ b/docs/manual/mod/mod_unique_id.html.ko.euc-kr @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unique_id - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_unique_id</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> û ĺڸ ȯ溯 +Ѵ</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>unique_id_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_unique_id.c</td></tr></table> +<h3></h3> + + + <p> Ư Ȳ "" û߿ + ϵ ĺ(identifier) û Ѵ. + ĺڴ Ưϰ Ŭ ǻ͵ + ߿ ϴ. û ȯ溯 + <code>UNIQUE_ID</code> Ѵ. ĺڴ + 뵵 , Ѿ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3></h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#theory">̷</a></li> +</ul><h3 class="directives">þ</h3> +<p> þ ϴ.</p> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unique_id">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unique_id">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="theory" id="theory">̷</a></h2> + + + <p> н ýۿ ġ ϴ + 캸. Windows NT ʴ´. + н ġ ڽ , ڽ μ + ѹ û óѴ. ڽ ߿ û + óѴ. ⼭ ߿ ڽĵ ڷḦ + ʴ´ٴ ̴. ڽ httpd μ + Ѵ.</p> + + <p> ǻͷ Ʈ Ѵٸ Ŭ(cluster) + θ. ǻʹ ġ ִ. ̵ θ + "" , ŬͿ ִ ǻ͵鰣 ž + û ֿ ĺڸ ִ.</p> + + <p>ŬͿ ִ ǻʹ 䱸 ؾ Ѵ. + (ǻ Ѵ븸 ϴ ǻ ð NTP ؾ + Ѵ.)</p> + + <ul> + <li>ǻ ð NTP ٸ Ʈ ð ݰ + ȭȴ.</li> + + <li>ǻ ȣƮ ٸ. + ȣƮ ã ŬͿ ִ ǻ ٸ + IP ּҸ ´.</li> + </ul> + + <p>ü pid (μ id) 32Ʈ ٰ + Ѵ. ü pid 32Ʈ ̻ Ѵٸ + ڵ带 ؾ Ѵ.</p> + + <p>̷ Ͽ 츮 Ŭ ǻͿ + ִ httpd μ ٸ httpd μ + ִ. ǻ IP ּҿ httpd μ pidε + ִ. û ڸ + ð ȴ.</p> + + <p>ð ϱ н ð(timestamp, ǥؽ÷ + 1970 1 1 ) 16Ʈ ī Ѵ. + н ð ʴ̰, īʹ ʵ 65536 + Ѵ. <em>( ip_addr, pid, time_stamp, counter )</em> + httpd μ ʵ 65536 û + ִ. īʹ pid ϴ ذؾ + Ѵ.</p> + + <p>httpd ڽ īʹ ( и 10 ) + 65536 ȴ. ( ý и ð + Ʈ ġʴ .) + ĺڸ 鶧 ϴ ð û + ð̴. īʹ ĺڸ 鶧 Ѵ ( + ٽ Ѵ).</p> + + <p>Ŀ μ ũҶ(fork) μ pid + Ҵϰ, pid ٽ ִ. (pid н + 16Ʈ, ֱ ý 32Ʈ Ȯߴ.) ð + pid ִ. ð pid + ʴ´ٸ ϴ. , 츮 ý + ʵ μ 65536 ̻ ʴ´ٰ Ѵ. + ( н 32768 ̻ μ pid + , ̰ Ͼ Ͱ ʴ.)</p> + + <p>ð ݺȴٰ غ. , ý + ð谡 ð ŷ ư (Ȥ ð谡 ʹ ռ + ùٷ 缳 ̷ ð Ǵ) . + pid ð ִ. ī ʱȭ + ذϷ ȵǾ. 츮 ڷ + ī ʱȭϱ , ýۿ ̷ + . (<em> </em>, seed ʿϱ + rand() , ð ּ ̱ + ð seed .) Ϻ ذå .</p> + + <p> ? ǻ ϳ û + ʴ ִ 500 (ý Ϲ ϴ + ̻ ۾ ϹǷ + ̴.) Ѵٰ . ÿ ŭ Ŭ̾Ʈ + óϴ° ڽ ȴ. 츮 + ڽ û ʴ 500 ó ִٰ + Ѵ. pid ڽ 500 û ڽ + 500 û īͰ ĥ ִ ī ۰ + 1000̴. (ʴ) ڽ īͰ ݺϿ + ϼ Ȯ 1.5%̴. ̰ ſ ̸, + ̷ . ýۿ ̷ + ٸ (ҽ Ͽ) ī 32Ʈ + .</p> + + <p>ŸӶ ð谡 "ڷ " . + ⼭ ϴ ð ǥؽ(UTC), ð + "" Ƿ . x86 н + ʿϴ. κ ð谡 UTC ϵ + ؾ Ѵ. NTP Ѵٸ + UTC ð ùٷ .</p> + + <p>ȯ溯 <code>UNIQUE_ID</code> MIME base64 ڵ + 112Ʈ (32Ʈ IP ּ, 32Ʈ pid, 32Ʈ + ð, 16Ʈ ī) ĺ <code>[A-Za-z0-9@-]</code> + ǥѴ. MIME base64 ĺ + <code>[A-Za-z0-9+/]</code> <code>+</code> + <code>/</code> URL Ư ǹ̷ ϹǷ ߴ. + Ʈ Ʈ ڵϱ ٸ Ʈ + ϴ Űİ . ڵ + ð, IP ּ, pid, ī ̴. + , α ڵ Ͽ мϸ + ȵ Ѵ. α ڵ <code>UNIQUE_ID</code> + ü ϰ, ٸ <code>UNIQUE_ID</code> + ִ.</p> + + <p> <code>UNIQUE_ID</code> ͺ̽ + 浹 ʰ ڵ ֵ ߴ. + ο ڵ ù ð ϰų, ĺ + Ʈ ̸ ִ. ð ⺻ ϴ ̹Ƿ + ŬͿ ִ ǻͰ û ߴϰ + ڵ ϱ <em> (flag second)</em> + ϴ. û ϰ ο ڵ + ִ.</p> + + <p>츮 Ͽ ð + ذå̶ ϴ´. Windows NT Ƽ + ý Ȯ ְ, 뵵 Ȯ + ִ. ̷ ʿѸŭ ĺڸ ֱ + ĺڴ ⺻ . ⺻ + Ŭ ǻ͵ ̿ ʿ (ϰ + NTP ⸸ ʿϴ), httpd μ ̿ ŵ ʿ + (Ŀ οϴ pid Ϲ ̴). ſ Ư + Ȳ̶ ν ũ⸦ + ؾ Ѵ. ( , Ʈ 32Ʈ IP ּ + ʿϰ ũ, ̸ ̴ Ȳ + ٸ.) </p> +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unique_id.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_unique_id.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_unique_id.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.html b/docs/manual/mod/mod_unixd.html new file mode 100644 index 0000000..fc9f1b8 --- /dev/null +++ b/docs/manual/mod/mod_unixd.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_unixd.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_unixd.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_unixd.html.en new file mode 100644 index 0000000..f36814d --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.en @@ -0,0 +1,211 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unixd - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_unixd</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_unixd.html" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Basic (required) security for Unix-family platforms.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>unixd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_unixd.c</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#chrootdir">ChrootDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#group">Group</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unixd">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unixd">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../suexec.html">suEXEC support</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ChrootDir" id="ChrootDir">ChrootDir</a> <a name="chrootdir" id="chrootdir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory for apache to run chroot(8) after startup.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ChrootDir <var>/path/to/directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_unixd.html">mod_unixd</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.2.10 and later</td></tr> +</table> + <p>This directive tells the server to <var>chroot(8)</var> to the + specified directory after startup, but before accepting requests + over the 'net.</p> + <p>Note that running the server under chroot is not simple, + and requires additional setup, particularly if you are running + scripts such as CGI or PHP. Please make sure you are properly + familiar with the operation of chroot before attempting to use + this feature.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Group" id="Group">Group</a> <a name="group" id="group">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Group under which the server will answer +requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Group <var>unix-group</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Group #-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>The <code class="directive">Group</code> directive sets the group under + which the server will answer requests. In order to use this + directive, the server must be run initially as <code>root</code>. If + you start the server as a non-root user, it will fail to change to the + specified group, and will instead continue to run as the group of the + original user. <var>Unix-group</var> is one of:</p> + + <dl> + <dt>A group name</dt> + <dd>Refers to the given group by name.</dd> + + <dt><code>#</code> followed by a group number.</dt> + <dd>Refers to a group by its number.</dd> + </dl> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">Group www-group</pre> +</div> + + <p>It is recommended that you set up a new group specifically for + running the server. Some admins use user <code>nobody</code>, + but this is not always possible or desirable.</p> + + <div class="warning"><h3>Security</h3> + <p>Don't set <code class="directive">Group</code> (or <code class="directive"><a href="#user">User</a></code>) to <code>root</code> unless + you know exactly what you are doing, and what the dangers are.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostgroup">VHostGroup</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a> <a name="suexec" id="suexec">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable or disable the suEXEC feature</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Suexec On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>On if suexec binary exists with proper owner and mode, +Off otherwise</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>When On, startup will fail if the suexec binary doesn't exist + or has an invalid owner or file mode.</p> + <p>When Off, suEXEC will be disabled even if the suexec binary exists + and has a valid owner and file mode.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="User" id="User">User</a> <a name="user" id="user">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The userid under which the server will answer +requests</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>User <var>unix-userid</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>User #-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>The <code class="directive">User</code> directive sets the user ID as + which the server will answer requests. In order to use this + directive, the server must be run initially as <code>root</code>. + If you start the server as a non-root user, it will fail to change + to the lesser privileged user, and will instead continue to run as + that original user. If you do start the server as <code>root</code>, + then it is normal for the parent process to remain running as root. + <var>Unix-userid</var> is one of:</p> + + <dl> + <dt>A username</dt> + <dd>Refers to the given user by name.</dd> + + <dt># followed by a user number.</dt> + <dd>Refers to a user by its number.</dd> + </dl> + + <p>The user should have no privileges that result in it being + able to access files that are not intended to be visible to the + outside world, and similarly, the user should not be able to + execute code that is not meant for HTTP requests. It is + recommended that you set up a new user and group specifically for + running the server. Some admins use user <code>nobody</code>, but + this is not always desirable, since the <code>nobody</code> user + can have other uses on the system.</p> + + <div class="warning"><h3>Security</h3> + <p>Don't set <code class="directive">User</code> (or <code class="directive"><a href="#group">Group</a></code>) to <code>root</code> unless + you know exactly what you are doing, and what the dangers are.</p> + </div> + + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostuser">VHostUser</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_unixd.html" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_unixd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.html.fr.utf8 b/docs/manual/mod/mod_unixd.html.fr.utf8 new file mode 100644 index 0000000..2fb3b06 --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.fr.utf8 @@ -0,0 +1,226 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unixd - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_unixd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>unixd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_unixd.c</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#chrootdir">ChrootDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#group">Group</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unixd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unixd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../suexec.html">Support de suEXEC</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="chrootdir" id="chrootdir">Directive</a> <a name="ChrootDir" id="ChrootDir">ChrootDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8).</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ChrootDir <var>chemin-répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_unixd.html">mod_unixd</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.10 d'Apache</td></tr> +</table> + <p>Cette directive fait en sorte que le serveur effectue un + <var>chroot(8)</var> vers le répertoire spécifié après le démarrage, + mais avant d'accepter les requêtes en provenance du réseau.</p> + <p>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é.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="group" id="group">Directive</a> <a name="Group" id="Group">Group</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Groupe sous lequel le serveur va traiter les +requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Group <var>groupe unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Group #-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>La directive <code class="directive">Group</code> permet de définir le + groupe sous lequel le serveur va traiter les requêtes. Pour + utiliser cette directive, le serveur doit avoir été démarré par + <code>root</code>. 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é. <var>groupe unix</var> + peut se présenter sous la forme :</p> + + <dl> + <dt>d'un nom de groupe</dt> + <dd>Référence le groupe spécifié par son nom.</dd> + + <dt>du caractère <code>#</code> suivi d'un numéro de groupe.</dt> + <dd>Référence le groupe spécifié par son numéro.</dd> + </dl> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Group www-group</pre> +</div> + + <p>Il est conseillé de créer un groupe dédié à l'exécution du + serveur. Certains administrateurs utilisent l'utilisateur + <code>nobody</code>, mais ce n'est pas toujours souhaitable ou même + possible.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Ne définissez pas la directive <code class="directive">Group</code> (ou + <code class="directive"><a href="#user">User</a></code>) à + <code>root</code> à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostgroup">VHostGroup</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="suexec" id="suexec">Directive</a> <a name="Suexec" id="Suexec">Suexec</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la fonctionnalité suEXEC</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Suexec On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>On si le binaire suexec existe avec les mode et propriétaire +appropriés, Off dans le cas contraire</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>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.</p> + <p>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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="user" id="user">Directive</a> <a name="User" id="User">User</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'utilisateur sous lequel le serveur va traiter les +requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>User <var>utilisateur unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>User #-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>La directive <code class="directive">User</code> permet de définir + l'utilisateur sous lequel le serveur va traiter les requêtes. Pour + utiliser cette directive, le serveur doit avoir été démarré + par <code>root</code>. 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 <code>root</code>, il est normal que le processus parent + continue à s'exécuter sous root. <var>utilisateur unix</var> peut se + présenter sous la forme :</p> + + <dl> + <dt>d'un nom d'utilisateur</dt> + <dd>Référence l'utilisateur spécifié par son nom.</dd> + + <dt>le caractère # suivi d'un numéro d'utilisateur.</dt> + <dd>Référence l'utilisateur spécifié par son numéro.</dd> + </dl> + + <p>L'utilisateur ne doit pas posséder de privilèges qui lui + permettraient d'accéder à des fichiers non destinés au + 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 <code>nobody</code>, mais ce n'est pas toujours + souhaitable, car l'utilisateur <code>nobody</code> peut avoir + diverses utilisations dans le système.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Ne définissez pas la directive <code class="directive">Group</code> (ou + <code class="directive"><a href="#user">User</a></code>) à + <code>root</code> à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostuser">VHostUser</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_unixd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.html.tr.utf8 b/docs/manual/mod/mod_unixd.html.tr.utf8 new file mode 100644 index 0000000..8689073 --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.tr.utf8 @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unixd - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_unixd</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Unix ailesi platformlar için temel (gerekli) güvenlik.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>unixd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_unixd.c</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#chrootdir">ChrootDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#group">Group</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unixd">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unixd">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../suexec.html">suEXEC desteği</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ChrootDir" id="ChrootDir">ChrootDir</a> <a name="chrootdir" id="chrootdir">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun başlatıldıktan sonra chroot(8) yapacağı dizini + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ChrootDir <var>/dizin/yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/mod_unixd.html">mod_unixd</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.2.10 and laterve sonraki sürümlerinde + kullanılabilir.</td></tr> +</table> + <p>Bu yönerge sunucuya başlatıldıktan sonra ağdan gelen istekleri kabul + etmeden önce belirtilen dizine <var>chroot(8)</var> yapmasını söyler.</p> + + <p>Sunucuyu chroot altında çalıştırmanın basit bir işlem olmadığına ve + özellikle CGI veya PHP gibi betikler çalıştırıyorsanız ek ayarlamalar + yapmanız gerektiğine dikkat ediniz. Lütfen, bu özelliği kullanmaya + çalışmadan önce chroot işlemleri hakkında gerektiği kadar bilgi sahibi + olduğunuzdan emin olunuz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Group" id="Group">Group</a> <a name="group" id="group">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İsteklere yanıt verecek sunucunun ait olacağı grubu belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Group <var>unix-grubu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Group #-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_unixd</td></tr> +</table> + <p><code class="directive">Group</code> yönergesi, sunucunun hangi grup altında + isteklere yanıt vereceğini belirler. Bu yönergenin uygulanabilmesi için + sunucunun <code>root</code> olarak çalıştırılmış olması gerekir. + Sunucuyu <code>root</code> dışında bir kullanıcı başlattığı takdirde, + sunucu belirtilen gruba geçemez ve kullanıcının kendi grubunda + çalışmaya devam eder. <var>unix-grubu</var> şunlardan biri olabilir:</p> + + <dl> + <dt>Bir grup adı</dt> + <dd>Gruba ismiyle başvurulur.</dd> + + <dt><code>#</code> ardından grup numarası</dt> + <dd>Gruba numarası ile başvurulur.</dd> + </dl> + + <pre class="prettyprint lang-config">Group www-group</pre> + + + <p>Çalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı + sistem yöneticileri <code>nobody</code> grubunu kullanırlar fakat + bu her zaman mümkün olmadığı gibi arzulanan da değildir.</p> + + <div class="warning"><h3>Güvenlik</h3> + <p>Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız + <code class="directive">Group</code> (veya <code class="directive"><a href="#user">User</a></code>) yönergesine değer olarak + <code>root</code> atamayınız.</p> + </div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostuser">VHostUser</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a> <a name="suexec" id="suexec">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>suEXEC özelliğini etkin veya etkisiz yapar</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Suexec On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>suexec çalıştırılabiliri uygun sahip ve kip ile mevcutsa On, değilse + Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_unixd</td></tr> +</table> + <p>On olduğunda, suexec çalıştırılabiliri yoksa veya dosya kipi ve sahibi + geçersizse httpd başlatılamaz.</p> + <p>Off olduğunda, suexec çalıştırılabiliri varsa ve hatta dosya kipi ve + sahibi geçerli olsa bile suEXEC özelliği iptal edilir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="User" id="User">User</a> <a name="user" id="user">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İsteklere yanıt verecek sunucunun ait olacağı kullanıcıyı + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>User <var>unix-kullanıcısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>User #-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_unixd</td></tr> +</table> + <p><code class="directive">User</code> yönergesi, sunucunun hangi kullanıcı olarak + isteklere yanıt vereceğini belirler. Bu yönergenin uygulanabilmesi için + sunucunun <code>root</code> olarak çalıştırılmış olması gerekir. + Sunucuyu <code>root</code> dışında bir kullanıcı başlattığı takdirde, + sunucu belirtilen kullanıcıya geçemez ve mevcut kullanıcıyla çalışmaya + devam eder. Eğer sunucuyu <code>root</code> olarak başlatmışsanız ana + süreç root olarak çalışmaya devam edecektir. <var>unix-kullanıcısı</var> + şunlardan biri olabilir:</p> + + <dl> + <dt>Bir kullanıcı adı</dt> + <dd>Gruba ismiyle başvurulur.</dd> + + <dt><code>#</code> ardından kullanıcı numarası</dt> + <dd>Kullanıcıya numarası ile başvurulur.</dd> + </dl> + + <p>Bu yönergede belirtilecek kullanıcının, başkaları tarafından üzerinde + değişiklik yapılabilecek dosyalardan başkasına erişemeyen bir kullanıcı + olmaması gerektiği gibi, HTTP isteklerini işlemek dışında işlemler de + yapabilen bir kullanıcı olmamalıdır. + Çalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı + sistem yöneticileri <code>nobody</code> kullanıcısını kullanırlar fakat + <code>nobody</code> kullanıcısı sistemde başka amaçlarla + kullanılabildiğinden bu her zaman mümkün olmadığı gibi arzulanan da + değildir.</p> + + <div class="warning"><h3>Güvenlik</h3> + <p>Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız + <code class="directive">User</code> (veya <code class="directive"><a href="#group">Group</a></code>) yönergesine değer olarak + <code>root</code> atamayınız.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostuser">VHostUser</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_unixd.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html b/docs/manual/mod/mod_userdir.html new file mode 100644 index 0000000..2e35442 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_userdir.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_userdir.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_userdir.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_userdir.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mod_userdir.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_userdir.html.en b/docs/manual/mod/mod_userdir.html.en new file mode 100644 index 0000000..5e827a6 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.en @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_userdir - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_userdir</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_userdir.html" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User-specific directories</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>userdir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_userdir.c</td></tr></table> +<h3>Summary</h3> + +<div class="warning">By using this module you are allowing multiple users +to host content within the same origin. The same origin policy is a key +principle of Javascript and web security. By hosting web pages in the same +origin these pages can read and control each other and security issues in +one page may affect another. This is particularly dangerous in combination +with web pages involving dynamic content and authentication and when +your users don't necessarily trust each other.</div> + +<p>This module allows user-specific directories to be accessed using the +<code>http://example.com/~user/</code> syntax.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../urlmapping.html">Mapping URLs to the +Filesystem</a></li> +<li><a href="../howto/public_html.html">public_html +tutorial</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UserDir" id="UserDir">UserDir</a> <a name="userdir" id="userdir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location of the user-specific directories</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UserDir <em>directory-filename</em> [<em>directory-filename</em>] ... +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_userdir</td></tr> +</table> + + <p>The <code class="directive">UserDir</code> directive sets the real + directory in a user's home directory to use when a request for a + document for a user is received. <em>Directory-filename</em> is + one of the following:</p> + + <ul> + <li>The name of a directory or a pattern such as those shown + below.</li> + + <li>The keyword <code>disabled</code>. This turns off + <em>all</em> username-to-directory translations except those + explicitly named with the <code>enabled</code> keyword (see + below).</li> + + <li>The keyword <code>disabled</code> followed by a + space-delimited list of usernames. Usernames that appear in + such a list will <em>never</em> have directory translation + performed, even if they appear in an <code>enabled</code> + clause.</li> + + <li>The keyword <code>enabled</code> followed by a + space-delimited list of usernames. These usernames will have + directory translation performed even if a global disable is + in effect, but not if they also appear in a + <code>disabled</code> clause.</li> + </ul> + + <p>If neither the <code>enabled</code> nor the + <code>disabled</code> keywords appear in the + <code class="directive">Userdir</code> directive, the argument is treated as a + filename pattern, and is used to turn the name into a directory + specification. A request for + <code>http://www.example.com/~bob/one/two.html</code> will be + translated to:</p> + + <table> + <tr><th>UserDir directive used</th> + <th>Translated path</th></tr> + <tr><td>UserDir public_html</td> + <td>~bob/public_html/one/two.html</td></tr> + <tr><td>UserDir /usr/web</td> + <td>/usr/web/bob/one/two.html</td></tr> + <tr><td>UserDir /home/*/www</td> + <td>/home/bob/www/one/two.html</td></tr> + </table> + + <p>The following directives will send redirects to the client:</p> + + <table> + <tr><th>UserDir directive used</th> + <th>Translated path</th></tr> + <tr><td>UserDir http://www.example.com/users</td> + <td>http://www.example.com/users/bob/one/two.html</td></tr> + <tr><td>UserDir http://www.example.com/*/usr</td> + <td>http://www.example.com/bob/usr/one/two.html</td></tr> + <tr><td>UserDir http://www.example.com/~*/</td> + <td>http://www.example.com/~bob/one/two.html</td></tr> + </table> + + <div class="note"> + <strong>Be careful when using this directive; for instance, + <code>"UserDir ./"</code> would map <code>"/~root"</code> to + <code>"/"</code> - which is probably undesirable. It is strongly + recommended that your configuration include a "<code>UserDir + disabled root</code>" declaration. See also the <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> directive and the <a href="../misc/security_tips.html">Security Tips</a> page for + more information.</strong> + </div> + + <p>Additional examples:</p> + + <p>To allow a few users to have <code>UserDir</code> directories, but + not anyone else, use the following:</p> + + <pre class="prettyprint lang-config">UserDir disabled +UserDir enabled user1 user2 user3</pre> + + + <p>To allow most users to have <code>UserDir</code> directories, but + deny this to a few, use the following:</p> + + <pre class="prettyprint lang-config">UserDir disabled user4 user5 user6</pre> + + + <p>It is also possible to specify alternative user directories. + If you use a command like:</p> + + <pre class="prettyprint lang-config">UserDir "public_html" "/usr/web" "http://www.example.com/"</pre> + + + <p>With a request for + <code>http://www.example.com/~bob/one/two.html</code>, will try to + find the page at <code>~bob/public_html/one/two.html</code> first, then + <code>/usr/web/bob/one/two.html</code>, and finally it will send a + redirect to <code>http://www.example.com/bob/one/two.html</code>.</p> + + <p>If you add a redirect, it must be the last alternative in the list. + Apache httpd cannot determine if the redirect succeeded or not, so if you have + the redirect earlier in the list, that will always be the alternative + that is used.</p> + + <p>User directory substitution is not active by default in versions + 2.1.4 and later. In earlier versions, <code>UserDir public_html</code> + was assumed if no <code class="directive">UserDir</code> + directive was present.</p> + + <div class="note"><h3>Merging details</h3> + <p> Lists of specific enabled and disabled users are replaced, not merged, + from global to virtual host scope</p></div> + + +<h3>See also</h3> +<ul> +<li> + <a href="../howto/public_html.html">Per-user web directories tutorial</a> +</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_userdir.html" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_userdir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.fr.utf8 b/docs/manual/mod/mod_userdir.html.fr.utf8 new file mode 100644 index 0000000..cdf61dd --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.fr.utf8 @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_userdir - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_userdir</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Répertoires propres à un utilisateur</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>userdir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_userdir.c</td></tr></table> +<h3>Sommaire</h3> + +<div class="warning">En activant ce module, vous permettez à plusieurs +utilisateurs de stocker des contenus sous un seul noeud de l'arborescence. La +politique de stockage sous un seul noeud de l'arborescence est un principe clé de +Javascript et de la sécurité du web. En stockant des pages web sous un seul noeud +de l'arborescence, celles-ci peuvent se lire et se contrôler mutuellement et +d'éventuels problèmes de sécurité liés à une page peut affecter les autres. Ceci +peut s'avérer particulièrement dangereux dans le cas des pages web mettant en +oeuvre du contenu dynamique et de l'authentification et lorsque les utilisateurs +ne se voient pas tous forcément d'un bon oeil.</div> + +<p>Ce module permet l'accès aux répertoires propres à un utilisateur en +utilisant la syntaxe <code>http://example.com/~utilisateur/</code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../urlmapping.html">Mise en correspondance des URLs +avec le système de fichiers</a></li> +<li><a href="../howto/public_html.html">Tutoriel +public_html</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="userdir" id="userdir">Directive</a> <a name="UserDir" id="UserDir">UserDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin des répertoires propres à un +utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ... +</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_userdir</td></tr> +</table> + + <p>La directive <code class="directive">UserDir</code> 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. + <em>nom-répertoire</em> peut se présenter sous la forme suivante + :</p> + + <ul> + <li>Le nom d'un répertoire ou un modèle tel que ceux présentés + ci-dessous.</li> + + <li>Le mot-clé <code>disabled</code>. <em>Toutes</em> les + traductions nom d'utilisateur vers répertoire sont alors + désactivées, à l'exception de celles comportant le mot-clé + <code>enabled</code> (voir ci-dessous).</li> + + <li>Le mot-clé <code>disabled</code> 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 <em>jamais</em> + l'objet d'une traduction vers un répertoire, même dans le cas où + ils apparaîtront dans une clause <code>enabled</code>.</li> + + <li>Le mot-clé <code>enabled</code> 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 + <code>disabled</code>.</li> + </ul> + + <p>Si aucun mot-clé <code>enabled</code> ou <code>disabled</code> + n'apparait dans la directive <code class="directive">Userdir</code>, 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 <code>http://www.example.com/~bob/un/deux.html</code> sera + traduite en :</p> + + <table> + <tr><th>Directive Userdir utilisée</th> + <th>Chemin traduit</th></tr> + <tr><td>UserDir public_html</td> + <td>~bob/public_html/un/deux.html</td></tr> + <tr><td>UserDir /usr/web</td> + <td>/usr/web/bob/un/deux.html</td></tr> + <tr><td>UserDir /home/*/www</td> + <td>/home/bob/www/un/deux.html</td></tr> + </table> + + <p>Les directives suivantes vont envoyer des redirections au client + :</p> + + <table> + <tr><th>Directive Userdir utilisée</th> + <th>Chemin traduit</th></tr> + <tr><td>UserDir http://www.example.com/utilisateurs</td> + <td>http://www.example.com/utilisateurs/bob/un/deux.html</td></tr> + <tr><td>UserDir http://www.example.com/*/usr</td> + <td>http://www.example.com/bob/usr/un/deux.html</td></tr> + <tr><td>UserDir http://www.example.com/~*/</td> + <td>http://www.example.com/~bob/un/deux.html</td></tr> + </table> + + <div class="note"> + <strong>Soyez prudent avec cette directive ; par exemple, + <code>"UserDir ./"</code> ferait correspondre + <code>"/~root"</code> à <code>"/"</code> - ce qui n'est + probablement pas souhaité. Il est fortement recommandé d'inclure + une déclaration "<code>UserDir disabled root</code>" dans votre + configuration. Voir aussi la directive <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et la page <a href="../misc/security_tips.html">Conseils en matière de + sécurité</a> pour plus d'informations.</strong> + </div> + + <p>Exemples supplémentaires :</p> + + <p>Pour permettre à quelques utilisateurs et seulement à ceux-ci de + posséder des répertoires <code>UserDir</code>, utilisez la + configuration suivante :</p> + + <pre class="prettyprint lang-config">UserDir disabled +UserDir enabled user1 user2 user3</pre> + + + <p>Pour permettre à la plupart des utilisateurs de posséder des + répertoires <code>UserDir</code>, mais l'interdire à quelques uns, + utilisez la configuration suivante :</p> + + <pre class="prettyprint lang-config">UserDir disabled utilisateur4 utilisateur5 utilisateur6</pre> + + + <p>Il est aussi possible de spécifier des répertoires utilisateurs + alternatifs. Si vous utilisez une commande comme :</p> + + <pre class="prettyprint lang-config">UserDir "public_html" "/usr/web" "http://www.example.com/"</pre> + + + <p>Avec une requête pour + <code>http://www.example.com/~bob/un/deux.html</code>, le serveur + tentera tout d'abord de trouver la page à + <code>~bob/public_html/un/deux.html</code>, puis à + <code>/usr/web/bob/un/deux.html</code>, et enfin il enverra une + redirection vers + <code>http://www.example.com/bob/un/deux.html</code>.</p> + + <p>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.</p> + + <p>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, + <code>UserDir public_html</code> était sous-entendu si aucune + directive <code class="directive">UserDir</code> + n'était présente.</p> + + <div class="note"><h3>Détails à propos de la fusion</h3> + <p>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.</p></div> + + +<h3>Voir aussi</h3> +<ul> +<li> + <a href="../howto/public_html.html">Tutoriel sur les répertoires web + utilisateur</a> +</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_userdir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.ja.utf8 b/docs/manual/mod/mod_userdir.html.ja.utf8 new file mode 100644 index 0000000..017ba7f --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.ja.utf8 @@ -0,0 +1,219 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_userdir - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_userdir</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ユーザ専用のディレクトリを提供 + </td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>userdir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_userdir.c</td></tr></table> +<h3>概要</h3> + +<p>このモジュールは、 +<code>http://example.com/~user/</code> +構文を使ってユーザ専用ディレクトリにアクセスできるようにします。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../urlmapping.html">URL から +ファイルシステムへのマッピング</a></li> +<li><a href="../howto/public_html.html">public_html +チュートリアル</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UserDir" id="UserDir">UserDir</a> <a name="userdir" id="userdir">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ユーザ専用ディレクトリの位置</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_userdir</td></tr> +</table> + + <p><code class="directive">UserDir</code> ディレクティブは、 + ユーザのドキュメントへのリクエストを受けた時に使う + ユーザのホームディレクトリ中の、実際のディレクトリを + 設定します。 + <em>directory-filename</em> には次のどれかを指定します:</p> + + <ul> + <li>ディレクトリ名か下に示すようなパターン。</li> + + <li><code>disabled</code> キーワード。 + <code>enabled</code> キーワード (下記参照) で明示的に + 指定されたユーザ以外の + <em>全ての</em>ユーザ名-ディレクトリ変換を + しないようにします。</li> + + <li><code>disabled</code> キーワードと、スペース区切りのユーザ名リスト。 + このリスト中に含まれるユーザ名に対しては、たとえ + <code>enabled</code> 節にあったとしても、 + <em>決して</em>ディレクトリ変換は行われません。</li> + + <li><code>enabled</code> キーワードとスペース区切りのユーザ名リスト。 + 全体では変換が無効になっていたとしても、 + これらのユーザ名にはディレクトリ変換が行われます。 + ただし、<code>disabled</code> 節にもあれば変換はされません。 + </li> + </ul> + + <p>もし <code>enabled</code> も <code>disabled</code> + キーワードも <code>UserDir</code> に現われていなければ、 + 引数はファイル名パターンとして扱われ、 + 名前からディレクトリへの変換の指定を行なう時に使われます。 + <code>http://www.example.com/~bob/one/two.html</code> + へのリクエストは次のように変換されます:</p> + +<table> +<tr><th>UserDir ディレクティブ</th> +<th>変換後のパス</th></tr> +<tr><td>UserDir public_html</td><td>~bob/public_html/one/two.html</td></tr> +<tr><td>UserDir /usr/web</td><td>/usr/web/bob/one/two.html</td></tr> +<tr><td>UserDir /home/*/www</td><td>/home/bob/www/one/two.html</td></tr> +</table> + + <p>次のディレクティブはクライアントに対してリダイレクトを + 送信します:</p> + +<table> +<tr><th>UserDir ディレクティブ</th> +<th>変換後のパス</th></tr> +<tr><td>UserDir http://www.example.com/users</td><td>http://www.example.com/users/bob/one/two.html</td></tr> +<tr><td>UserDir +http://www.example.com/*/usr</td><td>http://www.example.com/bob/usr/one/two.html</td></tr> +<tr><td>UserDir +http://www.example.com/~*/</td><td>http://www.example.com/~bob/one/two.html</td></tr> +</table> + +<div class="note"> + <strong>このディレクティブを使うときは注意してください; + "<code>UserDir ./</code>" は + "<code>/~root</code>" から "<code>/</code>" へマップしますが、 + これは望ましい動作ではないでしょう。 + "<code>UserDir disabled root</code>" 宣言を + 設定の中に含めておくことを強くお薦めします。 + 追加情報に <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> + ディレクティブや + <a href="../misc/security_tips.html">セキュリティ + Tips</a> のページもご覧下さい。</strong> +</div> + +<p>追加の例:</p> + +<p>少数のユーザのみが <code>UserDir</code> +ディレクトリを利用し、それ以外には利用させたくない場合は +次を使いましょう:</p> + +<div class="example"><p><code> +UserDir disabled<br /> +UserDir enabled user1 user2 user3 +</code></p></div> + +<p>大部分のユーザは <code>UserDir</code> ディレクトリを利用するけれど、 +少数の人は不許可にしたい場合は、次を使いましょう:</p> + +<div class="example"><p><code> +UserDir enabled<br /> +UserDir disabled user4 user5 user6 +</code></p></div> + +<p>他のユーザディレクトリを指定することもできます。 +次のようなコマンドを使うと:</p> + +<div class="example"><p><code> +Userdir public_html /usr/web http://www.example.com/ +</code></p></div> + +<p>http://www.example.com/~bob/one/two.html へのリクエストはまず +~bob/public_html/one/two.html のページを調べ、その次に +/usr/web/bob/one/two.html を調べ、最後に http://www.example.com/bob/one/two.html +へのリダイレクトを送ります。</p> + +<p>リダイレクトを加える場合は、リストの最後の選択肢でなければなりません。 +Apache はリダイレクトが成功するかどうかを決めることはできませんので、 +リストの前の方にリダイレクトを書くと、それが必ず使用される選択肢に +なってしまいます。</p> + +<p>2.1.4 以降では、ユーザディレクトリ置換機能はデフォルトでは起動しません。 +それ以前のバージョンでは、<code class="directive"><a href="#userdir">UserDir</a></code> +ディレクティブが存在しなければ、<code>UserDir public_html</code> +であると仮定されていました。</p> + + +<h3>参照</h3> +<ul> +<li><a href="../howto/public_html.html">public_html +チュートリアル</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_userdir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.ko.euc-kr b/docs/manual/mod/mod_userdir.html.ko.euc-kr new file mode 100644 index 0000000..47031a0 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.ko.euc-kr @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_userdir - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_userdir</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td>ں 丮</td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>userdir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_userdir.c</td></tr></table> +<h3></h3> + +<p> ϸ <code>http://example.com/~user/</code> +ں 丮 ִ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="../urlmapping.html">URL Ͻýۿ </a></li> +<li><a href="../howto/public_html.html">public_html +丮</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UserDir" id="UserDir">UserDir</a> <a name="userdir" id="userdir">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td>ں 丮 ġ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code>UserDir <em>directory-filename</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">⺻:</a></th><td><code>UserDir public_html</code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_userdir</td></tr> +</table> + + <p><code class="directive">UserDir</code> þ +û Ȩ丮 ȿ 丮 +Ѵ. <em>Directory-filename</em> ϳ̴:</p> + + <ul> + <li>Ʒ 丮 Ȥ .</li> + + <li><code>disabled</code> Ű. +<code>enabled</code> Ű (Ʒ ) ̸ ʾҴٸ +<em></em> ڸ-丮 ȯ ʴ´.</li> + + <li><code>disabled</code> Ű ڿ ڸ . +ڸ <code>enabled</code> ִٰ ϴ, Ͽ +ִ ڸ 丮 ȯ <em>ʴ´</em>.</li> + + <li><code>enabled</code> Ű ڿ ڸ . +ü disable ϰ ڸ <code>disabled</code> +, ڸ 丮 ȯѴ.</li> + </ul> + + <p><code>Userdir</code> þ <code>enabled</code> +<code>disabled</code> Ű带 , ƱԸƮ +ϸ óϿ 丮 ȯѴ. +<code>http://www.foo.com/~bob/one/two.html</code> û + ȯȴ:</p> + +<table> +<tr><th> UserDir þ</th> +<th>ȯ </th></tr> +<tr><td>UserDir public_html</td><td>~bob/public_html/one/two.html</td></tr> +<tr><td>UserDir /usr/web</td><td>/usr/web/bob/one/two.html</td></tr> +<tr><td>UserDir /home/*/www</td><td>/home/bob/www/one/two.html</td></tr> +</table> + + <p> þ Ŭ̾Ʈ ̷ :</p> + +<table> +<tr><th> UserDir þ</th> +<th>ȯ </th></tr> +<tr><td>UserDir http://www.foo.com/users</td><td>http://www.foo.com/users/bob/one/two.html</td></tr> +<tr><td>UserDir +http://www.foo.com/*/usr</td><td>http://www.foo.com/bob/usr/one/two.html</td></tr> +<tr><td>UserDir +http://www.foo.com/~*/</td><td>http://www.foo.com/~bob/one/two.html</td></tr> +</table> + +<div class="note"> + <strong> þ Ҷ ϶; , +<code>"UserDir ./"</code> <code>"/~root"</code> Ƹ ٶ ʰ +<code>"/"</code> ȯѴ. "<code>UserDir + disabled root</code>" ϱ Ѵ. ڼ ˷ +<code class="directive"><a href="../mod/core.html#directory">Directory</a></code> þ <a href="../misc/security_tips.html"> </a> ϶.</strong> +</div> + +<p>߰ :</p> + +<p> ڿԸ <code>UserDir</code> 丮 Ѵٸ, + :</p> + +<div class="example"><p><code> +UserDir disabled<br /> +UserDir enabled user1 user2 user3 +</code></p></div> + +<p>κ ڿ <code>UserDir</code> 丮 ϰ +Ϻθ źѴٸ, :</p> + +<div class="example"><p><code> +UserDir enabled<br /> +UserDir disabled user4 user5 user6 +</code></p></div> + +<p>ٸ 丮 ִ. + ɾ Ѵٸ:</p> +<div class="example"><p><code> +Userdir public_html /usr/web http://www.foo.com/ +</code></p></div> +<p>http://www.foo.com/~bob/one/two.html û ϸ, + ~bob/public_html/one/two.html ã, +/usr/web/bob/one/two.html ã , +http://www.foo.com/bob/one/two.html ̷ .</p> +<p>̷ Ѵٸ ξ Ѵ. +ġ ̷ ߴ , ̷ + տ θ ̷ ϰ ȴ.</p> + + +<h3></h3> +<ul> +<li><a href="../howto/public_html.html">public_html +丮</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_userdir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.html.tr.utf8 b/docs/manual/mod/mod_userdir.html.tr.utf8 new file mode 100644 index 0000000..3edc131 --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.tr.utf8 @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_userdir - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_userdir</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Kullanıcılara özel dizinler</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>userdir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_userdir.c</td></tr></table> +<h3>Özet</h3> + +<div class="warning">Bu modülü kullanarak, birden çok kullanıcının içeriği +aynı kaynaktan almasına izin verirsiniz. Aynı kaynak politikası Javascript +ve http güvenliğinin temelidir. Http sayfalarının aynı kaynaktan alınması +nedeniyle bu sayfalar birbirini okuyabilir, denetleyebilir ve bir sayfadaki +güvenlik sorunları başka bir sayfayı etkileyebilir. Bu, özellikle özdevinimli +içerik ve kimlik doğrulaması içeren https sayfalarıyla birlikte ve +kullanıcılarınızın birbirlerine güvenmeleri gerekmediğinde tehlikelidir. +</div> + +<p>Bu modül kullanıcılara özel dizinlere + <code>http://example.com/~kullanıcı/</code> sözdizimi kullanılarak + erişilebilmesini mümkün kılar.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li> + <a href="../urlmapping.html">URL’lerin Dosya Sistemi ile Eşleştirilmesi</a> +</li> +<li> + <a href="../howto/public_html.html">public_html eğitmeni</a> +</li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UserDir" id="UserDir">UserDir</a> <a name="userdir" id="userdir">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Kullanıcıya özel dizinlerin yeri</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>UserDir <em>dizin</em> [<em>dizin</em>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Temel</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_userdir</td></tr> +</table> + + <p><code class="directive">UserDir</code> yönergesi, bir kullanıcıya ait bir + belge için bir istek yapıldığında, isteğin kullanıcının ev dizininde + bulunan belli bir dizinden karşılanmasını sağlar. + <code><em>dizin</em></code> olarak şunlar belirtilebilir:</p> + + <ul> + <li>Dizinin ismi veya aşağıdakiler gibi bir kalıp.</li> + + <li><code>disabled</code> anahtar sözcüğü. <code>enabled</code> anahtar + sözcüğü ile sonradan etkin kılınmadıkça <em>tüm</em> kullanıcı-dizin + dönüşümlerini iptal eder (aşağıya bakınız).</li> + + <li><code>disabled</code> anahtar sözcüğünü takibeden boşluk ayraçlı + kullanıcı isimleri listesi. Bu listede yer alan kullanıcı isimlerine, + sonradan bir <code>enabled</code> listesinde görünse bile, dizin + dönüşümleri <em>asla</em> uygulanmaz.</li> + + <li><code>enabled</code> anahtar sözcüğünü takibeden boşluk ayraçlı + kullanıcı isimleri listesi. Genel bir iptal sözkonusu olsa bile, + kullanıcı ismi bir <code>disabled</code> listesinde yer almadıkça, bu + listede yer alan dizinlere dönüşüm uygulanır.</li> + </ul> + + <p><code class="directive">Userdir</code> yönergesinde ne <code>enabled</code> ne de + <code>disabled</code> varsa, argüman bir dosya ismi kalıbı olarak ele + alınır ve kullanıcı belge kök dizininin yolunu oluşturmakta kullanılır. + <code>http://example.com/~ali/bir/iki.html</code> şöyle dönüştürülür:</p> + + <table> + <tr><th>Kullanılan UserDir yönergesi </th> + <th>Elde edilen yol</th></tr> + <tr><td>UserDir public_html</td> + <td>~ali/public_html/bir/iki.html</td></tr> + <tr><td>UserDir /usr/siteler</td> + <td>/usr/siteler/ali/bir/iki.html</td></tr> + <tr><td>UserDir /home/*/htdocs</td> + <td>/home/ali/htdocs/bir/iki.html</td></tr> + </table> + + <p>Aşağıdaki yönergelerle istemciye gönderilecek yönlendirmeler:</p> + + <table> + <tr><th>Kullanılan UserDir yönergesi </th> + <th>Elde edilen yönlendirme</th></tr> + <tr><td>UserDir http://example.com/users</td> + <td>http://example.com/users/ali/bir/iki.html</td></tr> + <tr><td>UserDir http://example.com/*/usr</td> + <td>http://example.com/ali/usr/bir/iki.html</td></tr> + <tr><td>UserDir http://example.com/~*/</td> + <td>http://example.com/~ali/bir/iki.html</td></tr> + </table> + + <div class="note"> + <strong>Bu yönergeyi kullanırken dikkatli olun; örneğin, <code>"UserDir + ./"</code> şeklinde bir atama <code>"/~root"</code> isteklerini + <code>"/"</code> dizinine yönlendirir ki bu elbette istenmez. Bu + bakımdan yapılandırmanızda mutlaka bir "<code>UserDir disabled + root</code>" satırının yer almasını tavsiye ederiz. Daha fazla bilgi + için <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> yönergesine ve <a href="../misc/security_tips.html">Güvenlik İpuçları</a> sayfasına + bakınız.</strong> + </div> + + <p>Diğer örnekler:</p> + + <p>Bir kaç kullanıcı hariç kalan herkesin <code>UserDir</code> + dizinlerini iptal etmek için şunu yapabilirsiniz:</p> + + <pre class="prettyprint lang-config">UserDir disabled +UserDir enabled birey1 birey2 birey3</pre> + + + <p>Bir kaç kullanıcı hariç kalan herkesin <code>UserDir</code> + dizinlerini etkin kılmak için şunu yapabilirsiniz:</p> + + <pre class="prettyprint lang-config">UserDir disabled birey4 birey5 birey6</pre> + + + <p>Birden fazla dizin belirtmek de mümkündür:</p> + + <pre class="prettyprint lang-config">Userdir "public_html" "/usr/siteler" "http://example.com/"</pre> + + + <p>Bu örneğe göre, <code>http://example.com/~ali/bir/iki.html</code> + şeklinde bir istek alındığında sunucu önce + <code>http://example.com/~ali/bir/iki.html</code> yönlendirmesini + deneyecektir. Onu bulamazsa isteği + <code>/usr/siteler/ali/bir/iki.html</code> dosyasını arayacak onu da + bulamazsa istemciyi <code>http://example.com/ali/bir/iki.html</code> + adresine yönlendirecektir.</p> + + <p>Argüman listesine bir yönlendirme ekleyecekseniz, bu, listenin son + elemanı olmalıdır. Apache httpd yönlendirmenin başarılı sonuç verip + vermediğini bilemeyecektir. Bu bakımdan, listede bu yönlendirmeden + sonra bir yönlendirme daha bulunması daha iyi olacaktır.</p> + + <p>Kullanıcı dizini dönüşümü Apache 2.1.4 sürümü ve sonrasında öntanımlı + olarak etkin değildir. Daha önceki sürümlerde bir + <code class="directive">UserDir</code> yönergesinin yokluğunda + <code>UserDir public_html</code> öntanımlıydı.</p> + + <div class="note"><h3>Ayrıntıların birleştirilmesi</h3> + <p>Etkinleştirilen ve etkisizleştirilen kullanıcılara özgü listeler küresel + etki alanından sanal konak etki alanına aktarılırken yer değiştirme + yapılır, mevcutla birleştirilmez.</p></div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li> + <a href="../howto/public_html.html">Kullanıcı Dizinleri</a> +</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_userdir.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_usertrack.html b/docs/manual/mod/mod_usertrack.html new file mode 100644 index 0000000..ad30290 --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_usertrack.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_usertrack.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_usertrack.html.en b/docs/manual/mod/mod_usertrack.html.en new file mode 100644 index 0000000..b11184d --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html.en @@ -0,0 +1,304 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_usertrack - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_usertrack</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_usertrack.html" title="English"> en </a> | +<a href="../fr/mod/mod_usertrack.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td> +<em>Clickstream</em> logging of user activity on a site +</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>usertrack_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_usertrack.c</td></tr></table> +<h3>Summary</h3> + + <p>Provides tracking of a user through your website via browser + cookies.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Logging</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiedomain">CookieDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookieexpires">CookieExpires</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiehttponly">CookieHTTPOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiename">CookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiesamesite">CookieSameSite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiesecure">CookieSecure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiestyle">CookieStyle</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookietracking">CookieTracking</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_usertrack">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_usertrack">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Logging</a></h2> + + + <p><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> sets a cookie which can be logged + via <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> configurable logging formats:</p> + + <pre class="prettyprint lang-config">LogFormat "%{Apache}n %r %t" usertrack +CustomLog "logs/clickstream.log" usertrack</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieDomain" id="CookieDomain">CookieDomain</a> <a name="cookiedomain" id="cookiedomain">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The domain to which the tracking cookie applies</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieDomain <em>domain</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + + <p>This directive controls the setting of the domain to which + the tracking cookie applies. If not present, no domain is + included in the cookie header field.</p> + + <p>The domain string <strong>must</strong> begin with a dot, and + <strong>must</strong> include at least one embedded dot. That is, + <code>.example.com</code> is legal, but <code>www.example.com</code> and + <code>.com</code> are not.</p> + + <div class="note">Most browsers in use today will not allow cookies to be set + for a two-part top level domain, such as <code>.co.uk</code>, + although such a domain ostensibly fulfills the requirements + above.<br /> + + These domains are equivalent to top level domains such as + <code>.com</code>, and allowing such cookies may be a security + risk. Thus, if you are under a two-part top level domain, you + should still use your actual domain, as you would with any other top + level domain (for example <code>.example.co.uk</code>). + </div> + + <pre class="prettyprint lang-config">CookieDomain .example.com</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieExpires" id="CookieExpires">CookieExpires</a> <a name="cookieexpires" id="cookieexpires">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Expiry time for the tracking cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieExpires <em>expiry-period</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>When used, this directive sets an expiry time on the cookie + generated by the usertrack module. The <em>expiry-period</em> + can be given either as a number of seconds, or in the format + such as "2 weeks 3 days 7 hours". Valid denominations are: + years, months, weeks, days, hours, minutes and seconds. If the expiry + time is in any format other than one number indicating the + number of seconds, it must be enclosed by double quotes.</p> + + <p>If this directive is not used, cookies last only for the + current browser session.</p> + + <pre class="prettyprint lang-config">CookieExpires "3 weeks"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieHTTPOnly" id="CookieHTTPOnly">CookieHTTPOnly</a> <a name="cookiehttponly" id="cookiehttponly">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieHTTPOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieHTTPOnly off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.42 and later</td></tr> +</table> + <p>When set to 'ON', the 'HTTPOnly' cookie attribute is added to this + modules tracking cookie. This attribute instructs browsers to block javascript + from reading the value of the cookie.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieName" id="CookieName">CookieName</a> <a name="cookiename" id="cookiename">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the tracking cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieName <em>token</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieName Apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>This directive allows you to change the name of the cookie + this module uses for its tracking purposes. By default the + cookie is named "<code>Apache</code>".</p> + + <p>You must specify a valid cookie name; results are + unpredictable if you use a name containing unusual characters. + Valid characters include A-Z, a-z, 0-9, "_", and "-".</p> + + <pre class="prettyprint lang-config">CookieName clicktrack</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieSameSite" id="CookieSameSite">CookieSameSite</a> <a name="cookiesamesite" id="cookiesamesite">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieSameSite None|Lax|Strict</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>unset</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.42 and later</td></tr> +</table> + <p>When set to 'None', 'Lax', or 'Strict', the 'SameSite' cookie attribute + is added to this modules tracking cookie with the corresponding value. + This attribute instructs browser on how to treat the cookie when it is + requested in a cross-site context.</p> + + <div class="note"> + <p>A value of 'None' sets 'SameSite=None', which is the most liberal setting. To + omit this attribute, omit the directive entirely.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieSecure" id="CookieSecure">CookieSecure</a> <a name="cookiesecure" id="cookiesecure">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds the 'Secure' attribute to the cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieSecure on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieSecure off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.42 and later</td></tr> +</table> + <p>When set to 'ON', the 'Secure' cookie attribute is added to this + modules tracking cookie. This attribute instructs browsers to only + transmit the cookie over HTTPS.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieStyle" id="CookieStyle">CookieStyle</a> <a name="cookiestyle" id="cookiestyle">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Format of the cookie header field</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieStyle Netscape</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>This directive controls the format of the cookie header + field. The three formats allowed are:</p> + + <ul> + <li><strong>Netscape</strong>, which is the original but now deprecated + syntax. This is the default, and the syntax Apache has + historically used.</li> + + <li><strong>Cookie</strong> or <strong>RFC2109</strong>, which is the syntax that + superseded the Netscape syntax.</li> + + <li><strong>Cookie2</strong> or <strong>RFC2965</strong>, which is the most + current cookie syntax.</li> + </ul> + + <p>Not all clients can understand all of these formats, but you + should use the newest one that is generally acceptable to your + users' browsers. At the time of writing, most browsers support all + three of these formats, with <code>Cookie2</code> being the + preferred format.</p> + + <pre class="prettyprint lang-config">CookieStyle Cookie2</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CookieTracking" id="CookieTracking">CookieTracking</a> <a name="cookietracking" id="cookietracking">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables tracking cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieTracking on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieTracking off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>When <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> is loaded, and + <code>CookieTracking on</code> is set, Apache will send a + user-tracking cookie for all new requests. This directive can + be used to turn this behavior on or off on a per-server or + per-directory basis. By default, enabling + <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> will <strong>not</strong> + activate cookies. </p> + + <pre class="prettyprint lang-config">CookieTracking on</pre> + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_usertrack.html" title="English"> en </a> | +<a href="../fr/mod/mod_usertrack.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_usertrack.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_usertrack.html.fr.utf8 b/docs/manual/mod/mod_usertrack.html.fr.utf8 new file mode 100644 index 0000000..20ba91a --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html.fr.utf8 @@ -0,0 +1,313 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_usertrack - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_usertrack</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_usertrack.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_usertrack.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td> +Journalisation <em>Clickstream</em> des liens parcourus par un +utilisateur sur un site +</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>usertrack_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_usertrack.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de suivre le parcours d'un utilisateur à travers + votre site web en faisant appel aux cookies de navigateur.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiedomain">CookieDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookieexpires">CookieExpires</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiehttponly">CookieHTTPOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiename">CookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiesamesite">CookieSameSite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiesecure">CookieSecure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiestyle">CookieStyle</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookietracking">CookieTracking</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_usertrack">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_usertrack">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="logging" id="logging">Journalisation</a></h2> + + + <p><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> définit un cookie qui peut être + journalisé via les formats configurables du module + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> :</p> + + <pre class="prettyprint lang-config">LogFormat "%{Apache}n %r %t" usertrack +CustomLog "logs/clickstream.log" usertrack</pre> + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookiedomain" id="cookiedomain">Directive</a> <a name="CookieDomain" id="CookieDomain">CookieDomain</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le domaine auquel le cookie traceur +s'applique</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieDomain <em>domaine</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + + <p>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.</p> + + <p>La chaîne dommaine <strong>doit</strong> commencer par un point, + et <strong>doit</strong> comporter au moins un point entouré + d'autres caractères. Par exemple, <code>.example.com</code> est + une chaîne valide, mais <code>www.example.com</code> et + <code>.com</code> ne le sont pas.</p> + + <div class="note">La plupart des navigateurs utilisés actuellement n'autorisent + pas la définition de cookies pour un domaine racine de deux niveaux, + tel que <code>.co.uk</code>, bien qu'un tel domaine remplisse les + conditions de validité décrites ci-dessus.<br /> + + Ces domaines sont équivalents à des domaines racines comme + <code>.com</code>, 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 <code>.example.co.uk</code>). + </div> + + <pre class="prettyprint lang-config">CookieDomain .example.com</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookieexpires" id="cookieexpires">Directive</a> <a name="CookieExpires" id="CookieExpires">CookieExpires</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée avant expiration du cookie traceur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieExpires <em>durée</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>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 + <em>durée</em> 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.</p> + + <p>Si cette directive est absente, la durée de vie des cookies est + limitée à la session actuelle du navigateur.</p> + + <pre class="prettyprint lang-config">CookieExpires "3 weeks"</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookiehttponly" id="cookiehttponly">Directive</a> <a name="CookieHTTPOnly" id="CookieHTTPOnly">CookieHTTPOnly</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute l'attribut 'HTTPOnly' au cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieHTTPOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieHTTPOnly off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP Apache</td></tr> +</table> + <p>Lorsqu'elle est définie à 'ON', cette directive ajoute l'attribut 'HTTPOnly' + au cookie de traçage. Cet attribut indique aux navigateurs qu'ils doivent + bloquer javascript au cours de la lecture de la valeur du cookie.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookiename" id="cookiename">Directive</a> <a name="CookieName" id="CookieName">CookieName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du cookie traceur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieName <em>symbole</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieName Apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>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 "<code>Apache</code>".</p> + + <p>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 "-".</p> + + <pre class="prettyprint lang-config">CookieName clicktrack</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookiesamesite" id="cookiesamesite">Directive</a> <a name="CookieSameSite" id="CookieSameSite">CookieSameSite</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute l'attribut 'SameSite' au cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieSameSite None|Lax|Strict</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>unset</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP Apache</td></tr> +</table> + <p>Lorsque cette directive est définie à 'None', 'Lax', ou 'Strict', + l'attribut 'SameSite' est ajouté au cookie de traçage avec la valeur + correspondante. Cet attribut indique aux navigateurs de quelle manière ils + doivent traiter le cookie lorsqu'il est demandé dans un contexte cross-site.</p> + + <div class="note"> + <p>'None' définit l'attribut 'SameSite' à 'None', ce qui correspond à la + configuration la plus permissive. Pour ne pas ajouter cet attribut au + cookie, il est donc préférable de ne pas définir du tout cette directive.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookiesecure" id="cookiesecure">Directive</a> <a name="CookieSecure" id="CookieSecure">CookieSecure</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute l'attribut 'Secure' au cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieSecure on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieSecure off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.42 du serveur HTTP Apache</td></tr> +</table> + <p>Lorsqu'elle est définie à 'ON', cette directive ajoute l'attribut 'Secure' + au cookie de traçage. Cet attribut indique aux navigateurs qu'il ne doivent + transmettre le cookie que via HTTPS.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookiestyle" id="cookiestyle">Directive</a> <a name="CookieStyle" id="CookieStyle">CookieStyle</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Format du champ d'en-tête cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieStyle Netscape</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>Cette directive permet de contrôler le format du champ d'en-tête + cookie. Les trois formats autorisés sont :</p> + + <ul> + <li><strong>Netscape</strong> : il s'agit du format original, mais + est désormais obsolète. C'est le format par défaut et il + correspond à la syntaxe historique utilisée par Apache.</li> + + <li><strong>Cookie</strong> ou <strong>RFC2109</strong> : c'est la + syntaxe qui remplace la syntaxe Netscape.</li> + + <li><strong>Cookie2</strong> ou <strong>RFC2965</strong> : c'est + la syntaxe de cookie la plus actuelle.</li> + </ul> + + <p>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 utilisé par vos utilisateurs. A l'heure où ce + document est écrit, la plupart des navigateurs supportent ces trois + formats, <code>Cookie2</code> étant le format recommandé.</p> + + <pre class="prettyprint lang-config">CookieStyle Cookie2</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="cookietracking" id="cookietracking">Directive</a> <a name="CookieTracking" id="CookieTracking">CookieTracking</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le cookie traceur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieTracking on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieTracking off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> +</table> + <p>Lorsque le module <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> est chargé, et + si <code>CookieTracking on</code> 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 + <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> ne suffit <strong>pas</strong> pour + activer les cookies.</p> + + <pre class="prettyprint lang-config">CookieTracking on</pre> + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_usertrack.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_usertrack.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_usertrack.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_version.html b/docs/manual/mod/mod_version.html new file mode 100644 index 0000000..63cd972 --- /dev/null +++ b/docs/manual/mod/mod_version.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_version.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_version.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mod_version.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mod_version.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_version.html.en b/docs/manual/mod/mod_version.html.en new file mode 100644 index 0000000..4e07aa5 --- /dev/null +++ b/docs/manual/mod/mod_version.html.en @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_version - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_version</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_version.html" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Version dependent configuration</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>version_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_version.c</td></tr></table> +<h3>Summary</h3> + + <p>This module is designed for the use in test suites and large + networks which have to deal with different httpd versions and + different configurations. It provides a new container -- <code class="directive"><a href="#ifversion"><IfVersion></a></code>, which + allows a flexible version checking including numeric comparisons and + regular expressions.</p> + + <div class="example"><h3>Examples</h3><pre class="prettyprint lang-config"><IfVersion 2.4.2> + # current httpd version is exactly 2.4.2 +</IfVersion> + +<IfVersion >= 2.5> + # use really new features :-) +</IfVersion></pre> +</div> + + <p>See below for further possibilities.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ifversion"><IfVersion></a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_version">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_version">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfVersion" id="IfVersion"><IfVersion></a> <a name="ifversion" id="ifversion">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>contains version dependent configuration</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_version</td></tr> +</table> + <p>The <code class="directive"><IfVersion></code> section encloses + configuration directives which are executed only if the + <code class="program"><a href="../programs/httpd.html">httpd</a></code> version + matches the desired criteria. For normal (numeric) comparisons the + <var>version</var> argument has the format + <code><var>major</var>[.<var>minor</var>[.<var>patch</var>]]</code>, e.g. + <code>2.1.0</code> or <code>2.2</code>. <var>minor</var> and + <var>patch</var> are optional. If these numbers are omitted, they are + assumed to be zero. The following numerical <var>operator</var>s are + possible:</p> + + <table class="bordered"><tr class="header"><th><var>operator</var></th><th>description</th></tr> +<tr><td><code>=</code> or <code>==</code></td> + <td>httpd version is equal</td></tr> +<tr class="odd"><td><code>></code></td> + <td>httpd version is greater than</td></tr> +<tr><td><code>>=</code></td> + <td>httpd version is greater or equal</td></tr> +<tr class="odd"><td><code><</code></td> + <td>httpd version is less than</td></tr> +<tr><td><code><=</code></td> + <td>httpd version is less or equal</td></tr> +</table> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><IfVersion >= 2.3> + # this happens only in versions greater or + # equal 2.3.0. +</IfVersion></pre> +</div> + + <p>Besides the numerical comparison it is possible to match a + <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a> + against the httpd version. There are two ways to write it:</p> + + <table class="bordered"><tr class="header"><th><var>operator</var></th><th>description</th></tr> +<tr><td><code>=</code> or <code>==</code></td> + <td><var>version</var> has the form + <code>/<var>regex</var>/</code></td></tr> +<tr class="odd"><td><code>~</code></td> + <td><var>version</var> has the form + <code><var>regex</var></code></td></tr> +</table> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><IfVersion = /^2.4.[01234]$/> + # e.g. workaround for buggy versions +</IfVersion></pre> +</div> + + <p>In order to reverse the meaning, all operators can be preceded by an + exclamation mark (<code>!</code>):</p> + + <pre class="prettyprint lang-config"><IfVersion !~ ^2.4.[01234]$> + # not for those versions +</IfVersion></pre> + + + <p>If the <var>operator</var> is omitted, it is assumed to be + <code>=</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_version.html" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_version.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_version.html.fr.utf8 b/docs/manual/mod/mod_version.html.fr.utf8 new file mode 100644 index 0000000..ed567e9 --- /dev/null +++ b/docs/manual/mod/mod_version.html.fr.utf8 @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_version - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_version</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Configuration dépendant de la version</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>version_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_version.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module a été conçu pour être utilisé dans les suites de tests + et les grands réseaux qui doivent prendre en compte différentes + versions de httpd et différentes configurations. Il fournit un + nouveau conteneur -- <code class="directive"><a href="#ifversion"><IfVersion></a></code>, qui apporte une grande + souplesse dans la vérification de version en permettant une + comparaison numérique et l'utilisation d'expressions + rationnelles.</p> + + <div class="example"><h3>Exemples</h3><pre class="prettyprint lang-config"><IfVersion 2.4.2> + # la version actuelle de httpd est exactement 2.4.2 +</IfVersion> + +<IfVersion >= 2.5> + # utilise vraiment les nouvelles fonctionnalités :-) +</IfVersion></pre> +</div> + + <p>Voir ci-dessous pour d'autres exemples.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ifversion"><IfVersion></a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_version">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_version">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ifversion" id="ifversion">Directive</a> <a name="IfVersion" id="IfVersion"><IfVersion></a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des portions de configuration dépendantes de la +version</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfVersion [[!]<var>opérateur</var>] <var>version</var>> ... +</IfVersion></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_version</td></tr> +</table> + <p>La section <code class="directive"><IfVersion></code> + rassemble des directives de configuration qui ne sont exécutées que + si la version de httpd satisfait aux critères spécifiés. Pour une + comparaison normale (numérique), l'argument <var>version</var> doit + être spécifié sous le format + <code><var>majeur</var>[.<var>mineur</var>[.<var>patch</var>]]</code>, + comme par exemple <code>2.1.0</code> ou <code>2.2</code>. + <var>mineur</var> et <var>patch</var> sont optionnels. Si ces + numéros sont absents, il se voient affectée implicitement la valeur + 0. Les <var>opérateur</var>s numériques suivants sont autorisés + :</p> + + <table class="bordered"><tr class="header"><th><var>opérateur</var></th><th>description</th></tr> +<tr><td><code>=</code> ou <code>==</code></td> + <td>La version de httpd est égale à la valeur + spécifiée</td></tr> +<tr class="odd"><td><code>></code></td> + <td>La version de httpd est supérieure à la valeur + spécifiée</td></tr> +<tr><td><code>>=</code></td> + <td>La version de httpd est supérieure ou égale à la valeur + spécifiée</td></tr> +<tr class="odd"><td><code><</code></td> + <td>La version de httpd est inférieure à la valeur + spécifiée</td></tr> +<tr><td><code><=</code></td> + <td>La version de httpd est inférieure ou égale à la valeur + spécifiée</td></tr> +</table> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><IfVersion >= 2.3> + # la condition n'est satisfaite que pour les versions de httpd + # supérieures ou égales à 2.3 +</IfVersion></pre> +</div> + + <p>En plus d'une comparaison numérique, il est possible de comparer + la version de httpd avec une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression + rationnelle</a>. Il existe deux méthodes pour spécifier cette + dernière :</p> + + <table class="bordered"><tr class="header"><th><var>opérateur</var></th><th>description</th></tr> +<tr><td><code>=</code> ou <code>==</code></td> + <td><var>version</var> est de la forme + <code>/<var>regex</var>/</code></td></tr> +<tr class="odd"><td><code>~</code></td> + <td><var>version</var> est de la forme + <code><var>regex</var></code></td></tr> +</table> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><IfVersion = /^2.4.[01234]$/> + # exemple de contournement pour les versions boguées +</IfVersion></pre> +</div> + + <p>Pour inverser la condition, tous les opérateurs peuvent être + préfixés par un point d'exclamation (<code>!</code>) :</p> + + <div class="example"><pre class="prettyprint lang-config"><IfVersion !~ ^2.4.[01234]$> + # pas pour ces versions +</IfVersion></pre> +</div> + + <p>Si <var>opérateur</var> est absent, sa valeur implicite est + <code>=</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_version.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_version.html.ja.utf8 b/docs/manual/mod/mod_version.html.ja.utf8 new file mode 100644 index 0000000..2f28e0b --- /dev/null +++ b/docs/manual/mod/mod_version.html.ja.utf8 @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_version - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache モジュール mod_version</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>バージョン依存の設定</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>version_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_version.c</td></tr></table> +<h3>概要</h3> + + <p>様々なバージョンの httpd の異なる設定を扱うことになる、 + テストスイートや大規模ネットワークでの使用のために設計されています。 + このモジュールは新しいコンテナ ― <code class="directive"><a href="#ifversion"><IfVersion></a></code> を + 提供します。これを使うと、数字の比較や正規表現による柔軟な + バージョンチェックができるようになります。</p> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config"><IfVersion 2.4.2> + # current httpd version is exactly 2.4.2 +</IfVersion> + +<IfVersion >= 2.5> + # use really new features :-) +</IfVersion></pre> +</div> + + <p>詳細は以下を読んでください。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ifversion"><IfVersion></a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_version">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_version">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfVersion" id="IfVersion"><IfVersion></a> <a name="ifversion" id="ifversion">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>バージョン依存の設定を入れる</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_version</td></tr> +</table> + <p><code class="directive"><IfVersion></code> は <code class="program"><a href="../programs/httpd.html">httpd</a></code> のバージョン + が基準を満たしたときにのみ実行させたいディレクティブを囲みます。 + 通常の (数値) 比較のときは <var>version</var> 引数は + <code><var>major</var>[.<var>minor</var>[.<var>patch</var>]]</code> という + 形式、例えば、<code>2.1.0</code> や <code>2.2</code> となります。 + <var>minor</var> と <var>patch</var> は省略可能です。省略された場合は、 + 0 を指定したものとみなされます。比較には次の数値 <var>operator</var> を + 指定できます:</p> + + <table class="bordered"><tr class="header"><th><var>operator</var></th><th>説明</th></tr> +<tr><td><code>=</code> と <code>==</code></td> + <td>同じ httpd バージョン</td></tr> +<tr class="odd"><td><code>></code></td> + <td>より大きい httpd バージョン</td></tr> +<tr><td><code>>=</code></td> + <td>指定以上の httpd バージョン</td></tr> +<tr class="odd"><td><code><</code></td> + <td>指定未満の httpd バージョン</td></tr> +<tr><td><code><=</code></td> + <td>指定以下の httpd バージョン</td></tr> +</table> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config"><IfVersion >= 2.3> + # this happens only in versions greater or + # equal 2.3.0. +</IfVersion></pre> +</div> + + <p>数値比較に加えて、http のバージョン番号に対して + <a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>による + マッチングができます。二種類の書き方があります:</p> + + <table class="bordered"><tr class="header"><th><var>operator</var></th><th>説明</th></tr> +<tr><td><code>=</code> or <code>==</code></td> + <td><var>version</var> は + <code>/<var>regex</var>/</code> 形式</td></tr> +<tr class="odd"><td><code>~</code></td> + <td><var>version</var> は + <code><var>regex</var></code> 形式</td></tr> +</table> + + <div class="example"><h3>例</h3><pre class="prettyprint lang-config"><IfVersion = /^2.4.[01234]$/> + # e.g. workaround for buggy versions +</IfVersion></pre> +</div> + + <p>マッチングの否定を表現するために、すべてのオペレータは前に + 感嘆符 (<code>!</code>)を付けることができます:</p> + + <pre class="prettyprint lang-config"><IfVersion !~ ^2.4.[01234]$> + # not for those versions +</IfVersion></pre> + + + <p><var>operator</var> が省略されたときは <code>=</code> と + みなされます。</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_version.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_version.html.ko.euc-kr b/docs/manual/mod/mod_version.html.ko.euc-kr new file mode 100644 index 0000000..2a53977 --- /dev/null +++ b/docs/manual/mod/mod_version.html.ko.euc-kr @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_version - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="page-content"> +<div id="preamble"><h1>ġ mod_version</h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" title="Korean"> ko </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">:</a></th><td> </td></tr> +<tr><th><a href="module-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">:</a></th><td>version_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ҽ:</a></th><td>mod_version.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">:</a></th><td>ġ 2.1 ĺ</td></tr></table> +<h3></h3> + + <p> ٸ ٷ ū Ʈ + Ʈ ϱ . + ǥ Ͽ ο ˻簡 + <code class="directive"><a href="#ifversion"><IfVersion></a></code> + Ѵ.</p> + + <div class="example"><h3></h3><p><code> + <IfVersion 2.1.0><br /> + <span class="indent"> + # Ȯ 2.1.0̴<br /> + </span> + </IfVersion><br /> + <br /> + <IfVersion >= 2.2><br /> + <span class="indent"> + # ¥ ο Ѵ :-)<br /> + </span> + </IfVersion> + </code></p></div> + + <p>ٸ Ʒ Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">þ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#ifversion"><IfVersion></a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_version">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_version">Report a bug</a></li></ul><h3></h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfVersion" id="IfVersion"><IfVersion></a> <a name="ifversion" id="ifversion">þ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">:</a></th><td> ´</td></tr> +<tr><th><a href="directive-dict.html#Syntax">:</a></th><td><code><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></code></td></tr> +<tr><th><a href="directive-dict.html#Context">:</a></th><td>ּ, ȣƮ, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">Override ɼ:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">:</a></th><td>mod_version</td></tr> +</table> + <p><code class="directive"><IfVersion></code> + ϴ Ҷ þ + ´. Ϲ () <var>version</var> ƱԸƮ + <code>2.1.0</code>̳ <code>2.2</code> + <code><var>major</var>[.<var>minor</var>[.<var>patch</var>]]</code> + ̴. <var>minor</var> <var>patch</var> ȴ. + ̵ ڰ ٸ 0̶ Ѵ. + <var>operator</var> ϴ.</p> + + <table class="bordered"><tr class="header"><th><var>operator</var></th><th></th></tr> +<tr><td><code>=</code> Ȥ <code>==</code></td> + <td> </td></tr> +<tr class="odd"><td><code>></code></td> + <td> ū </td></tr> +<tr><td><code>>=</code></td> + <td>ũų </td></tr> +<tr class="odd"><td><code><</code></td> + <td> </td></tr> +<tr><td><code><=</code></td> + <td>۰ų </td></tr> +</table> + + <div class="example"><h3></h3><p><code> + <IfVersion >= 2.1><br /> + <span class="indent"> + # 2.1.0 ũų <br /> + # Ѵ.<br /> + </span> + </IfVersion> + </code></p></div> + + <p> ܿ ǥ Ͽ + ִ. ΰ ִ.</p> + + <table class="bordered"><tr class="header"><th><var>operator</var></th><th></th></tr> +<tr><td><code>=</code> Ȥ <code>==</code></td> + <td><var>version</var> + <code>/<var>regex</var>/</code> ̴</td></tr> +<tr class="odd"><td><code>~</code></td> + <td><var>version</var> + <code><var>regex</var></code> ̴</td></tr> +</table> + + <div class="example"><h3></h3><p><code> + <IfVersion = /^2.1.[01234]$/><br /> + <span class="indent"> + # , װ ִ Ư ذå ´ + </span> + </IfVersion> + </code></p></div> + + <p> տ ǥ(<code>!</code>) ǹ̸ ݴ + ؼѴ.</p> + + <div class="example"><p><code> + <IfVersion !~ ^2.1.[01234]$><br /> + <span class="indent"> + # ƴϸ<br /> + </span> + </IfVersion> + </code></p></div> + + <p><var>operator</var> ϸ <code>=</code>̶ + Ѵ.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_version.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_version.html" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_version.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.html b/docs/manual/mod/mod_vhost_alias.html new file mode 100644 index 0000000..d4e6a55 --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_vhost_alias.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_vhost_alias.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +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.en b/docs/manual/mod/mod_vhost_alias.html.en new file mode 100644 index 0000000..2523f62 --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.en @@ -0,0 +1,361 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_vhost_alias - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_vhost_alias</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_vhost_alias.html" title="English"> en </a> | +<a href="../fr/mod/mod_vhost_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides for dynamically configured mass virtual +hosting</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>vhost_alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_vhost_alias.c</td></tr></table> +<h3>Summary</h3> + + <p>This module creates dynamically configured virtual hosts, by + allowing the IP address and/or the <code>Host:</code> header of + the HTTP request to be used as part of the pathname to + determine what files to serve. This allows for easy use of a + huge number of virtual hosts with similar configurations.</p> + + <div class="note"><h3>Note</h3> + <p>If <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> or <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> are + used for translating URIs to filenames, they will override the + directives of <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> described below. For + example, the following configuration will map <code> + /cgi-bin/script.pl</code> to <code> + /usr/local/apache2/cgi-bin/script.pl</code> in all cases:</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/" +VirtualScriptAlias "/never/found/%0/cgi-bin/"</pre> + + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#interpol">Directory Name Interpolation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptalias">VirtualScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_vhost_alias">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_vhost_alias">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/mass.html">Dynamically configured mass + virtual hosting</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="interpol" id="interpol">Directory Name Interpolation</a></h2> + + + <p>All the directives in this module interpolate a string into + a pathname. The interpolated string (henceforth called the + "name") may be either the server name (see the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> + directive for details on how this is determined) or the IP + address of the virtual host on the server in dotted-quad + format. The interpolation is controlled by specifiers inspired + by <code>printf</code> which have a number of formats:</p> + +<table> + +<tr><td><code>%%</code></td> +<td>insert a <code>%</code></td></tr> + +<tr><td><code>%p</code></td> +<td>insert the port number of the virtual host</td></tr> + +<tr><td><code>%N.M</code></td> +<td>insert (part of) the name</td></tr> + +</table> + + <p><code>N</code> and <code>M</code> are used to specify + substrings of the name. <code>N</code> selects from the + dot-separated components of the name, and <code>M</code> + selects characters within whatever <code>N</code> has selected. + <code>M</code> is optional and defaults to zero if it isn't + present; the dot must be present if and only if <code>M</code> + is present. The interpretation is as follows:</p> + + <table> + + <tr><td><code>0</code></td> + <td>the whole name</td></tr> + + <tr><td><code>1</code></td> + <td>the first part</td></tr> + + <tr><td><code>2</code></td> + <td>the second part</td></tr> + + <tr><td><code>-1</code></td> + <td>the last part</td></tr> + + <tr><td><code>-2</code></td> + <td>the penultimate part</td></tr> + + <tr><td><code>2+</code></td> + <td>the second and all subsequent parts</td></tr> + + <tr><td><code>-2+</code></td> + <td>the penultimate and all preceding parts</td></tr> + + <tr><td><code>1+</code> and <code>-1+</code></td> + <td>the same as <code>0</code></td></tr> + </table> + + <p>If <code>N</code> or <code>M</code> is greater than the number + of parts available a single underscore is interpolated. </p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Examples</a></h2> + + + <p>For simple name-based virtual hosts you might use the + following directives in your server configuration file:</p> + + <pre class="prettyprint lang-config">UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/vhosts/%0"</pre> + + + <p>A request for + <code>http://www.example.com/directory/file.html</code> will be + satisfied by the file + <code>/usr/local/apache/vhosts/www.example.com/directory/file.html</code>. + </p> + + <p>For a very large number of virtual hosts it is a good idea + to arrange the files to reduce the size of the + <code>vhosts</code> directory. To do this you might use the + following in your configuration file:</p> + + <pre class="prettyprint lang-config">UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"</pre> + + + <p>A request for + <code>http://www.domain.example.com/directory/file.html</code> + will be satisfied by the file + <code>/usr/local/apache/vhosts/example.com/d/o/m/domain/directory/file.html</code>.</p> + + <p>A more even spread of files can be achieved by hashing from the + end of the name, for example: </p> + +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2"</pre> + + + <p>The example request would come from + <code>/usr/local/apache/vhosts/example.com/n/i/a/domain/directory/file.html</code>.</p> + + <p>Alternatively you might use: </p> + +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"</pre> + + + <p>The example request would come from + <code>/usr/local/apache/vhosts/example.com/d/o/m/ain/directory/file.html</code>.</p> + +<p> A very common request by users is the ability to point multiple domains to multiple +document roots without having to worry about the length or number of parts of the +hostname being requested. If the requested hostname is <code>sub.www.domain.example.com</code> + instead of simply <code>www.domain.example.com</code>, then using %3+ will result in the document +root being <code>/usr/local/apache/vhosts/domain.example.com/...</code> instead of the +intended <code>example.com</code> directory. In such cases, it can be beneficial to use +the combination <code>%-2.0.%-1.0</code>, which will always yield the domain name and the +tld, for example <code>example.com</code> regardless of the number of subdomains appended +to the hostname. As such, one can make a configuration that will direct all first, second +or third level subdomains to the same directory: +</p> +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"</pre> + +<p> +In the example above, both <code>www.example.com</code> as well as <code>www.sub.example.com</code> +or <code>example.com</code> will all point to <code>/usr/local/apache/vhosts/example.com</code>. +</p> + + <p>For IP-based virtual hosting you might use the following in + your configuration file:</p> + + <pre class="prettyprint lang-config">UseCanonicalName DNS +VirtualDocumentRootIP "/usr/local/apache/vhosts/%1/%2/%3/%4/docs" +VirtualScriptAliasIP "/usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin"</pre> + + + <p>A request for + <code>http://www.domain.example.com/directory/file.html</code> + would be satisfied by the file + <code>/usr/local/apache/vhosts/10/20/30/40/docs/directory/file.html</code> + if the IP address of <code>www.domain.example.com</code> were + 10.20.30.40. A request for + <code>http://www.domain.example.com/cgi-bin/script.pl</code> would + be satisfied by executing the program + <code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p> + + <p>If you want to include the <code>.</code> character in a + <code>VirtualDocumentRoot</code> directive, but it clashes with + a <code>%</code> directive, you can work around the problem in + the following way:</p> + +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0"</pre> + + + <p>A request for + <code>http://www.domain.example.com/directory/file.html</code> + will be satisfied by the file + <code>/usr/local/apache/vhosts/domain.example/directory/file.html</code>.</p> + + <p>The <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> + directives <code>%V</code> and <code>%A</code> are useful + in conjunction with this module.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualDocumentRoot" id="VirtualDocumentRoot">VirtualDocumentRoot</a> <a name="virtualdocumentroot" id="virtualdocumentroot">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VirtualDocumentRoot <em>interpolated-directory</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>VirtualDocumentRoot none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p>The <code class="directive">VirtualDocumentRoot</code> directive allows you to + determine where Apache HTTP Server will find your documents based on the + value of the server name. The result of expanding + <em>interpolated-directory</em> is used as the root of the + document tree in a similar manner to the <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directive's argument. + If <em>interpolated-directory</em> is <code>none</code> then + <code class="directive">VirtualDocumentRoot</code> is turned off. This directive + cannot be used in the same context as <code class="directive"><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></code>.</p> + +<div class="warning"><h3>Note</h3> +<code class="directive">VirtualDocumentRoot</code> will override any <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directives you may have put in the same +context or child contexts. Putting a <code class="directive">VirtualDocumentRoot</code> +in the global server scope will effectively override <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> directives in any virtual hosts defined later +on, unless you set <code class="directive">VirtualDocumentRoot</code> to <code>None</code> +in each virtual host. +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualDocumentRootIP" id="VirtualDocumentRootIP">VirtualDocumentRootIP</a> <a name="virtualdocumentrootip" id="virtualdocumentrootip">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VirtualDocumentRootIP <em>interpolated-directory</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>VirtualDocumentRootIP none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + +<p>The <code class="directive">VirtualDocumentRootIP</code> directive is like the + <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> + directive, except that it uses the IP address of the server end + of the connection for directory interpolation instead of the server + name.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualScriptAlias" id="VirtualScriptAlias">VirtualScriptAlias</a> <a name="virtualscriptalias" id="virtualscriptalias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VirtualScriptAlias <em>interpolated-directory</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>VirtualScriptAlias none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p>The <code class="directive">VirtualScriptAlias</code> directive allows you to + determine where Apache httpd will find CGI scripts in a similar + manner to <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> does for other documents. It matches + requests for URIs starting <code>/cgi-bin/</code>, much like <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + <code>/cgi-bin/</code> would.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualScriptAliasIP" id="VirtualScriptAliasIP">VirtualScriptAliasIP</a> <a name="virtualscriptaliasip" id="virtualscriptaliasip">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>VirtualScriptAliasIP <em>interpolated-directory</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>VirtualScriptAliasIP none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p>The <code class="directive">VirtualScriptAliasIP</code> directive is like the + <code class="directive"><a href="#virtualscriptalias">VirtualScriptAlias</a></code> + directive, except that it uses the IP address of the server end + of the connection for directory interpolation instead of the server + name.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_vhost_alias.html" title="English"> en </a> | +<a href="../fr/mod/mod_vhost_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_vhost_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.html.fr.utf8 b/docs/manual/mod/mod_vhost_alias.html.fr.utf8 new file mode 100644 index 0000000..6f7562d --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.fr.utf8 @@ -0,0 +1,385 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_vhost_alias - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_vhost_alias</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de configurer dynamiquement l'hébergement virtuel de +masse</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>vhost_alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_vhost_alias.c</td></tr></table> +<h3>Sommaire</h3> + + <p>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 <code>Host:</code> 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.</p> + + <div class="note"><h3>Note</h3> + <p>Si les modules <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou + <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> sont utilisés pour traduire les URIs + en noms de fichiers, ils l'emportent sur les directives du module + <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> décrites ci-dessous. Par + exemple, la configuration suivante fera correspondre <code> + /cgi-bin/script.pl</code> à <code> + /usr/local/apache2/cgi-bin/script.pl</code> dans tous les cas :</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/" +VirtualScriptAlias "/never/found/%0/cgi-bin/"</pre> + + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#interpol">Interpolation du nom de répertoire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptalias">VirtualScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_vhost_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_vhost_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/mass.html">Configuration dynamique de +l'hébergement virtuel de masse</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="interpol" id="interpol">Interpolation du nom de répertoire</a></h2> + + + <p>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") peut être soit le nom du serveur (voir la directive + <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> 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 <code>printf</code> et possèdant de + nombreux formats :</p> + +<table> + +<tr><td><code>%%</code></td> +<td>insère un <code>%</code></td></tr> + +<tr><td><code>%p</code></td> +<td>insère le numéro de port du serveur virtuel</td></tr> + +<tr><td><code>%N.M</code></td> +<td>insère le nom (en partie)</td></tr> + +</table> + + <p><code>N</code> et <code>M</code> permettent de spécifier des + sous-chaînes du nom. <code>N</code> sélectionne un des composants du + nom séparés par des points, et <code>M</code> sélectionne des + caractères à l'intérieur de ce que <code>N</code> a sélectionné. + <code>M</code> 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 + <code>M</code> l'est aussi. Les modes d'insertion sont les suivants + :</p> + + <table> + + <tr><td><code>0</code></td> + <td>le nom en entier</td></tr> + + <tr><td><code>1</code></td> + <td>la première partie</td></tr> + + <tr><td><code>2</code></td> + <td>la seconde partie</td></tr> + + <tr><td><code>-1</code></td> + <td>la dernière partie</td></tr> + + <tr><td><code>-2</code></td> + <td>l'avant-dernière partie</td></tr> + + <tr><td><code>2+</code></td> + <td>toutes les parties à partir de la seconde</td></tr> + + <tr><td><code>-2+</code></td> + <td>toutes les parties jusqu'à l'avant-dernière</td></tr> + + <tr><td><code>1+</code> et <code>-1+</code></td> + <td>identique à <code>0</code></td></tr> + </table> + + <p>Si <code>N</code> ou <code>M</code> est plus grand que le nombre + de parties disponibles, seul un caractère de soulignement est + inséré.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Exemples</a></h2> + + + <p>Pour des serveurs virtuels simples à base de nom, utilisez les + directives suivantes dans le fichier de configuration de votre + serveur :</p> + + <pre class="prettyprint lang-config">UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/vhosts/%0"</pre> + + + <p>Une requête pour + <code>http://www.example.com/repertoire/fichier.html</code> + concernera alors la ressource + <code>/usr/local/apache/vhosts/www.example.com/repertoire/fichier.html</code>. + </p> + + <p>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 + <code>vhosts</code>. Pour ce faire, insérez les lignes suivantes + dans votre fichier de configuration :</p> + + <pre class="prettyprint lang-config">UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"</pre> + + + <p>Une requête pour + <code>http://www.domaine.example.com/repertoire/fichier.html</code> + concernera alors la ressource + <code>/usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html</code>.</p> + + <p>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 :</p> + +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2"</pre> + + + <p>La requête précédente concernerait alors + <code>/usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html</code>.</p> + + <p>Vous pouvez également utiliser : </p> + +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"</pre> + + + <p>La requête précédente concernerait alors + <code>/usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html</code>.</p> + + <p>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 <code>sub.www.domain.example.com</code> au lieu de + simplement <code>www.domain.example.com</code>, alors en utilisant + %3+, la racine des documents sera + <code>/usr/local/apache/vhosts/domain.example.com/...</code> au + lieu du répertoire <code>example.com</code> attendu. Dans ce genre + de situation, il peut s'avérer préférable d'utiliser la combinaison + <code>%-2.0.%-1.0</code> qui fournira toujours le nom de domaine et + le tld, par exemple <code>example.com</code> 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 : +</p> +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"</pre> + +<p> +Dans l'exemple ci-dessus, <code>www.example.com</code>, +<code>www.sub.example.com</code> ou <code>example.com</code> +correspondront tous au répertoire +<code>/usr/local/apache/vhosts/example.com</code>. +</p> + + + + <p>Pour l'hébergement virtuel à base d'adresse IP, vous pouvez + insérer les lignes suivantes dans votre fichier de configuration + :</p> + + <pre class="prettyprint lang-config">UseCanonicalName DNS +VirtualDocumentRootIP "/usr/local/apache/vhosts/%1/%2/%3/%4/docs" +VirtualScriptAliasIP "/usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin"</pre> + + + <p>Si l'adresse IP de <code>www.domaine.example.com</code> est + 10.20.30.40, une requête pour + <code>http://www.domaine.example.com/repertoire/fichier.html</code> + concernera la ressource + <code>/usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html</code>. + Une requête pour + <code>http://www.domaine.example.com/cgi-bin/script.pl</code> + concernera la ressource + <code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p> + + <p>Si vous voulez insérer le caractère <code>.</code> dans une + directive <code>VirtualDocumentRoot</code>, et si cela crée un + conflit avec un spécificateur <code>%</code>, vous pouvez contourner + le problème de la manière suivante :</p> + +<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0"</pre> + + + <p>Une requête pour + <code>http://www.domaine.example.com/repertoire/fichier.html</code> + concernera alors la ressource + <code>/usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html</code>.</p> + + <p>Les spécificateurs de format <code>%V</code> et <code>%A</code> + de la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> s'avèrent très utiles + lorsqu'ils sont utilisés en conjonction avec ce module.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="virtualdocumentroot" id="virtualdocumentroot">Directive</a> <a name="VirtualDocumentRoot" id="VirtualDocumentRoot">VirtualDocumentRoot</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet une configuration dynamique de la racine des +documents d'un serveur virtuel donné</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRoot <em>répertoire-interpolé</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRoot none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p>La directive <code class="directive">VirtualDocumentRoot</code> 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 + <em>répertoire-interpolé</em> est utilisé comme racine de + l'arborescence des documents d'une manière similaire à l'argument de + la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Si + <em>répertoire-interpolé</em> a pour valeur <code>none</code>, la + directive <code class="directive">VirtualDocumentRoot</code> est désactivée. + Cette directive ne peut pas être utilisée dans le même contexte que + la directive <code class="directive"><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></code>.</p> + +<div class="warning"><h3>Note</h3> +La directive <code class="directive">VirtualDocumentRoot</code> l'emporte sur +toute directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> +définie dans le même contexte ou dans des contextes enfants. Le fait de +définir une directive <code class="directive">VirtualDocumentRoot</code> dans le +contexte du serveur principal va effectivement l'emporter sur toute +directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> définie dans +un serveur virtuel quelconque, si vous n'avez pas défini +<code class="directive">VirtualDocumentRoot</code> à <code>None</code> dans ce +serveur virtuel. +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="virtualdocumentrootip" id="virtualdocumentrootip">Directive</a> <a name="VirtualDocumentRootIP" id="VirtualDocumentRootIP">VirtualDocumentRootIP</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique de la racine des documents pour un +serveur virtuel donné</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRootIP none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + +<p>La directive <code class="directive">VirtualDocumentRootIP</code> est +identique à la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> à 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.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="virtualscriptalias" id="virtualscriptalias">Directive</a> <a name="VirtualScriptAlias" id="VirtualScriptAlias">VirtualScriptAlias</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAlias <em>répertoire-interpolé</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAlias none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p>La directive <code class="directive">VirtualScriptAlias</code> vous + permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une + méthode similaire à celle qu'utilise la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> pour les + autres documents. Elle recherche des requêtes dont l'URI commence + par <code>/cgi-bin/</code>, comme le ferait la directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="virtualscriptaliasip" id="virtualscriptaliasip">Directive</a> <a name="VirtualScriptAliasIP" id="VirtualScriptAliasIP">VirtualScriptAliasIP</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAliasIP none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p>La directive <code class="directive">VirtualScriptAliasIP</code> est + identique à la directive <code class="directive"><a href="#virtualscriptalias">VirtualScriptAlias</a></code> à + 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.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_vhost_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.html.tr.utf8 b/docs/manual/mod/mod_vhost_alias.html.tr.utf8 new file mode 100644 index 0000000..75674ab --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.tr.utf8 @@ -0,0 +1,354 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_vhost_alias - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Modülü mod_vhost_alias</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_vhost_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_vhost_alias.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Kitlesel sanal konakların devingen olarak yapılandırılmasını sağlar</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>vhost_alias_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_vhost_alias.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu modül, hangi dosyaların sunulacağını saptamak için dosya yolunun + parçası olarak HTTP isteğinin <code>Host:</code> başlığının ve/veya IP + adresinin kullanılmasını mümkün kılarak devingen yapılandırmalı sanal + konaklar oluşturur. Böylece benzer yapılandırmaya sahip çok büyük sayıda + sanal konak kullanımı kolaşlaşır.</p> + + <div class="note"><h3>Bilginize</h3> + <p>URI’leri dosya isimlerine dönüştürmek için <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> + veya <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> kullanılmışsa bunlar + <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> yönergeleri tarafından aşağıda + açıklandığı gibi geçersiz kılınırlar. Örneğin, aşağıdaki yapılandırma + her durumda <code>/cgi-bin/script.pl</code> betiğini <code> + /usr/local/apache2/cgi-bin/script.pl</code> betiğine eşleyecektir:</p> + + <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/" +VirtualScriptAlias "/nerede/bilinmiyor/%0/cgi-bin/"</pre> + + </div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#interpol">Dizin İsimlerinin Elde Edilmesi</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Örnekler</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentroot">VirtualDocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptalias">VirtualScriptAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_vhost_alias">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_vhost_alias">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/mass.html">Devingen olarak Yapılandırılan Kitlesel +Sanal Barındırma</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="interpol" id="interpol">Dizin İsimlerinin Elde Edilmesi</a></h2> + + + <p>Bu modüldeki tüm yönergeler bir dizgeyi bir dosya yoluna dönüştürerek + çalışırlar. Dönüşüm dizgesi (bundan sonra “isim” diyeceğiz) ya sunucu + ismi olur (bunun nasıl belirlendiğini öğrenmek için <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> yönergesine bakınız) ya da + sunucu üzerindeki sanal konağın IP adresi olur. Dönüşümü, + <code>printf</code>’inkilerin benzeri birkaç biçem belirteci + denetler:</p> + +<table> + +<tr><td><code>%%</code></td> +<td>Bir <code>%</code> imi yerleştirir.</td></tr> + +<tr><td><code>%p</code></td> +<td>Sanal konağın IP adresini yerleştirir.</td></tr> + +<tr><td><code>%N.M</code></td> +<td>İsmin parçalarını yerleştirir.</td></tr> + +</table> + + <p><code>N</code> ve <code>M</code> ismin alt dizgelerini belirtmek için + kullanılır. <code>N</code>, ismin noktalarla ayrılmış bileşenlerinden + seçim yaparken <code>M</code>, <code>N</code> ile seçilen parçadan + karakter seçmekte kullanılır. <code>M</code> isteğe bağlı olup mevcut + olmaması halinde öntanımlı olarak sıfırdır. Noktanın varlığı + <code>M</code>’nin varlığına bağlıdır. Dönüşüm şöyle uygulanır:</p> + + <table> + + <tr><td><code>0</code></td> + <td>ismin tamamı</td></tr> + + <tr><td><code>1</code></td> + <td>ilk parça</td></tr> + + <tr><td><code>2</code></td> + <td>ikinci parça</td></tr> + + <tr><td><code>-1</code></td> + <td>son parça</td></tr> + + <tr><td><code>-2</code></td> + <td>sondan bir önceki parça</td></tr> + + <tr><td><code>2+</code></td> + <td>ikinci parça ve sonraki parçaların hepsi</td></tr> + + <tr><td><code>-2+</code></td> + <td>sondan bir önceki parça ve daha önceki parçaların hepsi</td></tr> + + <tr><td><code>1+</code> ve <code>-1+</code></td> + <td><code>0</code> ile aynı</td></tr> + </table> + + <p><code>N</code> veya <code>M</code> parça sayısından büyükse dönüşüm + dizgesi sadece alt çizgi karakterini içerir.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="examples" id="examples">Örnekler</a></h2> + + + <p>Sunucu yapılandırma dosyanızda isme dayalı sanal konaklar için + aşağıdaki yönergeler kullanılıyor olsun:</p> + + <pre class="prettyprint lang-config">UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/sankonlar/%0"</pre> + + + <p><code>http://example.com/dizin/dosya.html</code> için yapılan bir istek + <code>/usr/local/apache/sankonlar/example.com/dizin/dosya.html</code> + dosyası ile yerine getirilecektir.</p> + + <p>Çok büyük sayıda sanal konak için <code>sankonlar</code> dizininin + boyutlarını küçük tutmak amacıyla dosyalar düzenlenebilir. Bunu + yapılandırma dosyanızda şöyle yapabilirsiniz:</p> + + <pre class="prettyprint lang-config">UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2"</pre> + + + <p><code>http://falan.filan.example.com/dizin/dosya.html</code> için + yapılan bir istek + <code>/usr/local/apache/sankonlar/example.com/f/i/l/filan/dizin/dosya.html + </code> ile yerine getirilecektir.</p> + + <p>Bu sefer de parçaları ismin sonundan toplayalım: </p> + + <pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/sankonlar/%3+/%2.-1/%2.-2/%2.-3/%2"</pre> + + + <p>Bu durumda istek + <code>/usr/local/apache/sankonlar/example.com/n/a/l/filan/dizin/dosya.html + </code>ile karşılanırdı.</p> + + <p>Şöyle bir şey de yapabilirsiniz:</p> + + <pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2.4+"</pre> + + + <p>Bu örnek için istek + <code>/usr/local/apache/sankonlar/example.com/f/i/l/an/dizin/dosya.html + </code> dosyasından karşılanırdı.</p> + + <p>Kullanıcıların çoğunun ortak isteği, istenen konak adının uzunluğu veya + sayısı için endişelenmeksizin çok sayıda belge köküne çok sayıda alan + adından erişilebilmesidir. Eğer istenen konak adı + <code>www.domain.example.com</code> değil de + <code>sub.www.domain.example.com</code> ise %3+ kullanımı, belge kök + dizininin düşünüldüğü gibi <code>example.com</code> değil + <code>/usr/local/apache/vhosts/domain.example.com/...</code> olmasını + sağlar. Böyle durumlarda, daima alan adı ve tld ile sonuçlanan + <code>%-2.0.%-1.0</code> birleşiminin kullanımı daha yararlı olabilir. + Böylece, tüm ilk, ikinci ve üçüncü seviye alt alan adlarını aynı dizine + yönlendirecek bir yapılandırma yapılabilir:</p> + + <pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"</pre> + + + <p>Yukarıdaki örnekte, <code>example.com</code>, + <code>www.example.com</code> ve hatta <code>www.sub.example.com</code> + bile <code>/usr/local/apache/vhosts/example.com</code> dizinine + yönlendirilecektir.</p> + + <p>IP’ye dayalı sanal konaklar için yapılandırma dosyanızda şu satırlar + olabilirdi:</p> + + <pre class="prettyprint lang-config">UseCanonicalName DNS +VirtualDocumentRootIP "/usr/local/apache/sankonlar/%1/%2/%3/%4/belgeler" +VirtualScriptAliasIP "/usr/local/apache/sankonlar/%1/%2/%3/%4/cgi-bin"</pre> + + + <p><code>http://falan.filan.example.com/dizin/dosya.html</code> için + yapılan bir istek eğer <code>falan.filan.example.com</code>’un IP adresi + 10.20.30.40 olsaydı, + <code>/usr/local/apache/sankonlar/10/20/30/40/belgeler/dizin/dosya.html + </code> dosyası ile karşılanırdı. + <code>http://falan.filan.example.com/cgi-bin/betik.pl</code> için yapılan + bir istek ise + <code>/usr/local/apache/sankonlar/10/20/30/40/cgi-bin/betik.pl</code> + betiğinin çalıştırılması ile sağlanırdı.</p> + + <p>Bir <code>VirtualDocumentRoot</code> yönergesinin <code>.</code> + karakterini içermesini isterseniz, bir biçem belirteci ile karışıklığa + sebep olmaksızın bunu şöyle sağlayabilirsiniz:</p> + + <pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/sankonlar/%2.0.%3.0"</pre> + + + <p>Bu durumda <code>http://falan.filan.example.com/dizin/dosya.html</code> + için yapılan bir istek + <code>/usr/local/apache/sankonlar/filan.mesela/dizin/dosya.html</code> + dosyası ile karşılanacaktır.</p> + + <p><code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesinin + <code>%V</code> ve <code>%A</code> <a href="mod_log_config.html#formats">biçem belirteçleri</a> bu modülle + birlikte kullanıldığında çok yararlı olurlar.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualDocumentRoot" id="VirtualDocumentRoot">VirtualDocumentRoot</a> <a name="virtualdocumentroot" id="virtualdocumentroot">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualDocumentRoot <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualDocumentRoot none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualDocumentRoot</code> yönergesi sunucu ismine göre + belgelerin bulunacağı yeri Apache HTTP Sunucusunun saptamasını sağlar. + <code><em>hesaplanan-dizin</em></code>’in dönüşüm sonucu <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> yönergesinin değeriymiş gibi + belge ağacının kök dizini olarak kullanılır. + <code><em>hesaplanan-dizin</em></code> yerine <code>none</code> + belirtilmişse <code class="directive">VirtualDocumentRoot</code> iptal edilmiş + olur. Bu yönerge <code class="directive"><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></code> yönergesinin kullanıldığı bağlamda + yer alamaz.</p> + + <div class="warning"><h3>Bilginize</h3> + <code class="directive">VirtualDocumentRoot</code> yönergesi aynı bağlamda veya + alt bağlamlarda da kullanılabilen <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> yönergelerini geçersiz kılar. + Genel sunucu etki alanına bir <code class="directive">VirtualDocumentRoot</code> + konulması, daha sonra yer alan her sanal konak tanımı içinde + <code class="directive">VirtualDocumentRoot</code> yönergesine <code>None</code> + atamadıkça bu sanal konaklarda yapılmış <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> atamalarını geçersiz kılacaktır. + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualDocumentRootIP" id="VirtualDocumentRootIP">VirtualDocumentRootIP</a> <a name="virtualdocumentrootip" id="virtualdocumentrootip">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualDocumentRootIP <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualDocumentRootIP none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualDocumentRootIP</code> yönergesi, dizinin + saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP + adresini kullanması dışında <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> gibidir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualScriptAlias" id="VirtualScriptAlias">VirtualScriptAlias</a> <a name="virtualscriptalias" id="virtualscriptalias">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualScriptAlias <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualScriptAlias none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualScriptAlias</code> yönergesi, CGI betiklerinin + bulunacağı yeri Apache httpd’nin saptamasını sağlamak bakımından + <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> + yönergesinin yaptığını yapar. <code>/cgi-bin/</code> ile başlayan + istekler için ise <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> + yönergesinin yaptığını yapar.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualScriptAliasIP" id="VirtualScriptAliasIP">VirtualScriptAliasIP</a> <a name="virtualscriptaliasip" id="virtualscriptaliasip">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>VirtualScriptAliasIP <em>hesaplanan-dizin</em>|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>VirtualScriptAliasIP none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli, sanal konak</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_vhost_alias</td></tr> +</table> + + <p><code class="directive">VirtualScriptAliasIP</code> yönergesi, dizinin + saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP + adresini kullanması dışında <code class="directive"><a href="#virtualscriptalias">VirtualScriptAlias</a></code> gibidir.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_vhost_alias.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../tr/mod/mod_vhost_alias.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_vhost_alias.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_watchdog.html b/docs/manual/mod/mod_watchdog.html new file mode 100644 index 0000000..d808fa6 --- /dev/null +++ b/docs/manual/mod/mod_watchdog.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_watchdog.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_watchdog.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_watchdog.html.en b/docs/manual/mod/mod_watchdog.html.en new file mode 100644 index 0000000..f9282ac --- /dev/null +++ b/docs/manual/mod/mod_watchdog.html.en @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_watchdog - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_watchdog</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_watchdog.html" title="English"> en </a> | +<a href="../fr/mod/mod_watchdog.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>provides infrastructure for other modules to periodically run + tasks</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>watchdog_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_watchdog.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table> +<h3>Summary</h3> + +<p><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> defines programmatic hooks for other modules to +periodically run tasks. These modules can register handlers for +<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> hooks. Currently, the following modules in the +Apache distribution use this functionality:</p> +<ul> +<li><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code></li> +<li><code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code></li> +<li><code class="module"><a href="../mod/mod_md.html">mod_md</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li> +</ul> +<div class="warning"> +To allow a module to use <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> functionality, +<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> itself must be statically linked to the server +core or, if a dynamic module, be loaded before the calling module. +</div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#watchdoginterval">WatchdogInterval</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_watchdog">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_watchdog">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="WatchdogInterval" id="WatchdogInterval">WatchdogInterval</a> <a name="watchdoginterval" id="watchdoginterval">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Watchdog interval in seconds</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>WatchdogInterval <var>time-interval</var>[s]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>WatchdogInterval 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_watchdog</td></tr> +</table> +<p>Sets the interval at which the watchdog_step hook runs. Default is to run every +second.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_watchdog.html" title="English"> en </a> | +<a href="../fr/mod/mod_watchdog.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_watchdog.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_watchdog.html.fr.utf8 b/docs/manual/mod/mod_watchdog.html.fr.utf8 new file mode 100644 index 0000000..1e6ecc6 --- /dev/null +++ b/docs/manual/mod/mod_watchdog.html.fr.utf8 @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_watchdog - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_watchdog</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_watchdog.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_watchdog.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit une infrastructure permettant à d'autres modules +d'exécuter des tâches périodiques.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>watchdog_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_watchdog.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3 du serveur HTTP +Apache</td></tr></table> +<h3>Sommaire</h3> + +<p>Le module <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> définit des +branchements (hooks) programmés pour permettre à d'autres modules +d'exécuter des tâches périodiques. Ces modules peuvent enregistrer des +gestionnaires (handlers) pour les branchements de +<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>. Actuellement, seuls les modules suivants +de la distribution Apache utilisent cette fonctionnalité :</p> +<ul> +<li><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code></li> +<li><code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code></li> +<li><code class="module"><a href="../mod/mod_md.html">mod_md</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li> +</ul> +<div class="warning"> +Pour qu'un module puisse utiliser la fonctionnalité de +<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>, ce dernier doit être lié statiquement +avec le serveur httpd ; s'il a été lié dynamiquement, il doit être +chargé avant l'appel au module qui doit utiliser sa fonctionnalité. +</div> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#watchdoginterval">WatchdogInterval</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_watchdog">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_watchdog">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="watchdoginterval" id="watchdoginterval">Directive</a> <a name="WatchdogInterval" id="WatchdogInterval">WatchdogInterval</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Intervalle Watchdog en secondes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>WatchdogInterval <var>time-interval</var>[s]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>WatchdogInterval 1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_watchdog</td></tr> +</table> +<p>Cette directive permet de définir l'intervalle entre chaque exécution +du branchement watchdog. La valeur par défaut est de 1 seconde.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_watchdog.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_watchdog.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_watchdog.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_xml2enc.html b/docs/manual/mod/mod_xml2enc.html new file mode 100644 index 0000000..f810b6c --- /dev/null +++ b/docs/manual/mod/mod_xml2enc.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mod_xml2enc.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mod_xml2enc.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_xml2enc.html.en b/docs/manual/mod/mod_xml2enc.html.en new file mode 100644 index 0000000..a76bb66 --- /dev/null +++ b/docs/manual/mod/mod_xml2enc.html.en @@ -0,0 +1,219 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_xml2enc - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache Module mod_xml2enc</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_xml2enc.html" title="English"> en </a> | +<a href="../fr/mod/mod_xml2enc.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Enhanced charset/internationalisation support for libxml2-based +filter modules</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>xml2enc_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_xml2enc.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later. Available as a third-party module +for 2.2.x versions</td></tr></table> +<h3>Summary</h3> + + <p>This module provides enhanced internationalisation support for + markup-aware filter modules such as <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>. + It can automatically detect the encoding of input data and ensure + they are correctly processed by the <a href="http://xmlsoft.org/">libxml2</a> parser, including converting to Unicode (UTF-8) where + necessary. It can also convert data to an encoding of choice + after markup processing, and will ensure the correct <var>charset</var> + value is set in the HTTP <var>Content-Type</var> header.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Usage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#api">Programming API</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sniffing">Detecting an Encoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#output">Output Encoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Unsupported Encodings</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#xml2encalias">xml2EncAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xml2encdefault">xml2EncDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xml2startparse">xml2StartParse</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_xml2enc">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_xml2enc">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Usage</a></h2> + <p>There are two usage scenarios: with modules programmed to work + with mod_xml2enc, and with those that are not aware of it:</p> + <dl> + <dt>Filter modules enabled for mod_xml2enc</dt><dd> + <p>Modules such as <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> version 3.1 + and up use the <code>xml2enc_charset</code> optional function to retrieve + the charset argument to pass to the libxml2 parser, and may use the + <code>xml2enc_filter</code> optional function to postprocess to another + encoding. Using mod_xml2enc with an enabled module, no configuration + is necessary: the other module will configure mod_xml2enc for you + (though you may still want to customise it using the configuration + directives below).</p> + </dd> + <dt>Non-enabled modules</dt><dd> + <p>To use it with a libxml2-based module that isn't explicitly enabled for + mod_xml2enc, you will have to configure the filter chain yourself. So to + use it with a filter <strong>foo</strong> provided by a module + <strong>mod_foo</strong> to improve the latter's i18n support with HTML and + XML, you could use</p> + <pre><code> + FilterProvider iconv xml2enc Content-Type $text/html + FilterProvider iconv xml2enc Content-Type $xml + FilterProvider markup foo Content-Type $text/html + FilterProvider markup foo Content-Type $xml + FilterChain iconv markup + </code></pre> + <p><strong>mod_foo</strong> will now support any character set supported by either + (or both) of libxml2 or apr_xlate/iconv.</p> + </dd></dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="api" id="api">Programming API</a></h2> + <p>Programmers writing libxml2-based filter modules are encouraged to + enable them for mod_xml2enc, to provide strong i18n support for your + users without reinventing the wheel. The programming API is exposed in + <var>mod_xml2enc.h</var>, and a usage example is + <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sniffing" id="sniffing">Detecting an Encoding</a></h2> + <p>Unlike <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code>, mod_xml2enc is designed + to work with data whose encoding cannot be known in advance and thus + configured. It therefore uses 'sniffing' techniques to detect the + encoding of HTTP data as follows:</p> + <ol> + <li>If the HTTP <var>Content-Type</var> header includes a + <var>charset</var> parameter, that is used.</li> + <li>If the data start with an XML Byte Order Mark (BOM) or an + XML encoding declaration, that is used.</li> + <li>If an encoding is declared in an HTML <code><META></code> + element, that is used.</li> + <li>If none of the above match, the default value set by + <code class="directive">xml2EncDefault</code> is used.</li> + </ol> + <p>The rules are applied in order. As soon as a match is found, + it is used and detection is stopped.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="output" id="output">Output Encoding</a></h2> +<p><a href="http://xmlsoft.org/">libxml2</a> always uses UTF-8 (Unicode) +internally, and libxml2-based filter modules will output that by default. +mod_xml2enc can change the output encoding through the API, but there +is currently no way to configure that directly.</p> +<p>Changing the output encoding should (in theory, at least) never be +necessary, and is not recommended due to the extra processing load on +the server of an unnecessary conversion.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="alias" id="alias">Unsupported Encodings</a></h2> +<p>If you are working with encodings that are not supported by any of +the conversion methods available on your platform, you can still alias +them to a supported encoding using <code class="directive">xml2EncAlias</code>.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="xml2EncAlias" id="xml2EncAlias">xml2EncAlias</a> <a name="xml2encalias" id="xml2encalias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Recognise Aliases for encoding values</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>xml2EncAlias <var>charset alias [alias ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr> +</table> + <p>This server-wide directive aliases one or more encoding to another + encoding. This enables encodings not recognised by libxml2 to be handled + internally by libxml2's encoding support using the translation table for + a recognised encoding. This serves two purposes: to support character sets + (or names) not recognised either by libxml2 or iconv, and to skip + conversion for an encoding where it is known to be unnecessary.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="xml2EncDefault" id="xml2EncDefault">xml2EncDefault</a> <a name="xml2encdefault" id="xml2encdefault">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>xml2EncDefault <var>name</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr> +</table> + <p>If you are processing data with known encoding but no encoding + information, you can set this default to help mod_xml2enc process + the data correctly. For example, to work with the default value + of Latin1 (<var>iso-8859-1</var>) specified in HTTP/1.0, use:</p> + <pre class="prettyprint lang-config">xml2EncDefault iso-8859-1</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="xml2StartParse" id="xml2StartParse">xml2StartParse</a> <a name="xml2startparse" id="xml2startparse">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Advise the parser to skip leading junk.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>xml2StartParse <var>element [element ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr> +</table> + <p>Specify that the markup parser should start at the first instance + of any of the elements specified. This can be used as a workaround + where a broken backend inserts leading junk that messes up the parser (<a href="http://bahumbug.wordpress.com/2006/10/12/mod_proxy_html-revisited/">example here</a>).</p> + <p>It should never be used for XML, nor well-formed HTML.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mod_xml2enc.html" title="English"> en </a> | +<a href="../fr/mod/mod_xml2enc.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_xml2enc.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_xml2enc.html.fr.utf8 b/docs/manual/mod/mod_xml2enc.html.fr.utf8 new file mode 100644 index 0000000..bcab35f --- /dev/null +++ b/docs/manual/mod/mod_xml2enc.html.fr.utf8 @@ -0,0 +1,239 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_xml2enc - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_xml2enc</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_xml2enc.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_xml2enc.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support avancé de l'internationalisation et des jeux de +caractères pour les modules de filtrage basés sur libxml2</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>xml2enc_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_xml2enc.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.2.x</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit un support avancé de l'internationalisation + pour les modules de filtrage supportant les balises (markup-aware) + comme <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>. Il est capable de détecter + automatiquement l'encodage des données en entrée et de s'assurer + qu'elle sont traitées correctement par l'interpréteur <a href="http://xmlsoft.org/">libxml2</a>, y compris la conversion en + Unicode (UTF-8) si nécessaire. Il peut aussi convertir les données + dans l'encodage de votre choix après le traitement des balises, et + s'assurera que le <var>jeu de caractères</var> approprié sera défini + dans l'en-tête HTTP <var>Content-Type</var>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#api">API de programmation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sniffing">Détection et encodage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#output">Codage en sortie</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#alias">Codages non supportés</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#xml2encalias">xml2EncAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xml2encdefault">xml2EncDefault</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#xml2startparse">xml2StartParse</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_xml2enc">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_xml2enc">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="usage" id="usage">Utilisation</a></h2> + <p>Il existe deux scénarios d'utilisation : le cas des modules + programmés pour travailler avec mod_xml2enc ; et les autres :</p> + <dl> + <dt>Modules de filtrages programmés pour mod_xml2enc</dt><dd> + <p>Les modules comme <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> versions 3.1 et + supérieures utilisent la fonction optionnelle + <code>xml2enc_charset</code> pour déterminer la valeur de l'argument + "jeu de caractères" à transmettre à l'interpréteur libxml2, et + disposent de la fonction optionnelle <code>xml2enc_filter</code> + pour effectuer un encodage ultérieur éventuel. L'utilisation de + mod_xml2enc avec un module préprogrammé à cet effet ne nécessite + aucune configuration : ce dernier configurera mod_xml2enc pour vous + (sachant que vous pouvez tout de même le personnaliser via les + directives de configuration ci-dessous).</p> + </dd> + <dt>Modules de filtrages non programmés pour mod_xml2enc</dt><dd> + <p>Pour utiliser mod_xml2enc avec un module basé sur libxml2 qui n'a + pas été explicitement programmé pour mod_xml2enc, vous devrez + configurer la chaîne de filtrage vous-même. Ainsi, pour utiliser + mod_xml2enc avec un filtre <strong>foo</strong> fourni par un module + <strong>mod_foo</strong> et pour + améliorer le support i18n de ce dernier avec HTML et XML, vous + pouvez utiliser les directives suivantes :</p> + <pre><code> + FilterProvider iconv xml2enc Content-Type $text/html + FilterProvider iconv xml2enc Content-Type $xml + FilterProvider markup foo Content-Type $text/html + FilterProvider markup foo Content-Type $xml + FilterChain iconv markup + </code></pre> + <p><strong>mod_foo</strong> supportera alors tout jeu de caractère supporté soit par + libxml2, soit par apr_xlate/iconv, soit par les deux.</p> + </dd></dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="api" id="api">API de programmation</a></h2> + <p>Les programmeurs de modules de filtrage basés sur libxml2 sont + encouragés à les préprogrammer pour mod_xml2enc, afin de fournir un + support i18n solide aux utilisateurs sans avoir à réinventer la + roue. L'API de programmation est décrite dans + <var>mod_xml2enc.h</var>, et <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> est un + exemple de son utilisation.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="sniffing" id="sniffing">Détection et encodage</a></h2> + <p>A la différence de <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code>, mod_xml2enc + est conçu pour travailler avec des données dont l'encodage ne peut + pas être connu, et donc configuré, à l'avance. Il utilise donc les + techniques de 'reniflage' suivantes pour détecter le type d'encodage + des données HTTP :</p> + <ol> + <li>Si l'en-tête HTTP <var>Content-Type</var> contient un + paramètre <var>charset</var>, c'est ce dernier qui sera utilisé.</li> + <li>Si les données commancent par une balise XML concernant + l'ordre des octets (BOM) ou par une déclaration d'encodage XML, + c'est celle-ci qui sera utilisée.</li> + <li>Si un type d'encodage est déclaré dans un élément HTML + <code><META></code>, c'est ce dernier qui sera utilisé.</li> + <li>Si aucun des éléments précédents n'est trouvé, c'est la + valeur par défaut définie par la directive + <code class="directive">xml2EncDefault</code> qui sera utilisée.</li> + </ol> + <p>Les conditions sont testées dans cet ordre . Dès qu'une règle + s'applique, elle est utilisée et la détection est terminée.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="output" id="output">Codage en sortie</a></h2> +<p><a href="http://xmlsoft.org/">libxml2</a> utilise toujours UTF-8 +(Unicode) en interne, et les modules de filtrage basés sur libxml2 +utiliseront cet encodage en sortie par défaut. mod_xml2enc peut modifier +l'encodage en sortie via l'API, mais il n'y a actuellement aucun moyen de le +configurer directement.</p> +<p>La modification de l'encodage en sortie ne devrait (du moins en théorie) +jamais être nécessaire, et est même déconseillée à cause de la charge de +traitement supplémentaire imposée au serveur par une conversion non +nécessaire.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="alias" id="alias">Codages non supportés</a></h2> +<p>Si vous travaillez avec des encodages non supportés par aucune des +méthodes de conversion disponibles sur votre plateforme, vous pouvez +tout de même leur associer un alias vers un code supporté via la +directive <code class="directive">xml2EncAlias</code>.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="xml2encalias" id="xml2encalias">Directive</a> <a name="xml2EncAlias" id="xml2EncAlias">xml2EncAlias</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des alias pour les valeurs d'encodage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2EncAlias <var>jeu-de-caractères alias [alias ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr> +</table> + <p>Cette directive de niveau serveur permet de définir un ou + plusieurs alias pour un encodage. Elle permet au support d'encodage de + libxml2 de traiter en interne des encodages non reconnus par libxml2 + en utilisant la table de conversion pour un encodage reconnu. Elle + permet d'atteindre deux objectifs : supporter des jeux (ou noms) de + caractères non reconnus par libxml2 ou iconv, et éviter une + conversion pour un encodage lorsque cela n'est pas nécessaire.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="xml2encdefault" id="xml2encdefault">Directive</a> <a name="xml2EncDefault" id="xml2EncDefault">xml2EncDefault</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un encodage par défaut à utiliser lorsqu'aucune +information ne peut être <a href="#sniffing">automatiquement détectée</a></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2EncDefault <var>nom</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr> +</table> + <p>Si vous traitez des données dont l'encodage est connu, mais ne + contenant aucune information à propos de ce dernier, vous pouvez + définir une valeur par défaut afin d'aider mod_xml2enc à traiter + correctement les données. Par exemple, pour définir la valeur par + défaut Latin1 (<var>iso-8859-1</var>) specifiée dans HTTP/1.0, + utilisez :</p> + <pre class="prettyprint lang-config">xml2EncDefault iso-8859-1</pre> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="xml2startparse" id="xml2startparse">Directive</a> <a name="xml2StartParse" id="xml2StartParse">xml2StartParse</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique à l'interpréteur à partir de quelle balise il doit +commencer son traitement.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2StartParse <var>élément [élément ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr> +</table> + <p>Cette directive permet de spécifier à partir de quelle balise, + parmi les éléments spécifiés, l'interpréteur de balise doit + commencer son traitement. Ccei permet de contourner le problème des + serveurs d'arrière-plan qui insèrent des éléments non conformes en + début de données, ce qui a pour effet de perturber l'interpréteur (<a href="http://bahumbug.wordpress.com/2006/10/12/mod_proxy_html-revisited/">voir un exemple ici</a>).</p> + <p>Elle ne doit être utilisée ni pour les documents XML, ni pour les + documents HTML correctement formatés.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_xml2enc.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_xml2enc.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_xml2enc.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/module-dict.html b/docs/manual/mod/module-dict.html new file mode 100644 index 0000000..c27b42e --- /dev/null +++ b/docs/manual/mod/module-dict.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: module-dict.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: module-dict.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: module-dict.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: module-dict.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: module-dict.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/module-dict.html.en b/docs/manual/mod/module-dict.html.en new file mode 100644 index 0000000..b6bd660 --- /dev/null +++ b/docs/manual/mod/module-dict.html.en @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Terms Used to Describe Modules - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Terms Used to Describe Modules</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/module-dict.html" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>This document describes the terms that are used to describe + each Apache <a href="./">module</a>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Description</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">Status</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#SourceFile">Source File</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ModuleIdentifier">Module Identifier</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibility</a></li> +</ul><h3>See also</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">Description</a></h2> + +<p>A brief description of the purpose of the module.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">Status</a></h2> + + <p>This indicates how tightly bound into the Apache Web server + the module is; in other words, you may need to recompile the + server in order to gain access to the module and its + functionality. Possible values for this attribute are:</p> + + <dl> + <dt>MPM</dt> + + <dd>A module with status "MPM" is a <a href="../mpm.html">Multi-Processing Module</a>. Unlike the + other types of modules, Apache must have one and only one MPM + in use at any time. This type of module is responsible for + basic request handling and dispatching.</dd> + + <dt>Base</dt> + + <dd>A module labeled as having "Base" status is compiled and + loaded into the server by default, and is therefore normally + available unless you have taken steps to remove the module + from your configuration.</dd> + + <dt>Extension</dt> + + <dd>A module with "Extension" status is not normally compiled + and loaded into the server. To enable the module and its + functionality, you may need to change the server build + configuration files and re-compile Apache.</dd> + + <dt>Experimental</dt> + + <dd>"Experimental" status indicates that the module is + available as part of the Apache kit, but you are on your own + if you try to use it. The module is being documented for + completeness, and is not necessarily supported.</dd> + + <dt>External</dt> + + <dd>Modules which are not included with the base Apache + distribution ("third-party modules") may use the "External" + status. We are not responsible for, nor do we support such + modules.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="SourceFile" id="SourceFile">Source File</a></h2> + + <p>This quite simply lists the name of the source file which + contains the code for the module. This is also the name used by + the <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> + directive.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ModuleIdentifier" id="ModuleIdentifier">Module Identifier</a></h2> + + <p>This is a string which identifies the module for use in the + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive when + dynamically loading modules. In particular, it is the name of + the external variable of type module in the source file.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">Compatibility</a></h2> + + <p>If the module was not part of the original Apache version 2 + distribution, the version in which it was introduced should be + listed here. In addition, if the module is limited to + particular platforms, the details will be listed here.</p> +</div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/module-dict.html" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/module-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.fr.utf8 b/docs/manual/mod/module-dict.html.fr.utf8 new file mode 100644 index 0000000..6ead056 --- /dev/null +++ b/docs/manual/mod/module-dict.html.fr.utf8 @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Termes utilisés pour décrire les modules - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Termes utilisés pour décrire les modules</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>Ce document décrit les termes utilisés pour décrire chaque <a href="./">module</a> Apache.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Description</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">Statut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#SourceFile">Fichier source</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ModuleIdentifier">Identificateur de module</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibilité</a></li> +</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">Description</a></h2> + +<p>Une brève description des fonctions du module.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">Statut</a></h2> + + <p>Ce terme indique le degré de rapprochement du module par rapport + au coeur du serveur web Apache ; en d'autres termes, vous pouvez + être amené à recompiler le serveur pour pouvoir accéder au module et + à ses fonctionnalités. Les valeurs possibles de cet attribut sont + :</p> + + <dl> + <dt>MPM</dt> + + <dd>Un module dont le statut est "MPM" est un <a href="../mpm.html">module Multi-Processus</a>. A la différence des + autres modules, un seul module MPM peut et doit être utilisé par Apache à + la fois. Ce type de module est responsable de la répartition et du + traitement de base des requêtes.</dd> + + <dt>Base</dt> + + <dd>Un module dont le statut est "Base" est compilé dans le + serveur et chargé avec ce dernier par défaut ; il est donc + toujours disponible à moins que vous n'ayez fait en sorte de + supprimer le module de votre configuration.</dd> + + <dt>Extension</dt> + + <dd>Un module dont le statut est "Extension" n'est pas compilé et + chargé dans le serveur par défaut. Pour activer le module et + accéder à ses fonctionnalités, vous devez modifier la + configuration de la compilation du serveur et recompiler + Apache.</dd> + + <dt>Expérimental</dt> + + <dd>Le statut "Experimental" indique que le module fait partie du + kit Apache, mais que vous devez l'utiliser à vos risques et + périls. Le module est documenté à des fins d'exhaustivité, et + n'est pas obligatoirement supporté.</dd> + + <dt>Externe</dt> + + <dd>Ce statut indique que le module ("module tiers") ne fait pas + partie de la distribution de base d'Apache. Nous ne sommes pas + responsables de ces modules et n'en assurons pas le support.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="SourceFile" id="SourceFile">Fichier source</a></h2> + + <p>Il s'agit tout simplement de la liste des noms des fichiers + source qui contiennent le code du module. C'est aussi le nom utilisé + par la directive <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code>.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ModuleIdentifier" id="ModuleIdentifier">Identificateur de module</a></h2> + + <p>C'est une chaîne permettant d'identifier le module à utiliser + dans la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> + pour le chargement dynamique des modules. En particulier, c'est le + nom de la variable externe de type module dans le fichier + source.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">Compatibilité</a></h2> + + <p>Si le module ne faisait pas partie de la distribution originale + d'Apache version 2, la version à partir de laquelle il est + disponible est indiquée ici. En outre, si le module n'est disponible + que sur certaines plates-formes, cela sera mentionné ici.</p> +</div></div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/module-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.ja.utf8 b/docs/manual/mod/module-dict.html.ja.utf8 new file mode 100644 index 0000000..86dd21f --- /dev/null +++ b/docs/manual/mod/module-dict.html.ja.utf8 @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Apache モジュールの解説で使用する用語 - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache モジュールの解説で使用する用語</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>この文書は Apache の各 <a href="./">モジュール</a> を説明するために + 使われている用語を説明します。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">説明</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">ステータス</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#SourceFile">ソースファイル</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ModuleIdentifier">モジュール識別子</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">互換性</a></li> +</ul><h3>参照</h3><ul class="seealso"><li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">説明</a></h2> + +<p>モジュールの目的の短い説明。</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">ステータス</a></h2> + + <p>これは、そのモジュールが Apache + ウェブサーバにどれくらい密接に組み込まれているかを示します。 + 言い換えれば、モジュールを組み込み、その機能を利用するために、 + サーバを再コンパイルする必要があるかもしれないということを示します。 + この属性が取り得る値は以下のものです:</p> + <dl> + <dt>MPM</dt> + + <dd>ステータスが "MPM" のモジュールは<a href="../mpm.html">マルチプロセッシングモジュール</a>です。 + 他の種類のモジュールとは違って、Apache は常に MPM を一つだけ + 使用し続けます。この種類のモジュールは基本的なリクエストの扱いと + ディスパッチを行ないます。</dd> + + <dt>Base</dt> + + <dd>ステータスが "Base" + のモジュールは、デフォルトでコンパイルされてわざわざ設定から + モジュールを削除していない限り、通常は利用可能です。 + </dd> + + <dt>Extension</dt> + + <dd>ステータスが "Extension" のモジュールは、 + デフォルトではコンパイルされず、サーバにも読み込まれません。 + そのモジュールとその機能を有効にするには、 + サーバをビルドするための設定を変更して、Apache + を再コンパイルする必要があります。</dd> + <dt>Experimental</dt> + + <dd>ステータスが "Experimental" のモジュールは、 + Apache 配布物に同梱されていますが、 + 使用する場合は自己責任で行なう必要があります。 + そのモジュールは、ドキュメントも完成に向けて作成中ですし、 + サポートされるているとは限りません。</dd> + <dt>External</dt> + + <dd>ステータスが "External" のモジュールは、基本 Apache + 配布に同梱されません ("サードパーティーモジュール")。 + そのため、我々に責任はありませんし、 + そのモジュールのサポートもしていません。</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="SourceFile" id="SourceFile">ソースファイル</a></h2> + + <p>これは単純に、 + そのモジュールに必要なコードを含むソースファイルの名前を列挙したものです。 + これは、<code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> + ディレクティブで使用される名前でもあります。 + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ModuleIdentifier" id="ModuleIdentifier">モジュール識別子</a></h2> + + <p>この文字列は、モジュールの動的読み込みを行なうときに使用する <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> + ディレクティブにおいて使用されるモジュールの識別子です。 + 詳しく書くと、ソースファイル内の module タイプの外部変数の名前です。 + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">互換性</a></h2> + + <p>あるモジュールが Apache バージョン 2 + の配布に含まれていなかった場合、 + そのモジュールが導入されたバージョンがここに書かれています。 + また、モジュールが特定のプラットフォームにのみ存在するときも + 詳細はここに書かれています。</p> +</div></div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/module-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.ko.euc-kr b/docs/manual/mod/module-dict.html.ko.euc-kr new file mode 100644 index 0000000..9f36f21 --- /dev/null +++ b/docs/manual/mod/module-dict.html.ko.euc-kr @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title> ϱ - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1> ϱ </h1> +<div class="toplang"> +<p><span> : </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p> ġ <a href="./"></a> ϱ + Ѵ.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description"></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status"></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#SourceFile">ҽ</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ModuleIdentifier"></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility"></a></li> +</ul><h3></h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description"></a></h2> + +<p> .</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status"></a></h2> + + <p> ġ ִ Ÿ. + , Ư ϱؼ ٽ + ؾ 찡 ִ. Ӽ :</p> + + <dl> + <dt>MPM</dt> + + <dd>° "MPM" <a href="../mpm.html">ó + </a>̴. ٸ ġ + MPM Ѵ. ̷ ⺻ û ó + й踦 Ѵ.</dd> + + <dt>Base</dt> + + <dd>° "Base" ⺻ ϵǹǷ, + ʴ ִ.</dd> + + <dt>Extension</dt> + + <dd>° "Extension" ϵ + ʴ´. Ϸ + ϰ ġ ٽ ؾ Ѵ.</dd> + + <dt>Experimental</dt> + + <dd>"Experimental" ´ ġ Ե, + Ϸ ؾ Ѵ. , + Ѵٴ ƴϴ.</dd> + + <dt>External</dt> + + <dd>"External" ´ ⺻ ġ Ե + ("ڰ ")̴. 츮 ̷ å + ʴ´.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="SourceFile" id="SourceFile">ҽ</a></h2> + + <p>ϰ ؼ ҽڵ尡 ִ ҽϸ̴. + <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> + þ ϴ ̸̱ ϴ.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ModuleIdentifier" id="ModuleIdentifier"></a></h2> + + <p> Īϴ ڿ, о̴ + <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> þ + Ѵ. Ȯ ϸ ҽϿ module ܺκ + ̸̴.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility"></a></h2> + + <p> ġ 2 Ե ʾҴٸ, + ó Ұ ˷ش. , Ư + ÷̶ Ѵ.</p> +</div></div> +<div class="bottomlang"> +<p><span> : </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/module-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.tr.utf8 b/docs/manual/mod/module-dict.html.tr.utf8 new file mode 100644 index 0000000..638f32c --- /dev/null +++ b/docs/manual/mod/module-dict.html.tr.utf8 @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Modülleri Tanımlamakta Kullanılan Terimler - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Modülleri Tanımlamakta Kullanılan Terimler</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" title="Türkçe"> tr </a></p> +</div> + + <p>Bu belgede Apache <a href="./">modül</a>lerini tanımlarken kullanılan terimler açıklanmıştır.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Açıklama</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Status">Durum</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#SourceFile">Kaynak Dosyası</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ModuleIdentifier">Modül Betimleyici</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Uyumluluk</a></li> +</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Description" id="Description">Açıklama</a></h2> + +<p>Modülün kullanım amacının kısa bir açıklaması.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Status" id="Status">Durum</a></h2> + + <p>Modülün Apache HTTP sunucusuna ne kadar sıkı bağlı olduğunu belirtir. Başka bir deyişle, modüle ve işlevselliğine erişim kazanmak için sunucuyu yeniden derlemek gerekip gerekmediği ile ilgili durumu belirtir. Bu özniteliğin olası değerleri şunlardır:</p> + + <dl> + <dt>MPM</dt> + + <dd>“MPM” durumlu bir modül bir <a href="../mpm.html">Çok Süreçlilik Modülü</a>dür. Diğer modül türlerinin aksine, sunucunun kullandığı MPM modülü sayısı birden fazla olamaz. Bu modül türü temelde sunucuya gelen isteklerin ele alınmasından ve öldürülmesinden sorumludur.</dd> + + <dt>Temel</dt> + + <dd>“Temel” durumuyla etiketlenmiş bir modül öntanımlı olarak olarak derlenir ve sunucuya öntanımlı olarak yüklenir. Bu bakımdan derleme öncesi paket yapılandırması sırasında modülün derlenmemesi özellikle istenmedikçe bu modül derlenecek ve sunucuya yüklenecektir.</dd> + + <dt>Eklenti</dt> + + <dd>“Eklenti” durumundaki bir modül normal olarak derlenmez ve sunucuya yüklenmez. Modülü ve işlevselliğini etkin kılmak için sunucunun derleme öncesi paket yapılandırması sırasında modülün derleneceğini açıkça belirttikten sonra gerekirse yeniden derlemeniz gerekir.</dd> + + <dt>Deneysel</dt> + + <dd>“Deneysel” durumu modülün Apache sunucusunun bir parçası olarak kabul edildiğini ancak modülü denemenin tamamen sizin insiyatifinize bırakıldığı anlamına gelir. Böyle bir modül her şeyiyle belgelenmiştir fakat gerektiği gibi desteklenmemiştir.</dd> + + <dt>Harici</dt> + + <dd>“Harici” durumu temel Apache dağıtımında bulunmayan (“üçüncü parti”) modüller için kullanılır. Böyle modüller için sorumluluk kabul etmediğimiz gibi bunları desteklemiyoruz.</dd> + </dl> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="SourceFile" id="SourceFile">Kaynak Dosyası</a></h2> + + <p>Karşısına modül kodunu içeren kaynak dosyasının ismi yazılır. Bu isim ayrıca <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> yönergesi tarafından da kullanılır.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ModuleIdentifier" id="ModuleIdentifier">Modül Betimleyici</a></h2> + + <p>Modüller devingen olarak yüklenirken <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> yönergesinde kullanmak için modülü betimleyen dizgedir. Aslında, kaynak dosyasında <code>module</code> türündeki harici değişkenin ismidir.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="Compatibility" id="Compatibility">Uyumluluk</a></h2> + + <p>Eğer modül Apache’nin 2. sürüm dağıtımının özgün parçası değilse söz konusu sürüm burada belirtilir. Ayrıca, modülün kullanımı belli platformlarla sınırlıysa bunun ayrıntıları da burada belirtilir.</p> +</div></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/module-dict.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/module-dict.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/module-dict.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html b/docs/manual/mod/mpm_common.html new file mode 100644 index 0000000..e0cc074 --- /dev/null +++ b/docs/manual/mod/mpm_common.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm_common.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mpm_common.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpm_common.html.de b/docs/manual/mod/mpm_common.html.de new file mode 100644 index 0000000..b9bfda2 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.de @@ -0,0 +1,780 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Allgemeine Direktiven der Apache-MPMs</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_common.html" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Eine Sammlung von Direktiven, die in mehr als einem + Multi-Processing-Modul (MPM) implementiert sind.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Report a bug</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><a href="#comments_section">Kommentare</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a>-<a name="coredumpdirectory" id="coredumpdirectory">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verzeichnis, in das der Apache zu wechseln versucht, bevor er + einen Hauptspeicherauszug erstellt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CoreDumpDirectory <var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für die Voreinstellung siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Dies beeinflusst das Verzeichnis, in welches der Apache zu wechseln + versucht, bevor er einen Hauptspeicherauszug <span class="transnote">(<em>Anm.d.Ü.:</em> einen + so genannten Core-Dump)</span> erstellt. Die Voreinstellung ist das + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>-Verzeichnis. Da dieses + jedoch nicht für den Benutzer beschreibbar sein soll, unter dem + der Server läuft, werden normalerweise keine + Hauptspeicherauszüge geschrieben. Wenn Sie zum Debuggen + einen Hauptspeicherauszug haben möchten, können Sie + ihn mit dieser Direktive an einem anderen Ort ablegen lassen.</p> + + <div class="note"><h3>Hauptspeicherauszüge unter Linux</h3> + <p>Wenn Apache als <code>root</code> startet und zu einem anderen Benutzer + wechselt, <em>deaktiviert</em> der Linux-Kernel Hauptspeicherauszüge + auch dann, wenn der Prozess in dem Verzeichnis schreiben darf. Ab Linux + 2.4 reaktiviert Apache (ab 2.0.46) Hauptspeicherauszüge wieder, + jedoch nur dann, wenn Sie explizit + <code class="directive">CoreDumpDirectory</code> konfigurieren.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a>-<a name="enableexceptionhook" id="enableexceptionhook">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert einen Hook, der nach einem Absturz noch +Ausnahmefehler behandeln lassen kann</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar seit Version 2.0.49</td></tr> +</table> + <p>Diese Direktive ist aus Sicherheitsgründen nur verfügbar, + wenn der Server mit der Option <code>--enable-exception-hook</code> + konfiguriert wurde. Sie aktiviert einen Hook, der es externen Modulen + erlaubt, sich dort einzuhängen und nach dem Absturz eines + Kindprozesses noch Aktionen durchzuführen.</p> + + <p>Es existieren bereits zwei Module, <code>mod_whatkilledus</code> und + <code>mod_backtrace</code>, welche diesen Hook verwenden. Weitere + Informationen hierzu finden Sie auf Jeff Trawicks <a href="http://www.apache.org/~trawick/exception_hook.html">EnableExceptionHook-Seite</a>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a>-<a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in version 2.2 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a>-<a name="listen" id="listen">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>IP-Adressen und Ports, an denen der Server lauscht</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Listen [<var>IP-Addresse</var>:]<var>Port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit Apache 2.0 vorgeschrieben</td></tr> +</table> + <p>Die Direktive <code class="directive">Listen</code> weist den Apache an, + nur an den angegebenen IP-Adressen oder Ports zu lauschen. + Standardmäßig antwortet er auf alle Anfragen an allen + IP-Interfaces. <code class="directive">Listen</code> ist nun eine notwendige + Anweisung. Wenn sie nicht in der Konfigurationsdatei enthalten ist, + wird der Server-Start fehlschlagen. Dies ist eine Änderung + gegenüber früheren Versionen des Apache.</p> + + <p>Die Direktive <code class="directive">Listen</code> weist den Server an, + ankommende Anfragen am angegebenen Port oder der + Kombination aus Adresse und Port entgegenzunehmen. Wenn nur eine Portnummer + angegeben ist, dann lauscht der Server am angegebenen Port an allen + Interfaces. Wenn sowohl eine IP-Adresse als auch ein Port angegeben + sind, dann lauscht der Server am angegeben Port und Interface.</p> + + <p>Es können mehrere <code class="directive">Listen</code>-Anweisungen + verwendet werden, um eine Reihe von Adressen und Port anzugeben, an + denen gelauscht werden soll. Der Server antwortet auf Anfragen von + jedem der aufgeführten Adressen und Ports.</p> + + <p>Um beispielsweise den Server Verbindungen an den beiden Ports 80 und + 8000 annehmen zu lassen, verwenden Sie:</p> + + <div class="example"><p><code> + Listen 80<br /> + Listen 8000 + </code></p></div> + + <p>Um den Server Verbindungen an zwei angegebenen Interfaces und Ports + annehmen zu lassen, verwenden Sie:</p> + + <div class="example"><p><code> + Listen 192.170.2.1:80<br /> + Listen 192.170.2.5:8000 + </code></p></div> + + <p>IPv6-Adressen müssen wie in dem folgenden Beispiel in eckige + Klammern eingeschlossen werden:</p> + + <div class="example"><p><code> + Listen [2001:db8::a00:20ff:fea7:ccea]:80 + </code></p></div> + + <div class="note"><h3>Fehlermöglichkeit</h3> + Mehrere <code class="directive">Listen</code>-Direktiven für gleiche + IP-Adresse und Port führen zur Fehlermeldung + <code>Address already in use</code> <span class="transnote">(<em>Anm.d.Ü.:</em> Adresse schon in + Benutzung)</span>. + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../dns-caveats.html">DNS-Probleme</a></li> +<li><a href="../bind.html">Bestimmen, welche Adressen und Ports der + Apache verwendet</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a>-<a name="listenbacklog" id="listenbacklog">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Länge der Warteschlange schwebender + Verbindungen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ListenBacklog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die maximale Länge der Warteschlange schwebender Verbindungen. + Üblicherweise ist keine Feineinstellung notwendig oder sinnvoll, + auf einigen System kann es jedoch gewünscht sein, diesen Wert bei + TCP-SYN-Angriffen zu erhöhen. Beachten Sie auch die Beschreibung des + backlog-Parameters der Systemfunktion <code>listen(2)</code>.</p> + + <p>Der Wert wird vom Betriebssystem oft auf eine niedrigere + Einstellung begrenzt. Dies variiert von Betriebssystem zu Betriebssystem. + Beachten Sie auch, dass viele Betriebssyteme nicht genau beachten, + was für backlog angegeben ist, jedoch einen Wert basierend auf der + Angabe (normalerweiseweise jedoch größer als diese) verwenden.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a>-<a name="listencoresbucketsratio" id="listencoresbucketsratio">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option <code>SO_REUSEPORT</code> and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of <code>SO_REUSEPORT</code> +in *BSDs.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a>-<a name="maxconnectionsperchild" id="maxconnectionsperchild">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available Apache HTTP Server 2.3.9 and later. The old name +<code>MaxRequestsPerChild</code> is still supported.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a>-<a name="maxmemfree" id="maxmemfree">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Menge des Arbeitsspeichers, den die + Haupt-Zuteilungsroutine verwalten darf, ohne <code>free()</code> + aufzurufen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxMemFree <var>KBytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxMemFree 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Die Direktive <code class="directive">MaxMemFree</code> gibt die maximale + Menge freier Kilobytes an, welche die Haupt-Zuteilungsroutine verwalten + darf, ohne <code>free()</code> aufzurufen. Wenn keine Angabe gemacht wird, + oder Null angegeben ist, wird dieser Wert nicht eingeschränkt.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a>-<a name="maxrequestworkers" id="maxrequestworkers">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRequestWorkers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a>-<a name="maxsparethreads" id="maxsparethreads">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Anzahl unbeschäftigter Threads</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareThreads <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Maximale Anzahl unbeschäftigter Threads. Die verschiedenen MPMs + behandeln diese Anweisung unterschiedlich.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/perchild.html">perchild</a></code> ist + <code>MaxSpareThreads 10</code>. Das MPM überwacht die Anzahl der + unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn + zu viele unbeschäftigte Threads in einem Kindprozess existieren, + beendet der Server Threads innerhalb dieses Kindprozesses.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/worker.html">worker</a></code>, + <code class="module"><a href="../mod/leader.html">leader</a></code> und <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> ist + <code>MaxSpareThreads 250</code>. Diese MPMs behandeln Threads + auf einer serverweiten Basis. Wenn zu viele unbeschäftigte Threads + im Server existieren, dann werden solange Kindprozesse beendet, bis + die Anzahl der unbeschäftigten Threads kleiner als der + angegebene Wert ist.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> ist + <code>MaxSpareThreads 100</code>. Da dieses MPM nur einen einzigen + Prozess ausführt, ist die Zählung überschüssiger + Threads ebenfalls serverweit.</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> and <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> arbeiten + ähnlich wie <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Die Voreinstellung + für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>MaxSpareThreads 50</code>. + Die Voreinstellung für <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> ist + <code>10</code>.</p> + + <div class="note"><h3>Restriktionen</h3> + <p>Der Wertebereich von <code class="directive">MaxSpareThreads</code> + ist eingeschränkt. Apache korrigiert den angegebenen Wert + automatisch gemäß den folgenden Regeln:</p> + <ul> + <li><code class="module"><a href="../mod/perchild.html">perchild</a></code> verlangt, dass <code class="directive">MaxSpareThreads</code> kleiner oder gleich <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> ist.</li> + + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> verlangt einen Wert größer + als <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li> + + <li>Bei <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> und + <code class="module"><a href="../mod/worker.html">worker</a></code> muss der Wert größer oder gleich + der Summe aus <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> und + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sein.</li> + </ul> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a>-<a name="minsparethreads" id="minsparethreads">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Minimale Anzahl unbeschäftigter Threads, die zur + Bedienung von Anfragespitzen zur Verfügung stehen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareThreads <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Minimale Anzahl unbeschäftigter Threads, um Anfragespitzen + zu bedienen. Die verschiedenen MPMs behandeln die Anweisung + unterschiedlich.</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> verwendet die Voreinstellung + <code>MinSpareThreads 5</code> und überwacht die Anzahl der + unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn + in einem Kindprozess nicht genügend unbeschäftigte + Threads vorhanden sind, erstellt der Server neue Threads innerhalb + dieses Kindprozesses. Wenn Sie also <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> auf <code>10</code> und <code class="directive">MinSpareThreads</code> auf einen Wert von <code>5</code> setzen, + haben Sie mindestens 50 unbeschäftigte Threads auf Ihrem + System.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code> und + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> verwenden eine Voreinstellung von + <code>MinSpareThreads 75</code> und behandeln unbeschäftigte + Threads auf serverweiter Basis. Wenn nicht genügend + unbeschäftigte Threads im Server vorhanden sind, dann + werden solange Kindprozesse erzeugt, bis die Anzahl unbeschäftigter + Threads größer als der angegebene Wert ist.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> verwendet die Voreinstellung + <code>MinSpareThreads 10</code> und verfolgt dies serverweit, da + es ein Einzelprozess-MPM ist.</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> und <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> arbeiten + ähnlich wie <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Die Voreinstellung + für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>MinSpareThreads 1</code>. + Die Voreinstellung für <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> ist + <code>5</code>.</p> + + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a>-<a name="pidfile" id="pidfile">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Datei, in welcher der Server die Prozess-ID des Daemons +ablegt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PidFile <var>Dateiname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die Direktive <code class="directive">PidFile</code> bestimmt die Datei, + in welcher der Server die Prozess-ID des Daemons ablegt. Wenn der + Dateiname nicht absolut angegeben wird, wird er relativ zu + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> interpretiert.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + PidFile /var/run/apache.pid + </code></p></div> + + <p>Es ist oft hilfreich, dem Server ein Signal senden zu können, + damit er seine <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>s und + <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>s + schließt und dann neu öffnet und seine + Konfigurationsdateien neu einliest. Dies kann durch Senden eines + SIGHUP-Signals (kill -1) an die Prozess-ID geschehen, die im + <code class="directive">PidFile</code> eingetragen ist.</p> + + <p>Die <code class="directive">PidFile</code>-Datei unterliegt den + gleichen Warnungen über die Ablage von Protokolldateien + und <a href="../misc/security_tips.html#serverroot">Sicherheit</a>.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Ab Apache 2 wird empfohlen, nur das Skript <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> zum (Neu-)Starten und Stoppen des Servers zu + verwenden.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a>-<a name="receivebuffersize" id="receivebuffersize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>TCP receive buffer size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a>-<a name="scoreboardfile" id="scoreboardfile">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort der Datei, die zur Speicherung von Daten zur + Koordinierung der Kindprozesse verwendet wird</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScoreBoardFile <var>Dateipfad</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ScoreBoardFile logs/apache_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Apache verwendet ein Scoreboard zur Kommunikation zwischen + seinen Eltern- und Kindprozessen. Einige Architekturen erfordern + eine Datei zur Unterstützung der Kommunikation. Wenn die Datei + undefiniert bleibt, versucht der Apache zuerst, das Scoreboard im + Arbeitsspeicher zu erstellen (Verwendung von anonymem Shared-Memory), + und versucht bei einem Fehlschlag anschließend die Datei auf + der Festplatte zu erstellen (Verwendung von Datei-basiertem + Shared-Memory). Die Angabe dieser Direktive veranlaßt den + Apache stets, die Datei auf der Festplatte zu erstellen.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ScoreBoardFile /var/run/apache_status + </code></p></div> + + <p>Datei-basiertes Shared-Memory ist für Applikationen von + Drittanbietern hilfreich, die direkten Zugriff auf das Scoreboard + benötigen.</p> + + <p>Wenn Sie eine <code class="directive">ScoreBoardFile</code>-Anweisung + verwenden, erreichen Sie eventuell eine höhere Geschwindigkeit, wenn + Sie die Datei auf einer RAM-Disk ablegen. Achten Sie darauf, die + gleichen Warnungen wie über die Ablage von Protokolldateien und + <a href="../misc/security_tips.html">Sicherheit</a> zu beherzigen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../stopping.html">Apache beenden und neu + starten</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a>-<a name="sendbuffersize" id="sendbuffersize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Größe des TCP-Puffers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SendBufferSize <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Der Server setzt die Größe des TCP-Puffers auf die + angegebene Anzahl Bytes. Dies ist sehr hilfreich, um Voreinstellungen + alter Standardbetriebssysteme für Hochgeschwindigkeitsverbindungen + mit hoher Latenzzeit anzuheben (<em>d.h.</em> 100ms oder so, wie bei + Interkontinentalverbindungen).</p> + + <p>Wird der Wert auf <code>0</code> gesetzt, dann verwendet der Server + die Voreinstellung des Betriebssystems.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a>-<a name="serverlimit" id="serverlimit">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Obergrenze für die konfigurierbare Anzahl von + Prozessen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerLimit <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> bestimmt die Direktive + den während der Lebensdauer des Apache-Prozesses maximal + einstellbaren Wert für <code class="directive"><a href="#maxclients">MaxClients</a></code>. Beim MPM + <code class="module"><a href="../mod/worker.html">worker</a></code> bestimmt die Direktive in Verbindung mit + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> den Maximalwert + für <code class="directive"><a href="#maxclients">MaxClients</a></code> + für die Lebensdauer des Apache-Prozesses. Jeder Versuch, diese + Anweisung während eines Neustarts zu ändern, wird ignoriert. + <code class="directive"><a href="#maxclients">MaxClients</a></code> kann jedoch + während eines Neustarts geändert werden.</p> + + <p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive + walten. Wenn <code class="directive">ServerLimit</code> auf einen Wert deutlich + höher als notwendig gesetzt wird, wird zusätzliches, + unbenutztes Shared-Memory belegt. Wenn sowohl + <code class="directive">ServerLimit</code> als auch <code class="directive"><a href="#maxclients">MaxClients</a></code> auf Werte gesetzt werden, die + größer sind, als das System sie handhaben kann, dann kann + der Apache möglicherweise nicht starten, oder das System kann + instabil werden.</p> + + <p>Verwenden Sie die Direktive bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> + nur, wenn Sie <code class="directive"><a href="#maxclients">MaxClients</a></code> + auf mehr als 256 (Voreinstellung) setzen müssen. Setzen Sie den + Wert nicht höher als den Wert, den Sie für <code class="directive"><a href="#maxclients">MaxClients</a></code> angeben möchten.</p> + + <p>Verwenden Sie die Direktive bei <code class="module"><a href="../mod/worker.html">worker</a></code>, + <code class="module"><a href="../mod/leader.html">leader</a></code> und <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> nur, wenn Ihre + <code class="directive"><a href="#maxclients">MaxClients</a></code>- und + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>-Einstellungen + mehr als 16 Serverprozesse (Voreinstellung) erfordern. Setzen Sie den + Wert dieser Direktive nicht höher, als die Anzahl der Serverprozesse, + die dafür erforderlich ist, was Sie bei <code class="directive"><a href="#maxclients">MaxClients</a></code> und + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> angeben + möchten.</p> + + <p>Verwenden Sie die Direktive beim MPM <code class="module"><a href="../mod/perchild.html">perchild</a></code> nur, + wenn Sie <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> auf einen + Wert größer als 8 (Voreinstellung) setzen müssen.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Eine feste Begrenzung von <code>ServerLimit 20000</code> ist in den + Server einkompiliert (bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> 200000). + Dies soll unangenehme Effekte durch Tippfehler verhindern.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../stopping.html">Apache beenden und neu + starten</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a>-<a name="startservers" id="startservers">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartServers <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die Direktive <code class="directive">StartServers</code> bestimmt + die Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden. Da die Anzahl der Prozesse abhängig von der Last + dynamisch kontrolliert wird, besteht normalerweise wenig + Grund für eine Änderung dieses Parameters.</p> + + <p>Die Voreinstellung unterscheidet sich von MPM zu MPM. Bei + <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> und + <code class="module"><a href="../mod/worker.html">worker</a></code> ist die Voreinstellung + <code>StartServers 3</code>. Die Voreinstellung bei + <code class="module"><a href="../mod/prefork.html">prefork</a></code> ist <code>5</code> und bei + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> <code>2</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a>-<a name="startthreads" id="startthreads">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Threads, die beim Start erstellt werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartThreads <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code></td></tr> +</table> + <p>Anzahl der Threads, die beim Start erstellt werden. Da die Anzahl + der Threads abhängig von der Last dynamisch kontrolliert wird, + besteht normalerweise wenig Grund für eine Änderung + dieses Parameters.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/perchild.html">perchild</a></code> ist + <code>StartThreads 5</code>. Die Direktive setzt während des + Starts die Anzahl der Threads pro Prozess.</p> + + <p>Die Voreinstellung bei <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> ist + <code>StartThreads 50</code>. Da hier lediglich ein einzelner Prozess + existiert, ist dies die Gesamtzahl der Threads, die beim Start + erstellt wird, um Anfragen zu bedienen.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>StartThreads + 10</code>. Die Einstellung reflektiert ebenfalls die Gesamtzahl der Threads, die + beim Start erstellt werden, um Anfragen zu bedienen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a>-<a name="threadlimit" id="threadlimit">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads + pro Kindprozess</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadLimit <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar für <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> ab + Apache 2.0.41</td></tr> +</table> + <p>Die Direktive bestimmt den während der Lebensdauer des + Apache-Prozesses maximal einstellbaren Wert für + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>. Jeder + Versuch, diese Direktive während eines Neustarts zu ändern, + wird ignoriert. <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + kann jedoch während eines Neustarts modifiziert werden bis zu dem + Wert dieser Anweisung.</p> + + <p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive + walten. Wenn <code class="directive">ThreadLimit</code> auf einen Wert + deutlich höher als <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> gesetzt wird, wird + zusätzliches, ungenutztes Shared-Memory belegt. Wenn sowohl + <code class="directive">ThreadLimit</code> als auch <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> auf Werte gesetzt werden, + die größer sind, als das System sie handhaben kann, dann kann + der Apache möglicherweise nicht starten oder das System kann + instabil werden. Setzen Sie den Wert dieser Direktive nicht höher + als Ihre größte erwartete Einstellung für + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + während der aktuellen Ausführung des Apache.</p> + + <p>Die Voreinstellung für <code class="directive">ThreadLimit</code> ist + <code>1920</code> wenn sie zusammen mit <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> + verwendet wird, und <code>64</code> bei der Verwendung mit anderen + MPMs.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Eine feste Begrenzung von <code>ThreadLimit 20000</code> + (oder <code>ThreadLimit 15000</code> bei <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>) + ist in den Server einkompiliert. Dies soll unangenehme Effekte durch + Tippfehler verhindern.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a>-<a name="threadsperchild" id="threadsperchild">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Threads, die mit jedem Kindprozess gestartet + werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadsPerChild <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die Direktive legt die Anzahl der Threads fest, die mit jedem + Kindprozess gestartet werden. Der Kindprozess erstellt diese Threads + beim Start und erstellt später keine weiteren mehr. Wenn Sie ein + MPM wie <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> verwenden, wo nur ein + Kindprozess existiert, dann sollte diese Angabe hoch genug sein, + die gesamte Last des Servers zu bewältigen. Wenn Sie ein MPM + wie <code class="module"><a href="../mod/worker.html">worker</a></code> verwenden, wo mehrere Kindprozesse + existieren, dann sollte die <em>Gesamt</em>zahl der Thread groß + genug sein, die übliche Last auf dem Server zu bewältigen.</p> + + <p>Die Voreinstellung für <code class="directive">ThreadsPerChild</code> ist + <code>64</code>, wenn <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> verwendet wird, und + <code>25</code> bei der Verwendung der anderen MPMs.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a>-<a name="threadstacksize" id="threadstacksize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Die Größe des Stacks in Bytes, der von Threads +verwendet wird, die Client-Verbindungen bearbeiten.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadStackSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>65536 unter NetWare; variiert bei anderen Betriebssystemen.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar seit Version 2.1</td></tr> +</table> + <p>Die Direktive <code class="directive">ThreadStackSize</code> legt die + Größe des Stacks (für Autodaten) der Threads fest, die + Client-Verbindungen bearbeiten und Module aufrufen, welche bei der + Verarbeitung dieser Verbindungen helfen. In den meisten Fällen ist die + Voreinstellung des Betriebssystems angemessen, doch unter bestimmten + Umständen kann es sinnvoll sein, den Wert anzupassen:</p> + + <ul> + <li>Auf Plattformen mit einer relativ kleinen Voreingestellung für + die Größe des Thread-Stacks (z.B. HP-UX) kann der Apache bei + der Verwendung einiger Drittanbietermodule, die einen relativ hohen Bedarf + an Speicherplatz haben, abstürzen. Ebendiese Module arbeiten + möglicherweise problemlos auf anderen Plattformen, wo der + voreingestellte Thread-Stack größer ist. Derartige + Abstürze können Sie vermeiden, indem Sie + <code class="directive">ThreadStackSize</code> auf einen höheren Wert als die + Betriebssystemvoreinstellung setzen. Eine solche Anpassung ist nur + notwendig, wenn es vom Anbieter des Moduls so spezifiziert wurde oder die + Diagnose eines Apache-Absturzes ergeben hat, das die + Thread-Stackgröße zu klein war.</li> + + <li>Auf Plattformen, wo die voreingestellte Thread-Stackgröße + für die Webserverkonfiguration deutlich größer als + notwendig ist, kann eine größere Anzahl von Threads pro + Kindprozess erreicht werden, wenn <code class="directive">ThreadStackSize</code> + auf einen Wert kleiner als die Betriebssystemvoreinstellung gesetzt wird. + Da es einzelne Anfragen geben kann, die mehr Stack zur Verarbeitung + benötigen, sollte eine derartige Korrektur ausschließlich in + Testumgebungen zum Einsatz kommen, auf denen die gesamte + Webserververarbeitung ausprobiert werden kann. Eine Änderung der + Webserverkonfiguration kann den aktuellen Wert der + <code class="directive">ThreadStackSize</code> ungültig machen.</li> + </ul> + +</div> +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_common.html" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.en b/docs/manual/mod/mpm_common.html.en new file mode 100644 index 0000000..0c12f55 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.en @@ -0,0 +1,891 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM Common Directives</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>A collection of directives that are implemented by +more than one multi-processing module (MPM)</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory where Apache HTTP Server attempts to +switch before dumping core</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CoreDumpDirectory <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for the default setting</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>This controls the directory to which Apache httpd attempts to + switch before dumping core. If your operating system is configured to + create core files in the working directory of the crashing process, + <code class="directive">CoreDumpDirectory</code> is necessary to change working + directory from the default <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + directory, which should not be writable by the user the server runs as.</p> + + <p>If you want a core dump for debugging, you can use this directive to + place it in a different location. This directive has no effect if your + operating system is not configured to write core files to the working directory + of the crashing processes.</p> + + <div class="warning"> + <h3>Security note for Linux systems</h3> + + <p>Using this directive on Linux may allow other processes on + the system (if running with similar privileges, such as CGI + scripts) to attach to httpd children via the <code>ptrace</code> + system call. This may make weaken the protection from certain + security attacks. It is not recommended to use this directive + on production systems.</p> + </div> + + <div class="note"><h3>Core Dumps on Linux</h3> + <p>If Apache httpd starts as root and switches to another user, the + Linux kernel <em>disables</em> core dumps even if the directory is + writable for the process. Apache httpd (2.0.46 and later) reenables core dumps + on Linux 2.4 and beyond, but only if you explicitly configure a <code class="directive">CoreDumpDirectory</code>.</p> + </div> + + <div class="note"> + <h3>Core Dumps on BSD</h3> + <p>To enable core-dumping of suid-executables on BSD-systems (such + as FreeBSD), set <code>kern.sugid_coredump</code> to 1. + </p> + </div> + + <div class="note"><h3>Specific signals</h3> + <p><code class="directive">CoreDumpDirectory</code> processing only occurs for + a select set of fatal signals: SIGFPE, SIGILL, SIGABORT, + SIGSEGV, and SIGBUS.</p> + <p>On some operating systems, SIGQUIT also results in a core dump but + does not go through <code class="directive">CoreDumpDirectory</code> or + <code class="directive">EnableExceptionHook</code> processing, so the core + location is dictated entirely by the operating system.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables a hook that runs exception handlers +after a crash</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>For safety reasons this directive is only available if the server was + configured with the <code>--enable-exception-hook</code> option. It + enables a hook that allows external modules to plug in and do something + after a child crashed.</p> + + <p>There are already two modules, <code>mod_whatkilledus</code> and + <code>mod_backtrace</code> that make use of this hook. Please have a + look at Jeff Trawick's <a href="https://emptyhammock.com/projects/httpd/diag/">EnableExceptionHook site</a> for more information about these.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a> <a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2 and later</td></tr> +</table> + <p>The <code class="directive">GracefulShutdownTimeout</code> specifies + how many seconds after receiving a "graceful-stop" signal, a + server should continue to run, handling the existing connections.</p> + + <p>Setting this value to zero means that the server will wait + indefinitely until all remaining requests have been fully served.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a> <a name="listen" id="listen">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>IP addresses and ports that the server +listens to</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The <var>protocol</var> argument was added in 2.1.5</td></tr> +</table> + <p>The <code class="directive">Listen</code> directive instructs Apache httpd to + listen to only specific IP addresses or ports; by default it + responds to requests on all IP interfaces. <code class="directive">Listen</code> + is now a required directive. If it is not in the config file, the + server will fail to start. This is a change from previous versions + of Apache httpd.</p> + + <p>The <code class="directive">Listen</code> directive tells the server to + accept incoming requests on the specified port or address-and-port + combination. If only a port number is specified, the server listens to + the given port on all interfaces. If an IP address is given as well + as a port, the server will listen on the given port and + interface.</p> + + <p>Multiple <code class="directive">Listen</code> directives may be used to + specify a number of addresses and ports to listen to. The server will + respond to requests from any of the listed addresses and ports.</p> + + <p>For example, to make the server accept connections on both + port 80 and port 8000, use:</p> + + <pre class="prettyprint lang-config">Listen 80 +Listen 8000</pre> + + + <p>To make the server accept connections on two specified + interfaces and port numbers, use </p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:80 +Listen 192.170.2.5:8000</pre> + + + <p>IPv6 addresses must be surrounded in square brackets, as in the + following example:</p> + + <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre> + + + <p>The optional <var>protocol</var> argument is not required for most + configurations. If not specified, <code>https</code> is the default for + port 443 and <code>http</code> the default for all other ports. The + protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the + <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> directive.</p> + + <p>You only need to set the protocol if you are running on non-standard + ports. For example, running an <code>https</code> site on port 8443:</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre> + + + <div class="note"><h3>Error condition</h3> + Multiple <code class="directive">Listen</code> directives for the same ip + address and port will result in an <code>Address already in use</code> + error message. + </div> + + +<h3>See also</h3> +<ul> +<li><a href="../dns-caveats.html">DNS Issues</a></li> +<li><a href="../bind.html">Setting which addresses and ports Apache HTTP Server + uses</a></li> +<li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Further +discussion of the <code>Address already in use</code> error message, +including other causes.</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a> <a name="listenbacklog" id="listenbacklog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum length of the queue of pending connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenBackLog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ListenBackLog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The maximum length of the queue of pending connections. + Generally no tuning is needed or desired; however on some + systems, it is desirable to increase this when under a TCP SYN + flood attack. See the backlog parameter to the + <code>listen(2)</code> system call.</p> + + <p>This will often be limited to a smaller number by the + operating system. This varies from OS to OS. Also note that + many OSes do not use exactly what is specified as the backlog, + but use a number based on (but normally larger than) what is + set.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a> <a name="listencoresbucketsratio" id="listencoresbucketsratio">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option <code>SO_REUSEPORT</code> and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of <code>SO_REUSEPORT</code> +in *BSDs.</td></tr> +</table> + <p>A <var>ratio</var> between the number of (online) CPU cores and the + number of listeners' buckets can be used to make Apache HTTP Server create + <code>num_cpu_cores / ratio</code> listening buckets, each containing its + own <code class="directive"><a href="#listen">Listen</a></code>-ing socket(s) on the same port(s), and + then make each child handle a single bucket (with round-robin distribution + of the buckets at children creation time).</p> + + <div class="note"><h3>Meaning of "online" CPU core</h3> + <p>On Linux (and also BSD) a CPU core can be turned on/off if + <a href="https://www.kernel.org/doc/Documentation/cpu-hotplug.txt">Hotplug</a> + is configured, therefore <code class="directive">ListenCoresBucketsRatio</code> needs to + take this parameter into account while calculating the number of buckets to create.</p> + </div> + + <p><code class="directive">ListenCoresBucketsRatio</code> can improve the + scalability when accepting new connections is/becomes the bottleneck. + On systems with a large number of CPU cores, enabling this feature has + been tested to show significant performances improvement and shorter + responses time.</p> + + <p>There must be at least twice the number of CPU cores than the + configured <var>ratio</var> for this to be active. The recommended + <var>ratio</var> is <code>8</code>, hence at least <code>16</code> + cores should be available at runtime when this value is used. + The right <var>ratio</var> to obtain maximum performance needs to be calculated + for each target system, testing multiple values and observing the variations in your + key performance metrics.</p> + + <p>This directive influences the calculation of the + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> and + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code> lower bound values. + The number of children processes needs to be a multiple of the number + of buckets to optimally accept connections.</p> + + <div class="note"> + <h3>Multiple <code class="directive">Listen</code>ers or Apache HTTP servers on + the same IP address and port</h3> + <p>Setting the <code>SO_REUSEPORT</code> option on the listening socket(s) + consequently allows multiple processes (sharing the same <code>EUID</code>, + e.g. <code>root</code>) to bind to the the same IP address and port, + without the binding error raised by the system in the usual case.</p> + <p>This also means that multiple instances of Apache httpd configured on a + same <code>IP:port</code> and with a positive <code class="directive">ListenCoresBucketsRatio</code> + would start without an error too, and then run with incoming connections + evenly distributed across both instances (this is NOT a recommendation or + a sensible usage in any case, but just a notice that it would prevent such + possible issues to be detected).</p> + <p>Within the same instance, Apache httpd will check and fail to start if + multiple <code class="directive">Listen</code> directives on the exact same IP (or + hostname) and port are configured, thus avoiding the creation of some + duplicated buckets which would be useless and kill performances. However + it can't (and won't try harder to) catch all the possible overlapping cases + (like a hostname resolving to an IP used elsewhere).</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a> <a name="maxconnectionsperchild" id="maxconnectionsperchild">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available Apache HTTP Server 2.3.9 and later. The old name +<code>MaxRequestsPerChild</code> is still supported.</td></tr> +</table> + <p>The <code class="directive">MaxConnectionsPerChild</code> directive sets + the limit on the number of connections that an individual child + server process will handle. After + <code class="directive">MaxConnectionsPerChild</code> connections, the child + process will die. If <code class="directive">MaxConnectionsPerChild</code> is + <code>0</code>, then the process will never expire.</p> + + <p>Setting <code class="directive">MaxConnectionsPerChild</code> to a + non-zero value limits the amount of memory that a process can consume + by (accidental) memory leakage.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a> <a name="maxmemfree" id="maxmemfree">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum amount of memory that the main allocator is allowed +to hold without calling <code>free()</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxMemFree <var>KBytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxMemFree 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>The <code class="directive">MaxMemFree</code> directive sets the + maximum number of free Kbytes that every allocator is allowed + to hold without calling <code>free()</code>. In threaded MPMs, every + thread has its own allocator. When set + to zero, the threshold will be set to unlimited.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a> <a name="maxrequestworkers" id="maxrequestworkers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRequestWorkers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>The <code class="directive">MaxRequestWorkers</code> directive sets the limit + on the number of simultaneous requests that will be served. Any + connection attempts over the <code class="directive">MaxRequestWorkers</code> + limit will normally be queued, up to a number based on the + <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code> + directive. Once a child process is freed at the end of a different + request, the connection will then be serviced.</p> + + <p>For non-threaded servers (<em>i.e.</em>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>), + <code class="directive">MaxRequestWorkers</code> translates into the maximum + number of child processes that will be launched to serve requests. + The default value is <code>256</code>; to increase it, you must also raise + <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p>For threaded and hybrid servers (<em>e.g.</em> <code class="module"><a href="../mod/event.html">event</a></code> + or <code class="module"><a href="../mod/worker.html">worker</a></code>), <code class="directive">MaxRequestWorkers</code> restricts + the total number of threads that will be available to serve clients. + For hybrid MPMs, the default value is <code>16</code> (<code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplied by the value of + <code>25</code> (<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Therefore, to increase <code class="directive">MaxRequestWorkers</code> to a value that requires more than 16 processes, + you must also raise <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p><code class="directive">MaxRequestWorkers</code> was called + <code class="directive">MaxClients</code> before version 2.3.13. The old name is still + supported.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of idle threads</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Maximum number of idle threads. Different MPMs deal with this + directive differently.</p> + + <p>For <code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event</a></code>, the default is + <code>MaxSpareThreads 250</code>. These MPMs deal with idle threads + on a server-wide basis. If there are too many idle threads in the + server, then child processes are killed until the number of idle + threads is less than this number. Additional processes/threads + might be created if <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + is enabled.</p> + + <p>For <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> the default is + <code>MaxSpareThreads 100</code>. Since this MPM runs a + single-process, the spare thread count is also server-wide.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> works + similar to <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. For + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> the default value is <code>10</code>.</p> + + <div class="note"><h3>Restrictions</h3> + <p>The range of the <code class="directive">MaxSpareThreads</code> value + is restricted. Apache httpd will correct the given value automatically + according to the following rules:</p> + <ul> + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> wants the value to be greater than + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li> + + <li>For <code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event</a></code>, the value + must be greater or equal to the sum of <code class="directive"><a href="#minsparethreads"> + MinSpareThreads</a></code> and <code class="directive"><a href="#threadsperchild"> + ThreadsPerChild</a></code>.</li> + </ul> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads" id="minsparethreads">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Minimum number of idle threads available to handle request +spikes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Minimum number of idle threads to handle request spikes. + Different MPMs deal with this directive differently.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event</a></code> use a default of + <code>MinSpareThreads 75</code> and deal with idle threads on a server-wide + basis. If there aren't enough idle threads in the server, then child + processes are created until the number of idle threads is greater + than <var>number</var>. Additional processes/threads + might be created if <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + is enabled.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> uses a default of + <code>MinSpareThreads 10</code> and, since it is a single-process + MPM, tracks this on a server-wide basis.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> works + similar to <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. For + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> the default value is <code>5</code>.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File where the server records the process ID +of the daemon</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PidFile <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The <code class="directive">PidFile</code> directive sets the file to + which the server records the process id of the daemon. If the + filename is not absolute, then it is assumed to be relative to the + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre> +</div> + + <p>It is often useful to be able to send the server a signal, + so that it closes and then re-opens its <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> and <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>, and + re-reads its configuration files. This is done by sending a + SIGHUP (kill -1) signal to the process id listed in the + <code class="directive">PidFile</code>.</p> + + <p>The <code class="directive">PidFile</code> is subject to the same + warnings about log file placement and <a href="../misc/security_tips.html#serverroot">security</a>.</p> + + <div class="note"><h3>Note</h3> + <p>As of Apache HTTP Server 2, we recommended that you only use the <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> script, or the init script that your OS provides, + for (re-)starting or stopping the server.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a> <a name="receivebuffersize" id="receivebuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>TCP receive buffer size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The server will set the TCP receive buffer size to the number of + bytes specified.</p> + + <p>If set to the value of <code>0</code>, the server will use the + OS default.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location of the file used to store coordination data for +the child processes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScoreBoardFile logs/apache_runtime_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Apache HTTP Server uses a scoreboard to communicate between its parent + and child processes. Some architectures require a file to facilitate + this communication. If the file is left unspecified, Apache httpd first + attempts to create the scoreboard entirely in memory (using anonymous + shared memory) and, failing that, will attempt to create the file on + disk (using file-based shared memory). Specifying this directive causes + Apache httpd to always create the file on the disk.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre> +</div> + + <p>File-based shared memory is useful for third-party applications + that require direct access to the scoreboard.</p> + + <p>If you use a <code class="directive">ScoreBoardFile</code>, then + you may see improved speed by placing it on a RAM disk. But be + careful that you heed the same warnings about log file placement + and <a href="../misc/security_tips.html">security</a>.</p> + +<h3>See also</h3> +<ul> +<li><a href="../stopping.html">Stopping and Restarting +Apache HTTP Server</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>TCP buffer size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SendBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Sets the server's TCP send buffer size to the number of bytes + specified. It is often useful to set this past the OS's standard + default value on high speed, high latency connections + (<em>i.e.</em>, 100ms or so, such as transcontinental fast pipes).</p> + + <p>If set to the value of <code>0</code>, the server will use the + default value provided by your OS.</p> + + <p>Further configuration of your operating system may be required to elicit + better performance on high speed, high latency connections.</p> + + <div class="note"> <p> On some operating systems, changes in TCP behavior resulting + from a larger <code class="directive">SendBufferSize</code> may not be seen unless + <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> is set to OFF. This + interaction applies only to static files.</p> </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Upper limit on configurable number of processes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>For the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM, this directive sets the + maximum configured value for <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> for the lifetime of the + Apache httpd process. For the <code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event + </a></code> MPMs, this directive in combination with <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> sets + the maximum configured value for <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> for the lifetime of the + Apache httpd process. For the <code class="module"><a href="../mod/event.html">event</a></code> MPM, this directive + also defines how many old server processes may keep running and finish processing + open connections. + Any attempts to change this directive during a restart will be ignored, but + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> can be modified + during a restart.</p> + + <p>Special care must be taken when using this directive. If + <code class="directive">ServerLimit</code> is set to a value much higher + than necessary, extra, unused shared memory will be allocated. If + both <code class="directive">ServerLimit</code> and <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> are set to values + higher than the system can handle, Apache httpd may not start or the + system may become unstable.</p> + + <p>With the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM, use this directive only + if you need to set <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> higher than 256 (default). + Do not set the value of this directive any higher than what you + might want to set <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> to.</p> + + <p>With <code class="module"><a href="../mod/worker.html">worker</a></code>, use this directive only if your + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers + </a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + settings require more than 16 server processes (default). Do not set + the value of this directive any higher than the number of server + processes required by what you may want for <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers </a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p> + + <p>With <code class="module"><a href="../mod/event.html">event</a></code>, increase this directive if the process + number defined by your <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> settings, plus the + number of gracefully shutting down processes, is more than 16 server + processes (default).</p> + + <div class="note"><h3>Note</h3> + <p>There is a hard limit of <code>ServerLimit 20000</code> compiled + into the server (for the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM 200000). This is + intended to avoid nasty effects caused by typos. To increase it + even further past this limit, you will need to modify the value of + MAX_SERVER_LIMIT in the mpm source file and rebuild the server.</p> + </div> + +<h3>See also</h3> +<ul> +<li><a href="../stopping.html">Stopping and Restarting Apache HTTP Server</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a> <a name="startservers" id="startservers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of child server processes created at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The <code class="directive">StartServers</code> directive sets the + number of child server processes created on startup. As the number + of processes is dynamically controlled depending on the load, (see + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>) + there is usually little reason to adjust this parameter.</p> + + <p>The default value differs from MPM to MPM. <code class="module"><a href="../mod/worker.html">worker</a></code> and + <code class="module"><a href="../mod/event.html">event</a></code> default to <code>StartServers 3</code>; <code class="module"><a href="../mod/prefork.html"> + prefork</a></code> defaults to <code>5</code>; <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> + defaults to <code>2</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a> <a name="startthreads" id="startthreads">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of threads created on startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>Number of threads created on startup. As the + number of threads is dynamically controlled depending on the + load, (see + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>) + there is usually little reason to adjust this + parameter.</p> + + <p>For <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> the default is + <code>StartThreads 50</code> and, since there is only a single + process, this is the total number of threads created at startup to + serve requests.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a> <a name="threadlimit" id="threadlimit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the upper limit on the configurable number of threads +per child process</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>This directive sets the maximum configured value for <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> for the lifetime + of the Apache httpd process. Any attempts to change this directive + during a restart will be ignored, but <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> can be modified + during a restart up to the value of this directive.</p> + + <p>Special care must be taken when using this directive. If + <code class="directive">ThreadLimit</code> is set to a value much higher + than <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, + extra unused shared memory will be allocated. If both + <code class="directive">ThreadLimit</code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> are set to values + higher than the system can handle, Apache httpd may not start or the + system may become unstable. Do not set the value of this directive + any higher than your greatest predicted setting of <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> for the + current run of Apache httpd.</p> + + <p>The default value for <code class="directive">ThreadLimit</code> is + <code>1920</code> when used with <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> and + <code>64</code> when used with the others.</p> + + <div class="note"><h3>Note</h3> + <p>There is a hard limit of <code>ThreadLimit 20000</code> (or + <code>ThreadLimit 100000</code> with <code class="module"><a href="../mod/event.html">event</a></code>, + <code>ThreadLimit 15000</code> with <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>) + compiled into the server. This is intended to avoid nasty effects + caused by typos. To increase it even further past this limit, you + will need to modify the value of MAX_THREAD_LIMIT in the mpm + source file and rebuild the server.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild" id="threadsperchild">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of threads created by each child process</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>This directive sets the number of threads created by each + child process. The child creates these threads at startup and + never creates more. If using an MPM like <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, + where there is only one child process, this number should be high + enough to handle the entire load of the server. If using an MPM + like <code class="module"><a href="../mod/worker.html">worker</a></code>, where there are multiple child processes, + the <em>total</em> number of threads should be high enough to handle + the common load on the server.</p> + + <p>The default value for <code class="directive">ThreadsPerChild</code> is + <code>64</code> when used with <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> and + <code>25</code> when used with the others.</p> + + <p>The value of <code class="directive">ThreadsPerChild</code> can not exceed the + value of <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>. If a + higher value is configured, it will be automatically reduced at start-up + and a warning will be logged. The relationship between these 2 directives + is explained in <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize" id="threadstacksize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The size in bytes of the stack used by threads handling +client connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadStackSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>65536 on NetWare; varies on other operating systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.1 and later</td></tr> +</table> + <p>The <code class="directive">ThreadStackSize</code> directive sets the + size of the stack (for autodata) of threads which handle client + connections and call modules to help process those connections. + In most cases the operating system default for stack size is + reasonable, but there are some conditions where it may need to be + adjusted:</p> + + <ul> + <li>On platforms with a relatively small default thread stack size + (e.g., HP-UX), Apache httpd may crash when using some third-party modules + which use a relatively large amount of autodata storage. Those + same modules may have worked fine on other platforms where the + default thread stack size is larger. This type of crash is + resolved by setting <code class="directive">ThreadStackSize</code> to a + value higher than the operating system default. This type of + adjustment is necessary only if the provider of the third-party + module specifies that it is required, or if diagnosis of an Apache httpd + crash indicates that the thread stack size was too small.</li> + + <li>On platforms where the default thread stack size is + significantly larger than necessary for the web server + configuration, a higher number of threads per child process + will be achievable if <code class="directive">ThreadStackSize</code> is + set to a value lower than the operating system default. This type + of adjustment should only be made in a test environment which allows + the full set of web server processing to be exercised, as there + may be infrequent requests which require more stack to process. + The minimum required stack size strongly depends on the modules + used, but any change in the web server configuration can invalidate + the current <code class="directive">ThreadStackSize</code> setting.</li> + + <li>On Linux, this directive can only be used to increase the default + stack size, as the underlying system call uses the value as a + <em>minimum</em> stack size. The (often large) soft limit for + <code>ulimit -s</code> (8MB if unlimited) is used as the default stack + size.</li> + </ul> + + <div class="note">It is recommended to not reduce <code class="directive">ThreadStackSize</code> + unless a high number of threads per child process is needed. On some + platforms (including Linux), a setting of 128000 is already too low and + causes crashes with some common modules.</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.fr.utf8 b/docs/manual/mod/mpm_common.html.fr.utf8 new file mode 100644 index 0000000..fbbc811 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.fr.utf8 @@ -0,0 +1,975 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM : Directives Communes</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une série de directives implémentées par plusieurs +modules multi-processus (MPM)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="coredumpdirectory" id="coredumpdirectory">Directive</a> <a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le répertoire dans lequel le serveur HTTP Apache va tenter de se +positionner avant d'effectuer un vidage mémoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CoreDumpDirectory <var>répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour le répertoire par défaut</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Cette directive permet de définir le répertoire dans lequel + Apache httpd va tenter de se positionner avant d'effectuer un vidage + mémoire sur disque. + Si votre système d'exploitation est configuré pour créer des + fichiers de vidage mémoire dans le répertoire de travail des + processus qui se sont crashés, + <code class="directive">CoreDumpDirectory</code> est nécessaire pour + définir un répertoire de travail autre que le répertoire par défaut + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, ce répertoire de + travail ne devant pas être accessible en écriture par l'utilisateur sous + lequel le serveur s'exécute.</p> + + <p>Si vous avez besoin d'un vidage mémoire pour le débogage, vous + pouvez utiliser cette directive pour le placer à un endroit + différent. Cette directive n'a aucun effet si votre système + d'exploitation n'est pas configuré pour créer des + fichiers de vidage mémoire dans le répertoire de travail des + processus qui se sont crashés.</p> + + <div class="warning"> + <h3>Note de sécurité pour les systèmes de type Linux</h3> + + <p>Utiliser cette directive sous Linux peut permettre aux autres processus + du système s'exécutant avec les même privilèges (comme les scripts CGI) de + se rattacher aux processus httpd enfants via l'appel système + <code>ptrace</code>. La protection contre certaines attaques engageant la + sécurité peut s'en trouver affectée. Il est par conséquent déconseillé + d'utiliser cette directive sur les systèmes en production.</p> + </div> + + <div class="note"><h3>Vidages mémoire sous Linux</h3> + <p>Si Apache httpd est démarré sous l'utilisateur root puis bascule vers + un autre utilisateur, le noyau Linux <em>désactive</em> les + vidages mémoire, même si le répertoire est accessible en écriture au + processus. Apache httpd (versions 2.0.46 et supérieures) réactive les + vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous + définissez une directive <code class="directive">CoreDumpDirectory</code>.</p> + </div> + + <div class="note"> + <h3>Vidages mémoire sous BSD</h3> + <p>Pour activer le vidage mémoire des exécutables suid sur les + systèmes de style BSD (comme FreeBSD), définissez + <code>kern.sugid_coredump</code> à 1. + </p> + </div> + + <div class="note"><h3>Signaux spécifiques</h3> + <p><code class="directive">CoreDumpDirectory</code> n'est traité qu'à la + reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT, + SIGSEGV, et SIGBUS.</p> + <p> + Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un + vidage mémoire, mais n'est pas traité par les directives + <code class="directive">CoreDumpDirectory</code> ou + <code class="directive">EnableExceptionHook</code>, si bien que la + définition du répertoire d'enregistrement du vidage mémoire est + entièrement dévolue au système d'exploitation.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="enableexceptionhook" id="enableexceptionhook">Directive</a> <a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un hook ("point d'accrochage logiciel") qui exécute des +gestionnaires d'exception après un crash</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Pour des raisons de sécurité, cette directive n'est disponible + que si la compilation du serveur a été configurée avec l'option + <code>--enable-exception-hook</code>. Elle permet d'activer un hook + ("point d'accrochage logiciel") + qui autorise certains modules externes à effectuer un branchement et + accomplir telle ou telle action après le crash d'un processus + enfant.</p> + + <p>Deux modules, <code>mod_whatkilledus</code> et + <code>mod_backtrace</code> utilisent ce hook. Veuillez vous + référer à la <a href="https://emptyhammock.com/projects/httpd/diag/">page EnableExceptionHook</a> de Jeff Trawick pour plus + d'informations à leur sujet.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Directive</a> <a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai maximum après lequel le serveur va +s'arrêter dans le cas d'un arrêt "en douceur"</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.2 et supérieures</td></tr> +</table> + <p>La directive <code class="directive">GracefulShutdownTimeout</code> + permet de spécifier le temps, en secondes, pendant lequel le serveur + va continuer à fonctionner après avoir reçu un signal + "graceful-stop" ("Arrêt en douceur"), afin de terminer le traitement + des connexions en cours.</p> + + <p>Définir cette valeur à zéro signifie au serveur d'attendre + jusqu'à ce que toutes les requêtes en cours aient été traitées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="listen" id="listen">Directive</a> <a name="Listen" id="Listen">Listen</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les adresses IP et ports sur lesquels le serveur écoute</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Listen [<var>adresse IP</var>:]<var>numéro port</var> +[<var>protocole</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <var>protocole</var> est supporté depuis la version +2.1.5</td></tr> +</table> + <p>La directive <code class="directive">Listen</code> permet de signifier à + Apache httpd de ne se mettre à l'écoute que sur les adresses IP et ports spécifiés ; par + défaut, le serveur répond aux requêtes en provenance de toutes les + interfaces réseau. La directive <code class="directive">Listen</code> est + dorénavant requise, et si elle est absente du fichier de + configuration, le serveur refusera de démarrer. Ceci constitue un + changement par rapport aux versions précédentes d'Apache httpd.</p> + + <p>La directive <code class="directive">Listen</code> signifie au serveur de + n'accepter les requêtes entrantes que vers le port ou le couple + adresse-port spécifié. Si seulement un port est spécifié, le serveur + se met à l'écoute sur ce port sur toutes les interfaces réseau. Si une adresse IP + et un port sont spécifiés, le serveur va se mettre à l'écoute sur ce port sur + l'interface réseau correspondant à l'adresse IP.</p> + + <p>On peut utiliser autant de directives + <code class="directive">Listen</code> que nécessaire pour spécifier + plusieurs adresses et/ou ports à écouter. Le serveur répondra aux + requêtes vers tous les adresses et ports spécifiés.</p> + + <p>Par exemple, pour que le serveur accepte les connexions sur les + ports 80 et 8000, utilisez :</p> + + <pre class="prettyprint lang-config">Listen 80 +Listen 8000</pre> + + + <p>Pour que le serveur accepte les connexions sur deux interfaces et + ports particuliers, spécifiez :</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:80 +Listen 192.170.2.5:8000</pre> + + + <p>Les adressee IPv6 doivent être entourées de crochets, comme dans + l'exemple suivant :</p> + + <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre> + + + <p>L'argument optionnel <var>protocole</var> n'est pas nécessaire + dans la plupart des configurations. S'il est absent, + <code>https</code> est la valeur par défaut pour le port 443 et + <code>http</code> l'est pour tous les autres ports. L'argument + protocole sert à déterminer quel module doit traiter une requête, et + à appliquer des optimisations spécifiques à certains protocoles à + l'aide de la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code>.</p> + + <p>La spécification d'un protocole n'est nécessaire que si vous + utilisez des ports non standards. Par exemple, pour configurer un + site en <code>https</code> sur le port 8443 :</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre> + + + <div class="note"><h3>Condition d'erreur</h3> + Plusieurs directives <code class="directive">Listen</code> pour les mêmes + adresse IP/port vont provoquer l'envoi d'un message d'erreur + <code>Address already in use</code>. + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../dns-caveats.html">Problèmes avec DNS</a></li> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise le serveur HTTP Apache</a></li> +<li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Autre +discussion à propos du message d'erreur <code>Address already in +use</code>, citant d'autres causes possibles.</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="listenbacklog" id="listenbacklog">Directive</a> <a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Longueur maximale de la liste d'attente des +connexions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenBackLog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenBackLog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>La longueur maximale de la liste d'attente des connexions. En + général, aucune modification n'est nécessaire, ni même souhaitable ; + cependant, sur certains systèmes, il peut être nécessaire + d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en + masse de requêtes SYN pour saturer le serveur). Voir le paramètre + backlog de l'appel système <code>listen(2)</code>.</p> + + <p>En fait, l'argument backlog sera souvent limité à une valeur + inférieure en fonction du système d'exploitation. Notez aussi que de + nombreux systèmes d'exploitation ne tiennent pas vraiment compte de + la valeur spécifiée pour l'argument backlog, mais s'en inspirent + seulement (et choisissent en général une valeur supérieure).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="listencoresbucketsratio" id="listencoresbucketsratio">Directive</a> <a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Rapport entre le nombre de coeurs de processeur activés et +le nombre de segments d'écoute</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP +Apache, avec un noyau supportant l'option de socket +<code>SO_REUSEPORT</code>, et distribuant uniformément les nouvelles +connexions aux sockets d'écoute des processus (ou threads) qui +l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas +l'implémentation courante de <code>SO_REUSEPORT</code> par les +plateformes de type BSD.</td></tr> +</table> + <p>Vous pouvez utiliser la directive + <code class="directive">ListenCoresBucketsRatio</code> pour spécifier un + <var>ratio</var> entre le nombre de coeurs de CPU activés et le nombre de + segments d'écoute (listeners' buckets) souhaités ; le serveur HTTP Apache va + alors créer<code>num_cpu_cores / ratio</code> segments d'écoute, chacun + contenant son propre socket d'écoute <code class="directive"><a href="#listen">Listen</a></code> sur le ou les mêmes ports ; chaque + processus enfant sera associé à un seul segment d'écoute (avec une + distribution de type round-robin des segments à la création des processus + enfants).</p> + + <div class="note"><h3>Définition du terme coeur de CPU activé ("online")</h3> + <p>Sous Linux et BSD, un coeur de CPU peut être activé ou désactivé si <a href="https://www.kernel.org/doc/Documentation/cpu-hotplug.txt">Hotplug</a> + a été configuré ; la directive + <code class="directive">ListenCoresBucketsRatio</code> doit donc tenir compte de ce + paramètre pour calculer le nombre de segments d'écoute à créer.</p> + </div> + + <p>La directive <code class="directive">ListenCoresBucketsRatio</code> peut + améliorer le support de la montée en charge lorsque l'arrivée de + nouvelles connexions est/devient un goulot d'étranglement. Le test + de cette fonctionnalité avec des machines possédant un nombre de + coeurs de CPU important a permit de constater une amélioration des + performances significative et des temps de réponse plus courts.</p> + + <p>Pour que cette fonctionnalité soit activée, le nombre de coeurs + de CPU doit être égal au moins au double du <var>ratio</var> + spécifié. Si vous spécifiez la valeur recommandée pour + <var>ratio</var>, à savoir <code>8</code>, le nombre minimum de + coeurs de processeurs disponibles sera alors de <code>16</code>. La valeur + optimale de <var>ratio</var> permettant d'obtenir des performances maximales + doit être calculée pour chaque système cible, en testant plusieurs valeurs + et en observant les résultats.</p> + + <p>Cette directive influence le calcul des valeurs limites inférieures de + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>. En effet, pour accepter les + connexions de manière optimale, le nombre de processus enfants doit être un + multiple du nombre de segments d'écoute.</p> + + <div class="note"> + <h3>Cas où plusieurs <code class="directive">Listen</code>ers ou serveurs HTTP + Apache partagent la même adresse IP et port</h3> + <p>La définition de l'option <code>SO_REUSEPORT</code> pour les sockets + d'écoute permet à plusieurs processus (partageant le même <code>EUID</code>, + par exemple <code>root</code>) de se rattacher à la même adresse IP et port, + sans obtenir l'erreur de rattachement que le système génère habituellement + lorsque ce cas se produit.</p> + <p>Cela signifie aussi que plusieurs instances d'Apache httpd configurées + avec le même <code>IP:port</code> et avec une valeur + <code class="directive">ListenCoresBucketsRatio</code> positive pourraient démarrer + sans erreur, et fonctionner ensuite avec une répartition uniforme des + connexions entrantes sur ces différentes instances (ce n'est PAS une + recommandation et ne constitue pas un usage approprié à tous les cas, mais + juste un avertissement sur le fait qu'un véritable problème de rattachement + multiple à un <code>IP:port</code> pourrait alors être occulté).</p> + <p>Au sein d'une même instance, Apache httpd vérifie la présence de + directives <code class="directive">Listen</code> multiples avec la même adresse IP + (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce + qui permet d'éviter la création de segments d'écoute dupliqués qui seraient + du coup inutiles et affecteraient les performances. Cependant, il ne peut + pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de + recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée + quelque part ailleurs).</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxconnectionsperchild" id="maxconnectionsperchild">Directive</a> <a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions qu'un processus enfant va +traiter au cours de son fonctionnement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 du serveur HTTP +Apache. L'ancien nom <code>MaxRequestsPerChild</code> est encore +supporté.</td></tr> +</table> + <p>La directive <code class="directive">MaxConnectionsPerChild</code> permet de + définir le nombre maximum de connexions qu'un processus enfant va + pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité + <code class="directive">MaxConnectionsPerChild</code> connexions, le processus + enfant est arrêté. Si <code class="directive">MaxConnectionsPerChild</code> est + définie à <code>0</code>, il n'y a plus aucune limite sur le nombre + de connexions que le processus pourra traiter.</p> + + <p>Définir <code class="directive">MaxConnectionsPerChild</code> à une valeur + non nulle limite la quantité de mémoire qu'un processus peut + consommer à cause de fuites (accidentelles) de mémoire.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxmemfree" id="maxmemfree">Directive</a> <a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de mémoire que l'allocateur principal est +autorisé à conserver sans appeler <code>free()</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxMemFree <var>KOctets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxMemFree 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>La directive <code class="directive">MaxMemFree</code> permet de définir + le nombre maximum de KOctets libres que tout allocateur est + autorisé à conserver sans appeler <code>free()</code>. Dans les MPMs + threadés, chaque thread possède son propre allocateur. Si elle est + définie à 0, la quantité de mémoire libre que peut conserver un + allocateur est illimitée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxrequestworkers" id="maxrequestworkers">Directive</a> <a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions pouvant être traitées +simultanément</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRequestWorkers <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>La directive <code class="directive">MaxRequestWorkers</code> permet de fixer le + nombre maximum de requêtes pouvant être traitées simultanément. + Si la limite <code class="directive">MaxRequestWorkers</code> est atteinte, toute + tentative de connexion sera normalement mise dans une file + d'attente, et ceci jusqu'à un certain nombre dépendant de la + directive <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code>. + Lorsqu'un processus enfant se libèrera suite à la fin du traitement + d'une requête, la connexion en attente pourra être traitée à son + tour.</p> + + <p>Pour les serveurs non threadés (<em>c'est à dire</em> utilisant + <code class="module"><a href="../mod/prefork.html">prefork</a></code>), la directive + <code class="directive">MaxRequestWorkers</code> définit alors le nombre maximum de + processus enfants qui pourront être lancés simultanément pour + traiter les requêtes. La valeur par défaut est <code>256</code> ; si + vous l'augmentez, vous devez aussi augmenter la valeur de la + directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p>Pour les serveur threadés et hybrides (utilisant <em>par + exemple</em> <code class="module"><a href="../mod/event.html">event</a></code> ou <code class="module"><a href="../mod/worker.html">worker</a></code>), + <code class="directive">MaxRequestWorkers</code> définit alors le nombre total de + threads qui seront disponibles pour servir les clients. Dans le + cas des MPMs hybrides, la valeur par défaut est <code>16</code> + (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la valeur + <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la + directive <code class="directive">MaxRequestWorkers</code> une valeur qui requiert + plus de 16 processus, vous devez aussi augmenter la valeur de la + directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p>Le nom de la directive <code class="directive">MaxRequestWorkers</code> + était <code class="directive">MaxClients</code> avant la version 2.3.13. Cet + ancien nom est encore supporté.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxsparethreads" id="maxsparethreads">Directive</a> <a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de threads inactifs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareThreads <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>C'est le nombre maximum de threads inactifs. Les MPMs utilisent + cette directive de différentes manières.</p> + + <p>Pour <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est + <code>MaxSpareThreads 250</code>. Ce MPM gère les threads inactifs + au niveau du serveur. Si le serveur possède trop de threads + inactifs, des processus enfants seront arrêtés jusqu'à ce que le + nombre de threads inactifs repasse en dessous de cette limite. Des + processus/threads supplémentaires sont susceptibles d'être créés si + <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est + activée.</p> + + <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est + <code>MaxSpareThreads 100</code>. Comme ce MPM n'exécute qu'un seul + processus, le nombre de processus inactifs est surveillé au + niveau du serveur.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, la + valeur par défaut est <code>10</code>.</p> + + <div class="note"><h3>Contraintes</h3> + <p>La gamme de valeurs pour <code class="directive">MaxSpareThreads</code> + est limitée. Apache httpd corrigera automatiquement cette valeur selon + les règles suivantes :</p> + <ul> + <li>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="directive">MaxSpareThreads</code> doit être supérieure à <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li> + + <li>Avec + <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, <code class="directive">MaxSpareThreads</code> + doit être supérieure ou égale à la somme de <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</li> + </ul> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="minsparethreads" id="minsparethreads">Directive</a> <a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de threads inactifs qui seront disponibles +pour pouvoir traiter les pics de requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareThreads <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>C'est le nombre minimum de threads inactifs pour être en mesure + de traiter les pics de requêtes. Les MPMs utilisent cette directive + de différentes manières.</p> + + <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est + <code>MinSpareThreads 75</code>, et le nombre de threads inactifs + est surveillé au niveau du serveur. Si le serveur ne possède pas + assez de threads inactifs, des processus enfants sont créés jusqu'à + ce que le nombre de threads inactifs repasse au dessus de + <var>nombre</var>. Des processus/threads supplémentaires peuvent + être créés si <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est activée.</p> + + <p>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est + <code>MinSpareThreads 10</code> et, comme ce MPM n'exécute qu'un + seul processus, le nombre de threads est surveillé au niveau général du + serveur.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, la + valeur par défaut est <code>5</code>.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="pidfile" id="pidfile">Directive</a> <a name="PidFile" id="PidFile">PidFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ficher dans lequel le serveur enregistre l'identificateur +de processus du démon</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PidFile <var>nom fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>La directive <code class="directive">PidFile</code> permet de définir le + ficher dans lequel le serveur + enregistre l'identificateur de processus du démon. Si le chemin du + fichier n'est pas absolu, il est considéré comme relatif au chemin + défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre> +</div> + + <p>Il est souvent utile de pouvoir envoyer un signal au + serveur afin qu'il ferme et ouvre à nouveau ses journaux + d'<code class="directive"><a href="../mod/core.html#erreur">erreur</a></code> et de <code class="directive"><a href="../mod/mod_log_config.html#transfert">transfert</a></code>, et recharge son + fichier de configuration. Pour ce faire, on envoie un signal SIGHUP + (kill -1) à l'identificateur de processus enregistré dans le fichier + défini par la directive <code class="directive">PidFile</code>.</p> + + <p>La directive <code class="directive">PidFile</code> fait l'objet des + mêmes avertissements que ceux concernant le chemin d'enregistrement + des fichiers journaux et la <a href="../misc/security_tips.html#serverroot">sécurité</a>.</p> + + <div class="note"><h3>Note</h3> + <p>Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser + que le script <code class="program"><a href="../programs/apachectl.html">apachectl</a></code>, ou le script de + démarrage fourni avec votre système d'exploitation pour (re)démarrer ou + arrêter le serveur.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="receivebuffersize" id="receivebuffersize">Directive</a> <a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en entrée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReceiveBufferSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Le serveur va fixer la taille du tampon TCP en entrée au + nombre d'octets spécifié.</p> + + <p>Si la directive est définie à <code>0</code>, le serveur va + utiliser la valeur par défaut adoptée par le système + d'exploitation.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scoreboardfile" id="scoreboardfile">Directive</a> <a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier où sont stockées les données concernant +la coordination des processus enfants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScoreBoardFile <var>chemin fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScoreBoardFile logs/apache_runtime_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Le serveur HTTP Apache utilise un tableau de bord pour la + communication entre le processus parent et les processus enfants. + Pour faciliter cette communication, certaines architectures + nécessitent un fichier. En l'absence de cette directive, donc si + aucun nom de fichier n'est spécifié, Apache httpd tentera tout + d'abord de créer un tableau uniquement en mémoire (en utilisant la + mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de + créer un fichier sur disque (en utilisant la mémoire partagée à base + de fichier). Si cette directive est utilisée, Apache httpd créera + systématiquement un fichier sur disque.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre> +</div> + + <p>Une mémoire partagée sous forme de fichier est utile pour les + applications tierces qui nécessitent un accès direct au tableau de + bord des processus.</p> + + <p>Si vous utilisez un <code class="directive">ScoreBoardFile</code>, vous + pourrez constater une amélioration des performances en le plaçant + sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte + des mêmes avertissements que ceux concernant le chemin du fichier + journal et la <a href="../misc/security_tips.html">sécurité</a>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../stopping.html">Arrêter et redémarrer +le serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sendbuffersize" id="sendbuffersize">Directive</a> <a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en sortie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SendBufferSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Définit la taille du tampon TCP en sortie avec le nombre + d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les + valeurs par défaut standards du passé des systèmes d'exploitation + pour les transmissions à grande vitesse et haute densité (<em>c'est + à dire</em> de l'ordre de 100ms comme sur les liaisons rapides + transcontinentales).</p> + + <p>Si la directive est définie à <code>0</code>, le serveur va + utiliser la valeur par défaut adoptée par le système + d'exploitation.</p> + + <p>L'amélioration des performances des connexions à grande vitesse + et à temps de latence élevé, peut nécessiter + une intervention au niveau de la configuration de votre système + d'exploitation.</p> + + <div class="note"><p>Sous certains systèmes d'exploitation, la modification du + comportement TCP via une augmentation de la valeur de + <code class="directive">SendBufferSize</code> risque de ne pas être + perceptible, si la directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> n'est pas définie à OFF. + Cette interaction ne s'applique qu'aux fichiers statiques.</p> </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serverlimit" id="serverlimit">Directive</a> <a name="ServerLimit" id="ServerLimit">ServerLimit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite supérieure de la définition du nombre de +processus</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerLimit <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, cette directive définit le + nombre maximum que l'on peut affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la + durée de vie du processus Apache httpd. Avec les + MPMs <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, cette directive, en combinaison avec + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, définit le + nombre maximum que l'on peut affecter à <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la durée de + vie du processus Apache httpd. Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, cette + directive permet aussi de définir le nombre de processus anciens du serveur + pouvant continuer à s'exécuter pour terminer le traitement des connexions + ouvertes. Au cours d'un redémarrage, vous pouvez + modifier la valeur de la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, alors que toute + tentative de modification de la valeur de la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> sera ignorée.</p> + + <p>Cette directive doit être utilisée avec précaution. Si + <code class="directive">ServerLimit</code> est définie à une valeur beaucoup + plus grande que nécessaire, de la mémoire partagée supplémentaire + sera inutilement allouée. Si à la fois + <code class="directive">ServerLimit</code> et <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> possèdent des valeurs + supérieures à ce que le système peut supporter, ce dernier peut + devenir instable ou Apache httpd peut tout simplement refuser de démarrer.</p> + + <p>Avec les MPMs <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, n'utilisez cette directive + que si vous devez définir <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> à une valeur supérieure à + 256 (valeur par défaut). N'affectez pas à la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une valeur supérieure à + celle que vous avez prévu d'affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>.</p> + + <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code>, n'utilisez cette directive que si + la définition de vos directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> nécessitent plus de + 16 processus serveurs (valeur par défaut). N'affectez pas à la + directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une + valeur supérieure au nombre de processus requis pour la définition + des directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers + </a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p> + + <div class="note"><h3>Note</h3> + <p>Il existe une limite de <code>ServerLimit 20000</code> codée en + dur dans le serveur (200000 pour le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>). + Ceci est censé éviter les effets désastreux que pourrait provoquer + une faute de frappe. Pour dépasser cette limite, vous devez + modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du + mpm et recompiler le serveur.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../stopping.html">Arrêter et redémarrer +le serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="startservers" id="startservers">Directive</a> <a name="StartServers" id="StartServers">StartServers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de processus enfants du serveur créés au +démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartServers <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>La directive <code class="directive">StartServers</code> permet de + définir le nombre de processus enfants du serveur créés au + démarrage. Comme le nombre de processus est contrôlé dynamiquement + en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général + pas nécessaire d'ajuster ce paramètre.</p> + + <p>La valeur par défaut diffère d'un MPM à l'autre. Pour + <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est + <code>StartServers 3</code> ; la valeur par défaut est + <code>5</code> pour <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code>2</code> + pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="startthreads" id="startthreads">Directive</a> <a name="StartThreads" id="StartThreads">StartThreads</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés au démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartThreads <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>C'est le nombre de threads créés au démarrage du serveur. Comme + le nombre de threads est contrôlé dynamiquement + en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général + pas nécessaire d'ajuster ce paramètre.</p> + + <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est + <code>StartThreads 50</code> et, comme il n'y a qu'un processus, il + s'agit du nombre total de threads créés au démarrage pour servir les + requêtes.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="threadlimit" id="threadlimit">Directive</a> <a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de threads maximum que l'on peut définir par +processus enfant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadLimit <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Cette directive permet de définir le nombre maximum que l'on peut + affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour la durée de vie + du processus Apache httpd. La directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> peut être modifiée + au cours d'un redémarrage jusqu'à la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, mais toute tentative + de modification de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> au cours d'un + redémarrage sera ignorée.</p> + + <p>L'utilisation de cette directive doit faire l'objet de + précautions particulières. Si <code class="directive">ThreadLimit</code> est + définie à une valeur très supérieure à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, de la mémoire + partagée supplémentaire sera inutilement allouée. Si les directives + <code class="directive">ThreadLimit</code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sont définies à des + valeurs supérieures à ce que le système peut supporter, ce dernier + peut devenir instable, ou Apache httpd peut tout simplement refuser de + démarrer. Ne définissez pas cette directive à une valeur supérieure + à la valeur maximale que vous pensez affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour le processus + Apache httpd en cours d'exécution.</p> + + <p>La valeur par défaut de la directive + <code class="directive">ThreadLimit</code> est <code>1920</code> avec + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>64</code> avec les autres + MPMs.</p> + + <div class="note"><h3>Note</h3> + <p>Il existe une limite de <code>ThreadLimit 20000</code> (ou + <code>ThreadLimit 100000</code> avec <code class="module"><a href="../mod/event.html">event</a></code>, + <code>ThreadLimit 15000</code> avec <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>) + codée en dur dans le serveur. Ceci est censé éviter les effets + désastreux que pourrait provoquer une faute de frappe. Pour + dépasser cette limite, vous devez modifier la valeur de + MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le + serveur.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="threadsperchild" id="threadsperchild">Directive</a> <a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés par chaque processus +enfant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadsPerChild <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Cette directive permet de définir le nombre de threads que va + créer chaque processus enfant. Un processus enfant crée ces threads + au démarrage et n'en crée plus d'autres par la suite. Si l'on + utilise un MPM comme <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> qui ne lance qu'un + processus enfant, ce nombre doit être suffisamment grand pour + supporter la charge du serveur. Avec un MPM comme + <code class="module"><a href="../mod/worker.html">worker</a></code> qui lance plusieurs processus enfants, c'est + le nombre <em>total</em> de threads qui doit être suffisamment grand + pour supporter la charge du serveur.</p> + + <p>La valeur par défaut de la directive + <code class="directive">ThreadsPerChild</code> est <code>64</code> avec + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>25</code> avec les autres + MPMs.</p> + + <p>La valeur de la directive <code class="directive">ThreadsPerChild</code> ne peut + pas dépasser la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>. Si on spécifie une valeur + supérieure, elle sera automatiquement réduite au démarrage du serveur et un + avertissement sera enregistré dans le journal. La relation entre ces deux + directives est expliquée dans la <code class="directive"><a href="#documentation de la directive threadlimit">documentation de la directive ThreadLimit</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="threadstacksize" id="threadstacksize">Directive</a> <a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille en octets de la pile qu'utilisent les threads qui +traitent les connexions clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadStackSize <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>65536 sous NetWare; varie en fonction des autres systèmes +d'exploitation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.1 et supérieures +du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">ThreadStackSize</code> permet de + définir la taille de la pile (pour les données propres) qu'utilisent + les threads qui traitent les connexions clients en faisant appel à + des modules. Dans la plupart des cas, la valeur par défaut de la + taille de la pile du système d'exploitation convient, mais il existe + certaines situations où il peut s'avérer nécessaire de l'ajuster + :</p> + + <ul> + <li>Sur les plates-formes qui possèdent une valeur par défaut de + taille de la pile relativement petite (par exemple HP-UX), Apache + httpd peut se crasher si l'on utilise certains modules tiers qui + possèdent un quantité de données propres stockées relativement + importante. Il se peut que ces mêmes modules fonctionnent + correctement sur d'autres plate-formes où la valeur par défaut de + la taille de la pile est supérieure. Ce type de crash peut être + evité en définissant <code class="directive">ThreadStackSize</code> à une + valeur supérieure à la valeur par défaut du système + d'exploitation. Ce type d'ajustement n'est nécessaire que si le + fournisseur du module tiers en fait mention, ou si le diagnostic + d'un crash d'Apache httpd indique que la taille de la pile était trop + petite.</li> + + <li>Sur les plates-formes où la taille par défaut de la pile des + threads est sensiblement supérieure à la taille nécessaire pour la + configuration du serveur web, il est possible de disposer d'un + plus grand nombre de threads par processus enfant si la directive + <code class="directive">ThreadStackSize</code> est définie à une valeur + inférieure à la valeur par défaut du système d'exploitation. + Cependant, ce + type d'ajustement ne doit être effectué que dans un environnement + de test permettant de qualifier le serveur web au maximum de ses + possibilités, car il peut arriver, dans de rares cas, que des + requêtes nécessitent une taille de pile supérieure pour pouvoir + être traitées. La taille minimale requise pour la pile dépend + fortement des modules utilisés, mais toute modification dans la + configuration du serveur web peut invalider la définition courante + de la directive <code class="directive">ThreadStackSize</code>.</li> + + <li>Sous Linux, cette directive ne peut être utilisée que pour + augmenter la valeur par defaut de la taille de la pile, car + l'appel système sous-jacent utilise cette valeur comme taille de pile + <em>minimale</em>. C'est la limite logicielle (souvent élevée) + pour <code>ulimit -s</code> (8Mo si aucune limite) qui est + utilisée comme taille de pile par défaut.</li> + </ul> + + <div class="note">Il est recommandé de ne pas réduire + <code class="directive">ThreadStackSize</code>, à moins qu'un grand nombre + de threads par processus enfant ne soit nécessaire. Sur certaines + plates-formes (y compris Linux), une valeur de 128000 est déjà trop + basse et provoque des crashes avec certains modules courants.</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.ja.utf8 b/docs/manual/mod/mpm_common.html.ja.utf8 new file mode 100644 index 0000000..005dc79 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.ja.utf8 @@ -0,0 +1,801 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM 共通ディレクティブ</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>二つ以上のマルチプロセッシングモジュール (MPM) +で実装されているディレクティブのコレクション</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache がコアダンプする前に移動を試みるディレクトリ +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CoreDumpDirectory <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>デフォルトの設定は説明文を読んでください</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Apache がコアダンプする前に移動を試みるディレクトリを制御します。 + デフォルト値は <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + ディレクトリですが、このディレクトリはサーバの実行されているユーザ権限で + 書き込み可能であるべきではないので、通常はコアダンプは書き込まれません。 + デバッグのためにコアダンプが必要であれば、 + このディレクティブを使って他の位置にコアダンプを書き出すようにできます。</p> + + <div class="note"><h3>Linux でのコアダンプ</h3> + <p>Apache が root として起動されて、別のユーザの権限に以降した場合は + Linux のカーネルはディレクトリがプロセスの権限で書き込み可能な場合でさえも + コアダンプを<em>無効</em>にします。Apache (2.0.46 以降) は + Linux 2.4 以降ではコアダンプを行なうように再指定しますが、それは + <code class="directive">CoreDumpDirectory</code> を明示的に設定したときに + 限ります。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クラッシュの後に例外ハンドラを実行するフックを有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.49 以降</td></tr> +</table> + <p>安全上の理由から、<code>--enable-exception-hook</code> configure + オプションを有効にした場合にのみ、このディレクティブを利用できます。 + 外部モジュールをプラグインして、子がクラッシュした後に何か実行できるような + フックを有効にします。</p> + + <p>このような外部モジュールは、既に二つ存在していて、 + <code>mod_whatkilledus</code> と <code>mod_backtrace</code> + がこのフックを活用します。これらの詳細については Jeff Trawick + さんの <a href="http://www.apache.org/~trawick/exception_hook.html">EnableExceptionHook site</a> を参照してください。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a> <a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>穏やかな停止をかけた後、終了するまで待つ時間</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>GracefulShutDownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>GracefulShutDownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/event.html">event</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.2 以降</td></tr> +</table> + <p><code class="directive">GracefulShutdownTimeout</code> には + サーバーが "graceful-stop" シグナルを受け取ってから現在の + リクエストの処理を最大で何秒間続けるかを指定します。</p> + + <p>この値をゼロに設定すると、処理中として残っているリクエストが + 全て完了するまでサーバーは終了しません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a> <a name="listen" id="listen">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが listen するIP アドレスとポート番号</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/event.html">event</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 から必須ディレクティブ。<var>protocol</var> +引数は 2.1.5 で追加。</td></tr> +</table> + <p><code class="directive">Listen</code> ディレクティブは Apache + が特定の IP アドレスやポート番号だけを listen するように指定します。 + デフォルトでは全ての IP インターフェースのリクエストに応答します。 + <code class="directive">Listen</code> ディレクティブは + 現在は必須のディレクティブとなりました。 + もし設定ファイルになければ、サーバは起動に失敗します。 + これは以前のバージョンの Apache から変更のあった部分です。</p> + + <p><code class="directive">Listen</code> ディレクティブでは、特定のポートあるいは + アドレスとポートの組み合わせから入ってくるリクエストに対して + 応答するように指定します。 + もしポート番号だけが指定された場合は、サーバは全インターフェースの + 指定されたポート番号に対して listen します。 + IP アドレスがポートとともに指定された場合は、 + サーバは指定されたポートとインターフェースに対して listen + します。</p> + + <p>複数のアドレスとポートに対して listen するように、 + 複数の <code class="directive">Listen</code> ディレクティブを使うこともできます。 + サーバは列挙されたアドレスとポート全てからのリクエストに対して + 応答します。</p> + + <p>例えば、サーバが 80 番ポートと 8000 番ポートの両方の + コネクションを受け入れる場合は、次のようにします。</p> + + <div class="example"><p><code> + Listen 80<br /> + Listen 8000 + </code></p></div> + + <p>二つの特定のインターフェースとポート番号からのコネクションを + 受け入れるようにするには、次のようにします。</p> + + <div class="example"><p><code> + Listen 192.170.2.1:80<br /> + Listen 192.170.2.5:8000 + </code></p></div> + + <p>IPv6 アドレスは角括弧で囲まなければなりません。 + 例えば次の例のようにです。</p> + + <div class="example"><p><code> + Listen [2001:db8::a00:20ff:fea7:ccea]:80 + </code></p></div> + + <p><var>protocol</var> オプション引数は通常の設定では必要ありません。 + 無指定の場合、443 番ポートには <code>https</code> が、他のポートには + <code>http</code> がデフォルト値として使用されます。 + protocol 指定は、どのモジュールがリクエストを処理するかを決定し、 + <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> + によるプロトコル特有の最適化を行うようにします。</p> + + <p>非標準なポートで運用している際にのみ protocol 指定が必要になります。 + たとえば <code>https</code> なサイトを 8443 番ポートで運用している場合 :</p> + + <div class="example"><p><code> + Listen 192.170.2.1:8443 https + </code></p></div> + + <div class="note"><h3>エラー条件</h3> + 同一 IP アドレスとポートの組に、複数の <code class="directive">Listen</code> + ディレクティブを指定してしまうと、<code>Address already in use</code> + というエラーメッセージを受けることになります。 + </div> + + +<h3>参照</h3> +<ul> +<li><a href="../dns-caveats.html">DNS の問題</a></li> +<li><a href="../bind.html">Apache +が使用するアドレスとポートの設定</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a> <a name="listenbacklog" id="listenbacklog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>保留状態のコネクションのキューの最大長</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ListenBacklog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>保留状態のコネクションのキューの最大長です。 + 一般的には調整する必要はありませんし、調整は望ましくありません。 + しかし、TCP SYN フラッドアタックの状況下におかれる場合に、 + 増やした方が望ましいシステムもあります。 + <code>listen(2)</code> システムコールのバックログパラメータを + ご覧下さい。</p> + + <p>この値は OS により、小さな数に抑えられます。 + 値は OS 毎に異なっています。また多くの OS では、 + バックログとして指定されている値ちょうどまで使っているわけではなく、 + 設定されている値に基づいて (通常は設定値よりも大きな値を) + 使っていることに注意してください。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a> <a name="listencoresbucketsratio" id="listencoresbucketsratio">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option <code>SO_REUSEPORT</code> and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of <code>SO_REUSEPORT</code> +in *BSDs.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a> <a name="maxconnectionsperchild" id="maxconnectionsperchild">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available Apache HTTP Server 2.3.9 and later. The old name +<code>MaxRequestsPerChild</code> is still supported.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a> <a name="maxmemfree" id="maxmemfree">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>free()</code> が呼ばれない限り、 +主メモリアロケータが保持し続けられるメモリの最大量</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxMemFree <var>KBytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxMemFree 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p><code class="directive">MaxMemFree</code> ディレクティブは + <code>free()</code> が呼ばれない限り、 + 主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。 + 設定されていないか、零に設定されているときは、無制限になります。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a> <a name="maxrequestworkers" id="maxrequestworkers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxRequestWorkers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイドルスレッドの最大数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用法をご覧下さい。</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>アイドルなスレッドの最大数です。異なる MPM ではそれぞれ、 + このディレクティブは異なる取り扱われ方をされます。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> では、 + デフォルトは <code>MaxSpareThreads 10</code> です。 + この MPM はアイドルスレッド数を、それぞれの子プロセスごとに監視します。 + 子プロセスにアイドルスレッドが多すぎる場合は、 + サーバはその子プロセスに含まれるスレッドを終了し始めます。</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> では、 + デフォルトは <code>MaxSpareThreads 250</code> です。 + この MPM はアイドルスレッド数をサーバ全体で監視します。 + サーバでアイドルスレッド数が多すぎる場合は、 + この数字よりも少ない数になるまで子プロセスを終了します。</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> では、 + デフォルトは <code>MaxSpareThreads 100</code> です。 + この MPM はシングルプロセスで実行されますので、 + スペアスレッド数もサーバ全体で勘定します。</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> と <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> は + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> と似た挙動をします。 + <code class="module"><a href="../mod/beos.html">beos</a></code> でのデフォルト値は <code>MaxSpareThreads 50</code> + です。<code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> でのデフォルト値は <code>10</code> + です。</p> + + <div class="note"><h3>制限事項</h3> + <p><code class="directive">MaxSpareThreads</code> の取る値には制限があります。 + Apache は次の規則に従って自動的に補正します。</p> + <ul> + <li><code class="module"><a href="../mod/perchild.html">perchild</a></code> では、 + <code class="directive">MaxSpareThreads</code> が + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> + と等しいかそれ以下である必要があります。</li> + + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> は + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> + よりも大きい必要があります。</li> + + <li><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, + <code class="module"><a href="../mod/worker.html">worker</a></code> では、 + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> と + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + で決まる総和と等しいか大きい必要があります。</li> + </ul> + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads" id="minsparethreads">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストに応答することのできる +アイドルスレッド数の最小数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MinSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法をご覧下さい。</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>リクエストに応答するスレッド数の最小値です。 + 異なる MPM ではそれぞれ、 + このディレクティブは異なる取り扱われ方をします。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> では、 + デフォルトは <code>MinSpareThreads 5</code> で、 + アイドルスレッド数を子プロセス毎に監視します。 + もし子プロセスに十分な数のスレッドがなければ、 + サーバはその子プロセスに新しいスレッドを作り始めます。 + ですから、<code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> + を <code>10</code> に、<code class="directive">MinSpareThreads</code> を + <code>5</code> にした場合は、最小でも 50 のアイドルスレッドが + システム上にあることになります。</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> では、 + デフォルトは <code>MinSpareThreads 75</code> で、 + アイドルスレッド数をサーバ全体で監視します。 + もしサーバに十分な数のアイドルスレッドがなければ、 + アイドルスレッド数がこの数 <var>number</var> よりも大きくなるまで + 新しい子プロセスが生成されます。</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> では、 + デフォルトは <code>MinSpareThreads 10</code> で、 + シングルプロセス MPM ですので、サーバ全体で管理されます。</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> と <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> は、 + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>によく似ています。 + <code class="module"><a href="../mod/beos.html">beos</a></code> でのデフォルトは <code>MinSpareThreads 1</code> + です。<code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> でのデフォルトは + <code>5</code> です。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>デーモンのプロセス ID +をサーバが記録するためのファイル</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>PidFile <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p><code class="directive">PidFile</code> ディレクティブで、 + デーモンのプロセス ID をサーバが記録するファイルを設定します。 + ファイル名が絶対パスでない場合は、 + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + からの相対的なものとして扱われます。</p> + + <div class="example"><h3>例</h3><p><code> + PidFile /var/run/apache.pid + </code></p></div> + + <p>サーバが <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> + や <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> + を閉じて開き直したり、設定ファイルを + 再読込したりさせるために、サーバにシグナルを送ることができると + 便利なことがあります。 + これは SIGHUP (kill -1) シグナルを <code class="directive">PidFile</code> + に書かれているプロセス ID に送ることでできます。</p> + + <p><code class="directive">PidFile</code> には、ログファイルの設置位置や + <a href="../misc/security_tips.html#serverroot">セキュリティ</a> + と全く同じ注意点があります。</p> + + <div class="note"><h3>注意</h3> + <p>Apache 2 では、 + <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> + スクリプトのみを使用してサーバの (再) 起動や停止を + 行なうことを推奨しています。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a> <a name="receivebuffersize" id="receivebuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>TCP 受信バッファサイズ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>サーバは TCP 受信バッファサイズを指定されたバイト数に設定します。</p> + + <p><code>0</code>にした場合、OS のデフォルト値が使用されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>子プロセスと連携するためのデータを保存する +ファイルの位置</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ScoreBoardFile logs/apache_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Apache は親プロセスと子プロセス間の通信にスコアボードを用います。 + この通信機能にファイルを必要とするアーキテクチャもあります。 + ファイルが指定されていなければ、Apache はまずメモリ上 + (匿名共有メモリ) にスコアボードを作ろうとし、それが失敗すると + ディスク上にファイル (ファイルベースの共有メモリ) を作ろうとします。 + このディレクティブを指定すると、Apache + は必ずディスクにファイルを生成します。</p> + + <div class="example"><h3>例</h3><p><code> + ScoreBoardFile /var/run/apache_status + </code></p></div> + + <p>ファイルベースの共有メモリは、サードパーティー製のアプリケーションで + スコアボードに直接アクセスする必要がある場合に役に立ちます。</p> + + <p><code class="directive">ScoreBoardFile</code> を使う場合、 + RAM ディスク上に置くとスピードが向上するでしょう。 + しかし、ログファイルの設置位置や + <a href="../misc/security_tips.html">セキュリティ</a> + と同様の注意点があるので、注意してください。</p> + +<h3>参照</h3> +<ul> +<li><a href="../stopping.html">Apache の停止と再起動</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>TCP バッファサイズ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SendBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>サーバは TCP 送信バッファサイズを指定されたバイト数に設定します。 + 高速で高レイテンシな環境で + (<em>例</em> 100ms 程度、大陸横断高速通信路など) + 古い一般的な OS のデフォルト値を増やすのに非常に便利です。</p> + + <p><code>0</code>にした場合、OS のデフォルト値が使用されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>設定可能なサーバプロセス数の上限</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p><code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM の場合は、このディレクティブは + Apache プロセス稼働中における + <code class="directive"><a href="#maxclients">MaxClients</a></code> + に設定可能な上限値を設定することになります + <span class="transnote">(<em>訳注:</em> prefork の場合は同時クライアント数 = サーバプロセス数なので)</span>。 + <code class="module"><a href="../mod/worker.html">worker</a></code> MPM の場合には、このディレクティブは + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> + ディレクティブと組み合わせて、 + Apache プロセス稼働中における + <code class="directive"><a href="#maxclients">MaxClients</a></code> + に設定可能な上限値を設定することになります。 + このディレクティブを変更して再起動<span class="transnote">(<em>訳注:</em> apachectl + restart)</span>しても無視されますが、 + <code class="directive"><a href="#maxclients">MaxClients</a></code> + は再起動で変更することができます。 + </p> + + <p>このディレクティブを使用する際は特に注意してください。 + <code class="directive">ServerLimit</code> が必要以上に大きな値に + 設定された場合は、余計な未使用共有メモリが割り当てられます。 + <code class="directive">ServerLimit</code> と + <code class="directive"><a href="#maxclients">MaxClients</a></code> + がシステムの扱える範囲を越えた設定値になっていると、 + Apache は起動しないか、起動しても不安定になるでしょう。</p> + + <p><code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM では、 + <code class="directive"><a href="#maxclients">MaxClients</a></code> + を 256 (デフォルト) よりも大きな値に設定する必要がある時にだけ使用してください。 + 希望の <code class="directive"><a href="#maxclients">MaxClients</a></code> + 数とくらべて、必要以上に大きな値を指定することは避けてください。</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> MPM では、 + <code class="directive"><a href="#maxclients">MaxClients</a></code> と + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + の設定で 16 サーバプロセス (デフォルト) + 以上必要になる場合にのみ使用してください。希望の + <code class="directive"><a href="#maxclients">MaxClients </a></code> と + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + とくらべて、必要となるサーバプロセス数以上に大きな値を + 設定することは避けてください。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> MPM では、 + <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> を 8 (デフォルト) + よろいも大きな値に設定する必要があるときにのみ使用してください。</p> + + <div class="note"><h3>注意</h3> + <p><code>ServerLimit 20000</code> という制限付きでコンパイルされています + (<code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM では <code>200000</code>) 。 + これはスペルミスによって誤って酷い状況になるのを、 + 回避するための処置です。</p> + </div> + +<h3>参照</h3> +<ul> +<li><a href="../stopping.html">Apache の停止と再起動</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a> <a name="startservers" id="startservers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>起動時に生成される子サーバプロセスの数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>StartServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p><code class="directive">StartServers</code> ディレクティブは、 + 起動時に生成される子サーバプロセスの数を設定します。 + プロセス数は負荷に応じて動的に制御されますので、 + 通常はこの値を調整する理由はあまりないでしょう。</p> + + <p>デフォルト値は MPM ごとに異なります。 + <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, + <code class="module"><a href="../mod/worker.html">worker</a></code> は <code>StartServers 3</code> です。 + <code class="module"><a href="../mod/prefork.html">prefork</a></code> は <code>5</code> で、 + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> は <code>2</code> です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a> <a name="startthreads" id="startthreads">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>起動時に生成されるスレッドの数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>StartThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code></td></tr> +</table> + <p>起動時に生成されるスレッドの数です。 + スレッド数は負荷に応じて動的に制御されますので、 + 通常はこの値を調整する理由はあまりないでしょう。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> でのデフォルトは + <code>StartThreads 5</code> で、このディレクティブは起動時に + プロセス毎のスレッド数を追跡します。</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> でのデフォルトは + <code>StartThreads 50</code> で、 + この場合プロセスは一つしかないので、 + 起動時にリクエストに応答するスレッドの総数となります。</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> でのデフォルトは <code>StartThreads + 10</code> です。 + また、起動時に生成されるスレッドの総数にも反映されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a> <a name="threadlimit" id="threadlimit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>設定可能な子プロセス毎のスレッド数の上限を +設定します</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ThreadLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.41 とそれ以降の <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> +で利用可能</td></tr> +</table> + <p>このディレクティブは + Apache プロセス稼働中における + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + に設定可能な上限値を設定します。再起動時にこのディレクティブの値を + 変更しても無視されますが、 + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + は再起動中に、このディレクティブで指定された上限値まで + 変更することができます。</p> + + <p>このディレクティブを使用する際は特に注意してください。 + <code class="directive">ThreadLimit</code> が + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + よりもずっと大きな値に設定された場合は、 + 余計な未使用共有メモリが割り当てられてしまいます。 + <code class="directive">ThreadLimit</code> が + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + の両方がシステムの扱える範囲を超えている場合は、 + Apache は起動しないか、起動したとしても不安定になるでしょう。 + このディレクティブの値は今使用している Apache の <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> の予想上限値を + 超えた値には設定しないでください。 + </p> + + <p><code class="directive">ThreadLimit</code> のデフォルト値は + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> のときは <code>1920</code> で、 + 他の場合は <code>64</code> です。</p> + + <div class="note"><h3>注意</h3> + <p><code>ThreadLimit 20000</code> (<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> + の場合は <code>ThreadLimit 15000</code> ) + という制限付きでコンパイルされています。 + これはスペルミスによって誤って酷い状況になるのを、 + 回避するための処置です。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild" id="threadsperchild">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>子プロセスそれぞれに生成されるスレッド数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ThreadsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>このディレクティブは、それぞれの子プロセスで生成される + スレッド数を設定します。 + 子プロセスは開始時にこれらのスレッドを生成して、 + その後は生成しません。<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> のような、 + 子プロセスが一つしかないような MPM を利用しているのであれば、 + この値はサーバの負荷全体を十分取り扱える程度に、 + 大きくなければなりません。<code class="module"><a href="../mod/worker.html">worker</a></code> のような、 + 子プロセスが複数あるような MPM を利用しているのであれば、 + サーバの通常負荷を十分扱える程度に、 + <em>スレッド総数</em>が多くなければなりません。</p> + + <p><code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>での <code class="directive">ThreadsPerChild</code> + のデフォルト値は <code>64</code> で、他の場合は + <code>25</code> です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize" id="threadstacksize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントのコネクションを受け持つスレッドが使用する +スタックのバイト数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ThreadStackSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>NetWare では 65536。他の OS では違った値</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.1 以降</td></tr> +</table> + <p>クライアントコネクションを受け持ち、コネクション処理に必要なモジュールの + 呼び出しを行なっているスレッドの、(自動変数用の) スタックサイズは + <code class="directive">ThreadStackSize</code> ディレクティブで指定します。 + 大抵の場合 OS の指定しているスタックサイズのデフォルト値は + 適切なものですが、調整が必要になる場合もあります:</p> + + <ul> + <li>スレッドスタックサイズのデフォルト値が比較的小さく設定されている + プラットホーム (例えば HP-UX) では、自動変数用の領域で大きな容量を + 使用するサードパーティ製モジュールのために Apache がクラッシュする + 場合もあります。そのモジュールは他のプラットホームでは + スタックサイズが大きいために、快調に動作するかもしれません。 + このタイプのクラッシュは、<code class="directive">ThreadStackSize</code> + で OS のデフォルト値より大きな値を指定することで解決します。 + サードパーティ製モジュールでこの処置が必要であると記載されている + 場合か、Apache の出力するメッセージでスレッドスタックサイズが + 小さすぎると指摘されている場合にのみ、この調整をしてください。</li> + + <li>デフォルトスレッドスタックサイズが、Web サーバ用途に必要な量よりも + 明らかに大きすぎる場合、<code class="directive">ThreadStackSize</code> + を OS のデフォルト値よりも小さな値にすることで、子プロセスあたりの + スレッド数をより多く持たせられるようになります。 + このタイプの調整は、テスト環境でウェブサーバを完全に + テストできる場合に限って行なうべきです。 + まれに多数のスタックが要求されるリクエストを受けることがあるかも + しれないからです。 + Web サーバの設定を変更すると、現在の <code class="directive">ThreadStackSize</code> + の設定が取り消される場合があります。</li> + </ul> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.tr.utf8 b/docs/manual/mod/mpm_common.html.tr.utf8 new file mode 100644 index 0000000..e0e0264 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.tr.utf8 @@ -0,0 +1,910 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM Ortak Yönergeleri</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş + yönergeler bütünü.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>core</code> dosyasını dökümlemek üzere Apache HTTP + Sunucusunun geçmeye çalışacağı dizin.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CoreDumpDirectory <var>dizin</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Öntanımlı değer için aşağıdaki açıklamaya bakınız</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Bu yönerge <code>core</code> dosyasını dökümlemek üzere Apache httpd’nin + geçmeye çalışacağı dizini belirler. Eğer işletim sisteminiz, çöken bir + sürecin olması durumunda <code>core</code> dosyasını çöken sürecin + çalışma dizinine yazacak şekilde yapılandırılmışsa, + <code class="directive">CoreDumpDirectory</code> yönergesinin değeri olarak, + öntanımlı olan ve sunucuyu çalıştıran kullanıcı tarafından yazılamayan + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> dizini yerine başka bir + çalışma dizini belirtmek gerekir.</p> + + <p>Hata ayıklamak amacıyla bir <code>core</code> dosyası dökümlemek + isterseniz farklı bir yer belirtmek için bu yönergeyi + kullanabilirsiniz. Eğer işletim sisteminiz çöken bir sürecin olması + durumunda <code>core</code> dosyasını çöken sürecin çalışma dizinine + yazacak şekilde yapılandırılmamışsa, bu yönergenin bir etkisi olmaz.</p> + + <div class="warning"> + <h3>Linux sistemleri için güvenlik bilgisi</h3> + + <p>Bu yönergenin Linux'ta kullanılması, sistemdeki diğer işlemlerin + (benzer yetkilerle çalıştırılan CGI komut dosyaları gibi) + <code>ptrace</code> sistem çağrısı yoluyla httpd çocuklarına eklenmesine + izin verebilir. Bu, bazı güvenlik saldırılarına karşı korumayı + zayıflatabilir. Bu yönergenin üretim sistemlerinde kullanılması + önerilmez.</p> + </div> + + <div class="note"><h3>Linux üzerinde <code>core</code> dökümlemek</h3> + <p>Apache httpd root olarak başlatılıp başka bir kullanıcıya geçilirse + Linux çekirdeği, süreç tarafından yazılabilir olsa bile + <code>core</code> dökümlemeyi <em>iptal eder</em>. Eğer + <code class="directive">CoreDumpDirectory</code> yönergesi ile açıkça bir + dizin belirtirseniz, Apache httpd (2.0.46 ve sonraki sürümleri), Linux + 2.4 ve sonrasında <code>core</code> dökümlemeyi yeniden + etkinleştirecektir.</p> + </div> + + <div class="note"> + <h3>BSD üzerinde <code>core</code> dökümlemek</h3> + <p>BSD sistemlerinde (FreeBSD gibi) suid bitli çalıştırılabilirlerin + <code>core</code> dökümlemesini etkin kılmak için + <code>kern.sugid_coredump</code> değişkenine 1 değerini atayın. + </p> + </div> + + <div class="note"><h3>Özel sinyaller</h3> + <p><code class="directive">CoreDumpDirectory</code> işlemi sadece belli + sinyaller için gerçekleşir: SIGFPE, SIGILL, SIGABORT, SIGSEGV ve + SIGBUS.</p> + <p>Bazı işletim sistemlerinde SIGQUIT sinyali de bir <code>core</code> + dosyası dökümler ancak bunu <code class="directive">CoreDumpDirectory</code> + veya <code class="directive">EnableExceptionHook</code> işlemi üzerinden + yapmaz, dolayısıyla <code>core</code> dosyasının yeri tamamen işletim + sisteminin belirlediği yer olur.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir çöküş sonrası olağandışılık eylemcilerini çalıştıracak + kancayı etkin kılar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Güvenlik sebebiyle bu yönerge sadece Apache + <code>--enable-exception-hook</code> seçeneği ile yapılandırılmışsa + kullanılabilir olacaktır. Bu, harici modüllerin eklenmesine ve bir çocuk + sürecin çöküşü sonrası bir şeyler yapmaya izin veren bir kancayı etkin + kılar.</p> + + <p>Bu kancayı kullanan iki modül (<code>mod_whatkilledus</code> ve + <code>mod_backtrace</code>) zaten vardır. bunlar hakkında daha fazla bilgi + edinmek için Jeff Trawick'in <a href="https://emptyhammock.com/projects/httpd/diag/">EnableExceptionHook site</a>sine bakabilirsiniz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a> <a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar + geçecek süre için bir zaman aşımı belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>GracefulShutdownTimeout <var>saniye</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Sürüm 2.2 ve sonrasında mevcuttur</td></tr> +</table> + <p><code class="directive">GracefulShutdownTimeout</code> yönergesi, sunucuya + "nazikçe dur" sinyali gönderildikten sonra mevcut bağlantılara hizmet + sunmaya daha kaç saniye devam edebileceğini belirtir.</p> + + <p>Bu değerin <code>0</code> olarak belirtilmesi, sunucunun bekleyen bütün + isteklere hizmet sunumu tamamlanıncaya kadar (gerekirse sonsuza kadar) + bekleyebileceği anlamına gelir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a> <a name="listen" id="listen">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun dinleyeceği IP adresini ve portu belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Listen [<var>IP-adresi</var>:]<var>port-numarası</var> + [<var>protokol</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td><var>protokol</var> değiştirgesi 2.1.5 sürümünde + eklenmiştir.</td></tr> +</table> + <p><code class="directive">Listen</code> yönergesi Apache httpd’yi sadece belli IP + adreslerini ve portlarını dinlemeye sevkeder. + <code class="directive">Listen</code> artık belirtilmesi zorunlu yönergelerden + biridir. Yapılandırma dosyasında bulunmadığı takdirde sunucu + başlatılırken başarısız olacaktır. Bu Apache HTTP Sunucusunun önceki + sürümünde böyle değildi.</p> + + <p><code class="directive">Listen</code> yönergesi Apache httpd’ye, sadece belli + portlardan veya IP adresi ve port çiftlerinden gelen istekleri kabul + etmesini söyler. Eğer sadece port numarası belirtilmişse sunucu + belirtilen portu bütün ağ arabirimlerinde dinleyecektir. Eğer portla + birlikte bir IP adresi de belirtilmişse, sunucu belirtilen portu sadece + belirtilen arabirimden dinleyecektir.</p> + + <p>Çok sayıda IP adresi ve port belirtmek için çok sayıda + <code class="directive">Listen</code> yönergesi kullanılabilir. Sunucu bu + durumda belirtilen bütün IP adreslerinden ve portlardan gelecek + isteklere yanıt verecektir.</p> + + <p>Örneğin sunucunun hem port 80 hem de port 8000’den istek kabul etmesini + istiyorsanız bunu şöyle belirtebilirsiniz:</p> + + <pre class="prettyprint lang-config">Listen 80 +Listen 8000</pre> + + + <p>Sunucunun belirtilen iki ağ arabiriminden ve port numarasından gelen + bağlantıları kabul etmesi için şu yapılandırmayı kullanabilirsiniz:</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:80 +Listen 192.170.2.5:8000</pre> + + + <p>IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına + alınmalıdır:</p> + + <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre> + + + <p>İsteğe bağlı <var>protocol</var> argümanı çoğu yapılandırmada gerekli + değildir. Belirtilmediği takdirde. port 443 için <code>https</code> ve + tüm diğer portlar için <code>http</code> öntanımlıdır. Protokol, isteği + hangi modülün elde edeceğinin ve <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> yönergesi ile protokole özgü + hangi en iyilemelerin uygulanacağının saptanmasında kullanılır.</p> + + <p>Protokol belirtme ihtiyacını sadece standartdışı portlar + çalıştırıyorsanız duyarsınız. Örneğin, port 8443 üzerinde bir + <code>https</code> sitesi çalıştırmak istiyorsanız bunu şöyle + belirtebilirsiniz:</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre> + + + <div class="note"><h3>Hata durumu</h3> + Aynı IP adresi ve portun çok sayıda <code class="directive">Listen</code> + yönergesinde belirtilmesi bir "adres kullanımda" (<code>Address already + in use</code>) hatasına yol açar. + </div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../dns-caveats.html">DNS ve Apache ile ilgili Konular</a> </li> +<li><a href="../bind.html">Apache HTTP Sunucusunun Kullandığı Adreslerin + ve Portların Ayarlanması</a></li> +<li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress"><code>Address already in use</code> hata iletisinin ve diğer sebeplerin +açıklaması</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a> <a name="listenbacklog" id="listenbacklog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bekleyen bağlantılar kuyruğunun azami uzunluğunu + belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ListenBackLog <var>kuyruk-uzunluğu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ListenBackLog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Bekleyen bağlantılar kuyruğunun azami uzunluğu. Genellikle bu ayar ne + gerekir ne de istenir. Ancak bazı sistemlerde TCP SYN yüklenme + saldırılarına karşı bu değerin arttırılması gerekebilir. + <var>kuyruk-uzunluğu</var> parametresi için <code>listen(2)</code> + işlevinin açıklamasına bakınız.</p> + + <p>Bu değer çoğunlukla işletim sistemi tarafından daha küçük bir sayıyla + sınırlanır. Bu, işletim sistemine bağlı olarak değişiklik gösterir. + Ayrıca, çoğu işletim sisteminin <var>kuyruk-uzunluğu</var> parametresi + ile ne belirttiğinize bakmaksızın kendisi için atanmış değeri (fakat + normal olarak daha büyüğünü) kullanacağına dikkat ediniz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a> <a name="listencoresbucketsratio" id="listencoresbucketsratio">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İşlemci çekirdek sayısının dinleyenlerin buket sayısına oranı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ListenCoresBucketsRatio <var>oran</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ListenCoresBucketsRatio 0 (iptal)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Server 2.4.17 ve sonrasında, + <code>SO_REUSEPORT</code> soket seçeneğini destekleyen bir Linux çekirdeğinin + varlığında ve yeni bağlantıların bunu kullanan dinleme süreçlerinin (veya + evrelerinin) soketleri arasında eşit paylaştırılıyor olması halinde + kullanılır. Örneğin Linux 3.9 ve sonrasında kullanılabilirken *BSD'lerin şu + anki <code>SO_REUSEPORT</code> gerçeklenimi ile kullanılamaz.</td></tr> +</table> + <p>(çevrimiçi) İşlemci çekirdek sayısının dinleyenlerin buket sayısına + <var>oran</var>ı, Apache HTTP Sunucusunun <code>işlemci_çekirdek_sayısı / + oran</code> sayıda dinleme buketi oluşturması için kullanılabilir ve bu + buketlerin herbiri aynı portlar üzerinde kendi <code class="directive"><a href="#listen">Listen</a></code> soketlerini içeriyor olurlar. + Bu durumda, her çocuk süreç tek bir buketle çalışır (çocukların + oluşturulması sırasında buketler döner dağılımla eşleştirilir).</p> + + <div class="note"><h3>"çevrimiçi" İşlemci çekirdek sayısının anlamı</h3> + <p>Linux için (ve ayrıca BSD) bir işlemci çekirdeği <a href="https://www.kernel.org/doc/Documentation/cpu- hotplug.txt">Hotplug</a> yapılandırılarak açılıp kapatıalbilir. + Dolayısıyla, <code class="directive">ListenCoresBucketsRatio</code> yönergesi + oluşturulacak buket sayısını hesaplarken bu yapılandırmayı esas alır.</p> + </div> + + <p><code class="directive">ListenCoresBucketsRatio</code> yeni bağlantılar kabul + edilirken/darboğazlar oluşurken ölçeklenebilirliği arttırabilir. Çok + sayıda işlemci çekirdekli sistemlerde bu özelliğin etkinleştirilmesinin + önemli başarım artışları ve daha kısa yanıt süreleri oluşturduğu + gözlenmiştir.</p> + + <p>Bu <var>oran</var>ın etkin olabilmesi için işlemci çekirdeği çift sayıda + olmalıdır. <var>oran</var> için önerilen değer <code>8</code> olup bu + durumda çalışma anında en azından <code>16</code> çekirdek + kullanılabiliyor olmalıdır. En iyi başarımı elde etmek gereken + <var>oran</var> her sistem için hesaplanmalı, çok sayıda değer denenmeli + ve başlıca başarım ölçütlerinizin çeşitli sonuçları iyi gözlemlenmelidir. + </p> + + <p>Bu yönerge aşağı yuvarlanan + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> ve + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code> değerlerinin + hesabını etkiler. Bağlantıları en uygun şekilde kabul etmek için çocuk + süreçlerin sayısının buket sayısının katları olması gerekir.</p> + + <div class="note"> + <h3>Çok sayıda <code class="directive">Listen</code> veya aynı adres veya port + üstünda çok sayıda Apache HTTP sunucusu</h3> + <p>Dinleyen soketler üzerinde <code>SO_REUSEPORT</code> seçeneğini tanımlamak + normal bir durumda sistem tarafından oluşturulmuş bir bağlama hatası + olmaksızın çok sayıda sürecin aynı adres ve porta bağlanması sonucunu + doğurur.</p> + <p>Bu ayrıca pozitif bir <code class="directive">ListenCoresBucketsRatio</code> + değeriyle aynı <code>IP:port</code> üzerinde yapılandırılmış çok sayıda + Apache httpd örneğinin hatasız başlamasının yanında gelen çağrıların her + iki örneğe eşit olarak dağıtılacağı anlamına da gelir. (Bu, + herhangi bir durumda bir öneri veya makul bir kullanım DEĞİL, böyle bir + olası sorunun algılanmasının engelleneceğine dair bir uyarıdır.)</p> + <p>Aynı örnek dahilinde, çok sayıda <code class="directive">Listen</code> + yönergesinin tam olarak aynı IP ve port üzerinde yapılandırılması durumunda + Apache httpd gerekli sınamaları yaptıktan sonra başlamayacak, böylelikle + birbirinin benzeri çok sayıda kullanışsız buketin oluşturulması + engellenecektir. Ancak, olası tüm örtüşmeler (bir konak adının başka bir + yerde kullanılmış bir IP'ye çözümlenmesi gibi) yakalanamayacaktır.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a> <a name="maxconnectionsperchild" id="maxconnectionsperchild">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek + sayısını sınırlamakta kullanılır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxConnectionsPerChild <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.9 ve sonraki sürümlerinde + kullanılabilmektedir. Eski isim <code>MaxRequestsPerChild</code> hala + desteklenmektedir.</td></tr> +</table> + <p><code class="directive">MaxConnectionsPerChild</code> yönergesi, tek bir çocuk + sürecin işleme sokabileceği istek sayısını sınırlamakta kullanılır. + <code class="directive">MaxConnectionsPerChild</code> istekten sonra çocuk süreç + ölür. Eğer <code class="directive">MaxConnectionsPerChild</code> için + <code>0</code> belirtilmişse sürecin ömrü sonsuz olacaktır.</p> + + <p><code class="directive">MaxConnectionsPerChild</code> için sıfırdan farklı bir + değer belirtilmesi sürecin kullanacağı bellek miktarını sınırlamak + suretiyle olası bellek sızıntılarını engeller.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a> <a name="maxmemfree" id="maxmemfree">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>free()</code> çağrılmaksızın ana bellek ayırıcının + ayırmasına izin verilen azami bellek miktarını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxMemFree <var>kB-sayısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxMemFree 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p><code class="directive">MaxMemFree</code> yönergesi, <code>free()</code> + çağrılmaksızın her bellek ayırıcının ayırmasına izin verilen azami + bellek miktarını kB cinsinden belirler. Evreli MPM'lerde her evre kendi + ayırıcısına sahiptir. <code>0</code> değeri belirtildiğinde eşik sınırsız + olacaktır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a> <a name="maxrequestworkers" id="maxrequestworkers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Aynı anda işleme sokulacak azami bağlantı sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxRequestWorkers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p><code class="directive">MaxRequestWorkers</code> yönergesi aynı anda işleme + sokulacak bağlantı sayısını sınırlamak için kullanılır. <code class="directive">MaxRequestWorkers</code> bağlantı isteğinden fazlası geldiği + takdirde bu istekler normal olarak kuyruğa alınıp bekletilir. Kuyrukta + bekletilecek isteklerin azami sayısı ise <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code> yönergesi ile belirlenir. İstek sunmakta olan + çocuk süreçlerden biri serbest kaldığında bekletilen bağlantılardan + birine hizmet sunulmaya başlanır.</p> + + <p>Evreli olmayan sunucularda (<code class="module"><a href="../mod/prefork.html">prefork</a></code> gibi) + <code class="directive">MaxRequestWorkers</code> yönergesi istekleri sunmak için + başlatılacak çocuk süreçlerin azami sayısını belirler. Öntanımlı değer + 256 olup bu değeri arttırmak isterseniz <code class="directive"><a href="#serverlimit">ServerLimit</a></code> değerini de + arttırmalısınız.</p> + + <p>Çok evreli ve melez sunucularda (<code class="module"><a href="../mod/event.html">event</a></code> veya + <code class="module"><a href="../mod/worker.html">worker</a></code> gibi) <code class="directive">MaxRequestWorkers</code> + yönergesi istemcilere hizmet verecek evre sayısını sınırlar. Öntanımlı + değer melez MPM’ler için 16'dır + (<code class="directive"><a href="#serverlimit">ServerLimit</a></code> ile <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> çarpılır: <code>16 x + 25</code>). Bu bakımdan <code class="directive">MaxRequestWorkers</code> değerini + 16 süreçten fazlasına ayarlamak için <code class="directive"><a href="#serverlimit">ServerLimit</a></code> değerini de arttırmalısınız.</p> + + <p><code class="directive">MaxRequestWorkers</code> yerine 2.3.13 öncesinde + <code class="directive">MaxClients</code> kullanılırdı. Eski isim hala + desteklenmektedir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Boştaki azami evre sayısını belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Boştaki azami evre sayısı. Her MPM bu yönerge karşısında farklı + davranır.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> için + <code>MaxSpareThreads 250</code> öntanımlıdır. Bu MPM'ler boştaki + evreleri sunucu genelinde izler. Eğer sunucuda çok fazla boşta evre + varsa, sunucu boştaki evrelerin sayısı bu sınırın altına inene kadar + çocuk süreçleri öldürür. + <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + yönergesi etkinse ek süreçler/evreler oluşabilir.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> için <code>MaxSpareThreads 100</code> + öntanımlıdır. Bu MPM tek bir süreç olarak çalıştığından boştaki evre + sayısı aynı zamanda sunucu genelinde boştaki evre sayısıdır.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> modülü <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> modülü + gibi çalışır. <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> için öntanımlı değer + <code>10</code>'dur.</p> + + <div class="note"><h3>Kısıtlamalar</h3> + <p><code class="directive">MaxSpareThreads</code> için değer aralığı sınırlıdır. + Apache httpd belirtilen değeri aşağıdaki kurallara uygun olarak + kendiliğinden düzeltecektir:</p> + <ul> + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> modülü, değerin <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> değerinden küçük + olmasını gerektirir.</li> + + <li><code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> için değer, + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> + ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + toplamına eşit veya büyük olmak zorundadır.</li> + </ul> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads" id="minsparethreads">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MinSpareThreads <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısı. Her MPM bu yönerge karşısında farklı davranır.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> modülü için + <code>MinSpareThreads 75</code> öntanımlıdır ve bu modül boştaki evreleri + sunucu genelinde izler. Eğer sunucuda boştaki evre sayısı yetersizse, + sunucu, boştaki evrelerin sayısı bu sınırın üstüne çıkana kadar çocuk + süreç oluşturur. + <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + yönergesi etkinse ek süreçler/evreler oluşabilir.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> için <code>MinSpareThreads 10</code> + öntanımlıdır ve tek süreç kendisi olduğundan izleme sunucu genelinde + yapılır.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> modülü <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> modülü + gibi çalışır. <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> için öntanımlı değer + <code>5</code>'tir.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>PidFile <var>dosya</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p><code class="directive">PidFile</code> yönergesi, sunucunun artalan sürecinin + süreç kimliğinin kaydedileceği dosyayı belirler. Dosya ismi mutlak dosya + yoluyla belirtilmemişse dosya yolunun <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> dizinine göre belirtildiği kabul + edilir.</p> + + <pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre> + + + <p>Sunucuya sinyal gönderebilmek çoğunlukla işe yarar. Böylece <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> ve <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> dosyaları kapatılıp + yeniden açılır ve yapılandırma dosyaları yeniden okunur. Bu, + <code class="directive">PidFile</code> dosyasında belirtilen süreç kimliğine bir + SIGHUP (kill -1) sinyali gönderilerek yapılır.</p> + + <p>Günlük dosyasının yeri ve <a href="../misc/security_tips.html#serverroot">güvenlik</a> ile ilgili + uyarılar <code class="directive">PidFile</code> dosyası içinde sözkonusu + olabilir.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Apache HTTP Sunucusunu (yeniden) başlatırken veya durdururken sadece + <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> betiğini kullanmanız önerilir.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a> <a name="receivebuffersize" id="receivebuffersize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>TCP alım tamponu boyu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ReceiveBufferSize <var>bayt-sayısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Sunucunun TCP alım tamponu boyunu <var>bayt-sayısı</var> ile belirtilen + bayta ayarlar.</p> + + <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını + kullanacaktır.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Çocuk süreçler için eşgüdüm verisini saklamakta kullanılan + dosyanın yerini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ScoreBoardFile <var>dosya-yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ScoreBoardFile logs/apache_runtime_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Apache HTTP Sunucusu ana ve çocuk süreçler arasında iletişim için bir + çetele tutar. + Bazı mimariler bu iletişimi kolaylaştırmak için bir dosya gerektirir. + Eğer yönerge belirtilmezse Apache httpd çeteleyi önce tamamen bellekte + oluşturmayı dener (anonim paylaşımlı bellek kullanarak); bunda başarılı + olamazsa dosyayı diskte oluşturmaya çalışacaktır (paylaşımlı belleğe + eşlemli dosya kullanarak). Bu yönergenin belirtilmesi Apache httpd'nin + dosyayı daima diskte oluşturmasına sebep olur.</p> + + <pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_status</pre> + + + <p>Paylaşımlı belleğe eşlemli dosya, çeteleye doğrudan erişmesi gereken + üçüncü parti uygulamalar için yararlıdır.</p> + + <p>Eğer <code class="directive">ScoreBoardFile</code> yönergesi ile bir dosya + belirtecekseniz, dosyayı bir RAM diske yerleştirerek hız artışı + sağlayabilirsiniz. Fakat, günlük dosyası yerleştirme ve <a href="../misc/security_tips.html">güvenlik</a> ile ilgili uyarılara + benzer uyarılara karşı dikkatli olunuz.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../stopping.html">Apache HTTP Sunucusunu Durdurma ve Yeniden + Başlatma</a> </li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>TCP tamponu boyu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SendBufferSize <var>bayt-sayısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Sunucu TCP gönderim tamponu boyunu <var>bayt-sayısı</var> ile + belirtilen bayta ayarlayacaktır. Yüksek hızlı yüksek yataklık süreli + bağlantılarda işletim sisteminin öntanımlı değerini aşacak şekilde (örn, + kıtalararası hızlı hatlarda 100ms veya fazlası) ayarlamak çoğunlukla + kullanışlıdır.</p> + + <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını + kullanacaktır.</p> + + <p>İşletim sisteminizin ilaveten yapılandırılması, yüksek hız, yüksek + gecikme bağlantılarında daha yüksek başarım elde etmek için gerekli + olabilir.</p> + + <div class="note"><p>Bazı işletim sistemlerinde, TCP davranışı, <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> yönergesine <code>Off</code> + değeri atanmadıkça görülemeyen, büyükçe bir + <code class="directive">SendBufferSize</code> değerinden kaynaklanarak değişir. + Bu etkileşim sadece duruk dosyalarda görülür.</p> </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ayarlanabilir süreç sayısının üst sınırını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerLimit <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p><code class="module"><a href="../mod/prefork.html">prefork</a></code> modülü söz konusu olduğunda bu yönerge, Apache + httpd sürecinin ömrü boyunca <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> yönergesine atanabilecek + azami değeri belirler. <code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> + modülü sözkonusu + olduğunda ise, Apache httpd sürecinin ömrü boyunca <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> yönergesine + atanabilecek azami değeri <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> ile birlikte belirler. <code class="module"><a href="../mod/event.html">event</a></code> modülü + için bu yönerge kaç eski sunucunun çalışmayı sürdüreceğini ve kaçının açık + bağlantıları işlemeyi bitireceğini belirler. Bu yönergeyi bir yeniden + başlatma sırasında değiştirirseniz bu değişiklik yok sayılır fakat + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> + değişiklikleri dikkate alınır.</p> + + <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer + <code class="directive">ServerLimit</code> gereğinden yüksek bir değere + ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer + <code class="directive">ServerLimit</code> ve <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> değerleri sistemin + işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd + başlayamayacağı gibi sistemi kararsız hale de getirebilir.</p> + + <p>Bu yönergeyi <code class="module"><a href="../mod/prefork.html">prefork</a></code> modülü ile sadece <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> yönergesine 256’dan + (öntanımlı) daha büyük bir değer atayacaksanız kullanınız. Bu yönergeye + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> için atamak + istediğiniz değerden fazlasını atamayınız.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> modülü söz konusu olduğunda bu yönergeyi + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> ve + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> ayarları 16 + sunucu sürecinden (16 öntanımlıdır) fazlasını gerektiriyorsa + ayarlayınız. Bu yönergeye <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> için gerekli gördüğünüz sunucu süreci + sayısından fazlasını atamayınız.</p> + + <p><code class="module"><a href="../mod/event.html">event</a></code> modülü söz konusu olduğunda, <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> yönergeleri ile belirlenen + süreç sayısına ek olarak zarifçe kapatılan süreçlerin sayısıyla arttırıp 16 + sunucu sürecinden (16 öntanımlıdır) fazlasına ayarlayınız.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Sunucu içinde derlenmiş olarak <code>ServerLimit 20000</code> + şeklinde bir zorlayıcı sınır vardır (<code class="module"><a href="../mod/prefork.html">prefork</a></code> için + 200000’dir). Bu önlem, yazım hatalarının istenmeyen sonuçlara yol + açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak + için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip + sunucuyu yeniden derlemeniz gerekir.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../stopping.html">Apache HTTP Sunucusunu Durdurma ve Yeniden + Başlatma</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a> <a name="startservers" id="startservers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun başlatılması sırasında oluşturulan çocuk süreçlerin + sayısını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>StartServers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p><code class="directive">StartServers</code> yönergesi, sunucunun başlatılması + sırasında oluşturulan çocuk süreçlerin sayısını belirler. Süreç sayısı + normal olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını + gerektirecek küçük bir sebep vardır. + (<code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, + <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code> yönergelerine + bakınız.)</p> + + <p>Öntanımlı değer MPM’den MPM’e fark eder. Öntanımlı değer + <code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> için <code>3</code> + iken <code class="module"><a href="../mod/prefork.html">prefork</a></code> için <code>5</code>, + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> için <code>2</code>'dir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a> <a name="startthreads" id="startthreads">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>StartThreads <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p><code class="directive">StartThreads</code> yönergesi, sunucunun başlatılması + sırasında oluşturulan evrelerin sayısını belirler. Evre sayısı normal + olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını + gerektirecek küçük bir sebep vardır. + (<code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, + <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code> yönergelerine + bakınız.)</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> için <code>StartThreads 50</code> + öntanımlı olup, sadece tek bir süreç olduğundan, sunucunun başlatılması + sırasında oluşturulan evrelerin toplam sayısı <code>50</code>’dir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a> <a name="threadlimit" id="threadlimit">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ThreadLimit <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Bu yönerge, Apache httpd sürecinin ömrü boyunca <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> yönergesine + atanabilecek azami değeri belirler. Bu yönergeyi bir yeniden başlatma + sırasında değiştirirseniz bu değişiklik yok sayılır fakat <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> değişiklikleri dikkate + alınır.</p> + + <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer + <code class="directive">ThreadLimit</code> değeri <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> değerinden yüksek bir + değere ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer + <code class="directive">ThreadLimit</code> ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> değerleri sistemin + işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd + başlayamayacağı gibi sistemi kararsız hale de getirebilir. Bu yönergeye + Apache httpd'nin çalışması için öngörülmüş en büyük değerden daha + yükseğini atamayınız.</p> + + <p><code class="directive">ThreadLimit</code> yönergesinin öntanımlı değeri + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> için <code>1920</code>, diğerleri için + <code>64</code>’tür.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Sunucu içinde derlenmiş olarak <code>ThreadLimit 20000</code> + şeklinde bir zorlayıcı sınır vardır (<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> için + 15000, <code class="module"><a href="../mod/event.html">event</a></code> için <code>ThreadLimit 100000</code>). + Bu önlem, yazım hatalarının istenmeyen sonuçlara yol + açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak + için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip + sunucuyu yeniden derlemeniz gerekir.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild" id="threadsperchild">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ThreadsPerChild <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Bu yönerge, her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler. Çocuk süreçler bu evreleri başlatıldıklarında oluştururlar ve + bundan daha fazlasını asla oluşturmazlar. <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> + gibi sadece bir çocuk sürecin bulunduğu bir MPM kullanıyorsanız, bu + sayı Apache httpd'nin tüm yükünü kaldırabilecek kadar büyük olmalıdır. + <code class="module"><a href="../mod/worker.html">worker</a></code> gibi çok çocuk süreçli bir MPM kullanıyorsanız, + <em>toplam</em> evre sayısı Apache httpd'nin tüm yükünü kaldırabilecek + kadar büyük olmalıdır.</p> + + <p><code class="directive">ThreadsPerChild</code> için öntanımlı değer + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> kullanıldığında <code>64</code> diğerleri + için <code>25</code>’tir.</p> + + <p><code class="directive">ThreadsPerChild</code> değeri <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> değerini aşamaz. Eğer daha + yüksek bir değer verilirse sunucu başlatılırken düşürülür ve günlüğe bir + uyarı kaydedilir. Bu iki yönerge arasındaki ilişki <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> belgelsinde açıklanmıştır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize" id="threadstacksize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemci bağlantılarını elde eden evreler tarafından kullanılan + yığıtın bayt cinsinden uzunluğunu belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ThreadStackSize <var>boyut</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>NetWare üzerinde 65536; diğer işletim sistemlerinde + değişir.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusu 2.1 ve sonrasında + kullanılabilir.</td></tr> +</table> + <p><code class="directive">ThreadStackSize</code> yönergesi, istemci + bağlantılarını elde eden evreler ve bu bağlantıları işlemekte yardımcı + olan modül çağrıları tarafından kullanılan yığıtın bayt cinsinden + uzunluğunu belirler. Çoğu durumda işletim sistemi yığıtı uygun bir + boyuta ayarlar, fakat yine de ayarlanmasını gerektirecek bazı durumlar + olabilir:</p> + + <ul> + <li>HP-UX gibi görece küçük yığıt boyuna sahip platformlarda, Apache + httpd, görece büyük yığıt alanı kullanan bazı üçüncü parti modüller + yüzünden çökebilir. Bu modüller öntanımlı yığıt boyu daha büyük olan + diğer platformlarda sorunsuz çalışabilir. Bu tür çökmeler + <code class="directive">ThreadStackSize</code> yönergesine daha büyük yığıt + boyu atanarak çözümlenir. Böyle bir ayarlamayı sadece üçüncü parti + modülün üreticisi bunun gerekliliğini belirtmişse veya Apache httpd’nin + evre yığıt boyutunun küçüklüğünden dolayı çöktüğü teşhis edildiği + takdirde yapınız.</li> + + <li>Öntanımlı yığıt boyu Apache sunucusu için gerekenden belirgin + şekilde büyük bazı platformalarda, eğer + <code class="directive">ThreadStackSize</code> yönergesi ile bu boyuttan daha + düşük bir değer atanmışsa çocuk süreç başına evre sayısının yüksek + olduğu durumlarda bu yığıt yetmeyebilir. Böyle bir ayarlama sadece + sunucunun öldüresiye denendiği dolayısıyla yığıt boyutlarının aşırı + zorlandığı deneme ortamlarında yapılmalıdır. Gereken en küçük yığıt + boyutu kullanılan modüle sıkı sıkıya bağlıdır, fakat Apache httpd + yapılandırmasında yapılan bir değişiklik mevcut + <code class="directive">ThreadStackSize</code> ayarını geçersiz hale + getirebilir.</li> + + <li>Linux üzerinde, ilgili sistem çağrısı <em>en küçük</em> yığıt boyutu + olarak bu değeri kullanacağından, bu yönerge sadece öntanımlı yığıt + boyutunu arttırmak için kullanılabilir. <code>ulimit -s</code> için + (çoğunlukla büyükçe) soft sınır (sınırsızsa 8MB), öntanımlı yığıt + boyutu olarak kullanılır.</li> + </ul> + + <div class="note">Çocuk süreç başına yüksek bir evre sayısı gerekmedikçe + <code class="directive">ThreadStackSize</code> değerinin azaltılmaması önerilir. + Bazı platformlarda (Linux dahil), 128000 ayarı zaten çok düşüktür ve daha + da azaltmak bazı modüllerle çökmeye sebep olur.</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_netware.html b/docs/manual/mod/mpm_netware.html new file mode 100644 index 0000000..9e7d783 --- /dev/null +++ b/docs/manual/mod/mpm_netware.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm_netware.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm_netware.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpm_netware.html.en b/docs/manual/mod/mpm_netware.html.en new file mode 100644 index 0000000..0c9db35 --- /dev/null +++ b/docs/manual/mod/mpm_netware.html.en @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_netware - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM netware</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mpm_netware.html" title="English"> en </a> | +<a href="../fr/mod/mpm_netware.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multi-Processing Module implementing an exclusively threaded web + server optimized for Novell NetWare</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mpm_netware_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mpm_netware.c</td></tr></table> +<h3>Summary</h3> + + <p>This Multi-Processing Module (MPM) implements an exclusively + threaded web server that has been optimized for Novell + NetWare.</p> + + <p>The main thread is responsible for launching child + worker threads which listen for connections and serve them when they + arrive. Apache HTTP Server always tries to maintain several <dfn>spare</dfn> + or idle worker threads, which stand ready to serve incoming + requests. In this way, clients do not need to wait for a new + child threads to be spawned before their requests can be + served.</p> + + <p>The <code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code>, + <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>, and + <code class="directive"><a href="#maxthreads">MaxThreads</a></code> + regulate how the main thread creates worker threads to serve + requests. In general, Apache httpd is very self-regulating, so most + sites do not need to adjust these directives from their default + values. Sites with limited memory may need to decrease <code class="directive"><a href="#maxthreads">MaxThreads</a></code> to keep the server from + thrashing (spawning and terminating idle threads). More information + about tuning process creation is provided in the <a href="../misc/perf-tuning.html">performance hints</a> + documentation.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> + controls how frequently the server recycles processes by killing old + ones and launching new ones. On the NetWare OS it is highly + recommended that this directive remain set to 0. This allows worker + threads to continue servicing requests indefinitely.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxthreads">MaxThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_netware">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_netware">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../bind.html">Setting which addresses and + ports Apache httpd uses</a> +</li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxThreads" id="MaxThreads">MaxThreads</a> <a name="maxthreads" id="maxthreads">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the maximum number of worker threads</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxThreads 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mpm_netware</td></tr> +</table> + <p>The <code class="directive">MaxThreads</code> directive sets the desired + maximum number worker threads allowable. The default value is + also the compiled in hard limit. Therefore it can only be lowered, + for example:</p> + + <div class="example"><p><code> + MaxThreads 512 + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mpm_netware.html" title="English"> en </a> | +<a href="../fr/mod/mpm_netware.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_netware.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_netware.html.fr.utf8 b/docs/manual/mod/mpm_netware.html.fr.utf8 new file mode 100644 index 0000000..07de465 --- /dev/null +++ b/docs/manual/mod/mpm_netware.html.fr.utf8 @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_netware - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM netware</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mpm_netware.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_netware.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus implémentant un serveur web basé +exclusivement sur les threads et optimisé pour Novell +NetWare</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_netware_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpm_netware.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module multi-processus (MPM) implémente un serveur web basé + exclusivement sur les threads et optimisé pour Novell NetWare.</p> + + <p>Le thread maître est chargé du lancement de threads esclaves qui + attendent les connexions et les traitent au fur et à mesure de leur + arrivée. Le serveur HTTP Apache essaie toujours de maintenir + plusieurs threads + esclaves en <dfn>spare</dfn> (en réserve) ou inactifs. De cette + façon, les clients n'ont pas besoin d'attendre le lancement d'un + nouveau thread enfant pour que leurs requêtes soient traitées.</p> + + <p>Les directives <code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code>, <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>, et <code class="directive"><a href="#maxthreads">MaxThreads</a></code> contrôlent + la manière dont le thread maître crée les threads esclaves afin de + traiter les requêtes. En général, Apache httpd s'auto-régule correctement, + et la plupart des sites ne nécessitent aucune modification des + valeurs par défaut de ces directives. Pour les sites dont le serveur + est limité en mémoire, il peut s'avérer nécessaire de diminuer la + valeur de la directive <code class="directive"><a href="#maxthreads">MaxThreads</a></code> afin d'éviter une + hyper-activité du serveur (arrêts de threads inactifs et lancement incessant + de nouveau threads). Vous trouverez plus d'informations à + propos du contrôle de la création de processus dans le document <a href="../misc/perf-tuning.html">conseils en matière de + performances</a>.</p> + + <p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> + contrôle la fréquence à laquelle le serveur recycle ses processus + en arrêtant les anciens et en en lançant de nouveaux. Sous le + système d'exploitation NetWare, il est vivement recommandé de + laisser cette directive à 0, ce qui permet aux threads esclaves de + continuer à traiter les requêtes indéfiniment.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxthreads">MaxThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_netware">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_netware">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise Apache httpd</a> +</li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxthreads" id="maxthreads">Directive</a> <a name="MaxThreads" id="MaxThreads">MaxThreads</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre maximum de threads esclaves</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxThreads <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxThreads 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mpm_netware</td></tr> +</table> + <p>La directive <code class="directive">MaxThreads</code> définit + le nombre maximum de threads esclaves que l'on désire autoriser. La + valeur par défaut correspondant à la valeur codée en dur à la + compilation, la valeur de cette directive ne peut donc qu'être + diminuée, comme dans l'exemple suivant :</p> + + <div class="example"><p><code> + MaxThreads 512 + </code></p></div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mpm_netware.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_netware.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_netware.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html b/docs/manual/mod/mpm_winnt.html new file mode 100644 index 0000000..7d6416a --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm_winnt.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mpm_winnt.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm_winnt.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mpm_winnt.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpm_winnt.html.de b/docs/manual/mod/mpm_winnt.html.de new file mode 100644 index 0000000..2c6d2f4 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.de @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_winnt - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache-MPM winnt</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_winnt.html" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td> Das Multi-Processing-Modul ist optimiert für + Windows NT.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modulbezeichner:</a></th><td>mpm_winnt_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Quelltext-Datei:</a></th><td>mpm_winnt.c</td></tr></table> +<h3>Zusammenfassung</h3> + + <p>Dieses Multi-Processing-Modul (MPM) ist die Voreinstellung + für das Betriebssystem Windows NT. Es verwendet einen einzelnen + Steuerprozess, der einen einzelnen Kindprozess startet, welcher + wiederum Threads zur Bedienung von Anfragen erstellt.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="core.html#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_winnt">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_winnt">Report a bug</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><a href="#comments_section">Kommentare</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_winnt.html" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_winnt.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html.en b/docs/manual/mod/mpm_winnt.html.en new file mode 100644 index 0000000..da77073 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.en @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_winnt - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM winnt</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multi-Processing Module optimized for Windows NT.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mpm_winnt_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mpm_winnt.c</td></tr></table> +<h3>Summary</h3> + + <p>This Multi-Processing Module (MPM) is the default for the + Windows NT operating systems. It uses a single control process + which launches a single child process which in turn creates + threads to handle requests</p> + + <p>Capacity is configured using the + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> directive, + which sets the maximum number of concurrent client connections.</p> + + <p>By default, this MPM uses advanced Windows APIs for accepting + new client connections. In some configurations, third-party products + may interfere with this implementation, with the following messages + written to the web server log:</p> + + <div class="example"><p><code> + Child: Encountered too many AcceptEx faults accepting client connections.<br /> + winnt_mpm: falling back to 'AcceptFilter none'. + </code></p></div> + + <p>The MPM falls back to a safer implementation, but some client requests + were not processed correctly. In order to avoid this error, use + <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> with accept filter + <code>none</code>.</p> + + <pre class="prettyprint lang-config">AcceptFilter http none +AcceptFilter https none</pre> + + + <p><em>In Apache httpd 2.0 and 2.2, + <code class="directive">Win32DisableAcceptEx</code> was used for this purpose.</em></p> + + <p>The WinNT MPM differs from the Unix MPMs such as worker and event + in several areas:</p> + + <ul> + <li>When a child process is exiting due to shutdown, restart, or + <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, + active requests in the exiting process have + <code class="directive"><a href="../mod/core.html#timeout">TimeOut</a></code> seconds to finish before + processing is aborted. Alternate types of restart and shutdown are not + implemented.</li> + + <li>New child processes read the configuration files instead of + inheriting the configuration from the parent. The behavior will + be the same as on Unix if the child process is created at startup + or restart, but if a child process is created because the prior + one crashed or reached + <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, + any pending changes to the configuration will become active in the + child at that point, and the parent and child will be using a + different configuration. If planned configuration changes have been + partially implemented and the current configuration cannot be + parsed, the replacement child process cannot start up and the server + will halt. Because of this behavior, configuration files should not + be changed until the time of a server restart.</li> + + <li>The <code>monitor</code> and <code>fatal_exception</code> hooks + are not currently implemented.</li> + + <li><code class="directive">AcceptFilter</code> is implemented in the MPM + and has a different type of control over handling of new connections. + (Refer to the <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> + documentation for details.)</li> + </ul> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="core.html#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_winnt">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_winnt">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../platform/windows.html">Using Apache HTTP Server on Microsoft Windows</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_winnt.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html.fr.utf8 b/docs/manual/mod/mpm_winnt.html.fr.utf8 new file mode 100644 index 0000000..3858062 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.fr.utf8 @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_winnt - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM winnt</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus optimisé pour Windows +NT.</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_winnt_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpm_winnt.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module multi-processus (MPM) est le module par défaut pour les + systèmes d'exploitation de style Windows NT. Il consiste en un + processus de contrôle unique qui lance un processus enfant unique, + ce dernier créant à son tour des threads pour traiter les + requêtes.</p> + + <p>La directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> définit le + nombre maximal de connexions clientes simultanées.</p> + + <p>Ce MPM utilise par défaut les APIs Windows avancées pour accepter + les nouvelles connexions des clients. Avec certaines configurations, + des produits tiers peuvent interférer avec cette implémentation, et + provoquer l'enregistrement des messages suivants dans les journaux + du serveur :</p> + + <div class="example"><p><code> + Child: Encountered too many AcceptEx faults accepting client connections.<br /> + winnt_mpm: falling back to 'AcceptFilter none'. + </code></p></div> + + <p>Le MPM se rabat sur une implémentation plus sûre, mais certaines + requêtes n'ont pas été traitées correctement. Pour éviter cette + erreur, définissez la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> à <code>none</code>.</p> + + <pre class="prettyprint lang-config">AcceptFilter http none +AcceptFilter https none</pre> + + + <p><em>Avec les versions 2.0 et 2.2 d'Apache httpd, c'est la directive + <code class="directive">Win32DisableAcceptEx</code> qui était utilisée à cet + effet.</em></p> + + <p>Le MPM WinNT diffère des autres MPMs Unix comme worker et event + à bien des égards :</p> + + <ul> + <li>Lorsqu'un processus enfant s'arrête suite à un arrêt ou + redémarrage du serveur, ou lorsque que la limite <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> est + atteinte, les requêtes en cours de traitement par ce processus en + cours d'arrêt n'ont que <code class="directive"><a href="../mod/core.html#timeout">TimeOut</a></code> secondes pour s'exécuter avant + l'arrêt du processus. Les autres types de redémarrage ou arrêt ne + sont pas implémentés.</li> + + <li>Les nouveau processus enfants relisent les fichiers de + configuration au lieu d'en hériter du parent. Ce comportement ne + pose pas de problème si le processus enfant est créé au démarrage + ou redémarrage, mais dans le cas où un processus enfant est créé + parce qu'un autre processus enfant s'est arrêté ou a atteint la + limite <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, tout + changement survenu entre temps dans la configuration sera alors + pris en compte dans le processus enfant, et parent et enfant + utiliseront une configuration différente. Si des modifications + planifiées de la configuration ont été partiellement effectuées, + et si la configuration courante n'est pas interprétable, le + processus enfant de remplacement ne pourra pas démarrer, et le + serveur s'arrêtera. En conséquence, toute modification des + fichiers de configuration doit être accompagnée d'un redémarrage + du serveur.</li> + + <li>Les hooks <code>monitor</code> et <code>fatal_exception</code> + ne sont pas encore implémentés.</li> + + <li>La directive <code class="directive">AcceptFilter</code> est + implémentée par le MPM et fournit un type de contrôle différent + sur le traitement des nouvelles connexions (Voir la documentation + de la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> + pour plus de détails).</li> + </ul> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="core.html#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_winnt">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_winnt">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../platform/windows.html">Utiliser le serveur HTTP +Apache sous Microsoft Windows</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_winnt.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_winnt.html.ja.utf8 b/docs/manual/mod/mpm_winnt.html.ja.utf8 new file mode 100644 index 0000000..daf2408 --- /dev/null +++ b/docs/manual/mod/mpm_winnt.html.ja.utf8 @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_winnt - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM winnt</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>Windows NT +向けに最適化されたマルチプロセッシングモジュール</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>mpm_winnt_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mpm_winnt.c</td></tr></table> +<h3>概要</h3> + + <p>このマルチプロセッシングモジュール (MPM) + は Windows NT でのデフォルトになります。 + 一つの制御用プロセスを用い、これが一つの子プロセスを起動し、 + そして子プロセスがリクエストを取り扱うためにスレッドを + 起動します。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="core.html#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_winnt">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_winnt">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_winnt.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_winnt.html" title="Japanese"> ja </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_winnt.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpmt_os2.html b/docs/manual/mod/mpmt_os2.html new file mode 100644 index 0000000..4eb8d0f --- /dev/null +++ b/docs/manual/mod/mpmt_os2.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpmt_os2.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpmt_os2.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpmt_os2.html.en b/docs/manual/mod/mpmt_os2.html.en new file mode 100644 index 0000000..a872d2b --- /dev/null +++ b/docs/manual/mod/mpmt_os2.html.en @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpmt_os2 - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM os2</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/mpmt_os2.html" title="English"> en </a> | +<a href="../fr/mod/mpmt_os2.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Hybrid multi-process, multi-threaded MPM for OS/2</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mpm_mpmt_os2_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mpmt_os2.c</td></tr></table> +<h3>Summary</h3> + + <p>The Server consists of a main, parent process and a small, static + number of child processes.</p> + + <p>The parent process's job is to manage the child processes. This + involves spawning children as required to ensure there are always + <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> processes + accepting connections.</p> + + <p>Each child process consists of a pool of worker threads and a + main thread that accepts connections and passes them to the workers via + a work queue. The worker thread pool is dynamic, managed by a + maintenance thread so that the number of idle threads is kept between + <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> and + <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpmt_os2">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpmt_os2">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../bind.html">Setting which addresses and ports Apache +uses</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/mpmt_os2.html" title="English"> en </a> | +<a href="../fr/mod/mpmt_os2.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpmt_os2.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpmt_os2.html.fr.utf8 b/docs/manual/mod/mpmt_os2.html.fr.utf8 new file mode 100644 index 0000000..53a973e --- /dev/null +++ b/docs/manual/mod/mpmt_os2.html.fr.utf8 @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpmt_os2 - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM os2</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mpmt_os2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpmt_os2.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>MPM hybride multi-processus, multi-thread pour +OS/2</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_mpmt_os2_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpmt_os2.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le serveur se compose d'un processus principal parent, et d'un + petit nombre fixe de processus enfants.</p> + + <p>La tâche du processus parent consiste à gérer les processus + enfants, c'est à dire lancer ces processus de manière à ce + qu'il y en ait toujours un nombre égal à la valeur de la directive + <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> pour traiter + les connexions.</p> + + <p>Chaque processus enfant comporte un jeu de threads esclaves et un + thread maître qui accepte les connexions et les distribue aux + esclaves via une file de travail. Le jeu de threads esclaves est + dynamique et géré par un thread de maintenance de façon à ce que le + nombre de threads inactifs soit maintenu entre <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpmt_os2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpmt_os2">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise Apache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mpmt_os2.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpmt_os2.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpmt_os2.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/overrides.html b/docs/manual/mod/overrides.html new file mode 100644 index 0000000..b825b77 --- /dev/null +++ b/docs/manual/mod/overrides.html @@ -0,0 +1,9 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: overrides.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: overrides.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/overrides.html.en b/docs/manual/mod/overrides.html.en new file mode 100644 index 0000000..2f626b5 --- /dev/null +++ b/docs/manual/mod/overrides.html.en @@ -0,0 +1,753 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Override Class Index for .htaccess - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="override-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div> + +<div id="page-content"><div id="preamble"><h1>Override Class Index for .htaccess</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../en/mod/overrides.html" title="English"> en </a> | +<a href="../fr/mod/overrides.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div> + + <p> + This is an index of the directives that are allowed in .htaccess files for + various <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> settings, + organized by class. Its intended purpose is to help server administrators + verify the privileges they're granting to .htaccess users. For an overview + of how .htaccess works, see the + <a href="../howto/htaccess.html">.htaccess tutorial</a>. + </p> + + <p> + To determine the set of directives that your server configuration allows + .htaccess users to use: + </p> + + <ol> + <li>Start with the set of directives in the <code>AllowOverrideList</code> + for the directory in question. (By default, this is set to + <code>None</code>.)</li> + <li>Find the <code>AllowOverride</code> setting for the directory in + question. (By default, it is set to <code>None</code>.) There are two + special cases: + <ol> + <li>If your <code>AllowOverride</code> setting is <code>All</code>, + add every directive listed on this page to the list.</li> + <li>If your <code>AllowOverride</code> setting is <code>None</code>, + you're done. Only the directives in the <code>AllowOverrideList</code> + (if any) will be allowed.</li> + </ol> + </li> + <li>For each override class listed in <code>AllowOverride</code>, look up + the corresponding set of directives below and add them to the list.</li> + <li>Finally, add the set of directives that is always allowed in + .htaccess (these are listed in the + <a href="#override-all">All section</a>, below).</li> + </ol> + + <p> + Several of the override classes are quite powerful and give .htaccess + users a large amount of control over the server. For a stricter approach, + set <code>AllowOverride None</code> and use + <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code> to specify the + exact list of directives that .htaccess users are allowed to use. + </p> + </div> +<div id="quickview"><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#override-all">All</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-authconfig">AuthConfig</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-fileinfo">FileInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-indexes">Indexes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-limit">Limit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-options">Options</a></li> +</ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div id="override-list"><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-all">All</a></h2> + <p> + The following directives are allowed in any .htaccess file, as long as + overrides are enabled in the server configuration. + </p> + <table class="qref"><tr><td><a href="core.html#else"><Else></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contains directives that apply only if the condition of a +previous <code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><td><a href="core.html#files"><Files></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contains directives that apply to matched +filenames</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Contains directives that apply to regular-expression matched +filenames</td></tr> +<tr><td><a href="core.html#if"><If></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#ifdefine"><IfDefine></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Encloses directives that will be processed only +if a test is true at startup</td></tr> +<tr><td><a href="core.html#ifdirective"><IfDirective></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr class="odd"><td><a href="core.html#iffile"><IfFile></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr><td><a href="core.html#ifmodule"><IfModule></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Encloses directives that are processed conditional on the +presence or absence of a specific module</td></tr> +<tr class="odd"><td><a href="core.html#ifsection"><IfSection></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr><td><a href="mod_version.html#ifversion"><IfVersion></a></td><td class="module"><a href="mod_version.html">mod_version</a></td></tr> +<tr><td colspan="2" class="descr">contains version dependent configuration</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Restricts the total size of the HTTP request body sent +from the client</td></tr> +<tr><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Limits the size of an XML-based request body</td></tr> +<tr class="odd"><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></td><td class="module"><a href="mod_logio.html">mod_logio</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enable tracking of time to first byte (TTFB)</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Map a path to a lua handler</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Limits the CPU consumption of processes launched +by Apache httpd children</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Limits the memory consumption of processes launched +by Apache httpd children</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Limits the number of processes that can be launched by +processes launched by Apache httpd children</td></tr> +<tr class="odd"><td><a href="core.html#serversignature">ServerSignature</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Configures the footer on server-generated documents</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr><td colspan="2" class="descr">Error message displayed when there is an SSI +error</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Configures the format in which date strings are +displayed</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr><td colspan="2" class="descr">String displayed when an unset variable is echoed</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-authconfig">AuthConfig</a></h2> + <p> + The following directives are allowed in .htaccess files when + <code>AllowOverride AuthConfig</code> is in effect. They give .htaccess + users control over the authentication and authorization methods that are + applied to their directory subtrees, including several related utility + directives for session handling and TLS settings. + </p> + <table class="qref"><tr><td><a href="mod_authn_anon.html#anonymous">Anonymous</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr><td colspan="2" class="descr">Specifies userIDs that are allowed access without +password verification</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets whether the password entered will be logged in the +error log</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr><td colspan="2" class="descr">Specifies whether blank passwords are allowed</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets whether the userID field may be empty</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr><td colspan="2" class="descr">Sets whether to check the password field for a correctly +formatted email address</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr><td colspan="2" class="descr">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr><td colspan="2" class="descr">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></td><td class="module"><a href="mod_authz_dbm.html">mod_authz_dbm</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></td><td class="module"><a href="mod_authn_dbm.html">mod_authn_dbm</a></td></tr> +<tr><td colspan="2" class="descr">Sets the type of database file that is used to +store passwords</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></td><td class="module"><a href="mod_authn_dbm.html">mod_authn_dbm</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets the name of a database file containing the list of users and +passwords for authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr><td colspan="2" class="descr">Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">URIs that are in the same protection space for digest +authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr><td colspan="2" class="descr">How long the server nonce is valid</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr><td colspan="2" class="descr">Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></td><td class="module"><a href="mod_auth_form.html">mod_auth_form</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></td><td class="module"><a href="mod_auth_form.html">mod_auth_form</a></td></tr> +<tr><td colspan="2" class="descr">Sets the authentication provider(s) for this location</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></td><td class="module"><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets the name of a text file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Use the LDAP server to compare the DNs</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">When will the module de-reference aliases</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Use the DN of the client username when checking for +group membership</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">URL specifying the LDAP search parameters</td></tr> +<tr><td><a href="mod_authz_core.html#authmerging">AuthMerging</a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr><td colspan="2" class="descr">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authname">AuthName</a></td><td class="module"><a href="mod_authn_core.html">mod_authn_core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Authorization realm for use in HTTP +authentication</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></td><td class="module"><a href="mod_authn_socache.html">mod_authn_socache</a></td></tr> +<tr><td colspan="2" class="descr">Specify which authn provider(s) to cache for</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></td><td class="module"><a href="mod_authn_socache.html">mod_authn_socache</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authtype">AuthType</a></td><td class="module"><a href="mod_authn_core.html">mod_authn_core</a></td></tr> +<tr><td colspan="2" class="descr">Type of user authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></td><td class="module"><a href="mod_authn_file.html">mod_authn_file</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets the name of a text file containing the list of users and +passwords for authentication</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></td><td class="module"><a href="mod_authz_dbm.html">mod_authz_dbm</a></td></tr> +<tr><td colspan="2" class="descr">Sets the type of database file that is used to +store list of user groups</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></td><td class="module"><a href="mod_ldap.html">mod_ldap</a></td></tr> +<tr><td colspan="2" class="descr">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></td><td class="module"><a href="mod_ldap.html">mod_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr><td><a href="core.html#limit"><Limit></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require</a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr><td colspan="2" class="descr">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll></a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny></a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr><td colspan="2" class="descr">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone></a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_access_compat.html#satisfy">Satisfy</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr><td colspan="2" class="descr">Interaction between host-level access control and +user authentication</td></tr> +<tr class="odd"><td><a href="mod_session.html#session">Session</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enables a session for the current directory or location</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr><td colspan="2" class="descr">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr><td colspan="2" class="descr">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Type of Client Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-fileinfo">FileInfo</a></h2> + <p> + The following directives are allowed in .htaccess files when + <code>AllowOverride FileInfo</code> is in effect. They give .htaccess + users a wide range of control over the responses and metadata given by the + server. + </p> + <table class="qref"><tr><td><a href="core.html#acceptpathinfo">AcceptPathInfo</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Resources accept trailing pathname information</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action</a></td><td class="module"><a href="mod_actions.html">mod_actions</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Activates a CGI script for a particular handler or +content-type</td></tr> +<tr><td><a href="mod_mime.html#addcharset">AddCharset</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Maps the given filename extensions to the specified content +charset</td></tr> +<tr class="odd"><td><a href="core.html#adddefaultcharset">AddDefaultCharset</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Default charset parameter to be added when a response +content-type is <code>text/plain</code> or <code>text/html</code></td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Maps the given filename extensions to the specified encoding +type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Maps the filename extensions to the specified +handler</td></tr> +<tr><td><a href="mod_mime.html#addinputfilter">AddInputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Maps filename extensions to the filters that will process +client requests</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addlanguage">AddLanguage</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Maps the given filename extension to the specified content +language</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Maps the given filename extensions onto the specified content +type</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets environment variables conditional on HTTP User-Agent +</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr><td colspan="2" class="descr">Sets environment variables conditional on User-Agent without +respect to case</td></tr> +<tr class="odd"><td><a href="core.html#cgimapextension">CGIMapExtension</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Controls how some CGI variables are set</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></td><td class="module"><a href="mod_charset_lite.html">mod_charset_lite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Charset to translate into</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></td><td class="module"><a href="mod_charset_lite.html">mod_charset_lite</a></td></tr> +<tr><td colspan="2" class="descr">Configures charset translation behavior</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></td><td class="module"><a href="mod_charset_lite.html">mod_charset_lite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Source charset of files</td></tr> +<tr><td><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">The domain to which the tracking cookie applies</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Expiry time for the tracking cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiename">CookieName</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Name of the tracking cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Adds the 'Secure' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">Format of the cookie header field</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookietracking">CookieTracking</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enables tracking cookie</td></tr> +<tr><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">This directive has no effect other than to emit warnings +if the value is not <code>none</code>. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +</td></tr> +<tr><td><a href="core.html#enablemmap">EnableMMAP</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Use memory-mapping to read files during delivery</td></tr> +<tr class="odd"><td><a href="core.html#enablesendfile">EnableSendfile</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Use the kernel sendfile support to deliver files to the client</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">What the server will return to the client +in case of an error</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">File attributes used to create the ETag +HTTP response header for static files</td></tr> +<tr><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></td><td class="module"><a href="mod_negotiation.html">mod_negotiation</a></td></tr> +<tr><td colspan="2" class="descr">Action to take if a single acceptable document is not +found</td></tr> +<tr class="odd"><td><a href="core.html#forcetype">ForceType</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field</td></tr> +<tr><td><a href="mod_headers.html#header">Header</a></td><td class="module"><a href="mod_headers.html">mod_headers</a></td></tr> +<tr><td colspan="2" class="descr">Configure HTTP response headers</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr><td colspan="2" class="descr">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr><td colspan="2" class="descr">Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><td><a href="mod_negotiation.html#languagepriority">LanguagePriority</a></td><td class="module"><a href="mod_negotiation.html">mod_negotiation</a></td></tr> +<tr><td colspan="2" class="descr">The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><td><a href="mod_env.html#passenv">PassEnv</a></td><td class="module"><a href="mod_env.html">mod_env</a></td></tr> +<tr><td colspan="2" class="descr">Passes environment variables from the shell</td></tr> +<tr class="odd"><td><a href="core.html#qualifyredirecturl">QualifyRedirectURL</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr><td colspan="2" class="descr">Sends an external redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sends an external redirect based on a regular expression match +of the current URL</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr><td colspan="2" class="descr">Sends an external permanent redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sends an external temporary redirect asking the client to fetch +a different URL</td></tr> +<tr><td><a href="mod_mime.html#removecharset">RemoveCharset</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Removes any character set associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removeencoding">RemoveEncoding</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Removes any content encoding associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removehandler">RemoveHandler</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Removes any handler associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Removes any input filter associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removelanguage">RemoveLanguage</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Removes any language associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Removes any output filter associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removetype">RemoveType</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Removes any content type associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_headers.html#requestheader">RequestHeader</a></td><td class="module"><a href="mod_headers.html">mod_headers</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Configure HTTP request headers</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr><td colspan="2" class="descr">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond">RewriteCond</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr><td colspan="2" class="descr">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets some special options for the rewrite engine</td></tr> +<tr><td><a href="mod_rewrite.html#rewriterule">RewriteRule</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr><td colspan="2" class="descr">Defines rules for the rewriting engine</td></tr> +<tr class="odd"><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv</a></td><td class="module"><a href="mod_env.html">mod_env</a></td></tr> +<tr><td colspan="2" class="descr">Sets environment variables</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets environment variables based on attributes of the request +</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr><td colspan="2" class="descr">Sets environment variables based on an ap_expr expression</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets environment variables based on attributes of the request +without respect to case</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Forces all matching files to be processed by a +handler</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Sets the filters that will process client requests and POST +input</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Sets the filters that will process responses from the +server</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute</a></td><td class="module"><a href="mod_substitute.html">mod_substitute</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></td><td class="module"><a href="mod_substitute.html">mod_substitute</a></td></tr> +<tr><td colspan="2" class="descr">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></td><td class="module"><a href="mod_substitute.html">mod_substitute</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Set the maximum line size</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv</a></td><td class="module"><a href="mod_env.html">mod_env</a></td></tr> +<tr><td colspan="2" class="descr">Removes variables from the environment</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-indexes">Indexes</a></h2> + <p> + The following directives are allowed in .htaccess files when + <code>AllowOverride Indexes</code> is in effect. They allow .htaccess + users to control aspects of the directory index pages provided by the + server, including autoindex generation. + </p> + <table class="qref"><tr><td><a href="mod_autoindex.html#addalt">AddAlt</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Alternate text to display for a file, instead of an +icon selected by filename</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Alternate text to display for a file instead of an icon +selected by MIME-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Alternate text to display for a file, instead of an +icon selected by MIME content-type</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Description to display for a file</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Icon to display for a file selected by name</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Icon to display next to files selected by MIME +content-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Icon to display next to files selected by MIME +content-type</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Icon to display for files when no specific icon is +configured</td></tr> +<tr><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr><td colspan="2" class="descr">Toggle how this module responds when another handler is configured</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">List of resources to look for when the client requests +a directory</td></tr> +<tr><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr><td colspan="2" class="descr">Configures an external redirect for directory indexes. +</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Toggle trailing slash redirects on or off</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive</a></td><td class="module"><a href="mod_expires.html">mod_expires</a></td></tr> +<tr><td colspan="2" class="descr">Enables generation of <code>Expires</code> +headers</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType</a></td><td class="module"><a href="mod_expires.html">mod_expires</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Value of the <code>Expires</code> header configured +by MIME type</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></td><td class="module"><a href="mod_expires.html">mod_expires</a></td></tr> +<tr><td colspan="2" class="descr">Default algorithm for calculating expiration time</td></tr> +<tr class="odd"><td><a href="mod_dir.html#fallbackresource">FallbackResource</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Define a default URL for requests that don't map to a file</td></tr> +<tr><td><a href="mod_autoindex.html#headername">HeaderName</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Name of the file that will be inserted at the top +of the index listing</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase</a></td><td class="module"><a href="mod_imagemap.html">mod_imagemap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Default <code>base</code> for imagemap files</td></tr> +<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault</a></td><td class="module"><a href="mod_imagemap.html">mod_imagemap</a></td></tr> +<tr><td colspan="2" class="descr">Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu</a></td><td class="module"><a href="mod_imagemap.html">mod_imagemap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Action if no coordinates are given when calling +an imagemap</td></tr> +<tr><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Inserts text in the HEAD section of an index page.</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignore">IndexIgnore</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Adds to the list of files to hide when listing +a directory</td></tr> +<tr><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Empties the list of files to hide when listing +a directory</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Various configuration settings for directory +indexing</td></tr> +<tr><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Sets the default ordering of the directory index</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Adds a CSS stylesheet to the directory index</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir</a></td><td class="module"><a href="mod_cern_meta.html">mod_cern_meta</a></td></tr> +<tr><td colspan="2" class="descr">Name of the directory to find CERN-style meta information +files</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles</a></td><td class="module"><a href="mod_cern_meta.html">mod_cern_meta</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Activates CERN meta-file processing</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></td><td class="module"><a href="mod_cern_meta.html">mod_cern_meta</a></td></tr> +<tr><td colspan="2" class="descr">File name suffix for the file containing CERN-style +meta information</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#readmename">ReadmeName</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Name of the file that will be inserted at the end +of the index listing</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-limit">Limit</a></h2> + <p> + The following directives are allowed in .htaccess files when + <code>AllowOverride Limit</code> is in effect. This extremely narrow + override type mostly allows the use of the legacy authorization directives + provided by <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code>. + </p> + <table class="qref"><tr><td><a href="mod_access_compat.html#allow">Allow</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr><td colspan="2" class="descr">Controls which hosts can access an area of the +server</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny">Deny</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Controls which hosts are denied access to the +server</td></tr> +<tr><td><a href="core.html#limit"><Limit></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><td><a href="mod_access_compat.html#order">Order</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr><td colspan="2" class="descr">Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-options">Options</a></h2> + <p> + The following directives are allowed in .htaccess files when + <code>AllowOverride Options</code> is in effect. They give .htaccess + users access to <code>Options</code> and similar directives, as well as + directives that control the filter chain. + </p> + <table class="qref"><tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></td><td class="module"><a href="mod_speling.html">mod_speling</a></td></tr> +<tr><td colspan="2" class="descr">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></td><td class="module"><a href="mod_speling.html">mod_speling</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Limits the action of the speling module to case corrections</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling</a></td><td class="module"><a href="mod_speling.html">mod_speling</a></td></tr> +<tr><td colspan="2" class="descr">Enables the spelling +module</td></tr> +<tr class="odd"><td><a href="core.html#contentdigest">ContentDigest</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enables the generation of <code>Content-MD5</code> HTTP Response +headers</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr><td colspan="2" class="descr">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr><td colspan="2" class="descr">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Register a content filter</td></tr> +<tr><td><a href="core.html#options">Options</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Configures what features are available in a particular +directory</td></tr> +<tr class="odd"><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></td><td class="module"><a href="mod_reflector.html">mod_reflector</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Reflect an input header to the output headers</td></tr> +<tr><td><a href="mod_ssl.html#ssloptions">SSLOptions</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Configure various SSL engine run-time options</td></tr> +<tr class="odd"><td><a href="mod_include.html#xbithack">XBitHack</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Parse SSI directives in files with the execute bit +set</td></tr> +</table></div></div></div><div class="bottomlang"> +<p><span>Available Languages: </span><a href="../en/mod/overrides.html" title="English"> en </a> | +<a href="../fr/mod/overrides.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/overrides.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/overrides.html.fr.utf8 b/docs/manual/mod/overrides.html.fr.utf8 new file mode 100644 index 0000000..75f461a --- /dev/null +++ b/docs/manual/mod/overrides.html.fr.utf8 @@ -0,0 +1,848 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Index par classes des directives autorisées dans .htaccess - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="override-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div> + +<div id="page-content"><div id="preamble"><h1>Index par classes des directives autorisées dans .htaccess</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/overrides.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/overrides.html" title="Français"> fr </a></p> +</div> + + <p> + Ceci est un index, organisé en classes, des directives autorisées dans les + fichiers .htaccess pour différentes définitions de la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Il a pour but d'aider les + administrateurs à contrôler les privilèges qu'ils accordent aux + utilisateurs via les fichiers .htaccess. Pour une présentation de la + manière dont fonctionnent les fichiers .htaccess, voir le <a href="../howto/htaccess.html">tutoriel .htaccess</a>. + </p> + + <p> Pour déterminer le jeu de directives que la configuration de votre + serveur autorise aux utilisateurs dans les fichiers .htaccess : </p> + + <ol> + <li>Commencez par rechercher la présence d'une directive + <code>AllowOverrideList</code> dans la section directory concernée. Sa + définition vous indiquera la liste des directives autorisées (La valeur + par défaut de cette directive est <code>None</code>).</li> + <li>Recherchez ensuite la présence d'une directive + <code>AllowOverride</code> dans cette même section (sa valeur par défaut + est <code>None</code>). Il y a tout d'abord deux cas particuliers : + <ol> + <li>Si la directive <code>AllowOverride</code> est définie à + <code>All</code>, vous pouvez ajouter toutes les directives indiquées + sur cette page à la liste préexistante.</li> + <li>Si la directive <code>AllowOverride</code> est définie à + <code>None</code>, inutile d'aller plus loin. Seules les directives indiquées + par la directive <code>AllowOverrideList</code> (si elle est présente) + seront autorisées.</li> + </ol> + </li> + <li>En dehors de ces deux cas, la directive <code>AllowOverride</code> + définit une liste de classes de directives (vous trouverez plus loin le + jeu de directives correspondant à chacune de ces classes), et vous pourrez + alors les ajouter à la liste définie par la directive + <code>AllowOverrideList</code>.</li> + <li>Ajoutez enfin à la liste le jeu de directives toujours autorisées dans les + fichiers .htaccess (elles sont listées dans la section <a href="#override-all">All</a> ci-dessous).</li> + </ol> + + <p> + De nombreuses classes de directives sont assez puissantes et peuvent + permettre aux utilisateurs des fichiers .htaccess de contrôler une grande + partie du serveur. Pour une approche plus sure, définissez + <code>AllowOverride None</code>, et utilisez la directive <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code> pour spécifier la liste exacte + de directives que les utilisateurs de fichiers .htaccess pourront utiliser. + </p> + </div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#override-all">All</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-authconfig">AuthConfig</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-fileinfo">FileInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-indexes">Indexes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-limit">Limit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#override-options">Options</a></li> +</ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div id="override-list"><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-all">All</a></h2> + <p> + Les directives suivantes sont autorisées dans les fichiers .htaccess, sous + réserve que la surcharge soit autorisée dans la configuration du serveur. + </p> + <table class="qref"><tr><td><a href="core.html#else"><Else></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contient des directives qui ne s'appliquent que si la +condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la +requête à l'exécution</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Contient des directives qui ne s'appliquent que si la +condition correspondante est satisfaite par une requête à l'exécution, +alors que la condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr> +<tr><td><a href="core.html#files"><Files></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contient des directives qui s'appliquent aux fichiers +précisés</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles</td></tr> +<tr><td><a href="core.html#if"><If></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contient des directives qui ne s'appliquent que si une +condition est satisfaite au cours du traitement d'une +requête</td></tr> +<tr class="odd"><td><a href="core.html#ifdefine"><IfDefine></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur</td></tr> +<tr><td><a href="core.html#ifdirective"><IfDirective></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une directive particulière</td></tr> +<tr class="odd"><td><a href="core.html#iffile"><IfFile></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Regroupe des directives qui ne seront traitées que si un fichier +existe au démarrage</td></tr> +<tr><td><a href="core.html#ifmodule"><IfModule></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique</td></tr> +<tr class="odd"><td><a href="core.html#ifsection"><IfSection></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une section particulière</td></tr> +<tr><td><a href="mod_version.html#ifversion"><IfVersion></a></td><td class="module"><a href="mod_version.html">mod_version</a></td></tr> +<tr><td colspan="2" class="descr">Contient des portions de configuration dépendantes de la +version</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">limite la taille maximale du corps de la requête HTTP +envoyée par le client</td></tr> +<tr><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Définit la taille maximale du corps d'une requête au format +XML</td></tr> +<tr class="odd"><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB</a></td><td class="module"><a href="mod_logio.html">mod_logio</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Configure le cache de code compilé.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Fournit un point d'entrée pour la phase access_checker du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Fournit un point d'entrée pour la phase auth_checker du +traitement de la requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Fournit un point d'entrée pour la phase check_user_id du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Fournit un point d'entrée pour la phase de correction du +traitement de la requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Fournit un point d'entrée pour la phase insert_filter du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Permet une insertion dans la phase de journalisation du +traitement d'une requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Fournit un point d'entrée pour la phase map_to_storage du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Fournit un point d'entrée pour la phase de pré-traduction du +traitement d'une requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Fournit un point d'entrée à la phase du nom de +traduction du traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Fournit un point d'entrée pour la phase type_checker du +traitement de la requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Contrôle la manière dont les sections de configuration +parentes sont fusionnées dans les enfants</td></tr> +<tr><td><a href="mod_lua.html#luamaphandler">LuaMapHandler</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Met en correspondance un chemin avec un gestionnaire lua</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Ajoute un répertoire au package.cpath de lua</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Ajoute un répertoire au package.path de lua</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Fournit un point d'entrée pour la gestion rapide du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr><td colspan="2" class="descr">Spécifie le chemin de base pour la résolution des chemins +relatifs dans les directives de mod_lua</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope</a></td><td class="module"><a href="mod_lua.html">mod_lua</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache httpd</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache httpd</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache httpd</td></tr> +<tr class="odd"><td><a href="core.html#serversignature">ServerSignature</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit un pied de page pour les documents générés par le +serveur</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr><td colspan="2" class="descr">Message d'erreur affiché lorsqu'une erreur SSI +survient</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Configuration du format d'affichage des dates</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr><td colspan="2" class="descr">Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-authconfig">AuthConfig</a></h2> + <p> + Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque <code>AllowOverride AuthConfig</code> a été spécifié. Elles + permettent aux utilisateurs de fichiers .htaccess de contrôler les + méthodes d'authentification et d'autorisation qui s'appliquent à + l'arborescence de leur répertoire, y compris de nombreuses directives + utilitaires pour la gestion de session et la configuration TLS. + </p> + <table class="qref"><tr><td><a href="mod_authn_anon.html#anonymous">Anonymous</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr><td colspan="2" class="descr">Définit la liste des identifiants utilisateur autorisés à +accéder sans vérification du mot de passe</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Détermine si le mot de passe fourni sera enregistré dans le +journal des erreurs</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr><td colspan="2" class="descr">Détermine si l'abscence de mot de passe est +autorisée</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Détermine si le champ identifiant peut être +vide</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></td><td class="module"><a href="mod_authn_anon.html">mod_authn_anon</a></td></tr> +<tr><td colspan="2" class="descr">Détermine s'il faut vérifier que le format de l'adresse +email fournie comme mot de passe est correct</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit si les processus d'autorisation et +d'authentification peuvent être confiés à des modules de plus bas +niveau</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr><td colspan="2" class="descr">Authentification de base simulée à l'aide des nom +d'utilisateur et mot de passe fournis</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit le(les) fournisseur(s) d'authentification pour +cette zone du site web</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></td><td class="module"><a href="mod_auth_basic.html">mod_auth_basic</a></td></tr> +<tr><td colspan="2" class="descr">Vérifie les mots de passe auprès des fournisseurs +d'authentification à la manière de l'authentification de type Digest. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></td><td class="module"><a href="mod_authz_dbm.html">mod_authz_dbm</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit le nom du fichier de base de données contenant la +liste des groupes d'utilisateurs permettant de définir les +autorisations des utilisateurs</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType</a></td><td class="module"><a href="mod_authn_dbm.html">mod_authn_dbm</a></td></tr> +<tr><td colspan="2" class="descr">Définit le type de fichier de base de données utilisé pour +stocker les mots de passe</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></td><td class="module"><a href="mod_authn_dbm.html">mod_authn_dbm</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit le nom d'un fichier de base de données pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr><td colspan="2" class="descr">Sélectionne l'algorithme utilisé pour calculer les +condensés du défit et de sa réponse</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Les URIs qui se trouvent dans le même espace de protection +concernant l'authentification à base de condensés</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr><td colspan="2" class="descr">Durée de validité du nombre à valeur unique du +serveur (nonce)</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit le(s) fournisseurs(s) d'authentification pour la +zone du site web concernée</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></td><td class="module"><a href="mod_auth_digest.html">mod_auth_digest</a></td></tr> +<tr><td colspan="2" class="descr">Détermine le niveau de protection fourni par +l'authentification à base de condensé</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative</a></td><td class="module"><a href="mod_auth_form.html">mod_auth_form</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Détermine si l'autorisation et l'authentification sont confiés à +des modules de plus bas niveau</td></tr> +<tr><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider</a></td><td class="module"><a href="mod_auth_form.html">mod_auth_form</a></td></tr> +<tr><td colspan="2" class="descr">Définit le(s) fournisseur(s) d'authentification pour la +zone concernée</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></td><td class="module"><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de définir les autorisations des +utilisateurs</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Spécifie le préfixe ajouté aux variables d'environnement +durant la phase d'autorisation</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Détermine si l'on doit utiliser d'autres fournisseurs +d'authentification lorsque le serveur ne peut pas valider les données +d'authentification de l'utilisateur, alors que ce dernier possède un +DN.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Un DN optionnel pour se connecter au serveur +LDAP</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Mot de passe à utiliser en conjonction avec le DN de +connexion</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Utilisation des données d'authentification de l'utilisateur +pour effectuer les comparaisons pour l'attribution des autorisations</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Utilise le serveur LDAP pour comparer les DNs</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">À quel moment le module va déréférencer les +alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">L'attribut LDAP utilisé pour vérifier l'appartenance d'un +utilisateur à un groupe.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Utilise le DN de l'utilisateur pour vérifier son +appartenance à un groupe</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Détermine si le serveur effectue la recherche initiale du +DN en utilisant le nom propre de l'utilisateur pour l'authentification +de base +et non de manière anonyme, ou en utilisant des données d'authentification +codées en dur pour le serveur</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Spécifie la modification a apporter au nom d'utilisateur +pour l'authentification de base lors de l'authentification auprès du +serveur LDAP pour effectuer une recherche de DN</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Spécifie la profondeur d'imbrication des sous-groupes +maximale prise en compte avant l'abandon de la recherche de +l'utilisateur.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Spécifie l'attribut dont la valeur renvoyée au cours de la +requête de l'utilisateur sera utilisée pour définir la variable +d'environnement REMOTE_USER</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Utilise le DN de l'utilisateur pour définir la variable +d'environnement REMOTE_USER</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Utilise les données d'authentification de l'utilisateur +pour la recherche des autorisations</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Spécifie les noms d'attribut, un par directive, utilisés +pour différencier les membres du groupe courant qui sont eux-mêmes des +groupes.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Spécifie quelles valeurs d'objectClass LDAP identifient les +objets de l'annuaire qui sont des groupes au cours du traitement des +sous-groupes.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURl</a></td><td class="module"><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">L'URL permettant de spécifier les paramètres de la +recherche LDAP</td></tr> +<tr><td><a href="mod_authz_core.html#authmerging">AuthMerging</a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr><td colspan="2" class="descr">Définit la manière dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration précédentes.</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authname">AuthName</a></td><td class="module"><a href="mod_authn_core.html">mod_authn_core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">L'identifiant de l'autorisation à utiliser avec +l'authentification HTTP</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor</a></td><td class="module"><a href="mod_authn_socache.html">mod_authn_socache</a></td></tr> +<tr><td colspan="2" class="descr">Spécifie le fournisseur pour lequel on veut effectuer une +mise en cache</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout</a></td><td class="module"><a href="mod_authn_socache.html">mod_authn_socache</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit une durée de vie pour les entrées du cache</td></tr> +<tr><td><a href="mod_authn_core.html#authtype">AuthType</a></td><td class="module"><a href="mod_authn_core.html">mod_authn_core</a></td></tr> +<tr><td colspan="2" class="descr">Type d'authentification utilisateur</td></tr> +<tr class="odd"><td><a href="mod_authn_file.html#authuserfile">AuthUserFile</a></td><td class="module"><a href="mod_authn_file.html">mod_authn_file</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit le nom d'un fichier texte pour l'authentification +contenant la liste des utilisateurs et de leurs mots de +passe</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType</a></td><td class="module"><a href="mod_authz_dbm.html">mod_authz_dbm</a></td></tr> +<tr><td colspan="2" class="descr">Définit le type de fichier de base de données contenant +la liste des groupes d'utilisateurs</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Active la transmission d'en-têtes d'autorisation HTTP aux scripts en +tant que variables CGI</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit</a></td><td class="module"><a href="mod_ldap.html">mod_ldap</a></td></tr> +<tr><td colspan="2" class="descr">Le nombre maximum de redirections vers des serveurs +alternatifs (referrals) avant l'abandon de la requête +LDAP.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals</a></td><td class="module"><a href="mod_ldap.html">mod_ldap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Active la redirection vers des serveurs alternatifs au +cours des requêtes vers le serveur LDAP.</td></tr> +<tr><td><a href="core.html#limit"><Limit></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require</a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr><td colspan="2" class="descr">Vérifie si un utilisateur authentifié a une +autorisation d'accès accordée par un fournisseur +d'autorisation.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll></a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Regroupe plusieurs directives d'autorisation dont aucune ne +doit échouer et dont au moins une doit retourner un résultat positif +pour que la directive globale retourne elle-même un résultat +positif.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny></a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr><td colspan="2" class="descr">Regroupe des directives d'autorisation dont au moins une +doit retourner un résultat positif pour que la directive globale +retourne elle-même un résultat positif.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone></a></td><td class="module"><a href="mod_authz_core.html">mod_authz_core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Regroupe des directives d'autorisation dont aucune ne doit +retourner un résultat positif pour que la directive globale n'échoue +pas.</td></tr> +<tr><td><a href="mod_access_compat.html#satisfy">Satisfy</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr><td colspan="2" class="descr">Interaction entre le contrôle d'accès en fonction de l'hôte +et l'authentification utilisateur</td></tr> +<tr class="odd"><td><a href="mod_session.html#session">Session</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Ouvre une session pour le contexte courant</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr><td colspan="2" class="descr">Définit si le contenu de la session doit être enregistré +dans la variable d'environnement <var>HTTP_SESSION</var></td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr><td colspan="2" class="descr">Définit les préfixes d'URL pour lesquels une session est +valide</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge</a></td><td class="module"><a href="mod_session.html">mod_session</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit une durée de vie maximale pour la session en +secondes</td></tr> +<tr><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit la taille du tampon de renégociation +SSL</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Nom de la variable servant à déterminer le nom de +l'utilisateur</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Niveau de vérification du certificat client</td></tr> +<tr><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Profondeur maximale des certificats de CA pour la +vérification des certificats clients</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-fileinfo">FileInfo</a></h2> + <p> + Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque <code>AllowOverride FileInfo</code> a été spécifié. Elles + accordent aux utilisateurs de fichiers .htaccess un grand nombre de + contrôles sur les réponses et les métadonnées fournies par le serveur. + </p> + <table class="qref"><tr><td><a href="core.html#acceptpathinfo">AcceptPathInfo</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action</a></td><td class="module"><a href="mod_actions.html">mod_actions</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Active un script CGI pour un gestionnaire ou un type de +contenu particulier</td></tr> +<tr><td><a href="mod_mime.html#addcharset">AddCharset</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié</td></tr> +<tr class="odd"><td><a href="core.html#adddefaultcharset">AddDefaultCharset</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est <code>text/plain</code> ou +<code>text/html</code></td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Associe les extensions de noms de fichiers données au type +de codage spécifié</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Associe les extensions de noms de fichiers données au +gestionnaire spécifié</td></tr> +<tr><td><a href="mod_mime.html#addinputfilter">AddInputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addlanguage">AddLanguage</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Associe l'extension de nom de fichier donnée à la langue +spécifié</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">assigne un filtre en sortie pour un type de média +particulier</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Associe les extensions de noms de fichiers au type de +contenu spécifié</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr><td colspan="2" class="descr">Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la +casse</td></tr> +<tr class="odd"><td><a href="core.html#cgimapextension">CGIMapExtension</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Technique permettant de localiser l'interpréteur des +scripts CGI</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Contrôle la manière dont certaines variables CGI sont définies</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></td><td class="module"><a href="mod_charset_lite.html">mod_charset_lite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Jeu de caractère vers lequel la traduction doit +s'effectuer</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></td><td class="module"><a href="mod_charset_lite.html">mod_charset_lite</a></td></tr> +<tr><td colspan="2" class="descr">Précise les détails de la traduction du jeu de +caractères</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></td><td class="module"><a href="mod_charset_lite.html">mod_charset_lite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Jeu de caractères source des fichiers</td></tr> +<tr><td><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">Le domaine auquel le cookie traceur +s'applique</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Durée avant expiration du cookie traceur</td></tr> +<tr><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">Ajoute l'attribut 'HTTPOnly' au cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiename">CookieName</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Nom du cookie traceur</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">Ajoute l'attribut 'SameSite' au cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesecure">CookieSecure</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Ajoute l'attribut 'Secure' au cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr><td colspan="2" class="descr">Format du champ d'en-tête cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookietracking">CookieTracking</a></td><td class="module"><a href="mod_usertrack.html">mod_usertrack</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Active le cookie traceur</td></tr> +<tr><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Définit un symbole de langue par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langue n'a été +associé.</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Les seuls effets de cette directive sont des émissions +d'avertissements si sa valeur est différente de <code>none</code>. Dans +les versions précédentes, DefaultType permettait de spécifier un type de +média à assigner par défaut au contenu d'une réponse pour lequel aucun +autre type de média n'avait été trouvé. +</td></tr> +<tr><td><a href="core.html#enablemmap">EnableMMAP</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis</td></tr> +<tr class="odd"><td><a href="core.html#enablesendfile">EnableSendfile</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Utilise le support sendfile du noyau pour servir les +fichiers aux clients</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Document que le serveur renvoie au client en cas +d'erreur</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Caractéristiques de fichier utilisées lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr> +<tr><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></td><td class="module"><a href="mod_negotiation.html">mod_negotiation</a></td></tr> +<tr><td colspan="2" class="descr">Action à entreprendre si un document acceptable unique +n'est pas trouvé</td></tr> +<tr class="odd"><td><a href="core.html#forcetype">ForceType</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Force le type de médium spécifié dans le champ d'en-tête +HTTP Content-Type pour les fichiers correspondants</td></tr> +<tr><td><a href="mod_headers.html#header">Header</a></td><td class="module"><a href="mod_headers.html">mod_headers</a></td></tr> +<tr><td colspan="2" class="descr">Configure les en-têtes d'une réponse HTTP</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enregistrement des requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans le journal des erreurs</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr><td colspan="2" class="descr">Enregistre les requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans la partie arguments de la requête</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr><td colspan="2" class="descr">Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></td><td class="module"><a href="mod_isapi.html">mod_isapi</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI</td></tr> +<tr><td><a href="mod_negotiation.html#languagepriority">LanguagePriority</a></td><td class="module"><a href="mod_negotiation.html">mod_negotiation</a></td></tr> +<tr><td colspan="2" class="descr">L'ordre de priorité des variantes de langages pour les +cas où le client n'a pas formulé de préférences</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)</td></tr> +<tr><td><a href="mod_env.html#passenv">PassEnv</a></td><td class="module"><a href="mod_env.html">mod_env</a></td></tr> +<tr><td colspan="2" class="descr">Transmet des variables d'environnement depuis le +shell</td></tr> +<tr class="odd"><td><a href="core.html#qualifyredirecturl">QualifyRedirectURL</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Vérifie si la variable d'environnement REDIRECT_URL est +pleinement qualifiée</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr><td colspan="2" class="descr">Envoie une redirection externe demandant au client +d'effectuer une autre requête avec une URL différente</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Envoie une redirection externe faisant appel aux +expressions rationnelles pour la mise en correspondance de l'URL +courante</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr><td colspan="2" class="descr">Envoie une redirection externe permanente demandant au +client d'effectuer une nouvelle requête avec une URL +différente</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp</a></td><td class="module"><a href="mod_alias.html">mod_alias</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Envoie une redirection externe temporaire demandant au +client d'effectuer une nouvelle requête avec une URL +différente</td></tr> +<tr><td><a href="mod_mime.html#removecharset">RemoveCharset</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removeencoding">RemoveEncoding</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><td><a href="mod_mime.html#removehandler">RemoveHandler</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><td><a href="mod_mime.html#removelanguage">RemoveLanguage</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Supprime toute association de langue à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><td><a href="mod_mime.html#removetype">RemoveType</a></td><td class="module"><a href="mod_mime.html">mod_mime</a></td></tr> +<tr><td colspan="2" class="descr">Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr class="odd"><td><a href="mod_headers.html#requestheader">RequestHeader</a></td><td class="module"><a href="mod_headers.html">mod_headers</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Configure les en-têtes d'une requête HTTP</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr><td colspan="2" class="descr">Définit l'URL de base pour les réécritures au niveau +répertoire</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond">RewriteCond</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit une condition qui devra être satisfaite pour que +la réécriture soit effectuée +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr><td colspan="2" class="descr">Active ou désactive l'exécution du +moteur de réécriture</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Configure certaines options spéciales +pour le moteur de réécriture</td></tr> +<tr><td><a href="mod_rewrite.html#rewriterule">RewriteRule</a></td><td class="module"><a href="mod_rewrite.html">mod_rewrite</a></td></tr> +<tr><td colspan="2" class="descr">Définit les règles pour le moteur de réécriture</td></tr> +<tr class="odd"><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Permet de localiser l'interpréteur des scripts +CGI</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv</a></td><td class="module"><a href="mod_env.html">mod_env</a></td></tr> +<tr><td colspan="2" class="descr">Définit des variables d'environnement</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit des variables d'environnement en fonction des +attributs de la requête</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr><td colspan="2" class="descr">Définit des variables d'environnement en fonction d'une expression ap_expr</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></td><td class="module"><a href="mod_setenvif.html">mod_setenvif</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Force le traitement des fichiers spécifiés par un +gestionnaire particulier</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit les filtres par lesquels vont passer les requêtes +client et les données POST</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Définit les filtres par lesquels vont passer les réponses +du serveur</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute</a></td><td class="module"><a href="mod_substitute.html">mod_substitute</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Modèle de substition dans le contenu de la +réponse</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore</a></td><td class="module"><a href="mod_substitute.html">mod_substitute</a></td></tr> +<tr><td colspan="2" class="descr">Modifie l'ordre de fusion des modèles hérités</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength</a></td><td class="module"><a href="mod_substitute.html">mod_substitute</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit la longueur de ligne maximale</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv</a></td><td class="module"><a href="mod_env.html">mod_env</a></td></tr> +<tr><td colspan="2" class="descr">Supprime des variables de l'environnement</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-indexes">Indexes</a></h2> + <p> + Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque <code>AllowOverride Indexes</code> a été spécifié. Elles + permettent aux utilisateurs de fichiers .htaccess de contrôler certains + aspects des pages d'index de répertoires fournies par le serveur, y + compris la génération d'autoindex. + </p> + <table class="qref"><tr><td><a href="mod_autoindex.html#addalt">AddAlt</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son nom</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son codage MIME</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son type MIME</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Afficher la description d'un fichier</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Icône à afficher pour un fichier en fonction de son +nom</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Icône à afficher à côté d'un fichier en fonction de son +codage MIME</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Icône à afficher à côté d'un fichier en fonction de son +type MIME</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Icône à afficher par défaut lorsqu'aucun icône spécifique +n'est précisé</td></tr> +<tr><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr><td colspan="2" class="descr">Définit la réponse de ce module lorsqu'un autre +gestionnaire est utilisé</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Liste des fichiers ressources à rechercher lorsque le +client envoie une requête pour un répertoire</td></tr> +<tr><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr><td colspan="2" class="descr">Définit une redirection externe pour les index de +répertoires. +</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Activation/Désactivation de la redirection "slash de +fin"</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive</a></td><td class="module"><a href="mod_expires.html">mod_expires</a></td></tr> +<tr><td colspan="2" class="descr">Active la génération d'en-têtes +<code>Expires</code></td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType</a></td><td class="module"><a href="mod_expires.html">mod_expires</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définition de la valeur de l'en-tête <code>Expires</code> +en fonction du type MIME</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></td><td class="module"><a href="mod_expires.html">mod_expires</a></td></tr> +<tr><td colspan="2" class="descr">Mode de calcul par défaut de la date +d'expiration</td></tr> +<tr class="odd"><td><a href="mod_dir.html#fallbackresource">FallbackResource</a></td><td class="module"><a href="mod_dir.html">mod_dir</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit une URL par défaut pour les requêtes qui ne ciblent +aucun fichier</td></tr> +<tr><td><a href="mod_autoindex.html#headername">HeaderName</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Nom du fichier qui sera inséré au début de la page +contenant l'index</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase</a></td><td class="module"><a href="mod_imagemap.html">mod_imagemap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Valeur par défaut de la directive <code>base</code> des +fichiers imagemap</td></tr> +<tr><td><a href="mod_imagemap.html#imapdefault">ImapDefault</a></td><td class="module"><a href="mod_imagemap.html">mod_imagemap</a></td></tr> +<tr><td colspan="2" class="descr">Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapmenu">ImapMenu</a></td><td class="module"><a href="mod_imagemap.html">mod_imagemap</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap</td></tr> +<tr><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Insère du texte dans la section HEAD de la page +d'index.</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignore">IndexIgnore</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Ajouts à la liste des fichiers à cacher lors de l'affichage +de l'index d'un répertoire</td></tr> +<tr><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Vide la liste des fichiers à cacher lors de l'affichage du +contenu d'un répertoire</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexoptions">IndexOptions</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Diverses options de configuration pour l'indexation d'un +répertoire</td></tr> +<tr><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr><td colspan="2" class="descr">Définit l'ordre d'affichage par défaut d'un index de +répertoire</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Ajoute une feuille de style CSS à l'index du +répertoire</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir</a></td><td class="module"><a href="mod_cern_meta.html">mod_cern_meta</a></td></tr> +<tr><td colspan="2" class="descr">Le nom du répertoire où trouver les fichiers de +métainformations dans le style du CERN</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles</a></td><td class="module"><a href="mod_cern_meta.html">mod_cern_meta</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Active le traitement des métafichiers du CERN</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></td><td class="module"><a href="mod_cern_meta.html">mod_cern_meta</a></td></tr> +<tr><td colspan="2" class="descr">Suffixe du fichier contenant les métainformations dans le +style du CERN</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#readmename">ReadmeName</a></td><td class="module"><a href="mod_autoindex.html">mod_autoindex</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Nom du fichier dont le contenu sera inséré à la fin de +l'index</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-limit">Limit</a></h2> + <p> + Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque <code>AllowOverride Limit</code> a été spécifié. Cette autorisation + de surcharge très restreinte permet principalement d'utiliser les + directives d'autorisation héritées fournies par + <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code>. + </p> + <table class="qref"><tr><td><a href="mod_access_compat.html#allow">Allow</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr><td colspan="2" class="descr">Spécifie quels hôtes peuvent accéder à une certaine zone du +serveur</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny">Deny</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Définit quels hôtes ne sont pas autorisés à accéder au +serveur</td></tr> +<tr><td><a href="core.html#limit"><Limit></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept></a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées</td></tr> +<tr><td><a href="mod_access_compat.html#order">Order</a></td><td class="module"><a href="mod_access_compat.html">mod_access_compat</a></td></tr> +<tr><td colspan="2" class="descr">Définit le statut d'accès par défaut et l'ordre dans lequel +les directives <code class="directive">Allow</code> et +<code class="directive">Deny</code> sont évaluées.</td></tr> +</table></div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a name="override-options">Options</a></h2> + <p> + Les directives suivantes sont autorisées dans les fichiers .htaccess + lorsque <code>AllowOverride Options</code> a été spécifié. Elles permettent + aux utilisateurs de fichiers .htaccess d'utiliser la directive + <code>Options</code> et d'autres directives similaires, ainsi que les + directives qui contrôlent la chaîne de filtrage. + </p> + <table class="qref"><tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch</a></td><td class="module"><a href="mod_speling.html">mod_speling</a></td></tr> +<tr><td colspan="2" class="descr">Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly</a></td><td class="module"><a href="mod_speling.html">mod_speling</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Limite l'action du module aux corrections de +majuscules</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling</a></td><td class="module"><a href="mod_speling.html">mod_speling</a></td></tr> +<tr><td colspan="2" class="descr">Active le module de correction</td></tr> +<tr class="odd"><td><a href="core.html#contentdigest">ContentDigest</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Active la génération d'un en-tête <code>Content-MD5</code> +dans la réponse HTTP</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr><td colspan="2" class="descr">Configure la chaîne de filtrage</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Déclare un filtre intelligent</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr><td colspan="2" class="descr">Vérifie le respect du protocole HTTP</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider</a></td><td class="module"><a href="mod_filter.html">mod_filter</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Enregistre un filtre de contenu</td></tr> +<tr><td><a href="core.html#options">Options</a></td><td class="module"><a href="core.html">core</a></td></tr> +<tr><td colspan="2" class="descr">Définit les fonctionnalités disponibles pour un répertoire +particulier</td></tr> +<tr class="odd"><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader</a></td><td class="module"><a href="mod_reflector.html">mod_reflector</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr> +<tr><td><a href="mod_ssl.html#ssloptions">SSLOptions</a></td><td class="module"><a href="mod_ssl.html">mod_ssl</a></td></tr> +<tr><td colspan="2" class="descr">Configure différentes options d'exécution du moteur SSL</td></tr> +<tr class="odd"><td><a href="mod_include.html#xbithack">XBitHack</a></td><td class="module"><a href="mod_include.html">mod_include</a></td></tr> +<tr class="odd"><td colspan="2" class="descr">Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné</td></tr> +</table></div></div></div><div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/overrides.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/overrides.html" title="Français"> fr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/overrides.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/prefork.html b/docs/manual/mod/prefork.html new file mode 100644 index 0000000..f4d32e6 --- /dev/null +++ b/docs/manual/mod/prefork.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: prefork.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: prefork.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: prefork.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: prefork.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: prefork.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/prefork.html.de b/docs/manual/mod/prefork.html.de new file mode 100644 index 0000000..9374198 --- /dev/null +++ b/docs/manual/mod/prefork.html.de @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>prefork - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache-MPM prefork</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/prefork.html" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Implementiert einen im Voraus forkenden Webserver ohne + Thread-Unterstützung</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modulbezeichner:</a></th><td>mpm_prefork_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Quelltext-Datei:</a></th><td>prefork.c</td></tr></table> +<h3>Zusammenfassung</h3> + + <p>Dieses Multi-Processing-Modul (MPM) implementiert einen + im Voraus forkenden Webserver ohne Thread-Unterstützung, der Anfragen + auf ähnliche Weise behandelt wie der Apache 1.3. Es ist für + Angebote geeignet, die aus Kompatibilitätsgründen mit + nicht-Thread-sicheren Bibliotheken Threading vermeiden müssen. + Es ist außerdem das geeignetste MPM, um jede Anfrage isoliert + zu bearbeiten, so dass Probleme mit einem einzelnen Prozess keinen + anderen beeinflussen.</p> + + <p>Das MPM ist stark selbstregulierend, so dass es selten + notwendig ist, seine Konfigurationseinstellungen zu justieren. Das + Wichtigste ist, dass <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + gross genug ist, so viele gleichzeitige Anfragen zu bedienen, wie Sie + erwarten, aber klein genug, um sicherzustellen, dass genug physischer + Arbeitsspeicher für alle Prozesse vorhanden ist.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Themen</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Arbeitsweise</a></li> +</ul><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Report a bug</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen + und Ports</a></li> +<li><a href="#comments_section">Kommentare</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Arbeitsweise</a></h2> + <p>Ein einzelner Steuerprozess ist für den Start von + Kindprozessen verantwortlich, die auf Verbindungen warten und diese + bedienen, sobald sie eintreffen. Der Apache versucht immer, mehrere + <dfn>freie</dfn> oder unbeschäftigte Serverprozesse vorzuhalten, + die zur Bedienung eingehender Anfragen bereit stehen. Auf diese Weise + müssen Clients nicht darauf warten, dass neue Kindprozesse + geforkt werden, bevor ihre Anfrage bearbeitet werden kann.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, + <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, + <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code> und + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> regulieren, + wie der Elternprozess Kindprozesse zur Bedienung von Anfragen erstellt. + Im Allgemeinen ist der Apache sehr selbstregulierend, so dass die meisten + Angebote die Voreinstellung dieser Direktiven nicht verändern + müssen. Systeme, die mehr als 256 gleichzeitige Anfragen bedienen + müssen, können <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> erhöhen, während + Systeme mit begrenztem Arbeitsspeicher möglicherweise + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> heruntersetzen + müssen, um den Server vor Flatterverhalten (Arbeitsspeicherinhalte auf + Platte auslagern - und zurück) zu schützen. Weitere + Informationen zur Feinabstimmung der Prozesserstellung sind in den + <a href="../misc/perf-tuning.html">Performance-Hinweisen</a> zu + finden.</p> + + <p>Währen der Elternprozess unter Unix normalerweise als + <code>root</code> gestartet wird, um sich an Port 80 binden zu können, + werden die Kindprozesse unter einem weniger privilegierten Benutzer + gestartet. Die Direktiven <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> + und <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> werden dazu + verwendet, die Privilegien der Apache-Kindprozesse festzulegen. Die + Kindprozesse müssen in der Lage sein, alle Inhalte zu lesen, die + sie ausliefern sollen, sollten darüber hinaus jedoch so wenig wie + möglich Rechte besitzen.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> + bestimmt, wie häufig der Server Prozesse erneuert, indem er alte + beendet und neue startet.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a>-<a name="maxspareservers" id="maxspareservers">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Anzahl der unbeschäftigten Kindprozesse des + Servers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareServers <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxSpareServers 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>prefork</td></tr> +</table> + <p>Die Direktive <code class="directive">MaxSpareServers</code> bestimmt das + gewünschte Maximum an <em>unbeschäftigten</em> + Kindprozessen des Servers. Ein unbeschäftiger Prozess ist einer, der + keine Anfrage bedient. Wenn mehr als <code class="directive">MaxSpareServers</code> + Prozesse unbeschäftigt sind, wird der Elternprozess die + überschüssigen Prozesse beenden.</p> + + <p>Eine Feineinstellung dieses Parameters sollte nur bei sehr + beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine + schlechte Idee, den Parameter auf einen hohen Wert zu setzen. Wenn Sie + versuchen, den Wert kleiner oder gleich <code class="directive"><a href="#minspareservers">MinSpareServers</a></code> zu setzen, wird der Apache + ihn automatisch auf <code class="directive"><a href="#minspareservers">MinSpareServers</a></code> <code>+ 1</code> + korrigieren.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a>-<a name="minspareservers" id="minspareservers">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Minimale Anzahl der unbeschäftigten Kindprozesse des + Servers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareServers <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MinSpareServers 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>prefork</td></tr> +</table> + <p>Die Direktive <code class="directive">MinSpareServers</code> bestimmt das + gewünschte Minimum der <em>unbeschäftigten</em> + Kindprozesse des Servers. Ein unbeschäftigter Prozess ist einer, der + keine Anfrage bedient. Wenn weniger als + <code class="directive">MinSpareServers</code> Prozesse unbeschäftigt sind, + dann erstellt der Elternprozess neue mit einer maximalen Rate von 1 + pro Sekunde.</p> + + <p>Die Feineinstellung des Parameters sollte nur bei sehr + beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine + schlechte ide, den Parameter auf einen hohen Wert zu setzen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/prefork.html" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/prefork.html.en b/docs/manual/mod/prefork.html.en new file mode 100644 index 0000000..73a3ad8 --- /dev/null +++ b/docs/manual/mod/prefork.html.en @@ -0,0 +1,218 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>prefork - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM prefork</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implements a non-threaded, pre-forking web server</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mpm_prefork_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>prefork.c</td></tr></table> +<h3>Summary</h3> + + <p>This Multi-Processing Module (MPM) implements a non-threaded, + pre-forking web server. Each server process may answer incoming + requests, and a parent process manages the size of the server pool. + It is appropriate for sites that need to avoid + threading for compatibility with non-thread-safe libraries. It + is also the best MPM for isolating each request, so that a problem + with a single request will not affect any other.</p> + + <p>This MPM is very self-regulating, so it is rarely necessary to + adjust its configuration directives. Most important is that + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> be big enough + to handle as many simultaneous requests as you expect to receive, but + small enough to assure that there is enough physical RAM for all + processes.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it Works</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../bind.html">Setting which addresses and ports Apache HTTP Server +uses</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">How it Works</a></h2> + <p>A single control process is responsible for launching child + processes which listen for connections and serve them when they + arrive. Apache httpd always tries to maintain several <dfn>spare</dfn> + or idle server processes, which stand ready to serve incoming + requests. In this way, clients do not need to wait for a new + child processes to be forked before their requests can be + served.</p> + + <p>The <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, + <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, + <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code>, and + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> regulate how + the parent process creates children to serve requests. In general, + Apache httpd is very self-regulating, so most sites do not need to + adjust these directives from their default values. Sites which + need to serve more than 256 simultaneous requests may need to + increase <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, + while sites with limited memory may need to decrease <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> to keep the server from + thrashing (swapping memory to disk and back). More information + about tuning process creation is provided in the <a href="../misc/perf-tuning.html">performance hints</a> + documentation.</p> + + <p>While the parent process is usually started as <code>root</code> + under Unix in order to bind to port 80, the child processes are + launched by Apache httpd as a less-privileged user. The <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> and <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> directives are used to set + the privileges of the Apache httpd child processes. The child processes + must be able to read all the content that will be served, but + should have as few privileges beyond that as possible.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> + controls how frequently the server recycles processes by killing + old ones and launching new ones.</p> + + <p>This MPM uses the <code>mpm-accept</code> mutex to serialize + access to incoming connections when subject to the thundering herd + problem (generally, when there are multiple listening sockets). + The implementation aspects of this mutex can be configured with the + <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> directive. The <a href="../misc/perf-tuning.html">performance hints</a> + documentation has additional information about this mutex.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers" id="maxspareservers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of idle child server processes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxSpareServers 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr> +</table> + <p>The <code class="directive">MaxSpareServers</code> directive sets the + desired maximum number of <em>idle</em> child server processes. An + idle process is one which is not handling a request. If there are + more than <code class="directive">MaxSpareServers</code> idle, then the + parent process will kill off the excess processes.</p> + + <p>Tuning of this parameter should only be necessary on very + busy sites. Setting this parameter to a large number is almost + always a bad idea. If you are trying to set the value equal to or lower than + <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, Apache HTTP Server + will automatically adjust it to <code class="directive">MinSpareServers</code><code> + 1</code>.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a> <a name="minspareservers" id="minspareservers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Minimum number of idle child server processes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MinSpareServers 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr> +</table> + <p>The <code class="directive">MinSpareServers</code> directive sets the + desired minimum number of <em>idle</em> child server processes. An + idle process is one which is not handling a request. If there are + fewer than <code class="directive">MinSpareServers</code> idle, then the parent + process creates new children: It will spawn one, wait a second, then spawn + two, wait a second, then spawn four, and it will + continue exponentially until it is spawning 32 children per second. It will + stop whenever it satisfies the <code class="directive">MinSpareServers</code> + setting.</p> + + <p>Tuning of this parameter should only be necessary on very + busy sites. Setting this parameter to a large number is almost + always a bad idea.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/prefork.html.fr.utf8 b/docs/manual/mod/prefork.html.fr.utf8 new file mode 100644 index 0000000..c5d867c --- /dev/null +++ b/docs/manual/mod/prefork.html.fr.utf8 @@ -0,0 +1,233 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>prefork - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM prefork</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémente un serveur web avec démarrage anticipé de +processus, sans thread</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_prefork_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>prefork.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module multi-processus (MPM) implémente un serveur web avec + démarrage anticipé de processus. Chaque processus du serveur peut + répondre aux requêtes entrantes, et un processus parent contrôle la + taille du jeu de processus enfants. Il est particulièrement indiqué pour les + sites qui ne doivent pas utiliser les threads afin de maintenir une + compatibilité avec certaines bibliothèques non sûres du point de vue + des threads. C'est également le MPM le plus approprié si l'on veut + isoler les requêtes les unes des autres, de façon à ce qu'un + problème concernant une requête n'affecte pas les autres.</p> + + <p>Ce MPM s'auto-contrôle de manière efficace, de sorte qu'il est + rarement nécessaire d'ajuster ses directives de configuration. Le + plus important est la définition de la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> ; sa valeur doit être + assez grande pour pouvoir traiter autant de requêtes simultanées que + vous pensez recevoir, mais assez petite pour conserver suffisamment + de mémoire RAM pour tous les processus.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise le serveur HTTP Apache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Comment ça marche</a></h2> + <p>Un processus de contrôle unique a pour tâche de lancer les + processus enfants qui attendent les connexions et les traitent au + fur et à mesure qu'elles arrivent. Apache httpd essaie toujours de + maintenir plusieurs processus serveurs inactifs ou <dfn>en + réserve</dfn>, afin de pouvoir traiter les requêtes entrantes. De + cette façon, les clients n'ont pas besoin d'attendre le démarrage + d'un nouveau processus enfant pour que leurs requêtes puissent être + traitées.</p> + + <p>Les directives <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> permettent de contrôler + la manière dont le processus parent crée les processus enfants pour + traiter les requêtes. En général, Apache httpd s'auto-contrôle de manière + efficace, de sorte que la plupart des sites peuvent conserver les + valeurs par défaut des directives. Les sites qui doivent traiter + plus de 256 requêtes simultanées doivent augmenter la valeur de + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, alors que les + sites dont la ressource mémoire est limitée doivent la diminuer afin + d'éviter une hyperactivité du serveur (utilisation excessive de la + mémoire virtuelle sur disque). Vous trouverez plus d'informations à + propos du contrôle de la création de processus dans le document <a href="../misc/perf-tuning.html">conseils en matière de + performances</a></p> + + <p>Alors que le processus parent est en général démarré en tant que + <code>root</code> sous Unix afin de pouvoir se mettre à l'écoute sur le port 80, les + processus enfants sont lancés par Apache httpd sous un utilisateur avec + privilèges restreints. On peut contrôler les privilèges accordés aux + processus enfants d'Apache httpd à l'aide des directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>. Les processus enfants doivent + être en mesure de lire tous les contenus destinés à être servis, + mais leurs privilèges doivent être aussi bas que possible.</p> + + <p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> permet de + contrôler la fréquence à laquelle le serveur recycle ses processus + en arrêtant les plus anciens et en en lançant de nouveaux.</p> + + <p>Ce module MPM utilise le mutex <code>mpm-accept</code> pour + sérialiser l'accès aux connexions entrantes lorsque peut se + présenter un problème d'afflux de requêtes (en général quand il y a + plusieurs sockets en écoute). Les aspects de l'implémentation de ce + mutex peuvent être configurés via la directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. Vous trouverez des informations + supplémentaires à propos de ce mutex dans la documentation à propos + des <a href="../misc/perf-tuning.html">conseils en matière de + performances</a></p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxspareservers" id="maxspareservers">Directive</a> <a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de processus serveurs enfants +inactifs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareServers <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxSpareServers 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr> +</table> + <p>La directive <code class="directive">MaxSpareServers</code> permet de + définir le nombre maximum souhaité de processus serveurs enfants + <em>inactifs</em>. Un processus inactif est un processus qui ne + traite pas de requête. S'il y a plus de + <code class="directive">MaxSpareServers</code> processus inactifs, le + processus parent arrêtera les processus excédentaires.</p> + + <p>La modification de ce paramètre n'est nécessaire que + dans le cas de sites très sollicités. Définir ce paramètre à une + valeur très grande est cependant dans la plupart des cas une + mauvaise idée. Si vous essayez d'affecter à ce paramètre une valeur + égale ou inférieure à la valeur de <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, le serveur HTTP Apache + l'ajustera automatiquement à la valeur de <code class="directive"> + MinSpareServers</code><code> + 1</code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="minspareservers" id="minspareservers">Directive</a> <a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de processus serveurs enfants +inactifs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareServers <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MinSpareServers 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr> +</table> + <p>La directive <code class="directive">MinSpareServers</code> permet de + définir le nombre minimum désiré de processus serveurs enfants + <em>inactifs</em>. Un processus inactif est un processus qui ne + traite pas de requête. S'il y a moins de + <code class="directive">MinSpareServers</code> processus inactifs, le + processus parent va créer de nouveaux enfants de la manière suivante + : il en crée un, attend une seconde, il en crée deux, attend une + seconde, il en crée quatre, puis continue ainsi exponentiellement + jusu'à ce que son taux de création de processus enfants soit de 32 + par seconde. Il ne s'arrête que lorsque le nombre de processus + enfants correspond à la définition de la directive + <code class="directive">MinSpareServers</code>.</p> + + <p>La modification de ce paramètre n'est nécessaire que + dans le cas de sites très sollicités. Définir ce paramètre à une + valeur très grande est dans la plupart des cas une mauvaise + idée.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/prefork.html.ja.utf8 b/docs/manual/mod/prefork.html.ja.utf8 new file mode 100644 index 0000000..ec051e7 --- /dev/null +++ b/docs/manual/mod/prefork.html.ja.utf8 @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>prefork - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM prefork</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>スレッドを使わず、先行して fork を行なうウェブサーバを実装 +</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>mpm_prefork_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>prefork.c</td></tr></table> +<h3>概要</h3> + + <p>このマルチプロセッシングモジュール (MPM) は、 + Unix 上での Apache 1.3 のデフォルトの挙動と非常によく似た方法で + リクエストを処理する、スレッドを使わず、先行して fork を行なう + ウェブサーバを実装しています。 + スレッドセーフでないライブラリとの互換性をとるために、 + スレッドを避ける必要のあるサイトでは、このモジュールの使用が適切でしょう。 + あるリクエストで発生した問題が他のリクエストに影響しないように、 + 個々のリクエストを単離するのにも、最適な MPM です。</p> + + <p>この MPM は非常に自律的なので、この MPM の設定ディレクティブを + 調整する必要はほとんどないでしょう。もっとも重要なことは、 + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + が、予想される同時リクエスト数を十分扱えるぐらいは大きいけれども、 + 全プロセスに十分な物理メモリが確実に行き渡る程度には小さい値にする、 + ということです。</p> + +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">動作方法</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../bind.html">Apache +が使用するアドレスとポートの設定</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">動作方法</a></h2> + <p>一つのコントロールプロセスが、 + コネクションに対して listen して、しかるべき時に応答する + 子プロセスを起動します。Apache は常に幾つかの<dfn>スペア</dfn> + かアイドルなサーバプロセスを維持していて、それらは入ってきた + リクエストに応答できるように待機しています。 + このようにしてクライアントは、リクエストが応答される前に、 + 新しい子プロセスが fork されるのを待たなくてもよいように + なっています。</p> + + <p>親プロセスがリクエストに応答するの子プロセスを + どのように生成するかは、 + <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, + <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, + <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code>, + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + で調整します。一般的に、Apache は非常に自律的なので、 + 大抵のサイトではこれらのディレクティブをデフォルト値から調整する + 必要はないでしょう。 + 同時に 256 を超えるリクエストに応答しないといけないサイトでは、 + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + を増やす必要があるでしょう。 + 一方、メモリの限られているサイトでは、スラッシング + (メモリとディスク間で何度もスワップ) が起こるのを防ぐために + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + を減らす必要があるでしょう。プロセス生成のチューニングに関する + 詳しい情報は、<a href="../misc/perf-tuning.html">性能に関するヒント</a> + にあります。</p> + + <p>通常 Unix では親プロセスは 80 番ポートにバインドするために + <code>root</code> で起動されますが、子プロセスやスレッドは + もっと低い権限のユーザで Apache によって起動されます。 + <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> と + <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> + ディレクティブは + Apache の子プロセスの権限を設定するのに用いられます。 + 子プロセスはクライアントに送るコンテンツ全てを読めないといけませんが、 + 可能な限り必要最小限の権限のみを持っているようにするべきです。</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> + は、古いプロセスを停止して新しいプロセスを起動することによって、 + どの程度の頻度でサーバがプロセスをリサイクルするかを制御します。</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers" id="maxspareservers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイドルな子サーバプロセスの最大個数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxSpareServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxSpareServers 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>prefork</td></tr> +</table> + <p><code class="directive">MaxSpareServers</code> ディレクティブは、 + <em>アイドルな</em>子サーバプロセスの希望最大個数を設定します。 + アイドルプロセスとは、リクエストを扱っていないプロセスです。 + <code class="directive">MaxSpareServers</code> よりも多い数がアイドルであれば、 + 親プロセスは超過プロセスを kill します。</p> + + <p>非常に混んでいるサイトでのみ、このパラメータをチューニングするべきです。 + このパラメータを大きくするということは、大抵の場合は悪い発想です。 + <code class="directive"><a href="#minspareservers">MinSpareServers</a></code> + 以下に設定した場合、<code class="directive">MinSpareServers</code> + <code>+1</code> に自動調整されます。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a> <a name="minspareservers" id="minspareservers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイドルな子サーバプロセスの最小個数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MinSpareServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MinSpareServers 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>prefork</td></tr> +</table> + <p><code class="directive">MaxSpareServers</code> ディレクティブは、 + <em>アイドルな</em>子サーバプロセスの希望最小個数を設定します。 + アイドルプロセスとは、リクエストを扱っていないプロセスです。 + <code class="directive">MinSpareServers</code> よりも少ない数がアイドルであれば、 + 親プロセスは最高で 1 秒につき 1 個の割合で新しい子プロセスを生成します。</p> + + <p>非常に混んでいるサイトでのみ、このパラメータをチューニングするべきです。 + このパラメータを大きくするということは、大抵の場合は悪い発想です。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/prefork.html.tr.utf8 b/docs/manual/mod/prefork.html.tr.utf8 new file mode 100644 index 0000000..128b6f3 --- /dev/null +++ b/docs/manual/mod/prefork.html.tr.utf8 @@ -0,0 +1,217 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>prefork - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM prefork</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Evresiz ön çatallamalı HTTP sunucusu oluşturur</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>mpm_prefork_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>prefork.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu çok süreçlilik modülü (MPM) evresiz ve + çocuk süreçlerin önceden çatallandığı bir HTTP sunucusu oluşturur. Her + çocuk süreç gelen bir isteğe yanıt verirken ebeveyn süreç çocuk süreç + havuzunu yönetir. Evresiz kütüphanelerle uyumluluk için evrelemeden + kaçınma ihtiyacında olan siteler için uygundur. Ayrıca istekleri + birbirlerinden yalıtmak için en iyi MPM’dir, dolayısıyla herhangi bir + istekle ilgili bir sorun diğerlerini etkilemez.</p> + + <p>Bu MPM kendi kendine her duruma çok iyi uyum sağladığından + yapılandırma yönergeleri ile yapılandırılmaya nadiren ihtiyaç gösterir. + Yönergelerin en önemlisi <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> olup, değeri aynı anda almayı umduğunuz + istek sayısını işleyebilecek kadar büyük, fiziksel belleğin tüm + süreçlerin ihtiyaçlarını karşılamasına yetecek kadar da küçük olması + gerekir.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Nasıl çalışır?</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../bind.html">Apache HTTP Sunucusunun kullandığı adres ve + portların ayarlanması</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Nasıl çalışır?</a></h2> + <p>Bağlantıları dinleyip gerektiğinde onlara hizmet sunan çocuk süreçleri + devreye almak tek bir denetim sürecinin sorumluluğundadır. Apache httpd + daima, gelen isteklere hizmet vermeye hazır bekleyen en fazla sayıda + sunucu sürecini <dfn>yedekte tutmaya</dfn> veya boşta bekletmeye + çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk + süreçlerin çatallanmasını beklemek gerekmez.</p> + + <p>Ana sürecin istekleri sunacak çocuk süreçleri oluşturma işlemini nasıl + gerçekleştireceği <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code> ve <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergeleri ile düzenlenir. Apache httpd + kendiliğinden her duruma çok iyi uyum sağladığından, genelde, çoğu + sitenin bu yönergelerin öntanımlı değerlerini değiştirmesi gerekmez. + Aynı anda 256’dan fazla isteğe hizmet sunacak sitelerin <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> değerini arttırmaları + gerekebilir. Ancak, fiziksel belleği yeterli olmayan sitelerin de + sunucunun belleği diske takaslamasını önlemek için bu değeri + azaltmaları gerekebilir. Süreç oluşturmanın ayarlanması ile ilgili daha + fazla bilgi edinmek için <a href="../misc/perf-tuning.html">başarım + arttırma ipuçları</a> belgesine bakınız.</p> + + <p>Unix altında 80. portu dinleyebilmek için ana sürecin + <code>root</code> tarafından çalıştırılmış olması gerekirse de çocuk + süreçler Apache httpd tarafından daha az yetkili bir kullanıcının + aidiyetinde çalıştırılırlar. Apache httpd’nin çocuk süreçlerinin + kullanıcı ve gruplarını ayarlamak için <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> ve <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> + yönergeleri kullanılır. Çocuk süreçlerin sunacakları içeriği okumaya + yetkili olmaları gerekir, fakat bu yetkinin mümkün olduğunca kısıtlı + tutulmasına çalışılmalıdır.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> + yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı + ne kadar sıklıkla yapacağını denetler.</p> + + <p>Bu MPM, gürleyen sürü sorunu ortaya çıktığında (genelde çok sayıda + dinlenen soket varlığında) gelen bağlantılara erişimi dizgileştirmek için + <code>mpm-accept</code> muteksini kullanır. Bu muteksin gerçeklenimle + ilgili hususları <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> yönergesi ile + yapılandırılabilir. Bu muteks hakkında ek bilgi için <a href="../misc/perf-tuning.html">başarımın arttırılması</a> + belgesine bakınız.</p> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers" id="maxspareservers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Boştaki çocuk süreçlerin azami sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxSpareServers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxSpareServers 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>prefork</td></tr> +</table> + <p><code class="directive">MaxSpareServers</code> yönergesi <em>boştaki</em> + çocuk sunucu süreçlerinin azami sayısını belirler. Boştaki süreç, o an + bir isteğe hizmet sunmayan süreçtir. Eğer + <code class="directive">MaxSpareServers</code> sayıda süreçten daha fazla boşta + süreç varsa ana süreç bu fazlalıkları öldürecektir.</p> + + <p>Bu parametrenin ayarlanması sadece çok meşgul siteler için gerekli + olabilir. Bu parametreye çok büyük bir değerin atanması oldukça kötü + bir fikirdir. Eğer bu değeri <code class="directive"><a href="#minspareservers">MinSpareServers</a></code> değerine eşit veya daha küçük bir değere + ayarlarsanız, Apache HTTP Sunucusu bu değeri kendiliğinden <code class="directive">MinSpareServers</code><code> + 1</code> olarak + değiştirecektir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a> <a name="minspareservers" id="minspareservers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Boştaki çocuk süreçlerin asgari sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MinSpareServers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MinSpareServers 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>prefork</td></tr> +</table> + <p><code class="directive">MinSpareServers</code> yönergesi <em>boştaki</em> + çocuk sunucu süreçlerinin asgari sayısını belirler. Boştaki süreç, o an + bir isteğe hizmet sunmayan süreçtir. Eğer + <code class="directive">MinSpareServers</code> sayıda süreçten daha az boşta + süreç varsa ana süreç sayıyı tamamlamak için yeni çocuk süreçler + oluşturacaktır: Bir tane oluşturur, 1 saniye bekler, sonra 2 tane + oluşturur, 1 saniye bekler, sonra 4 tane oluşturur ve saniyede 32 çocuk + süreç oluşturuluncaya kadar böyle üstel olarak artar. Artış + <code class="directive">MinSpareServers</code> ile belirlenen sayıda + duracaktır.</p> + + <p>Bu parametrenin ayarlanması sadece çok meşgul siteler için gerekli + olabilir. Bu parametreye çok büyük bir değerin atanması oldukça kötü + bir fikirdir.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/prefork.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html b/docs/manual/mod/quickreference.html new file mode 100644 index 0000000..a81b5ca --- /dev/null +++ b/docs/manual/mod/quickreference.html @@ -0,0 +1,33 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: quickreference.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: quickreference.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: quickreference.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: quickreference.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 + +URI: quickreference.html.zh-cn.utf8 +Content-Language: zh-cn +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/quickreference.html.de b/docs/manual/mod/quickreference.html.de new file mode 100644 index 0000000..424bf8a --- /dev/null +++ b/docs/manual/mod/quickreference.html.de @@ -0,0 +1,1263 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Kurzreferenz der Direktiven - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="preamble"><h1>Kurzreferenz der Direktiven</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/quickreference.html" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>Die Kurzreferenz der Direktiven zeigt die Verwendung, + Voreinstellung, den Status und den Kontext aller + Apache-Konfigurationsanweisungen. Für weitergehende Informationen + schauen Sie bitte im <a href="directive-dict.html">Verzeichnis der Direktiven</a>.</p> + + <p>Die erste Spalte enthält den Namen und die Verwendung. + Die zweite Spalte zeigt die Voreinstellung der Direktive, sofern + eine Voreinstellung existiert. Wenn die Voreinstellung zu breit + für die Anzeige ist, wird sie abgeschnitten und mit einem + nachfolgenden "+" versehen.</p> + + <p>Die dritte und vierte Spalte geben den Kontext an, in dem die + Direktive erlaubt ist, sowie den Status der Direktive entsprechend + der Legende.</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>Serverkonfiguration</td></tr> +<tr><th>v</th><td>Virtual Host</td></tr> +<tr><th>d</th><td>Verzeichnis</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th /><td /></tr> +</table></td> +<td><table><tr><th>C</th><td>Core</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>B</th><td>Basis</td></tr> +<tr><th>E</th><td>Erweiterung</td></tr> +<tr><th>X</th><td>experimentell</td></tr> +<tr><th>T</th><td>extern</td></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>Protokoll</var> <var>Filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Konfiguriert Optimierungen für lauschende Sockets bestimmter +Protokolle</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Ressourcen lassen angehängte Pfadangaben zu</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Name der dezentralen Konfigurationsdateien</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>Aktionsart</var> <var>CGI-Skript</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Aktiviert ein CGI-Skript für einen bestimmten Handler oder + Content-Type</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by filename</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file instead of an icon +selected by MIME-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by MIME content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified content +charset</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>Zeichenkodierung</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Standard-Charset-Parameter, der bei Antworten vom Content-Type + <code>text/plain</code> oder <code>text/html</code> hinzugefügt wird +</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Description to display for a file</td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>encoding</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding +type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the filename extensions to the specified +handler</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for a file selected by name</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process +client requests</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>language-tag</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extension to the specified content +language</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds additional information to the module +information displayed by the server-info handler</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>media-type</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions onto the specified content +type</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps URLs to filesystem locations</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps URLs to filesystem locations using regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts can access an area of the +server</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht +werden dürfen</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restrict access to the listed HTTP methods</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>Direktiven-Typ</var> +[<var>Direktiven-Typ</var>] ...</a></td><td> None (2.3.9 und spä +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Direktiven-Typen, die in <code>.htaccess</code>-Dateien +erlaubt sind.</td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies userIDs that are allowed access without +password verification</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the password entered will be logged in the +error log</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether to check the password field for a correctly +formatted email address</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>factor</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit concurrent connections per process</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store passwords</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a database file containing the list of users and +passwords for authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest +authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">How long the server nonce is valid</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track +of clients</td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>fieldname</var></a></td><td> httpd_body </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable the CacheControl no-store header on the login page</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake a Basic Authentication header</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>fieldname</var></a></td><td> httpd_location </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of the page to be redirected to should login be required</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The URL of the page to be redirected to should login be successful</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL to redirect to after a user has logged out</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>fieldname</var></a></td><td> httpd_method </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>fieldname</var></a></td><td> httpd_mimetype </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>fieldname</var></a></td><td> httpd_password </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login password</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Bypass authentication checks for high traffic sites</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>size</var></a></td><td> 8192 </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>fieldname</var></a></td><td> httpd_username </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login username</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>prefix</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for +group membership</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (remote use +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Number</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>LdapObjectClass</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Authorization realm for use in HTTP +authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a context string for use in the cache key</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable Authn caching configured anywhere</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>authn-provider</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify which authn provider(s) to cache for</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>provider-name[:provider-args]</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Select socache backend provider to use</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>timeout</var> (seconds)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list of users and +passwords for authentication</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the SQL Query for the required operation</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a query to look up a login page for the user</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store list of user groups</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How the outgoing ETag header should be modified during compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum input block size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Compression quality</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Brotli sliding compression window size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent +</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without +respect to case</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache-Detail header to the response.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of levels of subdirectories in the +cache.</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var>url-string</var> | <var>on</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> [<var>url-string</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage +manager</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache header to the response.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache. +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified +header.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the base URL of reverse proxied cache keys.</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The factor used to compute an expiry date based on the +LastModified date.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>seconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be +cached by proxy servers</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Run the cache from the quick handler.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The directory root under which cache files are +stored</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The shared object cache implementation to use</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>bytes</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>seconds</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Serve stale content in place of 5xx responses.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server reports as expired</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The length of time to wait for more output from the +CGI program</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technik zur Bestimmung des Interpreters für +CGI-Skripte</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls how some CGI variables are set</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling +module</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Aktiviert die Generierung von <code>Content-MD5</code> +HTTP-Response-Headern</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds the 'Secure' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>Verzeichnis</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Verzeichnis, in das der Apache zu wechseln versucht, bevor er + einen Hauptspeicherauszug erstellt</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable WebDAV HTTP methods</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow PROPFIND, Depth: Infinity requests</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable lock discovery</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum amount of time the server holds a lock on +a DAV resource</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"SQL statement"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Execute an SQL statement after connecting to a database</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for files when no specific icon is +configured</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>language-tag</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>directory-path</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Base directory for the server run-time files</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>MIME-Type</var></a></td><td> text/plain </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">MIME-Content-Type, der gesendet wird, wenn der Server den Typ +nicht auf andere Weise ermitteln kann.</td></tr> +<tr><td><a href="core.html#define">Define <var>Parametername</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Define the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fragment size to be compressed at one time by zlib</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much compression do we apply to the output</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib compression window size</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the +server</td></tr> +<tr><td><a href="core.html#directory"><Directory <var>Verzeichnispfad</var>> +... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Umschließt eine Gruppe von Direktiven, die nur auf +das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet +werden</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle how this module responds when another handler is configured</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + disabled | <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">List of resources to look for when the client requests +a directory</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures an external redirect for directory indexes. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Umschließt eine Gruppe von Direktiven, die auf + Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet + werden, welche auf einen regulären Ausdruck passen</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle trailing slash redirects on or off</td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <var>Verzeichnis</var></a></td><td> /usr/local/apache/h +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im +Web sichtbar ist.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all input data to the error log</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only if the condition of a +previous <code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Aktiviert einen Hook, der nach einem Absturz noch +Ausnahmefehler behandeln lassen kann</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Verwende Memory-Mapping, um Dateien während der +Auslieferung zu lesen</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Verwende die sendfile-Unterstützung des Kernels, um +Dateien an den Client auszuliefern</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Abort configuration parsing with a custom error message</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <var>Fehlercode</var> <var>Dokument</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Das, was der Server im Fehlerfall an den Client +zurückgibt</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>Dateiname</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Ablageort, an dem der Server Fehler protokolliert</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Format specification for error log entries</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module +API</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables generation of <code>Expires</code> +headers</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Value of the <code>Expires</code> header configured +by MIME type</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Default algorithm for calculating expiration time</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off[*] </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Keep track of extended status information for each +request</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an external filter</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> NoLogStderr </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>local-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>Komponente</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Dateiattribute, die zur Erstellung des HTTP-Response-Headers +ETag verwendet werden</td></tr> +<tr><td><a href="core.html#files"><Files <var>Dateiname</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Enthält Direktiven, die sich nur auf passende Dateinamen +beziehen</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enthält Direktiven, die für Dateinamen gelten, die + auf einen regulären Ausdruck passen</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <var>number</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <var>number-of-bytes</var></a></td><td> 65536 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Threshold above which pending data are flushed to the +network</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not +found</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <var>MIME-Type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Erzwingt die Auslieferung aller passendenden Dateien mit dem +angegebenen MIME-Content-Type</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer +requests</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine file handling in responses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on for h2c, off for +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Direct Protocol Switch</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine sending of 103 status codes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of worker threads to use per child process.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimal number of worker threads to use per child process.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine buffering behaviour of output</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine the range of padding bytes added to payload frames</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize <em>n</em></a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Server Push Diary Size</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Priority</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Declares resources for early pushing to the client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serialize Request/Response Processing Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of output data buffered per stream.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on for h2c, off for +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Upgrade Protocol Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size of Stream Window for upstream data.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the top +of the index listing</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Multicast address for heartbeat packets</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">multicast address to listen for incoming heartbeat requests </td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>number-of-servers</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Path to store heartbeat data when using flat-file storage</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path to read heartbeat data</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Aktiviert DNS-Lookups auf Client-IP-Adressen</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Modify restrictions on HTTP Request Messages</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote +user</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>Parametername</var>> ... + </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Schließt Direktiven ein, die nur ausgeführt werden, +wenn eine Testbedingung beim Start wahr ist</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<var>filename</var>> ... + </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>Modulname</var>|<var>Modulbezeichner</var>> + ... </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Schließt Direktiven ein, die abhängig vom +Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt +werden</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ... + </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling +an imagemap</td></tr> +<tr class="odd"><td><a href="core.html#include">Include <var>Dateiname</var>|<var>Verzeichnis</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Fügt andere Konfigurationsdateien innerhalb der +Server-Konfigurationsdatei ein</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing +a directory</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Empties the list of files to hide when listing +a directory</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Various configuration settings for directory +indexing</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Aktiviert persistente HTTP-Verbindungen</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>Sekunden</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Zeitspanne, die der Server während persistenter Verbindungen +auf nachfolgende Anfragen wartet</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>maximum size in bytes</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable debugging in the LDAP SDK</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare +operations</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain +valid</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>number</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>number-of-retries</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the number of LDAP server retries.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>seconds</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the delay between LDAP server retries.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>seconds</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr> +<tr><td><a href="core.html#limit"><Limit <var>Methode</var> [<var>Methode</var>] ... > ... + </Limit></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Beschränkt die eingeschlossenen Zugriffskontrollen auf +bestimmte HTTP-Methoden</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ... + </LimitExcept></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Beschränkt Zugriffskontrollen auf alle HTTP-Methoden +außer den genannten</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Bestimmt die maximale Anzahl interner Umleitungen und + verschachtelter Unteranfragen</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>Bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt die Gesamtgröße des vom Client gesendeten +HTTP-Request-Body</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>Anzahl</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt die Anzahl der HTTP-Request-Header, die vom Client +entgegengenommen werden</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldsize <var>Bytes</var></a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt die Länge des vom Client gesendeten +HTTP-Request-Headers</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>Bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt die Länge der vom Client entgegengenommenen +HTTP-Anfragezeile</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>Bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt die Größe eines XML-basierten +Request-Bodys</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-Addresse</var>:]<var>Port</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP-Adressen und Ports, an denen der Server lauscht</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximale Länge der Warteschlange schwebender + Verbindungen</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list +of active modules</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location + <var>URL-Pfad</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Wendet die enthaltenen Direktiven nur auf die entsprechenden +URLs an</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Wendet die enthaltenen Direktiven nur auf URLs an, die auf +reguläre Ausdrücke passen</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable tracking of time to first byte (TTFB)</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel <var>Level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Steuert die Ausführlichkeit des Fehlerprotokolls</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Log user-defined message to error log +</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content input filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Map a path to a lua handler</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content output filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /path/to/include/?.soa</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /path/to/include/?.lua</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /path/to/a/directory</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a configuration file macro</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>Anzahl</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Anzahl der Anfragen, die bei einer persistenten Verbindung +zulässig sind</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximale Menge des Arbeitsspeichers, den die + Haupt-Zuteilungsroutine verwalten darf, ohne <code>free()</code> + aufzurufen</td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>number-of-ranges</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of ranges allowed before returning the complete +resource </td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>Anzahl</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximale Anzahl der unbeschäftigten Kindprozesse des + Servers</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximale Anzahl unbeschäftigter Threads</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a static certificate file for the MD.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specify a static private key for for the static cerrtificate.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of a certificate log monitor.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">The protocol to use with the Certificate Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Exposes public certificate information in JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">former name of MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define a proxy for outgoing connections.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Additional hostname for the managed domain.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if the alias domain names are automatically added.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Handle events for Manage Domains</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Run a program when a Managed Domain is ready.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define list of domain names that belong to one group.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to the same managed domains.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map external to internal ports for domain ownership verification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set type and size of the private keys generated.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls if certificates shall be renewed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control if Managed Domain information is added to server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Enable stapling for certificates not managed by mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling for all or a particular MDomain.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls when old responses should be removed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when the stapling responses will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether trailers are merged into headers</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information +files</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containing CERN-style +meta information</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>Anzahl</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimale Anzahl der unbeschäftigten Kindprozesse des + Servers</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimale Anzahl unbeschäftigter Threads, die zur + Bedienung von Anfragespitzen zur Verfügung stehen</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Modem standard to simulate</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code> +components as part of the filename</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><td><a href="core.html#mutex">Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Bestimmt eine IP-Adresse für den Betrieb namensbasierter +virtueller Hosts</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to +directly</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<var>Option</var> [[+|-]<var>Option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Definiert, welche Eigenschaften oder Funktionen in einem +bestimmten Verzeichnis verfügbar sind</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command for filtering response content</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>Dateiname</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Datei, in welcher der Server die Prozess-ID des Daemons +ablegt</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocol for a listening socket</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Turn the echo server on or off</td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocol</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocols available for a server/virtual host</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>wildcard-url</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Forward 100-continue expectation to the origin server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add proxy information in X-Forwarded-* headers</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a +response</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being +proxied</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride Off|On [<var>code</var> ...]</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Pathname to DBM file.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DBM type of file.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the module functionality.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify the type of backend FastCGI application</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Creates a named template for setting various health check parameters</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>Charset | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify a charset for mod_proxy_html output.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets an HTML or XHTML document type declaration.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns the proxy_html filter on or off.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribute [attribute ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify attributes to treat as scripting events.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fixes for simple HTML errors.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to strip HTML comments.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Defines a rule to rewrite HTML links</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched +proxied resources</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of proxies that a request can be forwarded +through</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Inherit ProxyPass directives defined from the main server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var> +[interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> +<var>public-domain</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var> +<var>public-path</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy +request</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP +connections</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the +backend</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>address</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set local IP address for outgoing proxy connections</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response +header for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the buffers used to read data</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the end +of the index listing</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] [<var>URL-path</var>] +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external redirect based on a regular expression match +of the current URL</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external permanent redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external temporary redirect asking the client to fetch +a different URL</td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Reflect an input header to the output headers</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Allow to configure global/default options for regexes</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Register non-standard HTTP methods</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>header-field</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>HeaderFieldName</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare the header field which will record all intermediate IP addresses</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable PROXY protocol handling</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any character set associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content encoding associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any handler associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any input filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any language associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any output filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content type associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP request headers</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</a></td><td> handshake=0 header= +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>Sekunden</var>|max [<var>Sekunden</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt den CPU-Verbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>Bytes</var>|max [<var>Bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Begrenzt den Speicherverbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet +werden können, der ihrerseits von Apache-Kinprozessen gestartet +wurden</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and +user authentication</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>Dateipfad</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ablageort der Datei, die zur Speicherung von Daten zur + Koordinierung der Kindprozesse verwendet wird</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>Methode</var> <var>CGI-Skript</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Aktiviert ein CGI-Skript für eine bestimmte + Anfragemethode.</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps a URL to a filesystem location and designates the +target as a CGI script</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Methode zur Ermittlung des Interpreters von +CGI-Skripten</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the CGI script error logfile</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maximum amount of PUT or POST requests that will be recorded +in the scriptlog</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size limit of the CGI script logfile</td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The filename prefix of the socket to use for communication with +the cgi daemon</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>Bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Größe des TCP-Puffers</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>E-Mail-Adresse</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">E-Mail-Adresse, die der Server in Fehlermeldungen einfügt, +welche an den Client gesendet werden</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>Hostname</var> [<var>Hostname</var>] ...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Alternativer Name für einen Host, der verwendet wird, wenn +Anfragen einem namensbasierten virtuellen Host zugeordnet werden</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Obergrenze für die konfigurierbare Anzahl von + Prozessen</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName +<var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Rechnername und Port, die der Server dazu verwendet, sich +selbst zu identifizieren</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <var>URL-Pfad</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Veralteter URL-Pfad für einen namensbasierten +virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen +wird</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>Verzeichnis</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Basisverzeichnis der Serverinstallation</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Konfiguriert die Fußzeile von servergenerierten +Dokumenten</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Konfiguriert den HTTP-Response-Header +<code>Server</code></td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables a session for the current directory or location</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>name</var></a></td><td> aes256 </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The crypto cipher to be used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The crypto driver to be used to encrypt the session</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The key used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>filename</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">File containing keys used to encrypt the session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>label</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to remove sessions from the database</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>label</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to insert sessions into the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable a per user session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>label</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to select sessions from the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>label</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to update existing sessions in the database</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define URL prefixes for which a session is ignored</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (always update) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>header</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>maxage</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> [<var>value</var>]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr <em>expr + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on an ap_expr expression</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +without respect to case</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <var>Handlername</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Erzwingt die Verarbeitung aller passenden Dateien durch +einen Handler</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>Filter</var>[;<var>Filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Bestimmt die Filter, die Client-Anfragen und POST-Eingaben +verarbeiten</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>Filter</var>[;<var>Filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Bestimmt die Filter, die Antworten des Servers verarbeiten</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Error message displayed when there is an SSI +error</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable compatibility mode for conditional expressions.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">String that starts an include element</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the format in which date strings are +displayed</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">String displayed when an unset variable is echoed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable CRL-based revocation checking</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded private key file</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (depends on +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable compression on the SSL level</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the default responder URI for OCSP validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable OCSP validation of the client certificate chain</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">skip the OCSP responder certificates verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force use of the default responder URI for OCSP validation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Proxy URL to use for OCSP requests</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP responses</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL/TLS protocol versions</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificate's CN field +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure host name checking for remote server certificates +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session +Cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable use of TLS session tickets</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SRP unknown user seed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path to SRP verifier file</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>seconds</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP stapling responses</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pass stapling related OCSP errors on to client</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>seconds</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Anzahl der Threads, die beim Start erstellt werden</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum line size</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads + pro Kindprozess</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>Anzahl</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Anzahl der Threads, die mit jedem Kindprozess gestartet + werden</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Die Größe des Stacks in Bytes, der von Threads +verwendet wird, die Client-Verbindungen bearbeiten.</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>Sekunden</var></a></td><td> 60 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Zeitspanne, die der Server auf verschiedene Ereignisse wartet, +bevor er die Anfrage abbricht</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Legt das Verhalten von <code>TRACE</code>-Anfragen fest</td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify location of a log file</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Undefine the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>name</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Undefine a macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Use a macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer +requests</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ... +</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>unix-groupid</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Sets the Group ID under which a virtual host runs.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>unix-userid</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the User ID under which a virtual host runs.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]] + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enthält Direktiven, die nur auf bestimmte Hostnamen oder +IP-Adressen angewendet werden</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Watchdog interval in seconds</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit +set</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>element [element ...]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Advise the parser to skip leading junk.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/quickreference.html" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.en b/docs/manual/mod/quickreference.html.en new file mode 100644 index 0000000..eb9a502 --- /dev/null +++ b/docs/manual/mod/quickreference.html.en @@ -0,0 +1,1248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Directive Quick Reference - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="preamble"><h1>Directive Quick Reference</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>The directive quick reference shows the usage, default, status, + and context of each Apache configuration directive. For more + information about each of these, see the <a href="directive-dict.html">Directive Dictionary</a>.</p> + + <p>The first column gives the directive name and usage. The second + column shows the default value of the directive, if a default exists. + If the default is too large to display, it will be truncated + and followed by "+".</p> + + <p>The third and fourth columns list the contexts where the directive + is allowed and the status of the directive according to the legend + tables below.</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>server config</td></tr> +<tr><th>v</th><td>virtual host</td></tr> +<tr><th>d</th><td>directory</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th>p</th><td>proxy section</td></tr> +</table></td> +<td><table><tr><th>C</th><td>Core</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>B</th><td>Base</td></tr> +<tr><th>E</th><td>Extension</td></tr> +<tr><th>X</th><td>Experimental</td></tr> +<tr><th>T</th><td>External</td></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocol</var> <var>accept_filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures optimizations for a Protocol's Listener Sockets</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Resources accept trailing pathname information</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Name of the distributed configuration file</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>action-type</var> <var>cgi-script</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular handler or +content-type</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by filename</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file instead of an icon +selected by MIME-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by MIME content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified content +charset</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>charset</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Default charset parameter to be added when a response +content-type is <code>text/plain</code> or <code>text/html</code></td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Description to display for a file</td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>encoding</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding +type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the filename extensions to the specified +handler</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for a file selected by name</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process +client requests</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>language-tag</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extension to the specified content +language</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds additional information to the module +information displayed by the server-info handler</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>media-type</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions onto the specified content +type</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps URLs to filesystem locations</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps URLs to filesystem locations using regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts can access an area of the +server</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to +be passed through</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restrict access to the listed HTTP methods</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</a></td><td> None (2.3.9 and lat +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies userIDs that are allowed access without +password verification</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the password entered will be logged in the +error log</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether to check the password field for a correctly +formatted email address</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>factor</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit concurrent connections per process</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store passwords</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a database file containing the list of users and +passwords for authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest +authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">How long the server nonce is valid</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track +of clients</td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>fieldname</var></a></td><td> httpd_body </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable the CacheControl no-store header on the login page</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake a Basic Authentication header</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>fieldname</var></a></td><td> httpd_location </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of the page to be redirected to should login be required</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The URL of the page to be redirected to should login be successful</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL to redirect to after a user has logged out</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>fieldname</var></a></td><td> httpd_method </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>fieldname</var></a></td><td> httpd_mimetype </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>fieldname</var></a></td><td> httpd_password </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login password</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Bypass authentication checks for high traffic sites</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>size</var></a></td><td> 8192 </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>fieldname</var></a></td><td> httpd_username </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login username</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>prefix</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for +group membership</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (remote use +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Number</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>LdapObjectClass</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Authorization realm for use in HTTP +authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a context string for use in the cache key</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable Authn caching configured anywhere</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>authn-provider</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify which authn provider(s) to cache for</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>provider-name[:provider-args]</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Select socache backend provider to use</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>timeout</var> (seconds)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list of users and +passwords for authentication</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the SQL Query for the required operation</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a query to look up a login page for the user</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store list of user groups</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How the outgoing ETag header should be modified during compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum input block size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Compression quality</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Brotli sliding compression window size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent +</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without +respect to case</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache-Detail header to the response.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of levels of subdirectories in the +cache.</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var>url-string</var> | <var>on</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> [<var>url-string</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage +manager</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache header to the response.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache. +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified +header.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the base URL of reverse proxied cache keys.</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The factor used to compute an expiry date based on the +LastModified date.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>seconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be +cached by proxy servers</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Run the cache from the quick handler.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The directory root under which cache files are +stored</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The shared object cache implementation to use</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>bytes</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>seconds</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Serve stale content in place of 5xx responses.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server reports as expired</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The length of time to wait for more output from the +CGI program</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>cgi-path</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls how some CGI variables are set</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling +module</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables the generation of <code>Content-MD5</code> HTTP Response +headers</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds the 'Secure' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory where Apache HTTP Server attempts to +switch before dumping core</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable WebDAV HTTP methods</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow PROPFIND, Depth: Infinity requests</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable lock discovery</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum amount of time the server holds a lock on +a DAV resource</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"SQL statement"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Execute an SQL statement after connecting to a database</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for files when no specific icon is +configured</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>language-tag</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>directory-path</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Base directory for the server run-time files</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>media-type|none</var></a></td><td> none </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">This directive has no effect other than to emit warnings +if the value is not <code>none</code>. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +</td></tr> +<tr><td><a href="core.html#define">Define <var>parameter-name</var> [<var>parameter-value</var>]</a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Define a variable</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fragment size to be compressed at one time by zlib</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much compression do we apply to the output</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib compression window size</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the +server</td></tr> +<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle how this module responds when another handler is configured</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + disabled | <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">List of resources to look for when the client requests +a directory</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures an external redirect for directory indexes. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to +the contents of file-system directories matching a regular expression.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle trailing slash redirects on or off</td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> "/usr/local/apache/ +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory that forms the main document tree visible +from the web</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all input data to the error log</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only if the condition of a +previous <code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Enables a hook that runs exception handlers +after a crash</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Use memory-mapping to read files during delivery</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Use the kernel sendfile support to deliver files to the client</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Abort configuration parsing with a custom error message</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <var>error-code</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">What the server will return to the client +in case of an error</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Location where the server will log errors</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Format specification for error log entries</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module +API</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables generation of <code>Expires</code> +headers</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Value of the <code>Expires</code> header configured +by MIME type</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Default algorithm for calculating expiration time</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off[*] </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Keep track of extended status information for each +request</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an external filter</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> NoLogStderr </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>local-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">File attributes used to create the ETag +HTTP response header for static files</td></tr> +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to matched +filenames</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to regular-expression matched +filenames</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <var>number</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <var>number-of-bytes</var></a></td><td> 65536 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Threshold above which pending data are flushed to the +network</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not +found</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer +requests</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine file handling in responses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on for h2c, off for +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Direct Protocol Switch</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine sending of 103 status codes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of worker threads to use per child process.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimal number of worker threads to use per child process.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine buffering behaviour of output</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine the range of padding bytes added to payload frames</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize <em>n</em></a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Server Push Diary Size</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Priority</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Declares resources for early pushing to the client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serialize Request/Response Processing Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of output data buffered per stream.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on for h2c, off for +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Upgrade Protocol Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size of Stream Window for upstream data.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the top +of the index listing</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Multicast address for heartbeat packets</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">multicast address to listen for incoming heartbeat requests </td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>number-of-servers</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Path to store heartbeat data when using flat-file storage</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path to read heartbeat data</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Modify restrictions on HTTP Request Messages</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote +user</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if a test is true at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<var>filename</var>> ... + </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific module</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ... + </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling +an imagemap</td></tr> +<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing +a directory</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Empties the list of files to hide when listing +a directory</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Various configuration settings for directory +indexing</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>num</var>[ms]</a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent +requests on a persistent connection</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>maximum size in bytes</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable debugging in the LDAP SDK</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare +operations</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain +valid</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>number</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>number-of-retries</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the number of LDAP server retries.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>seconds</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the delay between LDAP server retries.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>seconds</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr> +<tr><td><a href="core.html#limit"><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested +subrequests</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 1073741824 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent +from the client</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that +will be accepted from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the +client</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted +from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server +listens to</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBackLog <var>backlog</var></a></td><td> 511 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list +of active modules</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to matching +URLs</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression +matching URLs</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable tracking of time to first byte (TTFB)</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel [<var>module</var>:]<var>level</var> + [<var>module</var>:<var>level</var>] ... +</a></td><td> warn </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Log user-defined message to error log +</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content input filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Map a path to a lua handler</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content output filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /path/to/include/?.soa</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /path/to/include/?.lua</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /path/to/a/directory</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a configuration file macro</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent +connection</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed +to hold without calling <code>free()</code></td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>number-of-ranges</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of ranges allowed before returning the complete +resource </td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a static certificate file for the MD.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specify a static private key for for the static cerrtificate.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of a certificate log monitor.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">The protocol to use with the Certificate Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Exposes public certificate information in JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">former name of MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define a proxy for outgoing connections.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Additional hostname for the managed domain.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if the alias domain names are automatically added.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Handle events for Manage Domains</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Run a program when a Managed Domain is ready.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define list of domain names that belong to one group.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to the same managed domains.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map external to internal ports for domain ownership verification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set type and size of the private keys generated.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls if certificates shall be renewed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control if Managed Domain information is added to server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Enable stapling for certificates not managed by mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling for all or a particular MDomain.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls when old responses should be removed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when the stapling responses will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether trailers are merged into headers</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information +files</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containing CERN-style +meta information</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request +spikes</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Modem standard to simulate</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code> +components as part of the filename</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><td><a href="core.html#mutex">Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">DEPRECATED: Designates an IP address for name-virtual +hosting</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to +directly</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> FollowSymlinks </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures what features are available in a particular +directory</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command for filtering response content</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID +of the daemon</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocol for a listening socket</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Turn the echo server on or off</td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocol</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocols available for a server/virtual host</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>wildcard-url</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Forward 100-continue expectation to the origin server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add proxy information in X-Forwarded-* headers</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a +response</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being +proxied</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride Off|On [<var>code</var> ...]</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Pathname to DBM file.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DBM type of file.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the module functionality.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify the type of backend FastCGI application</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Creates a named template for setting various health check parameters</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>Charset | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify a charset for mod_proxy_html output.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets an HTML or XHTML document type declaration.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns the proxy_html filter on or off.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribute [attribute ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify attributes to treat as scripting events.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fixes for simple HTML errors.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to strip HTML comments.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Defines a rule to rewrite HTML links</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched +proxied resources</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of proxies that a request can be forwarded +through</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Inherit ProxyPass directives defined from the main server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var> +[interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> +<var>public-domain</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var> +<var>public-path</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy +request</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP +connections</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the +backend</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>address</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set local IP address for outgoing proxy connections</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response +header for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the buffers used to read data</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the end +of the index listing</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] [<var>URL-path</var>] +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external redirect based on a regular expression match +of the current URL</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external permanent redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external temporary redirect asking the client to fetch +a different URL</td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Reflect an input header to the output headers</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Allow to configure global/default options for regexes</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Register non-standard HTTP methods</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>header-field</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>HeaderFieldName</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare the header field which will record all intermediate IP addresses</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable PROXY protocol handling</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any character set associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content encoding associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any handler associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any input filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any language associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any output filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content type associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP request headers</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</a></td><td> handshake=0 header= +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the CPU consumption of processes launched +by Apache httpd children</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the memory consumption of processes launched +by Apache httpd children</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of processes that can be launched by +processes launched by Apache httpd children</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and +user authentication</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_runtime +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the file used to store coordination data for +the child processes</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular request +method.</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps a URL to a filesystem location and designates the +target as a CGI script</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the CGI script error logfile</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maximum amount of PUT or POST requests that will be recorded +in the scriptlog</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size limit of the CGI script logfile</td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The filename prefix of the socket to use for communication with +the cgi daemon</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP buffer size</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Email address that the server includes in error +messages sent to the client</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>hostname</var> [<var>hostname</var>] ...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate names for a host used when matching requests +to name-virtual hosts</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName [<var>scheme</var>://]<var>domain-name</var>|<var>ip-address</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Hostname and port that the server uses to identify +itself</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>directory-path</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Base directory for the server installation</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures the footer on server-generated documents</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the <code>Server</code> HTTP response +header</td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables a session for the current directory or location</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>name</var></a></td><td> aes256 </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The crypto cipher to be used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The crypto driver to be used to encrypt the session</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The key used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>filename</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">File containing keys used to encrypt the session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>label</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to remove sessions from the database</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>label</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to insert sessions into the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable a per user session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>label</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to select sessions from the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>label</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to update existing sessions in the database</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define URL prefixes for which a session is ignored</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (always update) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>header</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>maxage</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> [<var>value</var>]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr <em>expr + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on an ap_expr expression</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +without respect to case</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|none|<var>expression</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be processed by a +handler</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the filters that will process client requests and POST +input</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Sets the filters that will process responses from the +server</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Error message displayed when there is an SSI +error</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable compatibility mode for conditional expressions.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">String that starts an include element</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the format in which date strings are +displayed</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">String displayed when an unset variable is echoed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable CRL-based revocation checking</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded private key file</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (depends on +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable compression on the SSL level</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the default responder URI for OCSP validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable OCSP validation of the client certificate chain</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">skip the OCSP responder certificates verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force use of the default responder URI for OCSP validation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Proxy URL to use for OCSP requests</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP responses</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL/TLS protocol versions</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificate's CN field +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure host name checking for remote server certificates +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>filename</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session +Cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable use of TLS session tickets</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SRP unknown user seed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path to SRP verifier file</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>seconds</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP stapling responses</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pass stapling related OCSP errors on to client</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>seconds</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of child server processes created at startup</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created on startup</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum line size</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads +per child process</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling +client connections</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 60 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for +certain events before failing a request</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behavior on <code>TRACE</code> requests</td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify location of a log file</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Undefine the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>name</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Undefine a macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Use a macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and +port</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own port</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer +requests</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ... +</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>unix-groupid</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Sets the Group ID under which a virtual host runs.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>unix-userid</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the User ID under which a virtual host runs.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific +hostname or IP address</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Watchdog interval in seconds</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit +set</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>element [element ...]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Advise the parser to skip leading junk.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.es b/docs/manual/mod/quickreference.html.es new file mode 100644 index 0000000..5cd7924 --- /dev/null +++ b/docs/manual/mod/quickreference.html.es @@ -0,0 +1,1252 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Guía Rápida de Referencia de Directivas - Servidor HTTP Apache Versión 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p> +<p class="apache">Versión 2.4 del Servidor HTTP Apache</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.4</a> > <a href="./">Módulos</a></div> +<div id="preamble"><h1>Guía Rápida de Referencia de Directivas</h1> +<div class="toplang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>La Guía Rápida de Referencia de Directivas muestra el uso, las + opciones por defecto, el estado y el contexto de cada directiva de + configuración de Apache. Para más información sobre cada + directiva, consulte el <a href="directive-dict.html">Diccionario + de Directivas</a>.</p> + + <p>La primera columna muestra el nombre y el uso de la directiva. + La segunda columna muestra el valor por defecto de la directiva, + si existe ese valor por defecto. Si el valor por defecto es + demasiado largo para mostrarlo, el primer carácter va seguido de + un signo "+".</p> + + <p>La tercera y la cuarta columna listan los contextos en los que + la directiva puede funcionar y el estado de la directiva de + acuerdo con las notas que detallan más abajo.</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>server config</td></tr> +<tr><th>v</th><td>virtual host</td></tr> +<tr><th>d</th><td>directory</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th>p</th><td>sección de proxy</td></tr> +</table></td> +<td><table><tr><th>C</th><td>Core</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>B</th><td>Base</td></tr> +<tr><th>E</th><td>Extensión</td></tr> +<tr><th>X</th><td>Experimental</td></tr> +<tr><th>T</th><td>Externo</td></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocol</var> <var>accept_filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configura mejoras para un Protocolo de Escucha de Sockets</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Los recursos aceptan información sobre su ruta</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Nombre del fichero distribuido de configuración</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>action-type</var> <var>cgi-script</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular handler or +content-type</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by filename</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file instead of an icon +selected by MIME-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by MIME content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified content +charset</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>charset</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Default charset parameter to be added when a response +content-type is <code>text/plain</code> or <code>text/html</code></td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Description to display for a file</td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>encoding</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding +type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the filename extensions to the specified +handler</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for a file selected by name</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process +client requests</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>language-tag</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extension to the specified content +language</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds additional information to the module +information displayed by the server-info handler</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>media-type</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions onto the specified content +type</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps URLs to filesystem locations</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps URLs to filesystem locations using regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts can access an area of the +server</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to +be passed through</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restrict access to the listed HTTP methods</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</a></td><td> None (2.3.9 and lat +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies userIDs that are allowed access without +password verification</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the password entered will be logged in the +error log</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether to check the password field for a correctly +formatted email address</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>factor</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit concurrent connections per process</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store passwords</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a database file containing the list of users and +passwords for authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest +authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">How long the server nonce is valid</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track +of clients</td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>fieldname</var></a></td><td> httpd_body </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable the CacheControl no-store header on the login page</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake a Basic Authentication header</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>fieldname</var></a></td><td> httpd_location </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of the page to be redirected to should login be required</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The URL of the page to be redirected to should login be successful</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL to redirect to after a user has logged out</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>fieldname</var></a></td><td> httpd_method </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>fieldname</var></a></td><td> httpd_mimetype </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>fieldname</var></a></td><td> httpd_password </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login password</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Bypass authentication checks for high traffic sites</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>size</var></a></td><td> 8192 </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>fieldname</var></a></td><td> httpd_username </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login username</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>prefix</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for +group membership</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (remote use +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Number</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>LdapObjectClass</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Authorization realm for use in HTTP +authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a context string for use in the cache key</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable Authn caching configured anywhere</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>authn-provider</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify which authn provider(s) to cache for</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>provider-name[:provider-args]</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Select socache backend provider to use</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>timeout</var> (seconds)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list of users and +passwords for authentication</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the SQL Query for the required operation</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a query to look up a login page for the user</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store list of user groups</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How the outgoing ETag header should be modified during compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum input block size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Compression quality</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Brotli sliding compression window size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent +</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without +respect to case</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache-Detail header to the response.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of levels of subdirectories in the +cache.</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var>url-string</var> | <var>on</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> [<var>url-string</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage +manager</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache header to the response.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache. +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified +header.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the base URL of reverse proxied cache keys.</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The factor used to compute an expiry date based on the +LastModified date.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>seconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be +cached by proxy servers</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Run the cache from the quick handler.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The directory root under which cache files are +stored</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The shared object cache implementation to use</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>bytes</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>seconds</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Serve stale content in place of 5xx responses.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server reports as expired</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The length of time to wait for more output from the +CGI program</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>cgi-path</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls how some CGI variables are set</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling +module</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables the generation of <code>Content-MD5</code> HTTP Response +headers</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds the 'Secure' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory where Apache HTTP Server attempts to +switch before dumping core</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable WebDAV HTTP methods</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow PROPFIND, Depth: Infinity requests</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable lock discovery</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum amount of time the server holds a lock on +a DAV resource</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"SQL statement"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Execute an SQL statement after connecting to a database</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for files when no specific icon is +configured</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>language-tag</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>directory-path</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Base directory for the server run-time files</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>media-type|none</var></a></td><td> none </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">This directive has no effect other than to emit warnings +if the value is not <code>none</code>. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +</td></tr> +<tr><td><a href="core.html#define">Define <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Define the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fragment size to be compressed at one time by zlib</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much compression do we apply to the output</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib compression window size</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the +server</td></tr> +<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle how this module responds when another handler is configured</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + disabled | <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">List of resources to look for when the client requests +a directory</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures an external redirect for directory indexes. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to +the contents of file-system directories matching a regular expression.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle trailing slash redirects on or off</td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> /usr/local/apache/h +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory that forms the main document tree visible +from the web</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all input data to the error log</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only if the condition of a +previous <code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Enables a hook that runs exception handlers +after a crash</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Use memory-mapping to read files during delivery</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Use the kernel sendfile support to deliver files to the client</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Abort configuration parsing with a custom error message</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <var>error-code</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">What the server will return to the client +in case of an error</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Location where the server will log errors</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLog [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Format specification for error log entries</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module +API</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables generation of <code>Expires</code> +headers</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Value of the <code>Expires</code> header configured +by MIME type</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Default algorithm for calculating expiration time</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off[*] </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Keep track of extended status information for each +request</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an external filter</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> NoLogStderr </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>local-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">File attributes used to create the ETag +HTTP response header for static files</td></tr> +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to matched +filenames</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to regular-expression matched +filenames</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <var>number</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <var>number-of-bytes</var></a></td><td> 65536 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Threshold above which pending data are flushed to the +network</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not +found</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer +requests</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine file handling in responses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on for h2c, off for +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Direct Protocol Switch</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine sending of 103 status codes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of worker threads to use per child process.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimal number of worker threads to use per child process.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine buffering behaviour of output</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine the range of padding bytes added to payload frames</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize <em>n</em></a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Server Push Diary Size</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Priority</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Declares resources for early pushing to the client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serialize Request/Response Processing Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of output data buffered per stream.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on for h2c, off for +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Upgrade Protocol Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size of Stream Window for upstream data.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the top +of the index listing</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Multicast address for heartbeat packets</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">multicast address to listen for incoming heartbeat requests </td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>number-of-servers</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Path to store heartbeat data when using flat-file storage</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path to read heartbeat data</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Modify restrictions on HTTP Request Messages</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote +user</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if a test is true at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<var>filename</var>> ... + </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific module</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ... + </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling +an imagemap</td></tr> +<tr class="odd"><td><a href="core.html#include">Include [<var>optional</var>|<var>strict</var>] <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing +a directory</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Empties the list of files to hide when listing +a directory</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Various configuration settings for directory +indexing</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>num</var>[ms]</a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent +requests on a persistent connection</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>maximum size in bytes</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable debugging in the LDAP SDK</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare +operations</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain +valid</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>number</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>number-of-retries</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the number of LDAP server retries.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>seconds</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the delay between LDAP server retries.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>seconds</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr> +<tr><td><a href="core.html#limit"><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested +subrequests</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent +from the client</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that +will be accepted from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the +client</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted +from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server +listens to</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBackLog <var>backlog</var></a></td><td> 511 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list +of active modules</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to matching +URLs</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression +matching URLs</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable tracking of time to first byte (TTFB)</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel [<var>module</var>:]<var>level</var> + [<var>module</var>:<var>level</var>] ... +</a></td><td> warn </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Log user-defined message to error log +</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content input filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Map a path to a lua handler</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content output filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /path/to/include/?.soa</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /path/to/include/?.lua</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /path/to/a/directory</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a configuration file macro</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent +connection</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed +to hold without calling <code>free()</code></td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>number-of-ranges</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of ranges allowed before returning the complete +resource </td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a static certificate file for the MD.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specify a static private key for for the static cerrtificate.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of a certificate log monitor.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">The protocol to use with the Certificate Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Exposes public certificate information in JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">former name of MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define a proxy for outgoing connections.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Additional hostname for the managed domain.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if the alias domain names are automatically added.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Handle events for Manage Domains</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Run a program when a Managed Domain is ready.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define list of domain names that belong to one group.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to the same managed domains.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map external to internal ports for domain ownership verification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set type and size of the private keys generated.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls if certificates shall be renewed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control if Managed Domain information is added to server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Enable stapling for certificates not managed by mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling for all or a particular MDomain.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls when old responses should be removed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when the stapling responses will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether trailers are merged into headers</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information +files</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containing CERN-style +meta information</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request +spikes</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Modem standard to simulate</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code> +components as part of the filename</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><td><a href="core.html#mutex">Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Designates an IP address for name-virtual +hosting</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to +directly</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures what features are available in a particular +directory</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command for filtering response content</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID +of the daemon</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocol for a listening socket</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Turn the echo server on or off</td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocol</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocols available for a server/virtual host</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>wildcard-url</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Forward 100-continue expectation to the origin server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add proxy information in X-Forwarded-* headers</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a +response</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being +proxied</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride Off|On [<var>code</var> ...]</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Pathname to DBM file.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DBM type of file.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the module functionality.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify the type of backend FastCGI application</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Creates a named template for setting various health check parameters</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>Charset | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify a charset for mod_proxy_html output.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets an HTML or XHTML document type declaration.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns the proxy_html filter on or off.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribute [attribute ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify attributes to treat as scripting events.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fixes for simple HTML errors.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to strip HTML comments.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Defines a rule to rewrite HTML links</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched +proxied resources</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of proxies that a request can be forwarded +through</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Inherit ProxyPass directives defined from the main server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var> +[interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> +<var>public-domain</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var> +<var>public-path</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy +request</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP +connections</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the +backend</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>address</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set local IP address for outgoing proxy connections</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response +header for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the buffers used to read data</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the end +of the index listing</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] [<var>URL-path</var>] +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external redirect based on a regular expression match +of the current URL</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external permanent redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external temporary redirect asking the client to fetch +a different URL</td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Reflect an input header to the output headers</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Allow to configure global/default options for regexes</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Register non-standard HTTP methods</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>header-field</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>HeaderFieldName</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare the header field which will record all intermediate IP addresses</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable PROXY protocol handling</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any character set associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content encoding associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any handler associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any input filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any language associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any output filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content type associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP request headers</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</a></td><td> handshake=0 header= +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the CPU consumption of processes launched +by Apache httpd children</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the memory consumption of processes launched +by Apache httpd children</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of processes that can be launched by +processes launched by Apache httpd children</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and +user authentication</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_runtime +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the file used to store coordination data for +the child processes</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular request +method.</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps a URL to a filesystem location and designates the +target as a CGI script</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the CGI script error logfile</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maximum amount of PUT or POST requests that will be recorded +in the scriptlog</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size limit of the CGI script logfile</td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The filename prefix of the socket to use for communication with +the cgi daemon</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP buffer size</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Email address that the server includes in error +messages sent to the client</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>hostname</var> [<var>hostname</var>] ...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate names for a host used when matching requests +to name-virtual hosts</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Hostname and port that the server uses to identify +itself</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>directory-path</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Base directory for the server installation</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures the footer on server-generated documents</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the <code>Server</code> HTTP response +header</td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables a session for the current directory or location</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>name</var></a></td><td> aes256 </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The crypto cipher to be used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The crypto driver to be used to encrypt the session</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The key used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>filename</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">File containing keys used to encrypt the session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>label</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to remove sessions from the database</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>label</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to insert sessions into the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable a per user session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>label</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to select sessions from the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>label</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to update existing sessions in the database</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define URL prefixes for which a session is ignored</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (always update) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>header</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>maxage</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> [<var>value</var>]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr <em>expr + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on an ap_expr expression</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +without respect to case</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be processed by a +handler</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the filters that will process client requests and POST +input</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Sets the filters that will process responses from the +server</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Error message displayed when there is an SSI +error</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable compatibility mode for conditional expressions.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">String that starts an include element</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the format in which date strings are +displayed</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">String displayed when an unset variable is echoed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable CRL-based revocation checking</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded private key file</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (depends on +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable compression on the SSL level</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the default responder URI for OCSP validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable OCSP validation of the client certificate chain</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">skip the OCSP responder certificates verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force use of the default responder URI for OCSP validation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Proxy URL to use for OCSP requests</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP responses</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL/TLS protocol versions</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificate's CN field +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure host name checking for remote server certificates +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>filename</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session +Cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable use of TLS session tickets</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SRP unknown user seed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path to SRP verifier file</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>seconds</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP stapling responses</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pass stapling related OCSP errors on to client</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>seconds</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of child server processes created at startup</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created on startup</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum line size</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads +per child process</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling +client connections</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 60 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for +certain events before failing a request</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behaviour on <code>TRACE</code> requests</td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify location of a log file</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Undefine the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>name</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Undefine a macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Use a macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and +port</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own name and +port</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer +requests</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ... +</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>unix-groupid</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Sets the Group ID under which a virtual host runs.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>unix-userid</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the User ID under which a virtual host runs.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific +hostname or IP address</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Watchdog interval in seconds</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit +set</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>element [element ...]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Advise the parser to skip leading junk.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span>Idiomas disponibles: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comentarios</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.fr.utf8 b/docs/manual/mod/quickreference.html.fr.utf8 new file mode 100644 index 0000000..f96f467 --- /dev/null +++ b/docs/manual/mod/quickreference.html.fr.utf8 @@ -0,0 +1,1581 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Document de référence rapide des directives - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="preamble"><h1>Document de référence rapide des directives</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>Le document de référence rapide des directives montre l'usage, + les valeurs par défaut, le statut, + et le contexte de chaque directive de configuration d'Apache. Pour plus + d'informations sur chacun de ces termes, voir le <a href="directive-dict.html">Dictionnaire des directives</a>.</p> + + <p>La première colonne donne le nom de la directive et son usage. + Si la directive possède une valeur par défaut, elle est indiquée dans la + deuxième colonne. + Si la valeur par défaut est trop grande pour pouvoir être affichée, + elle sera tronquée et suivie d'un "+".</p> + + <p>La troisième colonne énumère les contextes dans + lesquels la directive est applicable, et la quatrième indique son statut en accord avec le + tableau des légendes ci-dessous.</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>configuration globale</td></tr> +<tr><th>v</th><td>serveur virtuel</td></tr> +<tr><th>d</th><td>répertoire</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th>p</th><td>section proxy</td></tr> +</table></td> +<td><table><tr><th>C</th><td>Noyau httpd</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>B</th><td>Base</td></tr> +<tr><th>E</th><td>Extension</td></tr> +<tr><th>X</th><td>Expérimental</td></tr> +<tr><th>T</th><td>Externe</td></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocole</var> <var>filtre +d'acceptation</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Permet d'optimiser la configuration d'une socket pour +l'écoute d'un protocole</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <var>nom-du-fichier</var> +[<var>nom-du-fichier</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Nom du fichier de configuration distribué</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>type d'action</var> <var>script cgi</var> +[virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active un script CGI pour un gestionnaire ou un type de +contenu particulier</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>texte</var> <var>fichier</var> [<var>fichier</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son nom</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>texte</var> <var>codage MIME</var> +[<var>codage MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son codage MIME</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>texte</var> <var>type MIME</var> +[<var>type MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un +fichier en fonction de son type MIME</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>jeu-car</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>jeu de caractères</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est <code>text/plain</code> ou +<code>text/html</code></td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>texte</var> [<var>fichier</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Afficher la description d'un fichier</td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>codage</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers données au type +de codage spécifié</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>nom-gestionnaire</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe les extensions de noms de fichiers données au +gestionnaire spécifié</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icône</var> <var>nom</var> [<var>nom</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icône à afficher pour un fichier en fonction de son +nom</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icône</var> <var>codage MIME</var> +[<var>codage MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icône à afficher à côté d'un fichier en fonction de son +codage MIME</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icône</var> <var>type MIME</var> +[<var>type MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icône à afficher à côté d'un fichier en fonction de son +type MIME</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>symbole-langue</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe l'extension de nom de fichier donnée à la langue +spécifié</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>nom-module</var> <var>chaîne</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute des données supplémentaires aux informations de +module affichées par le gestionnaire server-info</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...] +<var>type_de_média</var> [<var>type_de_média</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">assigne un filtre en sortie pour un type de média +particulier</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>type-médium</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers au type de +contenu spécifié</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias [<var>chemin URL</var>] +<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Met en correspondance des URLs avec des chemins du système +de fichiers</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var> +<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Met en correspondance des URLs avec le système de fichiers +en faisant intervenir les expressions rationnelles</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>hôte</var>|env=[!]<var>variable +d'environnement</var> +[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie quels hôtes peuvent accéder à une certaine zone du +serveur</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports autorisés à se <code>CONNECT</code>er à travers le +mandataire</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les séparateurs de chemin encodés sont +autorisés à transiter dans les URLs tels quels</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restreint l'accès aux méthodes HTTP spécifiées</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>type directive</var> +[<var>type directive</var>] ...</a></td><td> None à partir de la +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types de directives autorisées dans les fichiers +<code>.htaccess</code></td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Directives autorisées dans les fichiers <code>.htaccess</code></td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>utilisateur</var> [<var>utilisateur</var>] +...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la liste des identifiants utilisateur autorisés à +accéder sans vérification du mot de passe</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si le mot de passe fourni sera enregistré dans le +journal des erreurs</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'abscence de mot de passe est +autorisée</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si le champ identifiant peut être +vide</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine s'il faut vérifier que le format de l'adresse +email fournie comme mot de passe est correct</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>facteur</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limite le nombre de connexions simultanées par thread</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si les processus d'autorisation et +d'authentification peuvent être confiés à des modules de plus bas +niveau</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Authentification de base simulée à l'aide des nom +d'utilisateur et mot de passe fournis</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>nom fournisseur</var> +[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le(les) fournisseur(s) d'authentification pour +cette zone du site web</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Vérifie les mots de passe auprès des fournisseurs +d'authentification à la manière de l'authentification de type Digest. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Requête SQL servant à vérifier le mot de passe d'un +utilisateur</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Requête SQL servant à vérifier une empreinte de mot de +passe pour un utilisateur et un identifiant d'authentification. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom du fichier de base de données contenant la +liste des groupes d'utilisateurs permettant de définir les +autorisations des utilisateurs</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le type de fichier de base de données utilisé pour +stocker les mots de passe</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom d'un fichier de base de données pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sélectionne l'algorithme utilisé pour calculer les +condensés du défit et de sa réponse</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Les URIs qui se trouvent dans le même espace de protection +concernant l'authentification à base de condensés</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>secondes</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de validité du nombre à valeur unique du +serveur (nonce)</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>nom fournisseur</var> +[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le(s) fournisseurs(s) d'authentification pour la +zone du site web concernée</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine le niveau de protection fourni par +l'authentification à base de condensé</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>taille</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La quantité de mémoire partagée à allouer afin de conserver +les informations à propos des clients</td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Détermine si l'autorisation et l'authentification sont confiés à +des modules de plus bas niveau</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>nom du champ</var></a></td><td> httpd_body </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le nom du champ de formulaire contenant le corps de la +requête à effectuer en cas de connexion réussie</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Désactive l'en-tête CacheControl no-store sur la page de +connexion</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Simule une en-tête d'authentification de base</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>nom du champ</var></a></td><td> httpd_location </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Le nom du champ de formulaire qui contiendra l'URL vers +laquelle l'utilisateur sera redirigé en cas de connexion +réussie</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'URL de la page vers laquelle on doit être redirigé si une +authentification est requise</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">L'URL de la page vers laquelle on doit être redirigé en cas +de connexion réussie</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'URL vers laquelle un utilisateur devra être redirigé +après s'être déconnecté</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>nom du champ</var></a></td><td> httpd_method </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Le nom du champ de formulaire contenant la méthode de la +requête à effectuer en cas de connexion réussie</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>nom du champ</var></a></td><td> httpd_mimetype </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le nom du champ de formulaire contenant le type MIME du +corps de la requête à effectuer en cas de connexion +réussie</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>nom du champ</var></a></td><td> httpd_password </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Le nom du champ de formulaire qui contient le mot de passe +de connexion</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>nom fournisseur</var> +[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le(s) fournisseur(s) d'authentification pour la +zone concernée</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Court-circuite l'authentification pour les sites à fort +trafic</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>taille</var></a></td><td> 8192 </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">La taille maximale en octets du formulaire dont seront +extraites les informations de connexion</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>nom du champ</var></a></td><td> httpd_username </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Le nom du champ de formulaire qui contient le nom de +connexion</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de définir les autorisations des +utilisateurs</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>préfixe</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie le préfixe ajouté aux variables d'environnement +durant la phase d'autorisation</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'on doit utiliser d'autres fournisseurs +d'authentification lorsque le serveur ne peut pas valider les données +d'authentification de l'utilisateur, alors que ce dernier possède un +DN.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>dn</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Un DN optionnel pour se connecter au serveur +LDAP</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>mot-de-passe</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Mot de passe à utiliser en conjonction avec le DN de +connexion</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>chemin-fichier</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Chemin du fichier de configuration de la correspondance +langage/jeu de caractères</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilisation des données d'authentification de l'utilisateur +pour effectuer les comparaisons pour l'attribution des autorisations</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise le serveur LDAP pour comparer les DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">À quel moment le module va déréférencer les +alias</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribut</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">L'attribut LDAP utilisé pour vérifier l'appartenance d'un +utilisateur à un groupe.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise le DN de l'utilisateur pour vérifier son +appartenance à un groupe</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si le serveur effectue la recherche initiale du +DN en utilisant le nom propre de l'utilisateur pour l'authentification +de base +et non de manière anonyme, ou en utilisant des données d'authentification +codées en dur pour le serveur</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (nom de l'u +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie la modification a apporter au nom d'utilisateur +pour l'authentification de base lors de l'authentification auprès du +serveur LDAP pour effectuer une recherche de DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Nombre</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie la profondeur d'imbrication des sous-groupes +maximale prise en compte avant l'abandon de la recherche de +l'utilisateur.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie l'attribut dont la valeur renvoyée au cours de la +requête de l'utilisateur sera utilisée pour définir la variable +d'environnement REMOTE_USER</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise le DN de l'utilisateur pour définir la variable +d'environnement REMOTE_USER</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise les données d'authentification de l'utilisateur +pour la recherche des autorisations</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribut</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie les noms d'attribut, un par directive, utilisés +pour différencier les membres du groupe courant qui sont eux-mêmes des +groupes.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie quelles valeurs d'objectClass LDAP identifient les +objets de l'annuaire qui sont des groupes au cours du traitement des +sous-groupes.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la manière dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration précédentes.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>domaine d'autorisation</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">L'identifiant de l'autorisation à utiliser avec +l'authentification HTTP</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie une chaîne de contexte à utiliser dans la clé du +cache</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Active la mise en cache de l'authentification en tout +endroit</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>fournisseur-authn</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le fournisseur pour lequel on veut effectuer une +mise en cache</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>nom-fournisseur[:arguments-fournisseur]</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sélectionne le fournisseur socache d'arrière-plan à +utiliser</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>durée-de-vie</var> (secondes)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une durée de vie pour les entrées du cache</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>alias-fournisseur</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Regroupe un ensemble de directives qui constituent une +extension d'un fournisseur d'authentification de base et lui attribue +l'alias spécifié</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Permet à une application FastCGI de gérer l'accroche +d'authentification check_authn.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit une application FastCGI en tant que fournisseur +d'authentification et/ou autorisation</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Type d'authentification utilisateur</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le nom d'un fichier texte pour l'authentification +contenant la liste des utilisateurs et de leurs mots de +passe</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si le client doit être redirigé vers la page +d'origine en cas de connexion ou de déconnexion réussie si un en-tête +de requête <code>Referer</code> est présent</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit la requête SQL pour l'opération requise</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une requête pour rechercher une page vers laquelle +rediriger l'utilisateur après une connexion réussie</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le type de fichier de base de données contenant +la liste des groupes d'utilisateurs</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>fournisseur-de-base Alias +Paramètres-Require</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives représentant une extension d'un +fournisseur d'autorisation de base qui pourra être référencée à l'aide +de l'alias spécifié</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Envoie '403 FORBIDDEN' au lieu de '401 UNAUTHORIZED' si +l'authentification réussit et si l'autorisation a été refusée. +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de membres supplémentaires pouvant être ajoutés +après la configuration initiale</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Héritage des membres du groupes de répartition de + charge du mandataire définis au niveau du serveur principal</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute un membre à un groupe de répartition de +charge</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Tente de conserver les changements effectués par le + gestionnaire de répartition de charge après un redémarrage du + serveur.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Comment l'en-tête de réponse ETag doit être modifié au cours de la +compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille maximale du bloc de données en entrée</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Qualité de la compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille de la fenêtre de compression glissante brotli</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre le taux de compression dans une note à des fins de +journalisation</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>] +[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la +casse</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize entier</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale en octets du filtre par tampon</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>secondes</var></a></td><td> 3600 (une heure) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La durée par défaut de mise en cache d'un document +lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>longueur</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Le nombre de caractères des noms des +sous-répertoires</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>niveaux</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le nombre de niveaux de sous-répertoires que comportera le +cache.</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var>chaîne-url</var> | <var>on</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Désactive la mise en cache des URLs +spécifiées</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>type de cache</var> [<var>chaîne +URL</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la mise en cache des URLs spécifiées en utilisant le +gestionnaire de stockage précisé</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>chemin fichier</var> [<var>chemin fichier</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Met en cache une liste de gestionnaires de fichiers au +démarrage</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute un en-tête X-Cache à la réponse.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore les en-têtes de requête enjoignant de ne pas servir +le contenu au client depuis le cache</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>en-tête</var> [<var>en-tête</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache. +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore le fait qu'une réponse ne possède pas d'en-tête Last +Modified.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore la chaîne de paramètres lors de la mise en +cache</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifiant</var> +[<var>identifiant</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore les identifiants de session définis encodés dans +l'URL lors de la mise en cache +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remplace l'URL de base des clés du cache mandatées en +inverse</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>flottant</var></a></td><td> 0.1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Le facteur utilisé pour générer une date d'expiration en +fonction de la date de dernière modification.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la protection contre les tempêtes de requêtes.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>entier</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit la durée de vie maximale d'un verrou de cache.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>répertoire</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le répertoire des verrous.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>secondes</var></a></td><td> 86400 (une journée) +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La durée maximale en secondes de mise en cache d'un +document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>octets</var></a></td><td> 1000000 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">>La taille maximale (en octets) d'un document pour pouvoir +être stocké dans le cache</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>secondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La durée minimale en secondes de mise en cache d'un +document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>octets</var></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La taille minimale (en octets) d'un document pour pouvoir +être stocké dans le cache</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Permet la mise en cache au niveau des serveurs mandataires +des documents dont le contenu a été négocié</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Exécute le cache à partir d'un gestionnaire rapide.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La quantité minimale (en octets) de données à lire et à +mettre en cache avant de les envoyer au client</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>millisecondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le temps minimum (en millisecondes) qui doit s'écouler +avant d'envoyer les données au client</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>répertoire</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">La racine du répertoire dans lequel les fichiers du cache +seront stockés</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Implémentation du cache d'objets partagés à utiliser</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>octets</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La taille maximale d'une entrée pouvant être placée dans le +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>secondes</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée maximale de stockage d'un document dans le cache +avant péremption</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La durée minimale de stockage d'un document dans le cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La quantité minimale de données du document à lire et +mettre en cache avant envoi au client</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>millisecondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La durée minimale de lecture avant l'envoi des données</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sert du contenu non à jour à la place de réponses 5xx.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Tente de mettre en cache les réponses que le serveur +considère comme arrivées à expiration</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Tente de mettre en cache les requêtes ou réponses dont +l'entête Cache-Control: a pour valeur no-store.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Tente de mettre en cache des réponses que le serveur a +marquées comme privées</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Durée maximale d'attente de la prochaine sortie du +programme CGI</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>chemin CGI</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique permettant de localiser l'interpréteur des +scripts CGI</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Active la transmission d'en-têtes d'autorisation HTTP aux scripts en +tant que variables CGI</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contrôle la manière dont certaines variables CGI sont définies</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>jeu de caractères</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Jeu de caractère vers lequel la traduction doit +s'effectuer</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Précise les détails de la traduction du jeu de +caractères</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>jeu de caractères</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Jeu de caractères source des fichiers</td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limite l'action du module aux corrections de +majuscules</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le module de correction</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>chemin-répertoire</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8).</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Active la génération d'un en-tête <code>Content-MD5</code> +dans la réponse HTTP</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domaine</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le domaine auquel le cookie traceur +s'applique</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>durée</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée avant expiration du cookie traceur</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute l'attribut 'HTTPOnly' au cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>symbole</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom du cookie traceur</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute l'attribut 'SameSite' au cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute l'attribut 'Secure' au cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format du champ d'en-tête cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le cookie traceur</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>répertoire</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Le répertoire dans lequel le serveur HTTP Apache va tenter de se +positionner avant d'effectuer un vidage mémoire</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>fichier</var>|<var>pipe</var> +<var>format</var>|<var>alias</var> +[env=[!]<var>variable-environnement</var>| +expr=<var>expression</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le nom et le format du fichier +journal</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>nom fournisseur</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active les méthodes HTTP WebDAV</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Autorise les requêtes PROPFIND avec en-tête Depth: +Infinity</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>chemin fichier</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin de la base de données des verrous DAV</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>chemin fichier</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Chemin de la base de données des verrous DAV</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la découverte des verrous</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>secondes</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée minimale pendant laquelle le serveur maintient un +verrou sur une ressource DAV</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>durée en secondes</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie des connexions inactives</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"instruction SQL"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Exécute une instruction SQL après connexion à une base de +données</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>nombre</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximum de connexions maintenues</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>nombre</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum de connexions</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>nombre</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre minimum de connexions</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>valeur1</var>[,<var>param2</var>=<var>valeur2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Paramètres de la connexion à la base de +données</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utiliser ou non des connexions persistentes</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"requête SQL"</var> <var>étiquette</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit une requête SQL préparée</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>nom</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie un pilote SQL</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>chemin URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icône à afficher par défaut lorsqu'aucun icône spécifique +n'est précisé</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>symbole-langue</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit un symbole de langue par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langue n'a été +associé.</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>chemin-répertoire</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Répertoire de base des fichiers créés au cours de l'exécution du serveur</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>type média|none</var></a></td><td> none </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Les seuls effets de cette directive sont des émissions +d'avertissements si sa valeur est différente de <code>none</code>. Dans +les versions précédentes, DefaultType permettait de spécifier un type de +média à assigner par défaut au contenu d'une réponse pour lequel aucun +autre type de média n'avait été trouvé. +</td></tr> +<tr><td><a href="core.html#define">Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Permet de définir une variable</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>valeur</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du fragment que zlib devra comprimer en une seule +fois</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>valeur</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Le niveau de compression que nous appliquons à la +sortie</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>nom de la note</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre le taux de compression sous la forme d'une note +à des fins de journalisation</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille maximale des corps de requête décompressés</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximal de fois que le ratio de décompression d'un +corps de requête peut être dépassé</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ratio de décompression maximum pour les corps de requêtes</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>valeur</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La quantité de mémoire utilisable par zlib pour la +compression</td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>valeur</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille de la fenêtre de compression zlib</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>hôte</var>|env=[!]<var>variable +d'environnement</var> +[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit quels hôtes ne sont pas autorisés à accéder au +serveur</td></tr> +<tr><td><a href="core.html#directory"><Directory <var>chemin répertoire</var>> +... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe un ensemble de directives qui ne s'appliquent +qu'au répertoire concerné du système de fichiers, à ses +sous-répertoires, et à leur contenu.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la réponse de ce module lorsqu'un autre +gestionnaire est utilisé</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + disabled | <var>url locale</var> [<var>url locale</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Liste des fichiers ressources à rechercher lorsque le +client envoie une requête pour un répertoire</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une redirection externe pour les index de +répertoires. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe des directives qui s'appliquent au contenu de répertoires +du système de fichiers correspondant à une expression rationnelle</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activation/Désactivation de la redirection "slash de +fin"</td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <var>chemin répertoire</var></a></td><td> "/usr/local/apache/ +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Racine principale de l'arborescence des documents visible +depuis Internet</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les privilèges requis par dtrace sont +activés.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enregistre toutes les entrées dans le journal des +erreurs</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre toutes les sorties dans le journal des +erreurs</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui ne s'appliquent que si la +condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la +requête à l'exécution</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent que si la +condition correspondante est satisfaite par une requête à l'exécution, +alors que la condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Active un hook ("point d'accrochage logiciel") qui exécute des +gestionnaires d'exception après un crash</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Utilise le support sendfile du noyau pour servir les +fichiers aux clients</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Interrompt la lecture de la configuration avec un message +d'erreur personnalisé</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <var>code erreur</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Document que le serveur renvoie au client en cas +d'erreur</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définition du chemin du journal des erreurs</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Spécification du format des entrées du journal des erreurs</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Directive de démonstration pour illustrer l'API des modules +Apache</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la génération d'en-têtes +<code>Expires</code></td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>type MIME</var> +<var><code>secondes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définition de la valeur de l'en-tête <code>Expires</code> +en fonction du type MIME</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>secondes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Mode de calcul par défaut de la date +d'expiration</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Extrait des informations d'état étendues pour chaque +requête</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit un filtre externe</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> NoLogStderr </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure les options de +<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code></td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>url-locale</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une URL par défaut pour les requêtes qui ne ciblent +aucun fichier</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>composant</var> ...</a></td><td> MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Caractéristiques de fichier utilisées lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr> +<tr><td><a href="core.html#files"><Files <var>nom fichier</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui s'appliquent aux fichiers +précisés</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>expression rationnelle</var>> ... +</FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>nom_filtre</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure la chaîne de filtrage</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>nom_filtre</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Déclare un filtre intelligent</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>nom_filtre</var> [<var>nom_fournisseur</var>] + <var>drapeaux_protocole</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Vérifie le respect du protocole HTTP</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>nom_filtre</var> <var>nom_fournisseur</var> + <var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre un filtre de contenu</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>nom_filtre</var> <var>niveau</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Obtention d'informations de débogage/diagnostique en +provenance de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <var>number</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximal de réponses en attente (pipelined) au-delà duquel +elles sont envoyées sur le réseau</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <var>number-of-bytes</var></a></td><td> 65536 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Seuil au-delà duquel les données en attente sont envoyées sur le +réseau</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action à entreprendre si un document acceptable unique +n'est pas trouvé</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <var>type médium</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Force le type de médium spécifié dans le champ d'en-tête +HTTP Content-Type pour les fichiers correspondants</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>nom-fichier</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom de fichier du journal légal</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le nom et le format du fichier journal</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire dans lequel écrire les données de profiling +gmon.out.</td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Spécifie le délai maximum après lequel le serveur va +s'arrêter dans le cas d'un arrêt "en douceur"</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>groupe unix</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Groupe sous lequel le serveur va traiter les +requêtes</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Contrôle la gestion des fichiers dans les réponses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on pour h2c, off po +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activation du protocole H2 Direct</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Contrôle l'envoi de codes d'état 103</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximal de flux actifs par session HTTP/2.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximal de secondes pendant lequel une unité de + traitement h2 pourra rester inactive sans être arrêtée.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximal de threads à utiliser pour chaque processus + enfant.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre minimal de threads à utiliser pour chaque processus + enfant.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Impose les connexions HTTP/2 en mode "TLS moderne" + seulement</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Contrôle la mise en tampon du flux de sortie</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie un intervalle de nombres d'octets de bourrage à + ajouter aux trames utiles</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Activation/désactivation du server push H2</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize n</a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du journal des Pushes H2</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Priorité des pushes H2</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Déclare des ressources à proposer ("pusher") au client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active/désactive la sérialisation du traitement des + requêtes/réponses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Quantité maximale de données en sortie mises en tampon par + flux.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée d'inactivité d'une connexion TLS avant diminution de + la taille des paquets</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille des paquets durant la phase initiale de la connexion + TLS</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on pour h2c, off po +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Activation/Désactivation du protocole de mise à jour H2</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale des paquets de données pour les transmissions client + vers serveur.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>en-tête</var> [[expr=]<var>valeur</var> +[<var>remplacement</var>] +[early|env=[!]<var>variable</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure les en-têtes d'une réponse HTTP</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>nom fichier</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Nom du fichier qui sera inséré au début de la page +contenant l'index</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Adresse multicast à laquelle envoyer les requêtes +heartbeat</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Adresse multicast d'écoute des requêtes entrantes heartbeat</td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>nombre-de-serveurs</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Spécifie le nombre maximal de serveurs qui pourront envoyer +des requêtes heartbeat à ce serveur.</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>chemin fichier</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin vers le stockage des données heartbeat lorsqu'on utilise un +fichier bidimensionnel (flat-file)</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>chemin-fichier</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Indique le chemin permettant de lire les données +heartbeat</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Active la recherche DNS sur les adresses IP des +clients</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Modifie les contraintes sur les messages des requêtes HTTP</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la journalisation de l'identité RFC 1413 de +l'utilisateur distant</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>secondes</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine le délai d'attente pour les requêtes +ident</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent que si une +condition est satisfaite au cours du traitement d'une +requête</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>paramètre</var>> ... + </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une directive particulière</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<var>filename</var>> ... + </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe des directives qui ne seront traitées que si un fichier +existe au démarrage</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>fichier module</var>|<var>identificateur +module</var>> ... </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ... + </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe des directives dont le traitement est conditionné par la +présence ou l'absence d'une section particulière</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>opérateur</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des portions de configuration dépendantes de la +version</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://nom_serveur/ +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Valeur par défaut de la directive <code>base</code> des +fichiers imagemap</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap</td></tr> +<tr class="odd"><td><a href="core.html#include">Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Inclut d'autres fichiers de configuration dans un des +fichiers de configuration du serveur</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional +<var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Inclusion de fichiers dans le fichier de configuration</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"marque ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Insère du texte dans la section HEAD de la page +d'index.</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>fichier</var> [<var>fichier</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ajouts à la liste des fichiers à cacher lors de l'affichage +de l'index d'un répertoire</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Vide la liste des fichiers à cacher lors de l'affichage du +contenu d'un répertoire</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Diverses options de configuration pour l'indexation d'un +répertoire</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit l'ordre d'affichage par défaut d'un index de +répertoire</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>chemin-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ajoute une feuille de style CSS à l'index du +répertoire</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>commande-sed</var></a></td><td></td><td>dh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">Commande sed à exécuter pour le filtrage des données d'une +requête (en général des données <code>POST</code>)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enregistrement des requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans le journal des erreurs</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre les requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans la partie arguments de la requête</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>chemin-fichier</var> +[<var>chemin-fichier</var>] +...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Fichiers .dll ISAPI devant être chargés au +démarrage</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>taille</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Active les connexions HTTP persistantes</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>nombre</var>[ms]</a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Durée pendant laquelle le serveur va attendre une requête +avant de fermer une connexion persistante</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>taille maximale en octets</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">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.</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>langage-MIME</var> [<var>langage-MIME</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'ordre de priorité des variantes de langages pour les +cas où le client n'a pas formulé de préférences</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>nombre</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum d'entrées dans le cache LDAP +primaire</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>secondes</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée pendant laquelle les entrées du cache restent +valides.</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Désactive les connexions d'arrière-plan qui sont restées +inactives trop longtemps au sein du jeu de connexions.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>secondes</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai d'attente en secondes de la socket de +connexion</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le débogage dans le SDK LDAP</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>nombre</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre d'entrées utilisées pour mettre en cache les +opérations de comparaison LDAP</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>secondes</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée pendant laquelle les entrées du cache d'opérations +restent valides</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>nombre</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le nombre maximum de redirections vers des serveurs +alternatifs (referrals) avant l'abandon de la requête +LDAP.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la redirection vers des serveurs alternatifs au +cours des requêtes vers le serveur LDAP.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>nombre d'essais</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nombre maximum de tentatives de connexions au +serveur LDAP.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>secondes</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le temps d'attente avant un autre essai de connexion au +serveur LDAP.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>chemin/fichier</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le fichier du cache en mémoire +partagée</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>octets</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille en octets du cache en mémoire partagée</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>secondes</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai d'attente pour les opérations de +recherche et d'identification LDAP en secondes</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> +<var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom de fichier contenant un certificat client ou +un alias renvoyant vers un certificat client spécifique à une connexion. +Tous les SDK LDAP ne supportent pas les certificats clients par +connexion.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> +<var>chemin/nom-fichier</var> <var>[mot de passe]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom de fichier ou la base de données contenant +les Autorités de Certification de confiance globales ou les certificats +clients globaux</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie le mode (SSL ou TLS) à utiliser lors de la +connexion à un serveur LDAP.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force la vérification du certificat du +serveur</td></tr> +<tr><td><a href="core.html#limit"><Limit <var>méthode</var> [<var>méthode</var>] ... > ... + </Limit></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite les contrôles d'accès que la section contient à +certaines méthodes HTTP</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ... + </LimitExcept></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine le nombre maximal de redirections internes et de +sous-requêtes imbriquées</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>octets</var></a></td><td> 1073741824 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">limite la taille maximale du corps de la requête HTTP +envoyée par le client</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>nombre</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le nombre de champs d'en-tête autorisés dans une +requête HTTP</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>octets</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Dédinit la taille maximale autorisée d'un en-tête de +requête HTTP</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>octets</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit la taille maximale d'une ligne de requête +HTTP</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>octets</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la taille maximale du corps d'une requête au format +XML</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>adresse IP</var>:]<var>numéro port</var> +[<var>protocole</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Les adresses IP et ports sur lesquels le serveur écoute</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBackLog <var>backlog</var></a></td><td> 511 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Longueur maximale de la liste d'attente des +connexions</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Rapport entre le nombre de coeurs de processeur activés et +le nombre de segments d'écoute</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>nom-fichier</em> [<em>nom-fichier</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Liaison du fichier objet ou de la bibliothèque +spécifié</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module nom-fichier</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Liaison avec le serveur du fichier objet ou de la +bibliothèque spécifié, et ajout de ce dernier à la liste des modules +actifs</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location + <var>chemin URL</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">N'applique les directives contenues qu'aux URLs +spécifiées</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">N'applique les directives contenues qu'aux URLs +correspondant à une expression rationnelle</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>alias</var> +[<var>alias</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Décrit un format utilisable dans un fichier +journal</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel [<var>module</var>:]<var>niveau</var> + [<var>module</var>:<var>niveau</var>] ... +</a></td><td> warn </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle la verbosité du journal des erreurs</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Enregistre des messages personnalisés dans le journal des +erreurs</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Branche une fonction fournisseur d'autorisation dans <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure le cache de code compilé.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase access_checker du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase auth_checker du +traitement de la requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /chemin/vers/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase check_user_id du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase de correction du +traitement de la requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase insert_filter du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet une insertion dans la phase de journalisation du +traitement d'une requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase map_to_storage du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase de pré-traduction du +traitement d'une requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée à la phase du nom de +traduction du traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase type_checker du +traitement de la requête</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle la manière dont les sections de configuration +parentes sont fusionnées dans les enfants</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Fournit une fonction Lua pour le filtrage en entrée</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler modele-uri /chemin/vers/lua/script.lua +[nom-fonction]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Met en correspondance un chemin avec un gestionnaire lua</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Fournit une fonction Lua pour le filtrage de contenu en +sortie</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /chemin/vers/include/?.soa</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute un répertoire au package.cpath de lua</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /chemin/vers/include/?.lua</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un répertoire au package.path de lua</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la gestion rapide du +traitement de la requête</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /chemin/vers/un/répertoire</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie le chemin de base pour la résolution des chemins +relatifs dans les directives de mod_lua</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>nom</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Définition d'une macro dans un fichier de configuration</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limite le nombre de connexions qu'un processus enfant va +traiter au cours de son fonctionnement</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>nombre</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Nombre de requêtes permises pour une connexion +persistante</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KOctets</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Quantité maximale de mémoire que l'allocateur principal est +autorisé à conserver sans appeler <code>free()</code></td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>nombre de + chevauchements</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Nombre de chevauchements de segments de données autorisé + (par exemple <code>100-200,150-300</code>) avant le renvoi de la + ressource complète</td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>nombre + d'inversions</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre d'inversions d'ordre autorisé dans la spécification des + segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la + ressource complète</td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>nombre de segments</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Nombre de segments de données autorisé avant le renvoi de +l'intégralité de la ressource</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximum de connexions pouvant être traitées +simultanément</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>nombre</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre maximum de processus serveurs enfants +inactifs</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximum de threads inactifs</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>nombre</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Définit le nombre maximum de threads esclaves</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit si le serveur global peut être géré ou seulement + les serveurs virtuels.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Type de négociation ACME utilisée pour prouver l'appartenance + du domaine.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Acceptation des conditions d'utilisation de l'autorité de + certification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Les URLs du service ACME de l'autorité de certification.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit un fichier de certificat statique pour le domaine géré.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit une clé privée statique pour le certificat + statique.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">L'URL d'un moniteur d'enregistrement de certificat.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Le protocole à utiliser avec l'autorité de certification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Extrait les informations publiques du certificat au format + JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Ancien nom de MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Spécifie un serveur mandataire pour les connexions + sortantes.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Nom d'hôte additionnel pour le domaine géré.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit si les alias de noms de domaines sont + automatiquement ajoutés.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Gère les évènements pour les domaines gérés</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit si les nouveaux certificats doivent avoir le + drapeau OCSP Must Staple activé.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Lance un programme lorsqu'un domaine géré est opérationnel.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit une liste de noms de domaines qui appartiennent à + un groupe.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Conteneur de directives à appliquer à un ou plusieurs + domaines gérés.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Mappage des ports externes avec les ports internes pour + vérifier à qui appartient le domaine.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le type et la taille des clés privées générées.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Contrôle le renouvellement des certificats.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le moment auquel un certificat doit être renouvelé.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Redirige le trafic http: vers https: pour les domaines + gérés.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si les informations à propos des domaines gérés + sont ajoutés ou non à server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Active l'agrafage pour les certificats non gérés par + mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'agrafage pour un ou plusieurs domaines.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Contrôle la durée au bout de laquelle les anciennes + réponses doivent être supprimées.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle l'ancienneté des réponses OCSP au dela de laquelle + ces dernières seront renouvelées.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Chemin dans le système de fichiers local du répertoire où + seront stockées les données à propos des domaines gérés.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit la fenêtre de temps pendant laquelle vous serez + informé de l'expiration prochaine d'un certificat.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de conservation des connexions inactives</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Fusion des slashes consécutifs dans les URLs par le serveur. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les données supplémentaires (trailers) sont +fusionnées avec les en-têtes</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>répertoire</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Le nom du répertoire où trouver les fichiers de +métainformations dans le style du CERN</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active le traitement des métafichiers du CERN</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffixe</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Suffixe du fichier contenant les métainformations dans le +style du CERN</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>chemin-fichier</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la détermination du type MIME en se basant sur le +contenu du fichier et en utilisant le fichier magique +spécifié</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>nombre</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre minimum de processus serveurs enfants +inactifs</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre minimum de threads inactifs qui seront disponibles +pour pouvoir traiter les pics de requêtes</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>chemin fichier</var> [<var>chemin fichier</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Charge au démarrage une liste de fichiers en mémoire</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Standard de modem à simuler</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Indique à <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> de traiter les éléments +de <code>path_info</code> en tant que parties du nom de +fichier</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)</td></tr> +<tr><td><a href="core.html#mutex">Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit les mécanismes de mutex et le repertoire du fichier +verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>adresse</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de +nom</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>domaine</var> [<var>domaine</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serveurs, domaines ou réseaux auquels on se connectera +directement</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>nom-fichier</var> +[<var>nom-fichier</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Liste de certificats clients supplémentaires</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>adresse-IP</var>:]<var>num-port</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> FollowSymlinks </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les fonctionnalités disponibles pour un répertoire +particulier</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordre</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le statut d'accès par défaut et l'ordre dans lequel +les directives <code class="directive">Allow</code> et +<code class="directive">Deny</code> sont évaluées.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>commande-sed</var></a></td><td></td><td>dh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">Commande sed pour le filtrage des contenus de type +réponse</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>var-env</var> [<var>var-env</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Transmet des variables d'environnement depuis le +shell</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>nom fichier</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Ficher dans lequel le serveur enregistre l'identificateur +de processus du démon</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">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.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocole</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocole pour une socket d'écoute</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Active ou désactive le serveur d'écho</td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocole</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocoles disponibles pour un serveur virtuel ou non</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine qui du client ou du serveur détermine l'ordre + des protocoles au cours de la négociation de la connexion</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>url-avec-jokers</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Conteneur de directives s'appliquant à des ressources +mandatées</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Transmission du message "100-continue" au serveur d'origine</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute des informations à propos du mandataire aux +en-têtes X-Forwarded-*</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine la manière de traiter les lignes d'en-tête +incorrectes d'une réponse</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>terme</var>|<var>serveur</var>|<var>domaine</var> +[<var>terme</var>|<var>serveur</var>|<var>domaine</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Termes, serveurs ou domaines bloqués par le +mandataire</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domaine</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom de domaine par défaut pour les requêtes +mandatées</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride Off|On [<var>code</var> ...]</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Outrepasser les pages d'erreur pour les contenus +mandatés</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Chemin du fichier DBM.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type de fichier DBM.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la fonctionnalité du module.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le type de l'application FastCGI d'arrière-plan</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'adapter la valeur des variables envoyées aux serveurs +FastCGI</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le jeu de caractères des listings FTP +mandatés</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Crée et nomme une expression conditionnelle à utiliser pour +déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Crée et nomme un modèle permettant de définir différents +paramètres de check up</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit la taille totale, pour l'ensemble du +serveur, du jeu de threads utilisé pour le check up des +équipiers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>nb-octets</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">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.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie un jeu de caractères pour la sortie de +mod_proxy_html.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une déclaration de type de document HTML ou XHTML.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Permet d'activer/désactiver le filtre proxy_html.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribut [attribut ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie les attributs à traiter comme des évènements de +type scripting.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">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.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Corrige les erreurs HTML simples.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Active la réinterprétation des règles +<code class="directive">ProxyHTMLURLMap</code> pour chaque requête.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <code><head></code>.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les commentaires HTML doivent être supprimés.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une règle de réécriture des liens HTML</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>octets</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine la taille du tampon interne de transfert de +données</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Conteneur de directives s'appliquant à des ressources +mandatées correspondant à une expression rationnelle</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>nombre</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximum de mandataires à travers lesquelles une +requête peut être redirigée</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var> + <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Référencer des serveurs distants depuis +l'espace d'URLs du serveur local</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Héritage des directives ProxyPass définies au niveau du +serveur principal</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active l'interpolation des variables d'environnement dans +les configurations de mandataires inverses</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> +[<var>clé=valeur</var> + <var>[clé=valeur</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fait correspondre des serveurs distants dans l'espace d'URL +du serveur local en utilisant des expressions rationnelles</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>chemin</var>] <var>url</var> +[interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée +par un serveur mandaté en inverse</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>domaine-interne</var> +<var>domaine-public</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajuste la chaîne correspondant au domaine dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>chemin-interne</var> +<var>chemin-public</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajuste la chaîne correspondant au chemin dans les en-têtes +Set-Cookie en provenance d'un serveur mandaté</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise l'en-tête de requête entrante Host pour la requête +du mandataire</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>octets</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille du tampon réseau pour les connexions mandatées HTTP +et FTP</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>comparaison</var> <var>serveur-distant</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Mandataire distant à utiliser pour traiter certaines +requêtes</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Le mandataire distant à utiliser pour traiter les requêtes +correspondant à une expression rationnelle</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la fonctionnalité (standard) de mandataire +direct</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active ou désactive les réponses de redirection interne en +provenance du serveur cible.</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>nom-en-tête</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'évaluation du pseudo en-tête de réponse +<var>X-Sendfile</var></td></tr> +<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit différents paramètres relatifs à la répartition de +charge des mandataires et aux membres des groupes de répartition de +charge</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>adresse</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit l'adresse IP locale pour les connexions mandatées +sortantes</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Affiche l'état du répartiteur de charge du mandataire dans +mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>secondes</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Délai d'attente réseau pour les requêtes +mandatées</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information fournie dans l'en-tête de réponse HTTP +<code>Via</code> pour les requêtes mandatées</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Demande à ce module de laisser <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> +gérer la requête</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Vérifie si la variable d'environnement REDIRECT_URL est +pleinement qualifiée</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Taille des tampons utilisés pour lire les données</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>nom-fichier</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Nom du fichier dont le contenu sera inséré à la fin de +l'index</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>octets</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon TCP en entrée</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>état</var>] [<var>URL-path</var>] +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Envoie une redirection externe demandant au client +d'effectuer une autre requête avec une URL différente</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>état</var>] <var>regex</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Envoie une redirection externe faisant appel aux +expressions rationnelles pour la mise en correspondance de l'URL +courante</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>chemin URL</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Envoie une redirection externe permanente demandant au +client d'effectuer une nouvelle requête avec une URL +différente</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>chemin URL</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Envoie une redirection externe temporaire demandant au +client d'effectuer une nouvelle requête avec une URL +différente</td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de vie du jeu de connexions avec le(s) serveur(s) Redis.</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée maximale de lecture/écriture sur la connexion avec le(s) +serveur(s) Redis.</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration des options globales par défaut pour les + expressions rationnelles</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>méthode</var> [<var>méthode</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enregistrement de méthodes HTTP non standards</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>en-tête</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le champ d'en-tête qui contiendra les adresses IP +du client</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy +<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>nom-fichier</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>Nom_en-tête</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare le champ d'en-tête qui contiendra toutes les +adresses IP intermédiaires</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive la gestion du protocole PROXY</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Désactive la prise en compte de l'en-tête PROXY pour certains hôtes +ou réseaux</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy +<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Déclare les adresses IP clientes de l'intranet dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>nom-fichier</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare les adresses IP intranet clients comme dignes de +confiance pour présenter la valeur RemoteIPHeader</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de langue à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>en-tête</var> [[expr=]<var>valeur</var> +[<var>remplacement</var>] +[early|env=[!]<var>variable</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure les en-têtes d'une requête HTTP</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>MinRate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>MinRate</var>] +</a></td><td> handshake=0 header= +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des délais maximums pour la négociation TLS, la réception +des en-têtes et/ou corps des requêtes en provenance du client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>nom-entité</var> [<var>nom-entité</var>] +...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Vérifie si un utilisateur authentifié a une +autorisation d'accès accordée par un fournisseur +d'autorisation.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe plusieurs directives d'autorisation dont aucune ne +doit échouer et dont au moins une doit retourner un résultat positif +pour que la directive globale retourne elle-même un résultat +positif.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Regroupe des directives d'autorisation dont au moins une +doit retourner un résultat positif pour que la directive globale +retourne elle-même un résultat positif.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives d'autorisation dont aucune ne doit +retourner un résultat positif pour que la directive globale n'échoue +pas.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>chemin_URL</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'URL de base pour les réécritures au niveau +répertoire</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>chaîne_de_test</em> <em>expression_de_comparaison</em> [<em>drapeaux</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une condition qui devra être satisfaite pour que +la réécriture soit effectuée +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active ou désactive l'exécution du +moteur de réécriture</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> [<em>MapTypeOptions</em>] +</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une fonction de mise en correspondance pour la +recherche de mots-clés</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure certaines options spéciales +pour le moteur de réécriture</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Modèle</em> <em>Substitution</em> [<em>drapeaux</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les règles pour le moteur de réécriture</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache httpd</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache httpd</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache httpd</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction entre le contrôle d'accès en fonction de l'hôte +et l'authentification utilisateur</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>chemin fichier</var></a></td><td> logs/apache_runtime +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Chemin du fichier où sont stockées les données concernant +la coordination des processus enfants</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>méthode</var> <var>script cgi</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active un script CGI dans le cas d'une méthode de requête +particulière.</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias [<var>chemin URL</var>] +<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Fait correspondre une URL à une zone du système de fichiers +et désigne la cible comme script CGI</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var> +<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fait correspondre une URL à une zone du système de fichiers +en faisant appel aux expressions rationnelles et en désignant la cible +comme un script CGI</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Permet de localiser l'interpréteur des scripts +CGI</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>chemin fichier</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin du fichier journal des erreurs du script +CGI</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>octets</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Taille maximale des requêtes PUT ou POST qui seront +enregistrées dans le journal du script</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>octets</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale du fichier journal des scripts +CGI</td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>chemin fichier</var></a></td><td> cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Le préfixe du nom de fichier du socket à utiliser pour +communiquer avec le démon CGI</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>adresse-IP</var>:]<var>num-port</var> +<var>nom-certificat</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active le chiffrement SSL pour le port +spécifié</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine si mod_status affiche les 63 premiers caractères +d'une requête ou les 63 derniers, en supposant que la requête +elle-même possède plus de 63 caractères.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>octets</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon TCP en sortie</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>adresse électronique</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">L'adresse électronique que le serveur inclut dans les +messages d'erreur envoyés au client</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>nom serveur</var> [<var>nom serveur</var>] +...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Autres noms d'un serveur utilisables pour atteindre des +serveurs virtuels à base de nom</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limite supérieure de la définition du nombre de +processus</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName +[<var>protocole</var>://]<var>nom-de-domaine</var>|<var>adresse-ip</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nom d'hôte et port que le serveur utilise pour +s'authentifier lui-même</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <var>chemin d'URL</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Nom de chemin d'URL hérité pour un serveur virtuel à base +de nom accédé par un navigateur incompatible</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>chemin de répertoire</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Racine du répertoire d'installation du +serveur</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit un pied de page pour les documents générés par le +serveur</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configure l'en-tête <code>Server</code> de la réponse +HTTP</td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ouvre une session pour le contexte courant</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom et attributs du cookie RFC2109 dans lequel la session +est stockée</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>algorithme</var></a></td><td> aes256 </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">L'algorithme à utiliser pour le chiffrement de la session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Le pilote de chiffrement à utiliser pour chiffrer les +sessions</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">La clé utilisée pour chiffrer la session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>nom-fichier</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Le fichier contenant les clés utilisées pour chiffrer la +session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>étiquette</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La requête SQL à utiliser pour supprimer des sessions de la +base de données</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>étiquette</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La requête SQL à utiliser pour insérer des sessions dans la +base de données</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active une session propre à un utilisateur</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>étiquette</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La requête SQL à utiliser pour sélectionner des sessions +dans la base de données</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>étiquette</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit si le contenu de la session doit être enregistré +dans la variable d'environnement <var>HTTP_SESSION</var></td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>chemin</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les préfixes d'URLs pour lesquels une session sera +ignorée</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (mise à jour syst +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>en-tête</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>chemin</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit les préfixes d'URL pour lesquels une session est +valide</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>durée de vie maximale</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une durée de vie maximale pour la session en +secondes</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>var-env</var> [<var>valeur</var>]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribut + regex [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction des +attributs de la requête</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr <em>expr + [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement en fonction d'une expression ap_expr</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribut regex + [!]env-variable</em>[=<em>valeur</em>] + [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|none|<var>expression</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Force le traitement des fichiers spécifiés par un +gestionnaire particulier</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les filtres par lesquels vont passer les requêtes +client et les données POST</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit les filtres par lesquels vont passer les réponses +du serveur</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Chaîne qui termine l'élément include</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Message d'erreur affiché lorsqu'une erreur SSI +survient</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si des en-têtes ETags sont générés par le serveur.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit si des en-têtes <code>Last-Modified</code> sont +générés par le serveur.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active le mode de compatibilité pour les expressions +conditionnelles.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Chaîne qui marque le début d'un élément +include</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>chaîne de formatage</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration du format d'affichage des dates</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>chaîne</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire des certificats de CA codés en PEM pour +l'authentification des clients</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la vérification des révocations basée sur les CRL</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant les certificats de CA du serveur codés en +PEM</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM ou identificateur de jeton</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la clé privée du serveur codée en +PEM</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (dépend de +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'activer la compression au niveau SSL</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>moteur</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'utilisation d'un accélérateur matériel de +chiffrement</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interrupteur marche/arrêt du moteur SSL</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Coimmutateur du mode SSL FIPS</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option permettant d'activer le support de la renégociation +non sécurisée</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'URI du répondeur par défaut pour la validation +OCSP</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la validation OCSP de la chaîne de certificats du +client</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Evite la vérification des certificats des répondeurs OCSP</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Adresse de mandataire à utiliser pour les requêtes OCSP</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un jeu de certificats de confiance du répondeur OCSP avec +encodage PEM</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>secondes</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Délai d'attente pour les requêtes OCSP</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>secondes</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Age maximum autorisé pour les réponses OCSP</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dérive temporelle maximale autorisée pour la validation des +réponses OCSP</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>commande</em> <em>valeur</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure différentes options d'exécution du moteur SSL</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocole</em> ...</a></td><td> all -SSLv3 (jusqu'à +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Indique les versions du protocole SSL/TLS +disponibles</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>chemin-répertoire</em></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>chemin-répertoire</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration de la vérification du champ CN du certificat +du serveur distant +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration de la vérification de l'expiration du +certificat du serveur distant +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure la vérification du nom d'hôte dans les +certificats serveur distants +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interrupteur marche/arrêt du moteur de mandataire +SSL</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>nom-fichier</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>chemin-fichier</em></a></td><td></td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>chemin-répertoire</em></a></td><td></td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocole</em> ...</a></td><td> all -SSLv3 (jusqu'à +</td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les protocoles SSL disponibles pour la fonction de +mandataire</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>niveau</em></a></td><td> none </td><td>svp</td><td>E</td></tr><tr><td class="descr" colspan="4">Niveau de vérification du certificat du serveur +distant</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>niveau</em></a></td><td> 1 </td><td>svp</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>contexte</em> <em>source</em> +[<em>nombre</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG)</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>taille</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la taille du tampon de renégociation +SSL</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type du cache de session SSL global et +inter-processus</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive les tickets de session TLS</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Source d'aléa pour utilisateur SRP inconnu</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin du fichier de vérification SRP</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration du cache pour l'agrafage OCSP</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>secondes</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie des réponses invalides dans le cache pour +agrafage OCSP</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Génère une réponse "tryLater" pour les requêtes OCSP échouées</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>secondes</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Temps d'attente maximum pour les requêtes vers les serveurs +OCSP</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>secondes</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Transmet au client les erreurs survenues lors des requêtes +OCSP</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>secondes</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de vie des réponses OCSP dans le cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>nom-var</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom de la variable servant à déterminer le nom de +l'utilisateur</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'ajout des réponses OCSP à la négociation TLS</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>niveau</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Niveau de vérification du certificat client</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>nombre</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Profondeur maximale des certificats de CA pour la +vérification des certificats clients</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre de processus enfants du serveur créés au +démarrage</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de threads créés au démarrage</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine si le nom d'hôte contenu dans une requête doit être +explicitement spécifié au niveau du serveur virtuel qui a pris en compte cette +dernière. + </td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/modèle/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Modèle de substition dans le contenu de la +réponse</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Modifie l'ordre de fusion des modèles hérités</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la longueur de ligne maximale</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Active ou désactive la fonctionnalité suEXEC</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>Utilisateur Groupe</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter</td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Le nombre de threads maximum que l'on peut définir par +processus enfant</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de threads créés par chaque processus +enfant</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>taille</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">La taille en octets de la pile qu'utilisent les threads qui +traitent les connexions clients</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>secondes</var></a></td><td> 60 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Temps pendant lequel le serveur va attendre certains +évènements avant de considérer qu'une requête a échoué</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>svp</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>svp</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine le comportement des requêtes +<code>TRACE</code></td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>fichier</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie l'emplacement d'un fichier journal</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>chemin-fichier</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le chemin du fichier <code>mime.types</code></td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>nom-variable</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Invalide la définition d'une variable</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>nom</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime une macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>var-env</var> [<var>var-env</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime des variables de l'environnement</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>nom</var> [<var>valeur1</var> ... <var>valeurN</var>] +</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Utilisation d'une macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit la manière dont le serveur détermine son propre nom +et son port</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la manière dont le serveur +détermine son propre port</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>utilisateur unix</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">L'utilisateur sous lequel le serveur va traiter les +requêtes</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ... +</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin des répertoires propres à un +utilisateur</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>identifiant-groupe-unix</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assigne des privilèges à un serveur virtuel.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>identifiant-utilisateur-unix</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet une configuration dynamique de la racine des +documents d'un serveur virtuel donné</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration dynamique de la racine des documents pour un +serveur virtuel donné</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <var>adresse IP</var>[:<var>port</var>] [<var>adresse + IP</var>[:<var>port</var>]] ...> ... + </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui ne s'appliquent qu'à un nom +d'hôte spécifique ou à une adresse IP</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Intervalle Watchdog en secondes</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>jeu-de-caractères alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des alias pour les valeurs d'encodage</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>nom</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit un encodage par défaut à utiliser lorsqu'aucune +information ne peut être <a href="#sniffing">automatiquement détectée</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>élément [élément ...]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Indique à l'interpréteur à partir de quelle balise il doit +commencer son traitement.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.ja.utf8 b/docs/manual/mod/quickreference.html.ja.utf8 new file mode 100644 index 0000000..9f172ef --- /dev/null +++ b/docs/manual/mod/quickreference.html.ja.utf8 @@ -0,0 +1,1178 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>ディレクティブ クイックリファレンス - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="preamble"><h1>ディレクティブ クイックリファレンス</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>ディレクティブ クイックリファレンスでは、各 Apache 設定ディレクティブの + 使用方法、デフォルト値、ステータスとコンテキストを示しています。 + 各ディレクティブの、より詳しい情報に関しては + <a href="directive-dict.html">ディレクティブ辞書</a>を + ご覧下さい。</p> + + <p>第 1 列目はディレクティブの名前と使用方法です。 + 第 2 列目は (もしあれば) デフォルト値となっています。 + デフォルト値が長すぎて表示しきれない場合は、途中まで表示した上で、、 + 「 + 」で続きがあることを示しています。</p> + + <p>第 3, 4 列は、下の表の注釈に従って、 + ディレクティブの使用できるコンテキストと、 + ディレクティブのステータスが示されています。</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>サーバ設定ファイル</td></tr> +<tr><th>v</th><td>バーチャルホスト</td></tr> +<tr><th>d</th><td>ディレクトリ</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th /><td /></tr> +</table></td> +<td><table><tr><th>C</th><td>Core</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>B</th><td>Base</td></tr> +<tr><th>E</th><td>Extension</td></tr> +<tr><th>X</th><td>Experimental</td></tr> +<tr><th>T</th><td>External</td></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocol</var> <var>accept_filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">プロトコルを Listen しているソケットの最適化を設定する</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">後に続くパス名情報を受け付けるリソースの指定</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">分散設定ファイルの名前</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>action-type</var> <var>cgi-script</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">特定のハンドラやコンテントタイプに対して CGI を実行するように +設定</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">アイコンの代わりに +表示される、ファイル名で選択された代替テキスト</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">アイコンの代わりに表示される、MIME 符号化方法で選択された +代替テキスト</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">アイコンの代わりに +表示される、MIME タイプで選択された代替テキスト</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">ファイル名の拡張子を指定された文字セットにマップする</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>charset</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">レスポンスのコンテントタイプが <code>text/plain</code> あるいは +<code>text/html</code> の場合に追加するデフォルトの charset パラメータ</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ファイルに対して表示する説明</td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>MIME-enc</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td /></tr><tr><td class="descr" colspan="4">ファイル名の拡張子を指定されたエンコーディング +にマップする</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">ファイル名の拡張子を指定されたハンドラにマップする</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> +[<var>name</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ファイルに表示するアイコンを名前で選択</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ファイルに表示するアイコンを MIME +符号化方法で選択</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ファイルの隣に表示するアイコンを +MIME タイプによって選択</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">ファイルの拡張子をクライアントのリクエストを処理する + フィルタにマップする</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>MIME-lang</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td /></tr><tr><td class="descr" colspan="4">ファイル名を指定された言語にマップ</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">server-info ハンドラにより表示されるモジュールの情報に +追加の情報を付け加える</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td /></tr><tr><td class="descr" colspan="4">ファイル名の拡張子をサーバからの応答を処理するフィルタに + マップする</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>MIME-type</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td /></tr><tr><td class="descr" colspan="4">ファイル名の拡張子を指定されたコンテントタイプにマップ</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">URL をファイルシステムの位置にマップする</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">正規表現を使って URL をファイルシステムの位置にマップする</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">サーバのある領域にアクセスできるホストを制御する</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">URL 中の符号化されたパス分離文字が先に伝えられるのを許可するかどうかを +決定する</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restrict access to the listed HTTP methods</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</a></td><td> All </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4"><code>.htaccess</code> で許可されるディレクティブの種類</td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">パスワードの検査無しでアクセスを許可する userID を指定する +</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">入力されたパスワードがエラーログにロギングされるかどうかを +設定する</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">空パスワードを許可するかどうかを指定する</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">空 userID を許可するかを指定する</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">パスワード欄が正しい形式の電子メールアドレスであることを +調べるかどうかを設定する</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>factor</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit concurrent connections per process</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">認証と承認を、より低いレベルのモジュールに移行させるかを +設定します。</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">この位置に対する認証プロバイダを設定します。</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">パスワードを保存するために必要なデータベースファイルの種類を +設定する</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">認証用のユーザとパスワードのリストを保持している +データベースファイル名を設定する</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest +authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">How long the server nonce is valid</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track +of clients</td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>fieldname</var></a></td><td> httpd_body </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable the CacheControl no-store header on the login page</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake a Basic Authentication header</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>fieldname</var></a></td><td> httpd_location </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of the page to be redirected to should login be required</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The URL of the page to be redirected to should login be successful</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL to redirect to after a user has logged out</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>fieldname</var></a></td><td> httpd_method </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>fieldname</var></a></td><td> httpd_mimetype </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>fieldname</var></a></td><td> httpd_password </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login password</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Bypass authentication checks for high traffic sites</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>size</var></a></td><td> 8192 </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>fieldname</var></a></td><td> httpd_username </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login username</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">証認に使用するユーザグループの一覧が格納されている、 +テキストファイルの名前を設定する</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>prefix</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for +group membership</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (remote use +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Number</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>LdapObjectClass</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Authorization realm for use in HTTP +authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a context string for use in the cache key</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable Authn caching configured anywhere</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>authn-provider</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify which authn provider(s) to cache for</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>provider-name[:provider-args]</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Select socache backend provider to use</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>timeout</var> (seconds)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">認証に使用するユーザとパスワードの一覧が格納されている、 +テキストファイルの名前を設定する</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the SQL Query for the required operation</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a query to look up a login page for the user</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store list of user groups</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember" /></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How the outgoing ETag header should be modified during compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum input block size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Compression quality</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Brotli sliding compression window size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">HTTP User-Agent に基づいて環境変数を設定する +</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP User-Agent に基づいて大文字小文字を区別せずに +環境変数を設定する</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">ディスクに書き出す前にメモリにログエントリをバッファする</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (1時間) </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">期日が指定されていないときにドキュメントをキャッシュするデフォルトの期間</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache-Detail header to the response.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">サブディレクトリ名の文字数</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">キャッシュのサブディレクトリの深さの数</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">特定の URL をキャッシュしない</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">指定したストレージ管理方式を使ってのキャッシュを有効にする</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache header to the response.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">キャッシュされているコンテンツを返さないようにクライアントから +リクエストされても無視する</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">指定された HTTP ヘッダをキャッシュに保存しない。 +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">応答に Last Modified が無くても気にしないようにする</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">キャッシュ時にクエリーストリングを無視する</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the base URL of reverse proxied cache keys.</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">LastModified の日付に基づいて有効期限 (expiry) +を計算するための重みを指定する +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (一日) </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">ドキュメントをキャッシュする最大時間を秒数で表したもの</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">キャッシュに保管されるドキュメントの最大の (バイトでの) サイズ</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>seconds</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">ドキュメントをキャッシュする最小秒数</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">キャッシュに保管されるドキュメントの最小限の (バイトでの) 大きさ</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">コンテントネゴシエーションされたドキュメントをプロキシサーバが +キャッシュできるようにする</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Run the cache from the quick handler.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize" /></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached before sending the data downstream</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime" /></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading before data is sent downstream</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">キャッシュファイルが保管されるルートディレクトリ</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The shared object cache implementation to use</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>bytes</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>seconds</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Serve stale content in place of 5xx responses.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server reports as expired</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">no-store と指定されているレスポンスのキャッシュを試みる。</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">private と指定されているレスポンスのキャッシュを試みる。</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The length of time to wait for more output from the +CGI program</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>cgi-path</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">CGI スクリプトのインタープリタの位置を調べるための手法</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls how some CGI variables are set</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">大文字小文字の修正だけ行うようにする</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">spelling モジュールを使用するようにする</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4"><code>Content-MD5</code> HTTP 応答ヘッダの生成を有効にする</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds the 'Secure' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Apache がコアダンプする前に移動を試みるディレクトリ +</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ログファイルの名前と書式を設定する</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">WebDAV HTTP メソッドを有効にします</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">PROPFIND, Depth: Infinity リクエストを許可します</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DAV ロックデータベースの場所</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">DAV ロックデータベースの位置</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable lock discovery</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">サーバが DAV リソースのロックを維持する最小時間です。 +</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"SQL statement"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Execute an SQL statement after connecting to a database</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">特定のアイコンが何も設定されていない時に +ファイルに表示するアイコン</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>MIME-lang</var></a></td><td></td><td>svdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">あるスコープのすべてのファイルを指定された言語に +設定する</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>directory-path</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Base directory for the server run-time files</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>MIME-type|none</var></a></td><td> text/plain </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">サーバがコンテントタイプを決定できないときに +送られる MIME コンテントタイプ</td></tr> +<tr><td><a href="core.html#define">Define <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">変数の存在を宣言する</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">zlib が一度に圧縮する塊の大きさ</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">出力に対して行なう圧縮の程度</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ロギング用に圧縮比をメモに追加</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">zlib が圧縮に使うメモリのレベルを指定</td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib の圧縮用ウィンドウの大きさ</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">サーバがアクセスを拒否するホストを制御する</td></tr> +<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">指定のファイルシステムのディレクトリとサブディレクトリとのみに +適用されるディレクティブを囲む</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle how this module responds when another handler is configured</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">クライアントがディレクトリをリクエストしたときに調べる +リソースのリスト</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures an external redirect for directory indexes. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">正規表現にマッチするファイルシステムのディレクトリと +サブディレクトリとのみに適用されるディレクティブを囲む</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">パス末尾のスラッシュでリダイレクトするかどうかのオンオフをトグルさせる</td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> /usr/local/apache/h +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">ウェブから見えるメインのドキュメントツリーになる +ディレクトリ</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">エラーログにすべての入力データをダンプ</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">エラーログにすべての出力データをダンプ</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only if the condition of a +previous <code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">クラッシュの後に例外ハンドラを実行するフックを有効にする</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">配送中にファイルを読み込むためにメモリマッピングを +使うかどうか</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">ファイルのクライアントへの配送時にカーネルの sendfile サポートを +使うかどうか</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Abort configuration parsing with a custom error message</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <var>error-code document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">エラーが発生したときにサーバがクライアントに送るもの</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">サーバがエラーをログ収集する場所</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Format specification for error log entries</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module +API</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4"><code>Expires</code> ヘッダの生成を有効にする</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">MIME タイプによって設定される <code>Expires</code> ヘッダの値</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">期限切れ期日を計算するデフォルトアルゴリズム</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off[*] </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Keep track of extended status information for each +request</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">外部フィルタを定義</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoLogS +</td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> のオプションを設定</td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F" /></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> INode MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">ETag HTTP 応答ヘッダを作成するために使用される +ファイルの属性</td></tr> +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">マッチするファイル名に適用されるディレクティブを囲む</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">正規表現にマッチするファイル名に適用される +ディレクティブを囲む</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <var>number</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <var>number-of-bytes</var></a></td><td> 65536 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Threshold above which pending data are flushed to the +network</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">要求に合う単独のドキュメントが見つからなかったときに行なうことを指定 +</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">すべてのマッチするファイルが指定の MIME コンテントタイプで +送られるようにする</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Forensic ログのファイル名を設定する</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutDownTimeout <var>seconds</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">穏やかな停止をかけた後、終了するまで待つ時間</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer +requests</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine file handling in responses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on for h2c, off for +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Direct Protocol Switch</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine sending of 103 status codes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of worker threads to use per child process.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimal number of worker threads to use per child process.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine buffering behaviour of output</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine the range of padding bytes added to payload frames</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize <em>n</em></a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Server Push Diary Size</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Priority</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Declares resources for early pushing to the client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serialize Request/Response Processing Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of output data buffered per stream.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on for h2c, off for +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Upgrade Protocol Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size of Stream Window for upstream data.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] set|append|add|unset|echo +<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">HTTP 応答ヘッダの設定</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> +インデックス一覧の先頭に挿入されるファイルの名前</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Multicast address for heartbeat packets</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">multicast address to listen for incoming heartbeat requests </td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>number-of-servers</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Path to store heartbeat data when using flat-file storage</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path to read heartbeat data</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">クライアントの IP アドレスの DNS ルックアップを +有効にする</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Modify restrictions on HTTP Request Messages</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">リモートユーザの RFC 1413 によるアイデンティティのロギングを +有効にする</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ident リクエストがタイムアウトするまでの期間を決める</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">実行時、リクエストが条件を満たした場合にのみ適用される +ディレクティブを包含する</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">起動時にテストが真であるときのみに処理されるディレクティブを +囲む</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<var>filename</var>> ... + </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">モジュールの存在するかしないかに応じて処理される +ディレクティブを囲む</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ... + </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">バージョン依存の設定を入れる</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling +an imagemap</td></tr> +<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">サーバ設定ファイル中から他の設定ファイルを取り込む</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">インデックスページの HEAD セクションにテキストを挿入する</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ディレクトリ一覧を行なう際に無視すべき +ファイルリストに追加</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Empties the list of files to hide when listing +a directory</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ディレクトリインデックスの様々な設定項目 +</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> +ディレクトリインデックスの標準の順番付けを設定</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ディレクトリインデックスに CSS スタイルシートを追加する</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">HTTP の持続的な接続を有効にする</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>seconds</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">持続的な接続で次のリクエストが来るまでサーバが待つ時間</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>maximum size in bytes</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">クライアントが優先度を示さなかったときの言語の variant の優先度を +指定</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable debugging in the LDAP SDK</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare +operations</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain +valid</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>number</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>number-of-retries</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the number of LDAP server retries.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>seconds</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the delay between LDAP server retries.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>seconds</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr> +<tr><td><a href="core.html#limit"><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">囲いの中にあるアクセス制御の適用を特定の HTTP メソッドのみに +制限する</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">指定されたもの以外の HTTP メソッドにアクセス制御を +制限する</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">内部リダイレクトと入れ子になったサブリクエストの最大数を決定する</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">クライアントから送られる HTTP リクエストのボディの +総量を制限する</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">クライアントからの HTTP リクエストのヘッダフィールドの数を +制限する</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">クライアントからの HTTP リクエストのヘッダの +サイズを制限する</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">クライアントからの HTTP リクエスト行のサイズを制限する</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">XML 形式のリクエストのボディのサイズを制限する</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">サーバが listen するIP アドレスとポート番号</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">保留状態のコネクションのキューの最大長</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">指定されたオブジェクトファイルやライブラリをリンクする</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">オブジェクトファイルやライブラリをリンクし、使用モジュールの +リストに追加する</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">囲んだディレクティブをマッチする URL のみに適用</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">囲んだディレクティブを正規表現にマッチする URL のみに +適用</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ログファイルで使用する書式を設定する</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable tracking of time to first byte (TTFB)</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">ErrorLog の冗長性を制御する</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Log user-defined message to error log +</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content input filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Map a path to a lua handler</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content output filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /path/to/include/?.soa</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /path/to/include/?.lua</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /path/to/a/directory</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a configuration file macro</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">持続的な接続上で許可されるリクエストの数</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4"><code>free()</code> が呼ばれない限り、 +主メモリアロケータが保持し続けられるメモリの最大量</td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>number-of-ranges</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of ranges allowed before returning the complete +resource </td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">アイドルな子サーバプロセスの最大個数</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">アイドルスレッドの最大数</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a static certificate file for the MD.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specify a static private key for for the static cerrtificate.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of a certificate log monitor.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">The protocol to use with the Certificate Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Exposes public certificate information in JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">former name of MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define a proxy for outgoing connections.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Additional hostname for the managed domain.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if the alias domain names are automatically added.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Handle events for Manage Domains</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Run a program when a Managed Domain is ready.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define list of domain names that belong to one group.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to the same managed domains.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map external to internal ports for domain ownership verification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set type and size of the private keys generated.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls if certificates shall be renewed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control if Managed Domain information is added to server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Enable stapling for certificates not managed by mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling for all or a particular MDomain.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls when old responses should be removed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when the stapling responses will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether trailers are merged into headers</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information +files</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containing CERN-style +meta information</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">アイドルな子サーバプロセスの最小個数</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">リクエストに応答することのできる +アイドルスレッド数の最小数</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Modem standard to simulate</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td /></tr><tr><td class="descr" colspan="4"><code>path_info</code> コンポーネントをファイル名の一部として扱うように +<code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> に通知する</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">MultiViews でのマッチングの検索に含ませる +ファイルのタイプを指定する</td></tr> +<tr><td><a href="core.html#mutex">Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">名前ベースのバーチャルホストのための IP アドレスを指定</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">直接接続する ホスト、ドメイン、ネットワーク</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">ディレクトリに対して使用可能な機能を設定する</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">デフォルトのアクセス可能な状態と、<code class="directive">Allow</code> と +<code class="directive">Deny</code> が評価される順番を制御する</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command for filtering response content</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">シェルからの環境変数を渡す</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">デーモンのプロセス ID +をサーバが記録するためのファイル</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocol for a listening socket</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">エコーサーバの有効無効を設定します。</td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocol</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocols available for a server/virtual host</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>wildcard-url</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシされるリソースに適用されるコンテナ</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Forward 100-continue expectation to the origin server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add proxy information in X-Forwarded-* headers</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">応答におかしなヘッダがある場合の扱い方を決める</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシ接続を禁止する語句、ホスト名、ドメインを指定する</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシされたリクエストのデフォルトのドメイン名</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシされたコンテンツのエラーページを上書きする</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Pathname to DBM file.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DBM type of file.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the module functionality.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify the type of backend FastCGI application</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Creates a named template for setting various health check parameters</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>Charset | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify a charset for mod_proxy_html output.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets an HTML or XHTML document type declaration.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns the proxy_html filter on or off.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribute [attribute ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify attributes to treat as scripting events.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fixes for simple HTML errors.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to strip HTML comments.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Defines a rule to rewrite HTML links</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">内部データスループットバッファのサイズを決定する</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">正規表現でのマッチによるプロキシリソース用のディレクティブコンテナ</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">リクエストがフォワードされるプロキシの最大数</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">リモートサーバをローカルサーバの URL 空間にマップする</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Inherit ProxyPass directives defined from the main server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv" /></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch" /></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">リバースプロキシされたサーバから送られた HTTP 応答ヘッダの +URL を調整する</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> <var>public-domain</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">リバースプロキシサーバからの Set-Cookie ヘッダの Domain 文字列を +調整する</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var> <var>public-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Reverse プロキシサーバからの Set-Cookie ヘッダの Path 文字列を +調整する</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシリクエストに、受け付けた Host HTTP ヘッダを使う</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシされる HTTP と FTP 接続のためのネットワークバッファサイズ</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">特定のリクエストを扱う時に使われるリモートプロキシを指定する</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">正規表現でのマッチによるリクエストを扱うリモートプロキシの指定</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">フォワード (標準の) プロキシリクエストを有効にする</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the +backend</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><td><a href="mod_proxy.html#proxyset" /></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>address</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set local IP address for outgoing proxy connections</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus" /></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">プロキシされたリクエストのネットワークタイムアウト</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">プロキシされたリクエストの <code>Via</code> HTTP 応答ヘッダ +により提供される情報</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the buffers used to read data</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">インデックス一覧の最後に挿入されるファイルの名前</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP 受信バッファサイズ</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] <var>URL-path</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">クライアントが違う URL を取得するように外部へのリダイレクトを +送る</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">現在の URL への正規表現のマッチにより +外部へのリダイレクトを送る</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">クライアントが違う URL を取得するように外部への永久的な +リダイレクトを送る</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">クライアントが違う URL を取得するように外部への一時的な +リダイレクトを送る</td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Reflect an input header to the output headers</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Allow to configure global/default options for regexes</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Register non-standard HTTP methods</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>header-field</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>HeaderFieldName</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare the header field which will record all intermediate IP addresses</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable PROXY protocol handling</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">ファイルの拡張子に関連付けられたすべての文字セット +を解除する</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td /></tr><tr><td class="descr" colspan="4">ファイルの拡張子に関連付けられたすべてのコンテントエンコーディング +を解除する</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">ファイルの拡張子に関連付けられたすべてのハンドラを +解除する</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td /></tr><tr><td class="descr" colspan="4">ファイル拡張子に関連付けられた入力フィルタを解除する</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">ファイル拡張子に関連付けられた言語を解除する</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td /></tr><tr><td class="descr" colspan="4">ファイル拡張子に関連付けられた出力フィルタを解除する</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">ファイルの拡張子と関連付けられたコンテントタイプを +解除する</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader set|append|add|unset <var>header</var> +[<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">HTTP リクエストヘッダの設定</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</a></td><td> handshake=0 header= +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Apache の子プロセスから起動されたプロセスの CPU 消費量を +制限する</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Apache の子プロセスから起動されたプロセスのメモリ消費量を +制限する</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Apache の子プロセスから起動されたプロセスが起動するプロセスの +数を制限する</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ホストレベルのアクセス制御とユーザ認証との相互作用を指定</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">子プロセスと連携するためのデータを保存する +ファイルの位置</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">特定のリクエストメソッドに対して CGI スクリプトを +実行するように設定</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">URL をファイルシステムの位置へマップし、マップ先を +CGI スクリプトに指定</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">URL を正規表現を使ってファイルシステムの位置へマップし、マップ先を +CGI スクリプトに指定</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">CGI スクリプトのインタープリタの位置を調べるための手法</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">CGI スクリプトのエラーログファイルの場所</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <em>bytes</em></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">スクリプトログに記録される PUT や POST リクエストの内容の上限</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">CGI スクリプトのログファイルの大きさの上限</td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> logs/cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">CGI デーモンとの通信に使われるソケットのファイル名の接頭辞</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP バッファサイズ</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">サーバがクライアントに送るエラーメッセージに含める電子メールの +アドレス</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>hostname</var> [<var>hostname</var>] ...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">リクエストを名前ベースのバーチャルホストにマッチさせているときに +使用されるホストの別名</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">設定可能なサーバプロセス数の上限</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">サーバが自分自身を示すときに使うホスト名とポート</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">非互換のブラウザが名前ベースのバーチャルホストにアクセスしたときの +ための互換用 URL パス名</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>directory-path</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">インストールされたサーバのベースディレクトリ</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">サーバが生成するドキュメントのフッタを設定</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4"><code>Server</code> HTTP 応答ヘッダを設定する</td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables a session for the current directory or location</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>name</var></a></td><td> aes256 </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The crypto cipher to be used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The crypto driver to be used to encrypt the session</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The key used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>filename</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">File containing keys used to encrypt the session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>label</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to remove sessions from the database</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>label</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to insert sessions into the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable a per user session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>label</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to select sessions from the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>label</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to update existing sessions in the database</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define URL prefixes for which a session is ignored</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (always update) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>header</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>maxage</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> <var>value</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">環境変数を設定する</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">リクエストの属性に基づいて環境変数を設定する +</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr" /></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on an ap_expr expression</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">リクエストの属性に基づいて大文字小文字を区別せずに環境変数を設定する</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|None</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">マッチするファイルがハンドラで処理されるようにする</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">クライアントのリクエストや POST の入力を処理するフィルタを設定する</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">サーバの応答を処理するフィルタを設定する</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">include 要素を終了させる文字列</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">SSI のエラーがあったときに表示されるエラーメッセージ</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable compatibility mode for conditional expressions.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">include 要素を開始する文字列</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">日付けを現す文字列の書式を設定する</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">未定義の変数が echo されたときに表示される文字列</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable CRL-based revocation checking</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded private key file</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (depends on +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable compression on the SSL level</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the default responder URI for OCSP validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable OCSP validation of the client certificate chain</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">skip the OCSP responder certificates verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force use of the default responder URI for OCSP validation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Proxy URL to use for OCSP requests</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP responses</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL/TLS protocol versions</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificate's CN field +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure host name checking for remote server certificates +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session +Cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable use of TLS session tickets</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SRP unknown user seed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path to SRP verifier file</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>seconds</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP stapling responses</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pass stapling related OCSP errors on to client</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>seconds</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">起動時に生成される子サーバプロセスの数</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">起動時に生成されるスレッドの数</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum line size</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">CGI プログラムのユーザパーミッション、グループパーミッション</td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">設定可能な子プロセス毎のスレッド数の上限を +設定します</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">子プロセスそれぞれに生成されるスレッド数</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">クライアントのコネクションを受け持つスレッドが使用する +スタックのバイト数</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 60 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">各イベントについて、リクエストを失敗させるまでにサーバが +待つ時間を設定</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4"><code>TRACE</code> メソッドのリクエストに対する応答方法を決める +</td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ログファイルの位置を指定</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td /></tr><tr class="odd"><td class="descr" colspan="4"><code>mime.types</code> ファイルの位置</td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Undefine the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>name</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Undefine a macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">環境から変数を取り除く</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Use a macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|Dns</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">サーバが自分自身の名前とポートを決定する方法を設定する</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">自分自身の名前とポート番号を解決する方法を設定する +</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer +requests</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ユーザ専用ディレクトリの位置</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>unix-groupid</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Sets the Group ID under which a virtual host runs.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>unix-userid</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the User ID under which a virtual host runs.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">特定のホスト名や IP アドレスのみに適用されるディレクティブを +囲む</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Watchdog interval in seconds</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">実行ビットが設定されたファイルの SSI ディレクティブを +解析する</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>element [element ...]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Advise the parser to skip leading junk.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.ko.euc-kr b/docs/manual/mod/quickreference.html.ko.euc-kr new file mode 100644 index 0000000..0f7dd4e --- /dev/null +++ b/docs/manual/mod/quickreference.html.ko.euc-kr @@ -0,0 +1,1206 @@ +<?xml version="1.0" encoding="EUC-KR"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head> +<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>þ - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./"></a></div> +<div id="preamble"><h1>þ </h1> +<div class="toplang"> +<p><span> : </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> +<div class="outofdate"> ֽ ƴմϴ. + ֱٿ ϼ.</div> + + <p> ġ þ 뵵, ⺻, , + Ҹ ش. ̵ <a href="directive-dict.html">þ </a> Ѵ.</p> + + <p>ù° þ ̸ 뵵 ˷ش. ι° + þ ⺻ ִٸ ⺻ ش. ⺻ + ʹ ٸ, "+" ȣ ˸.</p> + + <p>° ° Ʒ ǥ þ + ִ ҿ þ ¸ Ÿ.</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>ּ</td></tr> +<tr><th>v</th><td>ȣƮ</td></tr> +<tr><th>d</th><td>directory</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th /><td /></tr> +</table></td> +<td><table><tr><th>C</th><td>Core</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>B</th><td>Base</td></tr> +<tr><th>E</th><td>Extension</td></tr> +<tr><th>X</th><td>Experimental</td></tr> +<tr><th>T</th><td>External</td></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocol</var> <var>accept_filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures optimizations for a Protocol's Listener Sockets</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Resources accept trailing pathname information</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Name of the distributed configuration file</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>action-type</var> <var>cgi-script</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ư ڵ鷯 content-type CGI ũƮ +Ѵ</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ϸ ܴ </td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">MIME-encoding ܴ +</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">MIME content-type ܴ +</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified content +charset</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>charset</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Default charset parameter to be added when a response +content-type is <code>text/plain</code> or <code>text/html</code></td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ͽ </td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>encoding</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding +type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the filename extensions to the specified +handler</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4"≯ Ͽ </td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">MIME content-encoding Ͽ </td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">MIME content-type Ͽ </td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process +client requests</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>language-tag</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extension to the specified content +language</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> ߰ server-info ڵ鷯 ֵ +߰Ѵ</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>media-type</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions onto the specified content +type</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">URL Ư Ͻý ҷ Ѵ</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ǥ Ͽ URL Ͻý ҷ +Ѵ</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts can access an area of the +server</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to +be passed through</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restrict access to the listed HTTP methods</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</a></td><td> None (2.3.9 and lat +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ȣ˻ ̵ +Ѵ</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Է ȣ α </td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ȣ </td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4"> ̵ </td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">ȣ ùٸ ڿ ּ ˻ +</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>factor</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit concurrent connections per process</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> Ѻο Ѱ Ѵ</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider On|Off|<var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> ġ ڸ Ѵ</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> ϴ ͺ̽ +ϸ Ѵ</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">ȣ ϴ ͺ̽ +Ѵ</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> ڿ ȣ ϴ ͺ̽ +ϸ Ѵ</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>X</td></tr><tr><td class="descr" colspan="4">digest authentication challenge response +hash ϴ ˰ Ѵ</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">digest authentication ȣ ϴ +URI</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>X</td></tr><tr><td class="descr" colspan="4"> nonce ȿ Ⱓ</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider On|Off|<var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> On </td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4"> ġ ڸ Ѵ</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>X</td></tr><tr><td class="descr" colspan="4">digest authentication +ȣ(quality-of-protection) Ѵ.</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Ŭ̾Ʈ ϱ Ҵϴ </td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>fieldname</var></a></td><td> httpd_body </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable the CacheControl no-store header on the login page</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake a Basic Authentication header</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>fieldname</var></a></td><td> httpd_location </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of the page to be redirected to should login be required</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The URL of the page to be redirected to should login be successful</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL to redirect to after a user has logged out</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>fieldname</var></a></td><td> httpd_method </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>fieldname</var></a></td><td> httpd_mimetype </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>fieldname</var></a></td><td> httpd_password </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login password</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Bypass authentication checks for high traffic sites</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>size</var></a></td><td> 8192 </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>fieldname</var></a></td><td> httpd_username </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login username</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> ϴ ϸ +Ѵ</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>prefix</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for +group membership</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (remote use +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Number</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>LdapObjectClass</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Authorization realm for use in HTTP +authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a context string for use in the cache key</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable Authn caching configured anywhere</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>authn-provider</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify which authn provider(s) to cache for</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>provider-name[:provider-args]</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Select socache backend provider to use</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>timeout</var> (seconds)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4"> ڸ ȣ ϴ ϸ +Ѵ</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the SQL Query for the required operation</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a query to look up a login page for the user</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">ȣ ϴ ͺ̽ Ѵ</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How the outgoing ETag header should be modified during compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum input block size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Compression quality</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Brotli sliding compression window size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">HTTP User-Agent ȯ溯 Ѵ</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ҹڸ ʰ User-Agent ȯ溯 +Ѵ</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs" /></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ð ij ⺻ Ⱓ.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader" /></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache-Detail header to the response.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">丮 ڰ</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 3 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij 丮 .</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Ư URL ij ʴ´</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4"> ڸ Ͽ URL ijѴ</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">۽ ڵ ijѴ</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader" /></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache header to the response.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Ŭ̾Ʈ ijʴ û Ѵ.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij HTTP () ʴ´ +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">信 Last Modified ٴ Ѵ.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring" /></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers" /></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl" /></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Override the base URL of reverse proxied cache keys.</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">LastModified ð ð ϴµ ϴ +.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock" /></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage" /></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath" /></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (Ϸ) </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4"> ijϴ ʴ ִð</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij ִũ (Ʈ )</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire" /></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The minimum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ij ּũ (Ʈ )</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be +cached by proxy servers</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler" /></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Run the cache from the quick handler.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize" /></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached before sending the data downstream</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime" /></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">ij 丮 root</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The shared object cache implementation to use</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>bytes</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>seconds</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror" /></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Serve stale content in place of 5xx responses.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired" /></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server reports as expired</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore" /></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate" /></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The length of time to wait for more output from the +CGI program</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>cgi-path</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls how some CGI variables are set</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ȯ </td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoImpl +</td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4"> ȯ </td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4"> </td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly" /></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4"> Ѵ</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables the generation of <code>Content-MD5</code> HTTP Response +headers</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds the 'Secure' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory where Apache HTTP Server attempts to +switch before dumping core</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">α ̸ Ѵ</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">WebDAV HTTP 带 Ѵ</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">PROPFIND Depth: Infinity û 㰡Ѵ</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">DAV ͺ̽ ġ</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable lock discovery</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4"> DAV ڿ ּҽð</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"SQL statement"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Execute an SQL statement after connecting to a database</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ư Ͽ </td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>language-tag</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>directory-path</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Base directory for the server run-time files</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>media-type|none</var></a></td><td> none </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">This directive has no effect other than to emit warnings +if the value is not <code>none</code>. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +</td></tr> +<tr><td><a href="core.html#define">Define <var>parameter-name</var> [<var>parameter-value</var>]</a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Define a variable</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">zlib ѹ ũ</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4"> ϴ°</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> α Ѵ</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">zlib Ҷ ϴ </td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib window size</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the +server</td></tr> +<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle how this module responds when another handler is configured</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ŭ̾Ʈ 丮 ûҶ ãƺ ڿ </td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures an external redirect for directory indexes. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to +the contents of file-system directories matching a regular expression.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> ̷ Ű </td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> "/usr/local/apache/ +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory that forms the main document tree visible +from the web</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all input data to the error log</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only if the condition of a +previous <code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Enables a hook that runs exception handlers +after a crash</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Use memory-mapping to read files during delivery</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Use the kernel sendfile support to deliver files to the client</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Abort configuration parsing with a custom error message</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <var>error-code</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">What the server will return to the client +in case of an error</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Location where the server will log errors</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Format specification for error log entries</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">ġ API ϱ þ</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4"><code>Expires</code> Ѵ</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">MIME type <code>Expires</code> Ѵ</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">ð ϴ ⺻ ˰</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off[*] </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Keep track of extended status information for each +request</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">ܺ Ѵ</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> DebugLevel=0 NoLogS +</td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ɼ Ѵ</td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F" /></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">File attributes used to create the ETag +HTTP response header for static files</td></tr> +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to matched +filenames</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to regular-expression matched +filenames</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <var>number</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <var>number-of-bytes</var></a></td><td> 65536 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Threshold above which pending data are flushed to the +network</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not +found</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer +requests</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine file handling in responses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on for h2c, off for +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Direct Protocol Switch</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine sending of 103 status codes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of worker threads to use per child process.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimal number of worker threads to use per child process.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine buffering behaviour of output</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine the range of padding bytes added to payload frames</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize <em>n</em></a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Server Push Diary Size</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Priority</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Declares resources for early pushing to the client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serialize Request/Response Processing Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of output data buffered per stream.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on for h2c, off for +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Upgrade Protocol Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size of Stream Window for upstream data.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] set|append|add|unset|echo +<var>header</var> [<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">HTTP Ѵ</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ϸ ̸</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Multicast address for heartbeat packets</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">multicast address to listen for incoming heartbeat requests </td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>number-of-servers</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Path to store heartbeat data when using flat-file storage</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path to read heartbeat data</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Modify restrictions on HTTP Request Messages</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> RFC 1413 ſ α Ѵ</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">ident û ð Ѵ</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if a test is true at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<var>filename</var>> ... + </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific module</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ... + </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> ´</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">̹ Ͽ <code>base</code> ⺻</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">̹ʿ ش ʴ ǥ + ⺻ ൿ</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ǥ ̹ û ൿ</td></tr> +<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert" /></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">丮 Ͽ ϸ ߰Ѵ</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Empties the list of files to hide when listing +a directory</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">丮 </td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">丮 ⺻ Ѵ</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">丮 Ͽ CSS ŸϽƮ ߰Ѵ</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI exntension <code>HSE_APPEND_LOG_PARAMETER</code> +û α Ѵ</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ISAPI exntension <code>HSE_APPEND_LOG_PARAMETER</code> +û ǹڿ Ѵ</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4"> Ҷ о ISAPI .dll ϵ</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> ISAPI ݹ ϴ ôѴ</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI extension ʴ ûϸ +α Ѵ</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ISAPI extension ̸б(read ahead buffer) +ũ</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>num</var>[ms]</a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent +requests on a persistent connection</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>maximum size in bytes</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable debugging in the LDAP SDK</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare +operations</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain +valid</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>number</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>number-of-retries</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the number of LDAP server retries.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>seconds</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the delay between LDAP server retries.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>seconds</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr> +<tr><td><a href="core.html#limit"><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested +subrequests</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 1073741824 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent +from the client</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that +will be accepted from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the +client</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted +from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server +listens to</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBackLog <var>backlog</var></a></td><td> 511 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4"> ̳ ̺귯 оδ</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">̳ ̺귯 о̰, 밡 + Ͽ ߰Ѵ</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to matching +URLs</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression +matching URLs</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">αϿ Ѵ</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable tracking of time to first byte (TTFB)</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel [<var>module</var>:]<var>level</var> + [<var>module</var>:<var>level</var>] ... +</a></td><td> warn </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Log user-defined message to error log +</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content input filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Map a path to a lua handler</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content output filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /path/to/include/?.soa</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /path/to/include/?.lua</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /path/to/a/directory</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a configuration file macro</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent +connection</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed +to hold without calling <code>free()</code></td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>number-of-ranges</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of ranges allowed before returning the complete +resource </td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a static certificate file for the MD.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specify a static private key for for the static cerrtificate.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of a certificate log monitor.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">The protocol to use with the Certificate Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Exposes public certificate information in JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">former name of MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define a proxy for outgoing connections.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Additional hostname for the managed domain.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if the alias domain names are automatically added.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Handle events for Manage Domains</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Run a program when a Managed Domain is ready.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define list of domain names that belong to one group.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to the same managed domains.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map external to internal ports for domain ownership verification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set type and size of the private keys generated.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls if certificates shall be renewed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control if Managed Domain information is added to server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Enable stapling for certificates not managed by mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling for all or a particular MDomain.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls when old responses should be removed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when the stapling responses will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether trailers are merged into headers</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">CERN Ÿ ã 丮 ̸</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">CERN Ÿ óѴ</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">CERN Ÿ ϴ ̻</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request +spikes</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">۽ Ѵ</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Modem standard to simulate</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code> +components as part of the filename</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><td><a href="core.html#mutex">Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">DEPRECATED: Designates an IP address for name-virtual +hosting</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to +directly</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> FollowSymlinks </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures what features are available in a particular +directory</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command for filtering response content</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4"> ȯ溯 ´</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID +of the daemon</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocol for a listening socket</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">echo Ű </td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocol</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocols available for a server/virtual host</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>wildcard-url</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Forward 100-continue expectation to the origin server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add proxy information in X-Forwarded-* headers</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a +response</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being +proxied</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride Off|On [<var>code</var> ...]</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Pathname to DBM file.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DBM type of file.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the module functionality.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify the type of backend FastCGI application</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Creates a named template for setting various health check parameters</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>Charset | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify a charset for mod_proxy_html output.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets an HTML or XHTML document type declaration.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns the proxy_html filter on or off.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribute [attribute ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify attributes to treat as scripting events.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fixes for simple HTML errors.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to strip HTML comments.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Defines a rule to rewrite HTML links</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched +proxied resources</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of proxies that a request can be forwarded +through</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Inherit ProxyPass directives defined from the main server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var> +[interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> +<var>public-domain</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var> +<var>public-path</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy +request</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP +connections</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the +backend</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>address</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set local IP address for outgoing proxy connections</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response +header for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the buffers used to read data</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ϸ ̸</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] <var>URL-path</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ŭ̾Ʈ ٸ URL ϵ ûϴ ܺ +̷ </td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4"> URL ǥĿ شϸ ܺ ̷ +</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ŭ̾Ʈ ٸ URL ϵ ûϴ ܺ + ̷ </td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ŭ̾Ʈ ٸ URL ϵ ûϴ ܺ +ӽ ̷ </td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Reflect an input header to the output headers</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Allow to configure global/default options for regexes</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Register non-standard HTTP methods</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>header-field</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>HeaderFieldName</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare the header field which will record all intermediate IP addresses</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable PROXY protocol handling</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any character set associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content encoding associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any handler associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any input filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any language associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any output filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content type associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader set|append|add|unset <var>header</var> +[<var>value</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">HTTP û Ѵ</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</a></td><td> handshake=0 header= +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the CPU consumption of processes launched +by Apache httpd children</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the memory consumption of processes launched +by Apache httpd children</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of processes that can be launched by +processes launched by Apache httpd children</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and +user authentication</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_runtime +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the file used to store coordination data for +the child processes</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ư û忡 CGI ũƮ +Ѵ.</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias <var>URL-path</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">URL Ư Ͻý ҷ ϰ CGI +ũƮ ˸</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ǥ Ͽ URL Ư Ͻý ҷ +ϰ CGI ũƮ ˸</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">CGI ũƮ α ġ</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ũƮ α PUT Ȥ POST û ִ뷮</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">CGI ũƮ α ũ </td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> logs/cgisock </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">cgi ̸</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP buffer size</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Email address that the server includes in error +messages sent to the client</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>hostname</var> [<var>hostname</var>] ...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate names for a host used when matching requests +to name-virtual hosts</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName [<var>scheme</var>://]<var>domain-name</var>|<var>ip-address</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Hostname and port that the server uses to identify +itself</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>directory-path</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Base directory for the server installation</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures the footer on server-generated documents</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the <code>Server</code> HTTP response +header</td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables a session for the current directory or location</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>name</var></a></td><td> aes256 </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The crypto cipher to be used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The crypto driver to be used to encrypt the session</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The key used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>filename</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">File containing keys used to encrypt the session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>label</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to remove sessions from the database</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>label</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to insert sessions into the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable a per user session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>label</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to select sessions from the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>label</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to update existing sessions in the database</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define URL prefixes for which a session is ignored</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (always update) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>header</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>maxage</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> <var>value</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ȯ溯 Ѵ</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">û ȯ溯 Ѵ</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr" /></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on an ap_expr expression</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ҹڸ ʰ û ȯ溯 +Ѵ</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|none|<var>expression</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be processed by a +handler</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the filters that will process client requests and POST +input</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Sets the filters that will process responses from the +server</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Error message displayed when there is an SSI +error</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable compatibility mode for conditional expressions.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">String that starts an include element</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the format in which date strings are +displayed</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">String displayed when an unset variable is echoed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable CRL-based revocation checking</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded private key file</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (depends on +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable compression on the SSL level</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the default responder URI for OCSP validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable OCSP validation of the client certificate chain</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">skip the OCSP responder certificates verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force use of the default responder URI for OCSP validation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Proxy URL to use for OCSP requests</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP responses</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL/TLS protocol versions</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificate's CN field +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure host name checking for remote server certificates +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session +Cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable use of TLS session tickets</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SRP unknown user seed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path to SRP verifier file</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>seconds</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP stapling responses</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pass stapling related OCSP errors on to client</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>seconds</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of child server processes created at startup</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created on startup</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum line size</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">CGI α ڿ </td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads +per child process</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling +client connections</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 60 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for +certain events before failing a request</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behavior on <code>TRACE</code> requests</td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">α ġ Ѵ</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Undefine the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>name</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Undefine a macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">ȯ溯 Ѵ</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Use a macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and +port</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own port</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer +requests</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></a></td><td> public_html </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">ں 丮 ġ</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>unix-groupid</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Sets the Group ID under which a virtual host runs.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>unix-userid</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the User ID under which a virtual host runs.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific +hostname or IP address</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Watchdog interval in seconds</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit +set</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>element [element ...]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Advise the parser to skip leading junk.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span> : </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/"></a> | <a href="../mod/directives.html">þ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html"></a> | <a href="../sitemap.html">Ʈ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.tr.utf8 b/docs/manual/mod/quickreference.html.tr.utf8 new file mode 100644 index 0000000..467f47b --- /dev/null +++ b/docs/manual/mod/quickreference.html.tr.utf8 @@ -0,0 +1,1245 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Hızlı Yönerge Kılavuzu - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="preamble"><h1>Hızlı Yönerge Kılavuzu</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div> + + <p>Bu hızlı yönerge kılavuzunda Apache yapılandırma yönergelerinin + kullanımı, öntanımlı değerleri, durumu ve bağlamı gösterilmiştir. Bunların + her biri hakkında ayrıntılı bilgi almak için <a href="directive-dict.html">Yönerge Sözlüğü</a>ne bakınız.</p> + + <p>İlk sütunda yönergenin ismi ve kullanımı belirtilmiştir. İkinci sütunda + yönergenin varsa öntanımlı değeri gösterilmiştir. Eğer öntanımlı değer + sütuna sığmayacak kadar uzunsa sığmayan kısmı kırpılıp yerine “+” imi + konmuştur.</p> + + <p>Aşağıda sağdaki gösterge tablolarına uygun olarak, üçüncü sütunda + yönergenin kullanımına izin verilen bağlamlar, dördüncü sütunda ise + yönergenin durumu gösterilmiştir.</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>sunucu geneli</td></tr> +<tr><th>k</th><td>sanal konak</td></tr> +<tr><th>d</th><td>dizin</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th>v</th><td>vekil bölümü</td></tr> +</table></td> +<td><table><tr><th>Ç</th><td>Çekirdek</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>T</th><td>Temel</td></tr> +<tr><th>E</th><td>Eklenti</td></tr> +<tr><th>D</th><td>Deneysel</td></tr> +<tr><th>H</th><td>Harici</td></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <code>protocol</code> <code>kabul_süzgeci</code></a></td><td></td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir protokolün dinleyici soketleri için en iyilemeleri ayarlar +</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Dosya isminden sonra belirtilen yol verisini kabul veya + reddeder.</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <code>filename</code> [<code>filename</code>] ...</a></td><td> .htaccess </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dağıtık yapılandırma dosyasının ismi belirtilir.</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>action-type</var> <var>cgi-script</var> [virtual]</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular handler or +content-type</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>metin</var> <var>dosya</var> [<var>dosya</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dosyaya göre seçilen simgenin yerinde gösterilecek metni belirler. +</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>metin</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dosyanın MIME kodlamasına göre seçilen simgenin yerinde +gösterilecek metni belirler.</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>metin</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dosyanın MIME türüne göre seçilen simgenin yerinde gösterilecek +metni belirler.</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified content +charset</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<code>karküm</code></a></td><td> Off </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir yanıtın içerik türü <code>text/plain</code> veya + <code>text/html</code> olduğunda eklenecek öntanımlı karakter kümesi + parametresini belirler.</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>metin dosya</var> [<var>dosya</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir dosya için gösterilecek açıklama belirtilir.</td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>encoding</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding +type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the filename extensions to the specified +handler</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>simge</var> <var>isim</var> [<var>isim</var>] +...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir dosya için gösterilecek simgeyi dosya adına göre belirler. +</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>simge</var> <var>MIME-kodlaması</var> +[<var>MIME-kodlaması</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir dosya için gösterilecek simgeyi dosyanın MIME kodlamasına +göre belirler.</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>simge</var> <var>MIME-türü</var> +[<var>MIME-türü</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir dosya için gösterilecek simgeyi dosyanın MIME türüne göre +belirler.</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process +client requests</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>language-tag</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Maps the given filename extension to the specified content +language</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds additional information to the module +information displayed by the server-info handler</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>media-type</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions onto the specified content +type</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias [<var>URL-yolu</var>] <var>dosya-yolu</var> | +<var>dizin-yolu</var></a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">URL’leri dosya sistemi konumlarıyla eşler.</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch "<var>düzenli-ifade</var>" +"<var>dosya-yolu</var>|<var>dizin-yolu</var>"</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak +eşler.</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts can access an area of the +server</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip + verilmeyeceğini belirler.</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>D</td></tr><tr><td class="descr" colspan="4">Restrict access to the listed HTTP methods</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<code>yönerge-türü</code> +[<code>yönerge-türü</code>] ...</a></td><td> None (2.3.9 ve sonr +</td><td>d</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>.htaccess</code> dosyalarında bulunmasına izin verilen + yönerge türleri belirtilir.</td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<code>yönerge</code> +[<code>yönerge-türü</code>] ...</a></td><td> None </td><td>d</td><td>Ç</td></tr><tr><td class="descr" colspan="4"><code>.htaccess</code> dosyalarında izin verilecek yönergeler tek tek belirtilir</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies userIDs that are allowed access without +password verification</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the password entered will be logged in the +error log</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether to check the password field for a correctly +formatted email address</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>factor</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit concurrent connections per process</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store passwords</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a database file containing the list of users and +passwords for authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest +authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">How long the server nonce is valid</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track +of clients</td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>fieldname</var></a></td><td> httpd_body </td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">Disable the CacheControl no-store header on the login page</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Fake a Basic Authentication header</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>fieldname</var></a></td><td> httpd_location </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of the page to be redirected to should login be required</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">The URL of the page to be redirected to should login be successful</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The URL to redirect to after a user has logged out</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>fieldname</var></a></td><td> httpd_method </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>fieldname</var></a></td><td> httpd_mimetype </td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>fieldname</var></a></td><td> httpd_password </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login password</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">Bypass authentication checks for high traffic sites</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>size</var></a></td><td> 8192 </td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>fieldname</var></a></td><td> httpd_username </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login username</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>prefix</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for +group membership</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (remote use +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Number</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>LdapObjectClass</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Authorization realm for use in HTTP +authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a context string for use in the cache key</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Enable Authn caching configured anywhere</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>authn-provider</var> [...]</a></td><td></td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Specify which authn provider(s) to cache for</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>provider-name[:provider-args]</var></a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Select socache backend provider to use</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>timeout</var> (seconds)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list of users and +passwords for authentication</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the SQL Query for the required operation</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a query to look up a login page for the user</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store list of user groups</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How the outgoing ETag header should be modified during compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum input block size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Compression quality</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Brotli sliding compression window size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>] +[[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortam değişkenlerini HTTP kullanıcı arayüzüne göre belirler. +</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>] +[[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ortam değişkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne +duyarsız eşleşmelerine bağlı olarak belirler.</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Günlük girdilerini diske yazmadan önce bellekte tamponlar +</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize integer</a></td><td> 131072 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache-Detail header to the response.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 2 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of levels of subdirectories in the +cache.</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var>url-string</var> | <var>on</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> [<var>url-string</var>]</a></td><td></td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage +manager</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache header to the response.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache. +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified +header.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the base URL of reverse proxied cache keys.</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The factor used to compute an expiry date based on the +LastModified date.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>seconds</var></a></td><td> 0 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be +cached by proxy servers</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Run the cache from the quick handler.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>bytes</var></a></td><td> 0 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">The directory root under which cache files are +stored</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The shared object cache implementation to use</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>bytes</var></a></td><td> 102400 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>seconds</var></a></td><td> 86400 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>bytes</var></a></td><td> 0 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Serve stale content in place of 5xx responses.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server reports as expired</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The length of time to wait for more output from the +CGI program</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <code>cgi-yolu</code> <code>.uzantı</code></a></td><td></td><td>dh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">CGI betik yorumlayıcısını saptama tekniğini belirler. +</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">HTTP yetkilendirme başlıklarının betiklere CGI değişkenleri +olarak aktarılmasını etkin kılar</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <code>değişken</code> <code>kural</code></a></td><td></td><td>dh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bazı CGI değişkenlerinin nasıl atanacağını belirler</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling +module</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>/dizin/yolu</var></a></td><td></td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun başlatıldıktan sonra chroot(8) yapacağı dizini + belirler.</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4"><code>Content-MD5</code> HTTP yanıt başlıklarının üretimini + etkin kılar.</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds the 'Secure' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>dizin</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4"><code>core</code> dosyasını dökümlemek üzere Apache HTTP + Sunucusunun geçmeye çalışacağı dizin.</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>dosya</var>|<var>borulu-süreç</var> +<var>biçem</var>|<var>takma-ad</var> +[env=[!]<var>ortam-değişkeni</var>]| +expr=<var>ifade</var>]</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Günlük dosyasın ismini ve girdi biçemini belirler.</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable WebDAV HTTP methods</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow PROPFIND, Depth: Infinity requests</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable lock discovery</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum amount of time the server holds a lock on +a DAV resource</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"SQL statement"</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Execute an SQL statement after connecting to a database</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>URL-yolu</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Özel bir simge atanmamış dosyalar için gösterilecek simgeyi +belirler.</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>language-tag</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <code>dizin-yolu</code></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun çalışma anı dosyaları için temel dizin</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <code>ortam-türü</code>|none</a></td><td> none </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Değeri <code>none</code> olduğu takdirde, bu yönergenin bir +uyarı vermekten başka bir etkisi yoktur. Önceki sürümlerde, bu yönerge, +sunucunun ortam türünü saptayamadığı durumda göndereceği öntanımlı ortam +türünü belirlerdi.</td></tr> +<tr><td><a href="core.html#define">Define <code>değişken-ismi</code> [<code>değişken-değeri</code>]</a></td><td></td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir değişken tanımlar</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fragment size to be compressed at one time by zlib</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">How much compression do we apply to the output</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib compression window size</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the +server</td></tr> +<tr><td><a href="core.html#directory"><Directory <code>dizin-yolu</code>> +... </Directory></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sadece ismi belirtilen dosya sistemi dizininde ve bunun + altdizinlerinde ve bunların içeriğinde uygulanacak bir yönerge grubunu + sarmalar.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Başka bir eylemci yapılandırılmışsa bu modülün nasıl yanıt + vereceğini belirler</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + disabled | <var>yerel-url</var> [<var>yerel-url</var>] ...</a></td><td> index.html </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">İstemci bir dizin istediğinde dizin içeriğini listeler. +</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-kodu</var> +</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin içerik listeleri için harici bir yönlendirme yapılandırır. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <code>düzifd</code>> +... </DirectoryMatch></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir düzenli ifade ile eşleşen dosya sistemi dizinlerinin içeriklerine uygulanacak bir yönerge grubunu sarmalar.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bölü çizgisi ile biten yönlendirmeleri açar/kapar.</td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <code>dizin-yolu</code></a></td><td> "/usr/local/apache/ +</td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemciye görünür olan ana belge ağacının kök dizinini belirler.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all input data to the error log</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Önceki bir <code class="directive"><a href="../mod/core.html#if"><If></a></code> veya <code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> bölümünün koşulu, çalışma anında bir istek tarafından yerine getirilmediği takdirde uygulanacak yönergeleri içerir</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <code>ifade</code>> ... </ElseIf></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İçerdiği koşulun bir istek tarafınan sağlandığı ancak daha önceki bir <code class="directive"><a href="../mod/core.html#if"><If></a></code> veya +<code class="directive"><ElseIf></code> bölümlerininkilerin sağlanmadığı durumda kapsadığı yönergelerin uygulanmasını sağlar</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Bir çöküş sonrası olağandışılık eylemcilerini çalıştıracak + kancayı etkin kılar.</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Teslimat sırasında okunacak dosyalar için bellek eşlemeyi etkin + kılar.</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> Off </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dosyaların istemciye tesliminde çekirdeğin dosya gönderme + desteğinin kullanımını etkin kılar.</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <code>ileti</code></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Özel bir hata iletisiyle yapılandırma çözümlemesini durdurur</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <code>hata-kodu</code> <code>belge</code></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir hata durumunda sunucunun istemciye ne döndüreceğini + belirler.</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <code>dosya-yolu</code>|syslog[:[<code>oluşum</code>][:<code>etiket</code>]]</a></td><td> logs/error_log (Uni +</td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun hata günlüğünü tutacağı yeri belirler.</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <code>biçem</code></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Hata günlüğü girdileri için biçem belirtimi</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>skdh</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module +API</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables generation of <code>Expires</code> +headers</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Value of the <code>Expires</code> header configured +by MIME type</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Default algorithm for calculating expiration time</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off[*] </td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Her istekte ek durum bilgisinin izini sürer</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an external filter</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> NoLogStderr </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>yerel-url</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir dosya ile eşleşmeyen istekler için öntanımlı URL tanımlar +</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <code>bileşen</code> ...</a></td><td> MTime Size </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Duruk dosyalar için <code>ETag</code> HTTP yanıt başlığını oluşturmakta kullanılacak dosya özniteliklerini belirler.</td></tr> +<tr><td><a href="core.html#files"><Files <code>dosya-adı</code>> ... </Files></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dosya isimleriyle eşleşme halinde uygulanacak yönergeleri + içerir.</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <code>düzifd</code>> ... </FilesMatch></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Düzenli ifadelerin dosya isimleriyle eşleşmesi halinde + uygulanacak yönergeleri içerir.</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <code>sayı</code></a></td><td> 5 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Ağa akıtılacak azami ardışık yanıt sayısı</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <code>bayt-sayısı</code></a></td><td> 65536 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bekleyen verilerin ağa boşaltılacağı eşik değer</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not +found</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <code>ortam-türü</code>|None</a></td><td></td><td>dh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bütün dosyaların belirtilen ortam türüyle sunulmasına + sebep olur.</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>dosya-adı</var>|<var>borulu-süreç</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adli günlük için dosya ismini belirler.</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>dosya</var>|<var>boru</var>|<var>sağlayıcı</var> +<var>biçem</var>|<var>takma_ad</var> +[env=[!]<var>ortam_değişkeni</var>| +expr=<var>ifade</var>]</a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Günlük dosyasının ismini ve biçemini belirler</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <code>/tmp/gprof/</code>|<code>/tmp/gprof/</code>%</a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">gmon.out ayrıntılı inceleme verisinin yazılacağı dizin</td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>saniye</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar + geçecek süre için bir zaman aşımı belirler.</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>unix-grubu</var></a></td><td> #-1 </td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">İsteklere yanıt verecek sunucunun ait olacağı grubu belirler.</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine file handling in responses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on for h2c, off for +</td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Direct Protocol Switch</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine sending of 103 status codes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of worker threads to use per child process.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimal number of worker threads to use per child process.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine buffering behaviour of output</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine the range of padding bytes added to payload frames</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize <em>n</em></a></td><td> 256 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Server Push Diary Size</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Priority</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Declares resources for early pushing to the client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Serialize Request/Response Processing Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of output data buffered per stream.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on for h2c, off for +</td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Upgrade Protocol Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size of Stream Window for upstream data.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>dosya-ismi</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin listesinin tepesine yerleştirilecek dosyanın ismini +belirler.</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Multicast address for heartbeat packets</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">multicast address to listen for incoming heartbeat requests </td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>number-of-servers</var></a></td><td> 10 </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Path to store heartbeat data when using flat-file storage</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Path to read heartbeat data</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemci IP adresleri üzerinde DNS sorgularını etkin kılar. +</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">HTTP İstek İletilerindeki sınırlamalarda değişiklik yapar</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote +user</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <code>ifade</code>> ... </If></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Çalışma anında bir koşul bir istek tarafından yerine getirildiği +takdirde uygulanacak yönergeleri barındırır.</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<code>parametre-adı</code>> ... + </IfDefine></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Başlatma sırasında bir doğruluk sınamasından sonra işleme +sokulacak yönergeleri sarmalar.</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<code>yönerge-adı</code>> ... + </IfDirective></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Belirtilen yönerge adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<code>dosyaadı</code>> ... + </IfFile></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Başlatma sırasında bir dosyanın varlığı durumunda işleme +sokulacak yönergeleri sarmalar.</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<code>modül-dosyası</code>|<code>modül-betimleyici</code>> ... + </IfModule></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak +yönergeleri sarmalar.</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<code>bölüm-adı</code>> ... + </IfSection></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Belirtilen bölüm adının varlığı veya yokluğuna bağlı olarak çalıştırılacak yönergeleri sarmalar.</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling +an imagemap</td></tr> +<tr class="odd"><td><a href="core.html#include">Include <code>dosya-yolu</code>|<code>dizin-yolu</code>|<code>joker</code></a></td><td></td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar. +</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional <code>dosya-yolu</code>|<code>dizin-yolu</code>|<code>joker</code></a></td><td></td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Diğer yapılandırma dosyalarının sunucu yapılandırma dosyasına dahil edilmesini sağlar</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"imlenim ..."</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir dizin sayfasının HEAD bölümüne metin yerleştirir.</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>dosya</var> [<var>dosya</var>] ...</a></td><td> "." </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir. +</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir dizini listelerken gizlenecek dosyalar listesini boşaltır +</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>] +...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin içerik listesini yapılandıracak seçenekler belirtilir. +</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Dizin içerik listesinin öntanımlı sıralamasını belirler. +</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-yolu</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin listesine bir biçembent ekler.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">HTTP kalıcı bağlantılarını etkin kılar</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <code>sayı</code>[ms]</a></td><td> 5 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi +</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>azami_bayt_sayısı</var></a></td><td> 0 </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">mod_include gibi süzgeçler tarafından kullanılma olasılığına karşı +istek gövdesi iptal edilmek yerine belirtilen azami boyutta tutulur. +</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable debugging in the LDAP SDK</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare +operations</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain +valid</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>number</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>number-of-retries</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the number of LDAP server retries.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>seconds</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the delay between LDAP server retries.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>seconds</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr> +<tr><td><a href="core.html#limit"><Limit <code>yöntem</code> [<code>yöntem</code>] ... > ... + </Limit></a></td><td></td><td>dh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları +sarmalar.</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <code>yöntem</code> [<code>yöntem</code>] ... > ... + </LimitExcept></a></td><td></td><td>dh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İsimleri belirtilenler dışında kalan HTTP yöntemleri için +kullanılacak erişim sınırlayıcıları sarmalar.</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <code>sayı</code> [<code>sayı</code>]</a></td><td> 10 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını +belirler.</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <code>bayt-sayısı</code></a></td><td> 1073741824 </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemci tarafından gönderilen HTTP istek gövdesinin toplam +uzunluğunu sınırlar.</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <code>sayı</code></a></td><td> 100 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını +sınırlar.</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <code>bayt-sayısı</code></a></td><td> 8190 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar. +</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <code>bayt-sayısı</code></a></td><td> 8190 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar. +</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <code>bayt-sayısı</code></a></td><td> 1000000 </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir XML temelli istek gövdesinin uzunluğunu sınırlar.</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-adresi</var>:]<var>port-numarası</var> + [<var>protokol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sunucunun dinleyeceği IP adresini ve portu belirler.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBackLog <var>kuyruk-uzunluğu</var></a></td><td> 511 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Bekleyen bağlantılar kuyruğunun azami uzunluğunu + belirler</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>oran</var></a></td><td> 0 (iptal) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">İşlemci çekirdek sayısının dinleyenlerin buket sayısına oranı</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler. +</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>modül dosya-ismi</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler +ve etkin modül listesine ekler.</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location <code>URL-yolu</code>|<code>URL</code>> ... +</Location></a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İçerdiği yönergeler sadece eşleşen URL’lere uygulanır. +</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <code>düzifade</code>> ... </LocationMatch></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere +uygulanır.</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>biçem</var>|<var>takma-ad</var> +[<var>takma-ad</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir günlük dosyasında kullanılmak üzere girdi biçemi tanımlar. +</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">İlk baytın yazılmasına kadar geçen süreyi izler</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel [<code>modül</code>:]<code>seviye</code> + [<code>modül</code>:<code>seviye</code>] ... +</a></td><td> warn </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Hata günlüklerinin ayrıntı seviyesini belirler.</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>D</td></tr><tr><td class="descr" colspan="4">Log user-defined message to error log +</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /path/to/lua/script.lua hook_function_name</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content input filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Map a path to a lua handler</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content output filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /path/to/include/?.soa</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /path/to/include/?.lua</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /path/to/a/directory</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Define a configuration file macro</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>sayı</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek + sayısını sınırlamakta kullanılır.</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <code>sayı</code></a></td><td> 100 </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir kalıcı bağlantıda izin verilen istek sayısı</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>kB-sayısı</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4"><code>free()</code> çağrılmaksızın ana bellek ayırıcının + ayırmasına izin verilen azami bellek miktarını belirler.</td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | + <code>aralık-sayısı</code></a></td><td> 20 </td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Özkaynağın tamamını döndürmeden önce izin verilen üst üste binen + aralık sayısı (<code>100-200,150-300</code> gibi)</td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | + <code>aralık-sayısı</code></a></td><td> 20 </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Özkaynağın tamamını döndürmeden önce izin verilen ters sıralı + aralık sayısı (<code>100-200,50-70</code> gibi)</td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | + <code>aralık-sayısı</code></a></td><td> 200 </td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Özkaynağın tamamını döndürmeden önce izin verilen aralık sayısı</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Aynı anda işleme sokulacak azami bağlantı sayısı</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>sayı</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Boştaki çocuk süreçlerin azami sayısı</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Boştaki azami evre sayısını belirler</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a static certificate file for the MD.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Specify a static private key for for the static cerrtificate.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of a certificate log monitor.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">The protocol to use with the Certificate Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Exposes public certificate information in JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">former name of MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Define a proxy for outgoing connections.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Additional hostname for the managed domain.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Control if the alias domain names are automatically added.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Handle events for Manage Domains</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Run a program when a Managed Domain is ready.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Define list of domain names that belong to one group.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to the same managed domains.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Map external to internal ports for domain ownership verification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Set type and size of the private keys generated.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Controls if certificates shall be renewed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Control if Managed Domain information is added to server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Enable stapling for certificates not managed by mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling for all or a particular MDomain.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Controls when old responses should be removed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Control when the stapling responses will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun URL’lerde ardışık bölü çizgilerini birleştirip birleştirmeyeceğini denetler. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Trailer alanlarının başlığa dahil edilip edilmeyeceğini belirler</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information +files</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containing CERN-style +meta information</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>sayı</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Boştaki çocuk süreçlerin asgari sayısı</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısını belirler.</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Modem standard to simulate</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>T</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code> +components as part of the filename</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><td><a href="core.html#mutex">Mutex <code>mekanizma</code> [default|<code>muteks-ismi</code>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Muteks mekanizmasını ve kilit dosyası dizinini tüm muteksler veya belirtilenler için yapılandırır</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <code>adres</code>[:<code>port</code>]</a></td><td></td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">ÖNERİLMİYOR: İsme dayalı sanal konaklar için IP adresi belirtir</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to +directly</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<code>seçenek</code> [[+|-]<code>seçenek</code>] ...</a></td><td> FollowSymlinks </td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Belli bir dizinde geçerli olacak özellikleri yapılandırır. +</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command for filtering response content</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>ortam-değişkeni</var> [<var>ortam-değişkeni</var>] +...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortam değişkenlerini kabuktan aktarır.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>dosya</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>skd</td><td>D</td></tr><tr><td class="descr" colspan="4">Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <code>protokol</code></a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Dinlenen bir soket için protokol</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sk</td><td>D</td></tr><tr><td class="descr" colspan="4">Turn the echo server on or off</td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <code>protokol</code> ...</a></td><td> http/1.1 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucu/sanal konak için kullanılabilecek protokoller</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Uzlaşma sırasında protokollerin öncelik sırasını belirler</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>wildcard-url</var>> ...</Proxy></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Forward 100-continue expectation to the origin server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add proxy information in X-Forwarded-* headers</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a +response</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being +proxied</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride Off|On [<var>code</var> ...]</a></td><td> Off </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Pathname to DBM file.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DBM type of file.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the module functionality.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify the type of backend FastCGI application</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Creates a named template for setting various health check parameters</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>bytes</var></a></td><td> 8192 </td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>Charset | *</var></a></td><td></td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Specify a charset for mod_proxy_html output.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Sets an HTML or XHTML document type declaration.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Turns the proxy_html filter on or off.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribute [attribute ...]</var></a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Specify attributes to treat as scripting events.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Fixes for simple HTML errors.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to strip HTML comments.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></a></td><td></td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Defines a rule to rewrite HTML links</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched +proxied resources</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of proxies that a request can be forwarded +through</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Inherit ProxyPass directives defined from the main server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]]</a></td><td></td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var> +[interpolate]</a></td><td></td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> +<var>public-domain</var> [interpolate]</a></td><td></td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var> +<var>public-path</var> [interpolate]</a></td><td></td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy +request</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP +connections</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the +backend</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>address</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set local IP address for outgoing proxy connections</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response +header for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">REDIRECT_URL ortam değişkeninin tamamen nitelenmiş olup +olmayacağını denetler</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <code>bayt-sayısı</code></a></td><td> 8192 </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Veriyi okumakta kullanılacak tampon sayısı</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>dosya-ismi</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Dizin listesinin sonuna yerleştirilecek dosyanın ismini +belirler.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bayt-sayısı</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP alım tamponu boyu</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>durum</var>] [<var>URL-yolu</var>] +<var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’ye +yönlendirir.</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>durum</var>] <var>düzenli-ifade</var> +<var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir harici +yönlendirme gönderir.</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-yolu</var> <var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-yolu</var> <var>URL</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">İstemciyi, geçici bir yönlendirme isteği döndürerek farklı bir +URL’ye yönlendirir.</td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Reflect an input header to the output headers</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<code>seçenek</code> [[+|-]<code>seçenek</code>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Regex düzenli ifadeleri için öntanımlı/küresel seçenekleri yapılandırır</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <code>yöntem</code> [<code>yöntem</code> [...]]</a></td><td></td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Standart olmayan HTTP yöntemlerini devreye alır</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>header-field</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>filename</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>HeaderFieldName</var></a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Declare the header field which will record all intermediate IP addresses</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable PROXY protocol handling</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>filename</var></a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>kdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any character set associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>kdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Removes any content encoding associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>kdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any handler associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>kdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Removes any input filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>kdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any language associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>kdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Removes any output filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>kdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content type associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP request headers</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</a></td><td> handshake=0 header= +</td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <code>saniye</code>|max [<code>saniye</code>|max]</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + işlemci tüketimine sınırlama getirir.</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <code>bayt-sayısı</code>|max [<code>bayt-sayısı</code>|max] +</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Apache httpd alt süreçleri tarafından çalıştırılan süreçlerin + bellek tüketimine sınırlama getirir.</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <code>sayı</code>|max [<code>sayı</code>|max]</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Apache httpd alt süreçleri tarafından çalıştırılabilecek süreç + sayısına sınırlama getirir.</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and +user authentication</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>dosya-yolu</var></a></td><td> logs/apache_runtime +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Çocuk süreçler için eşgüdüm verisini saklamakta kullanılan + dosyanın yerini belirler.</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular request +method.</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias [<var>URL-yolu</var>] +<var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>skd</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır.</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>düzenli-ifade</var> +<var>dosya-yolu</var>|<var>dizin-yolu</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak +eşler ve hedefi bir CGI betiği olarak çalıştırır.</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">CGI betikleri için yorumlayıcı belirleme tekniği</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the CGI script error logfile</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Maximum amount of PUT or POST requests that will be recorded +in the scriptlog</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Size limit of the CGI script logfile</td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> cgisock </td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">The filename prefix of the socket to use for communication with +the cgi daemon</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">İsteğin 63 karakterden büyük olduğu varsayımıyla, mod_status'un + ilk 63 karakteri mi yoksa son 63 karakteri mi göstereceğini + belirler.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bayt-sayısı</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP tamponu boyu</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <code>eposta-adresi</code>|<code>URL</code></a></td><td></td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun hata iletilerinde istemciye göstereceği eposta adresi +</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <code>konakadı</code> [<code>konakadı</code>] ...</a></td><td></td><td>k</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">İstekleri isme dayalı sanal konaklarla eşleştirilirken +kullanılacak konak adları için başka isimler belirtebilmeyi sağlar. +</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ayarlanabilir süreç sayısının üst sınırını belirler.</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName [<code>şema</code>://]<code>alan-adı</code>|<code>ip-adresi</code>[:<code>port</code>] +</a></td><td></td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun özdeşleşeceği konak ismi ve port.</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <code>URL-yolu</code></a></td><td></td><td>k</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Uyumsuz bir tarayıcı tarafından erişilmesi için bir isme dayalı sanal konak için meşru URL yolu</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <code>dizin-yolu</code></a></td><td> /usr/local/apache </td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucu yapılandırması için kök dizin</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucu tarafından üretilen belgelerin dipnotunu ayarlar. +</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>Server</code> HTTP yanıt başlığını yapılandırır. +</td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables a session for the current directory or location</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>name</var></a></td><td> aes256 </td><td>skdh</td><td>D</td></tr><tr><td class="descr" colspan="4">The crypto cipher to be used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">The crypto driver to be used to encrypt the session</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>skdh</td><td>D</td></tr><tr><td class="descr" colspan="4">The key used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>filename</var></a></td><td></td><td>skd</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">File containing keys used to encrypt the session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>label</var></a></td><td> deletesession </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to remove sessions from the database</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>label</var></a></td><td> insertsession </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to insert sessions into the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable a per user session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>label</var></a></td><td> selectsession </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to select sessions from the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>label</var></a></td><td> updatesession </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to update existing sessions in the database</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>path</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define URL prefixes for which a session is ignored</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (always update) </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>header</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>path</var></a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>maxage</var></a></td><td> 0 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>ortam-değişkeni</var> [<var>değer</var>]</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortam değişkenlerini tanımlar.</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>öznitelik + düzifd [!]ort-değişkeni</em>[=<em>değer</em>] + [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ortam değişkenlerini isteğin özniteliklerine göre atar. +</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr <em>ifade + [!]ort-değişkeni</em>[=<em>değer</em>] + [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir ap_expr ifadesine dayanarak ortam değişkenlerine değer atar</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>öznitelik + düzifd [!]ort-değişkeni</em>[=<em>değer</em>] + [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Ortam değişkenlerini isteğin özniteliklerinde harf büyüklüğüne +bağlı olmaksızın yapılmış tanımlara göre atar.</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <code>eylemci-ismi</code>|none|<code>ifade</code></a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Eşleşen tüm dosyaların belli bir eylemci tarafından işlenmesine +sebep olur.</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <code>süzgeç</code>[;<code>süzgeç</code>...]</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">POST girdilerini ve istemci isteklerini işleyecek süzgeçleri +belirler.</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <code>süzgeç</code>[;<code>süzgeç</code>...]</a></td><td></td><td>skdh</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun yanıtlarını işleyecek süzgeçleri belirler.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Error message displayed when there is an SSI +error</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>T</td></tr><tr><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Enable compatibility mode for conditional expressions.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">String that starts an include element</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the format in which date strings are +displayed</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">String displayed when an unset variable is echoed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable CRL-based revocation checking</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded private key file</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (depends on +</td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable compression on the SSL level</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the default responder URI for OCSP validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable OCSP validation of the client certificate chain</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">skip the OCSP responder certificates verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force use of the default responder URI for OCSP validation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Proxy URL to use for OCSP requests</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP responses</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL/TLS protocol versions</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificate's CN field +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure host name checking for remote server certificates +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>filename</em></a></td><td></td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>skv</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>skv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session +Cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable use of TLS session tickets</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">SRP unknown user seed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path to SRP verifier file</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>seconds</em></a></td><td> 600 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP stapling responses</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pass stapling related OCSP errors on to client</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>seconds</em></a></td><td> 3600 </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sunucunun başlatılması sırasında oluşturulan çocuk süreçlerin + sayısını belirler.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını + belirler.</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sk</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun, istenen konak adının, isteği işleyen sanal konakta +listelenmesini gerektirip gerektirmediğini denetler</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum line size</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">suEXEC özelliğini etkin veya etkisiz yapar</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>Kullanıcı Grup</em></a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">CGI betiklerini çalıştıracak kullanıcı ve grup belirtilir. +</td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını + belirler.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>sayı</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler.</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>boyut</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">İstemci bağlantılarını elde eden evreler tarafından kullanılan + yığıtın bayt cinsinden uzunluğunu belirler.</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <code>saniye</code></a></td><td> 60 </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Bir istek için başarısız olmadan önce belirli olayların +gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sk</td><td>D</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sk</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sk</td><td>D</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sk</td><td>D</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>skdh</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sk</td><td>D</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>skv</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>skv</td><td>D</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>skv</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>skv</td><td>D</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>skv</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>skv</td><td>D</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>D</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <code>[on|off|extended]</code></a></td><td> on </td><td>sk</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4"><code>TRACE</code> isteklerinde davranış şeklini belirler +</td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>dosya</var>|<var>borulu-süreç</var> +[<var>takma-ad</var>]</a></td><td></td><td>sk</td><td>T</td></tr><tr><td class="descr" colspan="4">Bir günlük dosyasının yerini belirtir.</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <code>değişken-ismi</code></a></td><td></td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Bir değişkeni tanımsız yapar</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>name</var></a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Undefine a macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>ortam-değişkeni</var> [<var>ortam-değişkeni</var>] +...</a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Ortamdaki değişkenleri tanımsız hale getirir.</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</a></td><td></td><td>skd</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Use a macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>skd</td><td>Ç</td></tr><tr class="odd"><td class="descr" colspan="4">Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar +</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>unix-kullanıcısı</var></a></td><td> #-1 </td><td>s</td><td>T</td></tr><tr><td class="descr" colspan="4">İsteklere yanıt verecek sunucunun ait olacağı kullanıcıyı + belirler.</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>dizin</em> [<em>dizin</em>] ...</a></td><td></td><td>sk</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Kullanıcıya özel dizinlerin yeri</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>k</td><td>D</td></tr><tr><td class="descr" colspan="4">Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>k</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>unix-groupid</var></a></td><td></td><td>k</td><td>D</td></tr><tr><td class="descr" colspan="4">Sets the Group ID under which a virtual host runs.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>k</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>k</td><td>D</td></tr><tr><td class="descr" colspan="4">Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>unix-userid</var></a></td><td></td><td>k</td><td>D</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the User ID under which a virtual host runs.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Bir sanal konağın belge kök dizinini devingen olarak yapılandırır. +</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <code>adres</code>[:<code>port</code>] [<code>adres</code>[:<code>port</code>]] + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>Ç</td></tr><tr><td class="descr" colspan="4">Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>hesaplanan-dizin</em>|none</a></td><td> none </td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Bir sanal konağın CGI dizinini devingen olarak yapılandırır. +</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Watchdog interval in seconds</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit +set</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>element [element ...]</var></a></td><td></td><td>skdh</td><td>T</td></tr><tr class="odd"><td class="descr" colspan="4">Advise the parser to skip leading junk.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/quickreference.html.zh-cn.utf8 b/docs/manual/mod/quickreference.html.zh-cn.utf8 new file mode 100644 index 0000000..cc4ade4 --- /dev/null +++ b/docs/manual/mod/quickreference.html.zh-cn.utf8 @@ -0,0 +1,1243 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>指令快速索引 - Apache HTTP 服务器 版本 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body id="directive-index"> +<div id="page-header"> +<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p> +<p class="apache">Apache HTTP 服务器版本 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.4</a> > <a href="./">模块</a></div> +<div id="preamble"><h1>指令快速索引</h1> +<div class="toplang"> +<p><span>可用语言: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" title="Simplified Chinese"> zh-cn </a></p> +</div> +<div class="outofdate">此翻译可能过期。要了解最近的更改,请阅读英文版。</div> + + <p>指令快速索引显示指令的用法,默认值,状态和上下文。要获得更多信息,请参见 <a href="directive-dict.html">描述指令的术语</a>。</p> + + <p>第一列给出指令的名称与用法。第二列显示指令的默认值(如果有的话)。 + 如果因为默认值太长而被截断显示,会在最后一个字符之后显示字符 “+”。</p> + + <p>第三列显示允许此指令的上下文,第四列显示指令的状态。</p> + </div> +<div id="directive-ref"><table id="legend"> +<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td> +<td><table><tr><th>s</th><td>服务器配置</td></tr> +<tr><th>v</th><td>虚拟主机</td></tr> +<tr><th>d</th><td>目录</td></tr> +<tr><th>h</th><td>.htaccess</td></tr> +<tr><th /><td /></tr> +</table></td> +<td><table><tr><th>C</th><td>核心</td></tr> +<tr><th>M</th><td>MPM</td></tr> +<tr><th>B</th><td>基础</td></tr> +<tr><th>E</th><td>扩展</td></tr> +<tr><th>X</th><td>实验</td></tr> +<tr><th /><td /></tr> +</table></td></tr> +</table> +<table class="qref"> +<tr><td><a href="core.html#acceptfilter" id="A" name="A">AcceptFilter <var>protocol</var> <var>accept_filter</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures optimizations for a Protocol's Listener Sockets</td></tr> +<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Resources accept trailing pathname information</td></tr> +<tr><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Name of the distributed configuration file</td></tr> +<tr class="odd"><td><a href="mod_actions.html#action">Action <var>action-type</var> <var>cgi-script</var> [virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular handler or +content-type</td></tr> +<tr><td><a href="mod_autoindex.html#addalt">AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by filename</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>string</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate text to display for a file instead of an icon +selected by MIME-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>string</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Alternate text to display for a file, instead of an +icon selected by MIME content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addcharset">AddCharset <var>charset</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the given filename extensions to the specified content +charset</td></tr> +<tr><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>charset</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Default charset parameter to be added when a response +content-type is <code>text/plain</code> or <code>text/html</code></td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#adddescription">AddDescription <var>string file</var> [<var>file</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Description to display for a file</td></tr> +<tr><td><a href="mod_mime.html#addencoding">AddEncoding <var>encoding</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions to the specified encoding +type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addhandler">AddHandler <var>handler-name</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps the filename extensions to the specified +handler</td></tr> +<tr><td><a href="mod_autoindex.html#addicon">AddIcon <var>icon</var> <var>name</var> [<var>name</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for a file selected by name</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> +[<var>MIME-encoding</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-encoding</td></tr> +<tr><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icon</var> <var>MIME-type</var> +[<var>MIME-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display next to files selected by MIME +content-type</td></tr> +<tr class="odd"><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps filename extensions to the filters that will process +client requests</td></tr> +<tr><td><a href="mod_mime.html#addlanguage">AddLanguage <var>language-tag</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extension to the specified content +language</td></tr> +<tr class="odd"><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>module-name</var> <var>string</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds additional information to the module +information displayed by the server-info handler</td></tr> +<tr><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filter</var>[;<var>filter</var>...] +<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps filename extensions to the filters that will process +responses from the server</td></tr> +<tr class="odd"><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] +<var>media-type</var> [<var>media-type</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">assigns an output filter to a particular media-type</td></tr> +<tr><td><a href="mod_mime.html#addtype">AddType <var>media-type</var> <var>extension</var> +[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps the given filename extensions onto the specified content +type</td></tr> +<tr class="odd"><td><a href="mod_alias.html#alias">Alias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps URLs to filesystem locations</td></tr> +<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps URLs to filesystem locations using regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#allow"> Allow from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts can access an area of the +server</td></tr> +<tr><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ports that are allowed to <code>CONNECT</code> through the +proxy</td></tr> +<tr class="odd"><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether encoded path separators in URLs are allowed to +be passed through</td></tr> +<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em> +[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restrict access to the listed HTTP methods</td></tr> +<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var> +[<var>directive-type</var>] ...</a></td><td> None (2.3.9 and lat +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types of directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var> +[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Individual directives that are allowed in +<code>.htaccess</code> files</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>user</var> [<var>user</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies userIDs that are allowed access without +password verification</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the password entered will be logged in the +error log</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies whether blank passwords are allowed</td></tr> +<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr> +<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether to check the password field for a correctly +formatted email address</td></tr> +<tr><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>factor</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limit concurrent connections per process</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Fake basic authentication using the given expressions for +username and password</td></tr> +<tr class="odd"><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Check passwords against the authentication providers as if +Digest Authentication was in force instead of Basic Authentication. +</td></tr> +<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SQL query to look up a password for a user</td></tr> +<tr><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">SQL query to look up a password hash for a user and realm. +</td></tr> +<tr class="odd"><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of the database file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store passwords</td></tr> +<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a database file containing the list of users and +passwords for authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Selects the algorithm used to calculate the challenge and +response hashes in digest authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URIs that are in the same protection space for digest +authentication</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>seconds</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">How long the server nonce is valid</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the quality-of-protection to use in digest +authentication</td></tr> +<tr class="odd"><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>size</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The amount of shared memory to allocate for keeping track +of clients</td></tr> +<tr><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets whether authorization and authentication are passed to +lower level modules</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>fieldname</var></a></td><td> httpd_body </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable the CacheControl no-store header on the login page</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake a Basic Authentication header</td></tr> +<tr><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>fieldname</var></a></td><td> httpd_location </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying a URL to redirect to on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of the page to be redirected to should login be required</td></tr> +<tr><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The URL of the page to be redirected to should login be successful</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The URL to redirect to after a user has logged out</td></tr> +<tr><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>fieldname</var></a></td><td> httpd_method </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the method of the request to attempt on successful login</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>fieldname</var></a></td><td> httpd_mimetype </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The name of a form field carrying the mimetype of the body of the request to attempt on successful login</td></tr> +<tr><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>fieldname</var></a></td><td> httpd_password </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login password</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>provider-name</var> +[<var>provider-name</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr> +<tr><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Bypass authentication checks for high traffic sites</td></tr> +<tr class="odd"><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>size</var></a></td><td> 8192 </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The largest size of the form in bytes that will be parsed for the login details</td></tr> +<tr><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>fieldname</var></a></td><td> httpd_username </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">The name of a form field carrying the login username</td></tr> +<tr class="odd"><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the name of a text file containing the list +of user groups for authorization</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>prefix</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the prefix for environment variables set during +authorization</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot successfully bind with the user's credentials.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>distinguished-name</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Optional DN to use in binding to the LDAP server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>password</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Password used in conjunction with the bind DN</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>file-path</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Language to charset conversion configuration file</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization comparisons</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the LDAP server to compare the DNs</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">When will the module de-reference aliases</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">LDAP attributes used to identify the user members of +groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the DN of the client username when checking for +group membership</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines if the server does the initial DN lookup using the basic authentication users' +own username, instead of anonymously or with hard-coded credentials for the server</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (remote use +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the transformation of the basic authentication username to be used when binding to the LDAP server +to perform a DN lookup</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Number</var></a></td><td> 10 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the maximum sub-group nesting depth that will be +evaluated before the user search is discontinued.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the value of the attribute returned during the user +query to set the REMOTE_USER environment variable</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Use the DN of the client username to set the REMOTE_USER +environment variable</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use the authenticated user's credentials to perform authorization searches</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribute</em></a></td><td> member uniqueMember +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the attribute labels, one value per +directive line, used to distinguish the members of the current group that +are groups.</td></tr> +<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>LdapObjectClass</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies which LDAP objectClass values identify directory +objects that are groups during sub-group processing.</td></tr> +<tr><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPURL <em>url</em> [NONE|SSL|TLS|STARTTLS]</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">URL specifying the LDAP search parameters</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the manner in which each configuration section's +authorization logic is combined with that of preceding configuration +sections.</td></tr> +<tr><td><a href="mod_authn_core.html#authname">AuthName <var>auth-domain</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Authorization realm for use in HTTP +authentication</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext directory|server|<var>custom-string</var></a></td><td> directory </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a context string for use in the cache key</td></tr> +<tr><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable Authn caching configured anywhere</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>authn-provider</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify which authn provider(s) to cache for</td></tr> +<tr><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>provider-name[:provider-args]</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Select socache backend provider to use</td></tr> +<tr class="odd"><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>timeout</var> (seconds)</a></td><td> 300 (5 minutes) </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Set a timeout for cache entries</td></tr> +<tr><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>baseProvider Alias</var>> +... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authentication provider and referenced by +the specified alias</td></tr> +<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code> +<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables a FastCGI application to handle the check_authn +authentication hook.</td></tr> +<tr><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em> +<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a FastCGI application as a provider for +authentication and/or authorization</td></tr> +<tr class="odd"><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Type of user authentication</td></tr> +<tr><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>file-path</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the name of a text file containing the list of users and +passwords for authentication</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to redirect the Client to the Referring +page on successful login or logout if a <code>Referer</code> request +header is present</td></tr> +<tr><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the SQL Query for the required operation</td></tr> +<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>query</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a query to look up a login page for the user</td></tr> +<tr><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the type of database file that is used to +store list of user groups</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>> +... </AuthzProviderAlias> +</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of directives that represent an +extension of a base authorization provider and referenced by the specified +alias</td></tr> +<tr><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Send '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if +authentication succeeds but authorization fails +</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of additional Balancers that can be added Post-configuration</td></tr> +<tr><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Inherit ProxyPassed Balancers/Workers from the main server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a member to a load balancing group</td></tr> +<tr><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to persist changes made by the Balancer Manager across restarts.</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How the outgoing ETag header should be modified during compression</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum input block size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Compression quality</td></tr> +<tr><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Brotli sliding compression window size</td></tr> +<tr class="odd"><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>] +[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on HTTP User-Agent +</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without +respect to case</td></tr> +<tr><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Buffer log entries in memory before writing to disk</td></tr> +<tr class="odd"><td><a href="mod_buffer.html#buffersize">BufferSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum size in bytes to buffer by the buffer filter</td></tr> +<tr><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache-Detail header to the response.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>length</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The number of characters in subdirectory names</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>levels</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The number of levels of subdirectories in the +cache.</td></tr> +<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var>url-string</var> | <var>on</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> [<var>url-string</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage +manager</td></tr> +<tr><td><a href="mod_file_cache.html#cachefile">CacheFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Cache a list of file handles at startup time</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add an X-Cache header to the response.</td></tr> +<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore request to not serve cached content to client</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Do not store the given HTTP header(s) in the cache. +</td></tr> +<tr><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified +header.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore query string when caching</td></tr> +<tr><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore defined session identifiers encoded in the URL when caching +</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the base URL of reverse proxied cache keys.</td></tr> +<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The factor used to compute an expiry date based on the +LastModified date.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable the thundering herd lock.</td></tr> +<tr><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>integer</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the maximum possible age of a cache lock.</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>directory</var></a></td><td> /tmp/mod_cache-lock +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the lock path directory.</td></tr> +<tr><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>seconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time in seconds to cache a document</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>bytes</var></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows content-negotiated documents to be +cached by proxy servers</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Run the cache from the quick handler.</td></tr> +<tr><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr class="odd"><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>directory</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">The directory root under which cache files are +stored</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The shared object cache implementation to use</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>bytes</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The maximum size (in bytes) of an entry to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>seconds</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in seconds) for a document to be placed in the +cache</td></tr> +<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>bytes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The minimum size (in bytes) of the document to read and be cached + before sending the data downstream</td></tr> +<tr><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>milliseconds</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The minimum time (in milliseconds) that should elapse while reading + before data is sent downstream</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Serve stale content in place of 5xx responses.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server reports as expired</td></tr> +<tr class="odd"><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Attempt to cache requests or responses that have been marked as no-store.</td></tr> +<tr><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Attempt to cache responses that the server has marked as private</td></tr> +<tr class="odd"><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The length of time to wait for more output from the +CGI program</td></tr> +<tr><td><a href="core.html#cgimapextension">CGIMapExtension <var>cgi-path</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables passing HTTP authorization headers to scripts as CGI +variables</td></tr> +<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls how some CGI variables are set</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Charset to translate into</td></tr> +<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures charset translation behavior</td></tr> +<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>charset</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr> +<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Also match files with differing file name extensions.</td></tr> +<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the action of the speling module to case corrections</td></tr> +<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling +module</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>/path/to/directory</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Directory for apache to run chroot(8) after startup.</td></tr> +<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables the generation of <code>Content-MD5</code> HTTP Response +headers</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr> +<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>expiry-period</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Expiry time for the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiehttponly">CookieHTTPOnly on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'HTTPOnly' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiename">CookieName <em>token</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the tracking cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiesamesite">CookieSameSite None|Lax|Strict</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adds the 'SameSite' attribute to the cookie</td></tr> +<tr><td><a href="mod_usertrack.html#cookiesecure">CookieSecure on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Adds the 'Secure' attribute to the cookie</td></tr> +<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr> +<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr> +<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory where Apache HTTP Server attempts to +switch before dumping core</td></tr> +<tr><td><a href="mod_log_config.html#customlog">CustomLog <var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>provider-name</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable WebDAV HTTP methods</td></tr> +<tr><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow PROPFIND, Depth: Infinity requests</td></tr> +<tr class="odd"><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>file-path</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Location of the DAV lock database</td></tr> +<tr class="odd"><td><a href="mod_dav_fs.html#davlockdiscovery">DavLockDiscovery on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable lock discovery</td></tr> +<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>seconds</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimum amount of time the server holds a lock on +a DAV resource</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>time-in-seconds</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"SQL statement"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Execute an SQL statement after connecting to a database</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>number</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum sustained number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>number</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of connections</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>number</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdparams">DBDParams +<var>param1</var>=<var>value1</var>[,<var>param2</var>=<var>value2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Parameters for database connection</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to use persistent connections</td></tr> +<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"SQL statement"</var> <var>label</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an SQL prepared statement</td></tr> +<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>name</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify an SQL driver</td></tr> +<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icon to display for files when no specific icon is +configured</td></tr> +<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>language-tag</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a default language-tag to be sent in the Content-Language +header field for all resources in the current context that have not been +assigned a language-tag by some other means.</td></tr> +<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>directory-path</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Base directory for the server run-time files</td></tr> +<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>media-type|none</var></a></td><td> none </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">This directive has no effect other than to emit warnings +if the value is not <code>none</code>. In prior versions, DefaultType +would specify a default media type to assign to response content for +which no other media type configuration could be found. +</td></tr> +<tr><td><a href="core.html#define">Define <var>parameter-name</var> [<var>parameter-value</var>]</a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Define a variable</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>value</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fragment size to be compressed at one time by zlib</td></tr> +<tr><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">How much compression do we apply to the output</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Places the compression ratio in a note for logging</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum size of inflated request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td> 3 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of times the inflation ratio for request bodies + can be crossed</td></tr> +<tr><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td> 200 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum inflation ratio for request bodies</td></tr> +<tr class="odd"><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>value</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How much memory should be used by zlib for compression</td></tr> +<tr><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>value</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Zlib compression window size</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#deny"> Deny from all|<var>host</var>|env=[!]<var>env-variable</var> +[<var>host</var>|env=[!]<var>env-variable</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls which hosts are denied access to the +server</td></tr> +<tr><td><a href="core.html#directory"><Directory <var>directory-path</var>> +... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose a group of directives that apply only to the +named file-system directory, sub-directories, and their contents.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle how this module responds when another handler is configured</td></tr> +<tr><td><a href="mod_dir.html#directoryindex">DirectoryIndex + disabled | <var>local-url</var> [<var>local-url</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">List of resources to look for when the client requests +a directory</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother | +<var>3xx-code</var> +</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures an external redirect for directory indexes. +</td></tr> +<tr><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enclose directives that apply to +the contents of file-system directories matching a regular expression.</td></tr> +<tr class="odd"><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Toggle trailing slash redirects on or off</td></tr> +<tr><td><a href="core.html#documentroot">DocumentRoot <var>directory-path</var></a></td><td> "/usr/local/apache/ +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Directory that forms the main document tree visible +from the web</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether the privileges required by dtrace are enabled.</td></tr> +<tr><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Dump all input data to the error log</td></tr> +<tr class="odd"><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dump all output data to the error log</td></tr> +<tr><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only if the condition of a +previous <code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> section is not +satisfied by a request at runtime</td></tr> +<tr class="odd"><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is satisfied +by a request at runtime while the condition of a previous +<code class="directive"><a href="../mod/core.html#if"><If></a></code> or +<code class="directive"><ElseIf></code> section is not +satisfied</td></tr> +<tr><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Enables a hook that runs exception handlers +after a crash</td></tr> +<tr class="odd"><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Use memory-mapping to read files during delivery</td></tr> +<tr><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Use the kernel sendfile support to deliver files to the client</td></tr> +<tr class="odd"><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Abort configuration parsing with a custom error message</td></tr> +<tr><td><a href="core.html#errordocument">ErrorDocument <var>error-code</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">What the server will return to the client +in case of an error</td></tr> +<tr class="odd"><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Location where the server will log errors</td></tr> +<tr><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Format specification for error log entries</td></tr> +<tr class="odd"><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Demonstration directive to illustrate the Apache module +API</td></tr> +<tr><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables generation of <code>Expires</code> +headers</td></tr> +<tr class="odd"><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>MIME-type</var> +<var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Value of the <code>Expires</code> header configured +by MIME type</td></tr> +<tr><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>seconds</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Default algorithm for calculating expiration time</td></tr> +<tr class="odd"><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off[*] </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Keep track of extended status information for each +request</td></tr> +<tr><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>filtername</var> <var>parameters</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Define an external filter</td></tr> +<tr class="odd"><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> NoLogStderr </td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> options</td></tr> +<tr><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>local-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a default URL for requests that don't map to a file</td></tr> +<tr class="odd"><td><a href="core.html#fileetag">FileETag <var>component</var> ...</a></td><td> MTime Size </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">File attributes used to create the ETag +HTTP response header for static files</td></tr> +<tr><td><a href="core.html#files"><Files <var>filename</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply to matched +filenames</td></tr> +<tr class="odd"><td><a href="core.html#filesmatch"><FilesMatch <var>regex</var>> ... </FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply to regular-expression matched +filenames</td></tr> +<tr><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Configure the filter chain</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare a smart filter</td></tr> +<tr><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>filter-name</var> [<var>provider-name</var>] + <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Deal with correct HTTP protocol handling</td></tr> +<tr class="odd"><td><a href="mod_filter.html#filterprovider">FilterProvider <var>filter-name</var> <var>provider-name</var> + <var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Register a content filter</td></tr> +<tr><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Get debug/diagnostic information from + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr> +<tr class="odd"><td><a href="core.html#flushmaxpipelined">FlushMaxPipelined <var>number</var></a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of pipelined responses above which they are flushed +to the network</td></tr> +<tr><td><a href="core.html#flushmaxthreshold">FlushMaxThreshold <var>number-of-bytes</var></a></td><td> 65536 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Threshold above which pending data are flushed to the +network</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action to take if a single acceptable document is not +found</td></tr> +<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified +media type in the HTTP Content-Type header field</td></tr> +<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr> +<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr> +<tr class="odd"><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directory to write gmon.out profiling data to. </td></tr> +<tr><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr class="odd"><td><a href="mod_unixd.html#group">Group <var>unix-group</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer +requests</td></tr> +<tr><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine file handling in responses</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on for h2c, off for +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Direct Protocol Switch</td></tr> +<tr><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine sending of 103 status codes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of active streams per HTTP/2 session.</td></tr> +<tr><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of seconds h2 workers remain idle until shut down.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of worker threads to use per child process.</td></tr> +<tr><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Minimal number of worker threads to use per child process.</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Require HTTP/2 connections to be "modern TLS" only</td></tr> +<tr><td><a href="mod_http2.html#h2outputbuffering">H2OutputBuffering on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determine buffering behaviour of output</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2padding">H2Padding <em>numbits</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine the range of padding bytes added to payload frames</td></tr> +<tr><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize <em>n</em></a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">H2 Server Push Diary Size</td></tr> +<tr><td><a href="mod_http2.html#h2pushpriority">H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Server Push Priority</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] <em>path</em> [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Declares resources for early pushing to the client</td></tr> +<tr><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serialize Request/Response Processing Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of output data buffered per stream.</td></tr> +<tr><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the number of seconds of idle time on TLS before shrinking writes</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure the number of bytes on TLS connection before doing max writes</td></tr> +<tr><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on for h2c, off for +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">H2 Upgrade Protocol Switch</td></tr> +<tr class="odd"><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Size of Stream Window for upstream data.</td></tr> +<tr><td><a href="mod_headers.html#header">Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#headername">HeaderName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Name of the file that will be inserted at the top +of the index listing</td></tr> +<tr><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Multicast address for heartbeat packets</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">multicast address to listen for incoming heartbeat requests </td></tr> +<tr><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>number-of-servers</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specifies the maximum number of servers that will be sending +heartbeat requests to this server</td></tr> +<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Path to store heartbeat data when using flat-file storage</td></tr> +<tr><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>file-path</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path to read heartbeat data</td></tr> +<tr class="odd"><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Enables DNS lookups on client IP addresses</td></tr> +<tr><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods] + [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Modify restrictions on HTTP Request Messages</td></tr> +<tr class="odd"><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables logging of the RFC 1413 identity of the remote +user</td></tr> +<tr><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>seconds</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines the timeout duration for ident requests</td></tr> +<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contains directives that apply only if a condition is +satisfied by a request at runtime</td></tr> +<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>parameter-name</var>> ... + </IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if a test is true at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ... + </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific directive</td></tr> +<tr><td><a href="core.html#iffile"><IfFile [!]<var>filename</var>> ... + </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only +if file exists at startup</td></tr> +<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ... + </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific module</td></tr> +<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ... + </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the +presence or absence of a specific section directive</td></tr> +<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ... +</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">contains version dependent configuration</td></tr> +<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr> +<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default action when an imagemap is called with coordinates +that are not explicitly mapped</td></tr> +<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action if no coordinates are given when calling +an imagemap</td></tr> +<tr class="odd"><td><a href="core.html#include">Include <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr><td><a href="core.html#includeoptional">IncludeOptional <var>file-path</var>|<var>directory-path</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Includes other configuration files from within +the server configuration files</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"markup ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Inserts text in the HEAD section of an index page.</td></tr> +<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>file</var> [<var>file</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds to the list of files to hide when listing +a directory</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Empties the list of files to hide when listing +a directory</td></tr> +<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Various configuration settings for directory +indexing</td></tr> +<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending +Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the default ordering of the directory index</td></tr> +<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>url-path</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Adds a CSS stylesheet to the directory index</td></tr> +<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command to filter request data (typically <code>POST</code> data)</td></tr> +<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the error log</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Record <code>HSE_APPEND_LOG_PARAMETER</code> requests from +ISAPI extensions to the query field</td></tr> +<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>file-path</var> [<var>file-path</var>] +...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">ISAPI .dll files to be loaded at startup</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fake asynchronous support for ISAPI callbacks</td></tr> +<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Log unsupported feature requests from ISAPI +extensions</td></tr> +<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>size</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the Read Ahead Buffer sent to ISAPI +extensions</td></tr> +<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables HTTP persistent connections</td></tr> +<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>num</var>[ms]</a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for subsequent +requests on a persistent connection</td></tr> +<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>maximum size in bytes</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Keep the request body instead of discarding it up to +the specified maximum size, for potential use by filters such as +mod_include.</td></tr> +<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The precedence of language variants for cases where +the client does not express a preference</td></tr> +<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum number of entries in the primary LDAP cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Time that cached items remain valid</td></tr> +<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Discard backend connections that have been sitting in the connection pool too long</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>seconds</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the socket connection timeout in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable debugging in the LDAP SDK</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>number</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of entries used to cache LDAP compare +operations</td></tr> +<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>seconds</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Time that entries in the operation cache remain +valid</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>number</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum number of referral hops to chase before terminating an LDAP query.</td></tr> +<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals On|Off|default</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable referral chasing during queries to the LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>number-of-retries</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the number of LDAP server retries.</td></tr> +<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>seconds</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the delay between LDAP server retries.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>directory-path/filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the shared memory cache file</td></tr> +<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>bytes</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Size in bytes of the shared-memory cache</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>seconds</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specifies the timeout for LDAP search and bind operations, in seconds</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var> <var>directory-path/filename/nickname</var> <var>[password]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the file containing or nickname referring to a per +connection client certificate. Not all LDAP toolkits support per +connection client certificates.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var> <var>directory-path/filename</var> <var>[password]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the file or database containing global trusted +Certificate Authority or global client certificates</td></tr> +<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Specifies the SSL/TLS mode to be used when connecting to an LDAP server.</td></tr> +<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert On|Off</a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force server certificate verification</td></tr> +<tr><td><a href="core.html#limit"><Limit <var>method</var> [<var>method</var>] ... > ... + </Limit></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Restrict enclosed access controls to only certain HTTP +methods</td></tr> +<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>method</var> [<var>method</var>] ... > ... + </LimitExcept></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restrict access controls to all HTTP methods +except the named ones</td></tr> +<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>number</var> [<var>number</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine maximum number of internal redirects and nested +subrequests</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>bytes</var></a></td><td> 1073741824 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Restricts the total size of the HTTP request body sent +from the client</td></tr> +<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of HTTP request header fields that +will be accepted from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of the HTTP request header allowed from the +client</td></tr> +<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted +from the client</td></tr> +<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>bytes</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr> +<tr><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">IP addresses and ports that the server +listens to</td></tr> +<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBackLog <var>backlog</var></a></td><td> 511 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr> +<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr> +<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list +of active modules</td></tr> +<tr class="odd"><td><a href="core.html#location"><Location + <var>URL-path</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applies the enclosed directives only to matching +URLs</td></tr> +<tr><td><a href="core.html#locationmatch"><LocationMatch + <var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression +matching URLs</td></tr> +<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>nickname</var> +[<var>nickname</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Describes a format for use in a log file</td></tr> +<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable tracking of time to first byte (TTFB)</td></tr> +<tr class="odd"><td><a href="core.html#loglevel">LogLevel [<var>module</var>:]<var>level</var> + [<var>module</var>:<var>level</var>] ... +</a></td><td> warn </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr> +<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Log user-defined message to error log +</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Plug an authorization provider function into <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> +</td></tr> +<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure the compiled code cache.</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the access_checker phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the auth_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the check_user_id phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the fixups phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the insert_filter phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the access log phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the map_to_storage phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahookpretranslate">LuaHookPreTranslate /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the pre_translate phase of a request +processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /path/to/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the translate name phase of request processing</td></tr> +<tr><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a hook for the type_checker phase of request processing</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Controls how parent configuration sections are merged into children</td></tr> +<tr><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content input filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luamaphandler">LuaMapHandler uri-pattern /path/to/lua/script.lua [function-name]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Map a path to a lua handler</td></tr> +<tr><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Provide a Lua function for content output filtering</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /path/to/include/?.soa</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add a directory to lua's package.cpath</td></tr> +<tr><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /path/to/include/?.lua</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Add a directory to lua's package.path</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Provide a hook for the quick handler of request processing</td></tr> +<tr><td><a href="mod_lua.html#luaroot">LuaRoot /path/to/a/directory</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Specify the base path for resolving relative paths for mod_lua directives</td></tr> +<tr class="odd"><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">One of once, request, conn, thread -- default is once</td></tr> +<tr><td><a href="mod_macro.html#macro" id="M" name="M"> +<Macro <var>name</var> [<var>par1</var> .. <var>parN</var>]> +... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Define a configuration file macro</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of requests allowed on a persistent +connection</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KBytes</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed +to hold without calling <code>free()</code></td></tr> +<tr><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of overlapping ranges (eg: <code>100-200,150-300</code>) allowed before returning the complete + resource </td></tr> +<tr class="odd"><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>number-of-ranges</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of range reversals (eg: <code>100-200,50-70</code>) allowed before returning the complete + resource </td></tr> +<tr><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>number-of-ranges</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Number of ranges allowed before returning the complete +resource </td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr> +<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Set the maximum number of worker threads</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdactivationdelay">MDActivationDelay <var>duration</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-alpn-01 http-01 +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement accepted</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">You confirm that you accepted the Terms of Service of the Certificate + Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificateauthority">MDCertificateAuthority <var>url</var></a></td><td> letsencrypt </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL(s) of the ACME Certificate Authority to use.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatecheck">MDCertificateCheck <var>name</var> <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatefile">MDCertificateFile <var>path-to-pem-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Specify a static certificate file for the MD.</td></tr> +<tr><td><a href="mod_md.html#mdcertificatekeyfile">MDCertificateKeyFile <var>path-to-file</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Specify a static private key for for the static cerrtificate.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatemonitor">MDCertificateMonitor name url</a></td><td> crt.sh https://crt. +</td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The URL of a certificate log monitor.</td></tr> +<tr><td><a href="mod_md.html#mdcertificateprotocol">MDCertificateProtocol <var>protocol</var></a></td><td> ACME </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">The protocol to use with the Certificate Authority.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcertificatestatus">MDCertificateStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Exposes public certificate information in JSON.</td></tr> +<tr><td><a href="mod_md.html#mdchallengedns01">MDChallengeDns01 <var>path-to-command</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdcontactemail">MDContactEmail <var>address</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mddrivemode">MDDriveMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">former name of MDRenewMode.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdexternalaccountbinding">MDExternalAccountBinding <var>key-id</var> <var>hmac-64</var> | none | <var>file</var></a></td><td> none </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdhttpproxy">MDHttpProxy <var>url</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define a proxy for outgoing connections.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmember">MDMember <var>hostname</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Additional hostname for the managed domain.</td></tr> +<tr><td><a href="mod_md.html#mdmembers">MDMembers auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if the alias domain names are automatically added.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdmessagecmd">MDMessageCmd <var>path-to-cmd</var> <var>optional-args</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Handle events for Manage Domains</td></tr> +<tr><td><a href="mod_md.html#mdmuststaple">MDMustStaple on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Control if new certificates carry the OCSP Must Staple flag.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdnotifycmd">MDNotifyCmd <var>path</var> [ <var>args</var> ]</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Run a program when a Managed Domain is ready.</td></tr> +<tr><td><a href="mod_md.html#mdomain">MDomain <var>dns-name</var> [ <var>other-dns-name</var>... ] [auto|manual]</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define list of domain names that belong to one group.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdomainset"><MDomainSet <var>dns-name</var> [ <var>other-dns-name</var>... ]>...</MDomainSet></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to the same managed domains.</td></tr> +<tr><td><a href="mod_md.html#mdportmap">MDPortMap <var>map1</var> [ <var>map2</var> ]</a></td><td> http:80 https:443 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map external to internal ports for domain ownership verification.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdprivatekeys">MDPrivateKeys <var>type</var> [ <var>params</var>... ]</a></td><td> RSA 2048 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set type and size of the private keys generated.</td></tr> +<tr><td><a href="mod_md.html#mdrenewmode">MDRenewMode always|auto|manual</a></td><td> auto </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls if certificates shall be renewed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 5s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control if Managed Domain information is added to server-status.</td></tr> +<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Enable stapling for certificates not managed by mod_md.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling for all or a particular MDomain.</td></tr> +<tr><td><a href="mod_md.html#mdstaplingkeepresponse">MDStaplingKeepResponse <var>duration</var></a></td><td> 7d </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Controls when old responses should be removed.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstaplingrenewwindow">MDStaplingRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Control when the stapling responses will be renewed.</td></tr> +<tr><td><a href="mod_md.html#mdstoredir">MDStoreDir <var>path</var></a></td><td> md </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr> +<tr class="odd"><td><a href="mod_md.html#mdstorelocks">MDStoreLocks on|off|<var>duration</var></a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr> +<tr><td><a href="mod_md.html#mdwarnwindow">MDWarnWindow duration</a></td><td> 10% </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Define the time window when you want to be warned about an expiring certificate.</td></tr> +<tr class="odd"><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Keepalive time for idle connections</td></tr> +<tr><td><a href="core.html#mergeslashes">MergeSlashes ON|OFF</a></td><td> ON </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server merges consecutive slashes in URLs. +</td></tr> +<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether trailers are merged into headers</td></tr> +<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>directory</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information +files</td></tr> +<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr> +<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffix</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">File name suffix for the file containing CERN-style +meta information</td></tr> +<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents +using the specified magic file</td></tr> +<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr> +<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request +spikes</td></tr> +<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>file-path</var> [<var>file-path</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Map a list of files into memory at startup time</td></tr> +<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Modem standard to simulate</td></tr> +<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Tells <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> to treat <code>path_info</code> +components as part of the filename</td></tr> +<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The types of files that will be included when searching for +a matching file with MultiViews</td></tr> +<tr><td><a href="core.html#mutex">Mutex <var>mechanism</var> [default|<var>mutex-name</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures mutex mechanism and lock file directory for all +or specified mutexes</td></tr> +<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>addr</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">DEPRECATED: Designates an IP address for name-virtual +hosting</td></tr> +<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>host</var> [<var>host</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected to +directly</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>filename</var> [<var>filename</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">List of additional client certificates</td></tr> +<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>IP-address</var>:]<var>portnumber</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Allows a connection to be upgraded to an SSL connection upon request</td></tr> +<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> FollowSymlinks </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures what features are available in a particular +directory</td></tr> +<tr><td><a href="mod_access_compat.html#order"> Order <var>ordering</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Controls the default access state and the order in which +<code class="directive">Allow</code> and <code class="directive">Deny</code> are +evaluated.</td></tr> +<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>sed-command</var></a></td><td></td><td>dh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sed command for filtering response content</td></tr> +<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr> +<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID +of the daemon</td></tr> +<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Trade off processing speed and efficiency vs security against +malicious privileges-aware code.</td></tr> +<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocol</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocol for a listening socket</td></tr> +<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Turn the echo server on or off</td></tr> +<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocol</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocols available for a server/virtual host</td></tr> +<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Determines if order of Protocols determines precedence during negotiation</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>wildcard-url</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied resources</td></tr> +<tr><td><a href="mod_proxy.html#proxy100continue">Proxy100Continue Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Forward 100-continue expectation to the origin server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Add proxy information in X-Forwarded-* headers</td></tr> +<tr><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Determines how to handle bad header lines in a +response</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var> +[<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being +proxied</td></tr> +<tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride Off|On [<var>code</var> ...]</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <var>pathname</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Pathname to DBM file.</td></tr> +<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMType <var>type</var></a></td><td> default </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">DBM type of file.</td></tr> +<tr><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable the module functionality.</td></tr> +<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Specify the type of backend FastCGI application</td></tr> +<tr><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var> + [!]<var>environment-variable-name</var> + [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow variables sent to FastCGI servers to be fixed up</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character_set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr> +<tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr> +<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard on|off</a></td><td> on </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Creates a named condition expression to use to determine health of the backend based on its response</td></tr> +<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Creates a named template for setting various health check parameters</td></tr> +<tr><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td> 16 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the total server-wide size of the threadpool used for the health check workers</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the buffer size increment for buffering inline scripts and +stylesheets.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>Charset | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify a charset for mod_proxy_html output.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong> +<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets an HTML or XHTML document type declaration.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns the proxy_html filter on or off.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribute [attribute ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify attributes to treat as scripting events.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Determines whether to fix links in inline scripts, stylesheets, +and scripting events.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fixes for simple HTML errors.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Enables per-request interpolation of +<code class="directive">ProxyHTMLURLMap</code> rules.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>element attribute [attribute2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specify HTML elements that have URL attributes to be rewritten.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Turns on or off extra pre-parsing of metadata in HTML +<code><head></code> sections.</td></tr> +<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Determines whether to strip HTML comments.</td></tr> +<tr><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>from-pattern to-pattern [flags] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Defines a rule to rewrite HTML links</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>bytes</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Determine size of internal data throughput buffer</td></tr> +<tr><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Container for directives applied to regular-expression-matched +proxied resources</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>number</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of proxies that a request can be forwarded +through</td></tr> +<tr><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Maps remote servers into the local server URL-space</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Inherit ProxyPass directives defined from the main server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var> + <var>[key=value</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maps remote servers into the local server URL-space using regular expressions</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>path</var>] <var>url</var> +[interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the URL in HTTP response headers sent from a reverse +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>internal-domain</var> +<var>public-domain</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Adjusts the Domain string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var> +<var>public-path</var> [interpolate]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse- +proxied server</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy +request</td></tr> +<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP +connections</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>match</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Remote proxy used to handle certain requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>remote-server</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remote proxy used to handle requests matched by regular +expressions</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables forward (standard) proxy requests</td></tr> +<tr><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable or disable internal redirect responses from the +backend</td></tr> +<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>Headername</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable evaluation of <var>X-Sendfile</var> pseudo response +header</td></tr> +<tr><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>key=value [key=value ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Set various Proxy balancer or member parameters</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>address</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set local IP address for outgoing proxy connections</td></tr> +<tr><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Show Proxy LoadBalancer status in mod_status</td></tr> +<tr class="odd"><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>seconds</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Network timeout for proxied requests</td></tr> +<tr><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Information provided in the <code>Via</code> HTTP response +header for proxied requests</td></tr> +<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Instructs this module to let <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> handle the request</td></tr> +<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the REDIRECT_URL environment variable is + fully qualified</td></tr> +<tr class="odd"><td><a href="core.html#readbuffersize" id="R" name="R">ReadBufferSize <var>bytes</var></a></td><td> 8192 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Size of the buffers used to read data</td></tr> +<tr><td><a href="mod_autoindex.html#readmename">ReadmeName <var>filename</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Name of the file that will be inserted at the end +of the index listing</td></tr> +<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP receive buffer size</td></tr> +<tr><td><a href="mod_alias.html#redirect">Redirect [<var>status</var>] [<var>URL-path</var>] +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>status</var>] <var>regex</var> +<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external redirect based on a regular expression match +of the current URL</td></tr> +<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sends an external permanent redirect asking the client to fetch +a different URL</td></tr> +<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>URL-path</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sends an external temporary redirect asking the client to fetch +a different URL</td></tr> +<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr> +<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr> +<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>inputheader</var> <var>[outputheader]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Reflect an input header to the output headers</td></tr> +<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOTALL DOLLAR_ENDON +</td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Allow to configure global/default options for regexes</td></tr> +<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Register non-standard HTTP methods</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>header-field</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare the header field which should be parsed for useragent IP addresses</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>HeaderFieldName</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare the header field which will record all intermediate IP addresses</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable PROXY protocol handling</td></tr> +<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Disable processing of PROXY header for certain hosts or networks</td></tr> +<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy <var>proxy-ip</var>|<var>proxy-ip/subnet</var>|<var>hostname</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>filename</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Declare client intranet IP addresses trusted to present the RemoteIPHeader value</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any character set associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content encoding associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any handler associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any input filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any language associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any output filter associations for a set of file +extensions</td></tr> +<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>] +...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes any content type associations for a set of file +extensions</td></tr> +<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|edit*|merge|set|setifempty|unset +<var>header</var> [[expr=]<var>value</var> [<var>replacement</var>] +[early|env=[!]<var>varname</var>|expr=<var>expression</var>]] +</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP request headers</td></tr> +<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout +[handshake=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] +</a></td><td> handshake=0 header= +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for completing the TLS handshake, receiving +the request headers and/or body from client. +</td></tr> +<tr><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var> + [<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Tests whether an authenticated user is authorized by +an authorization provider.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must fail and at least one must succeed for the enclosing directive to +succeed.</td></tr> +<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enclose a group of authorization directives of which one +must succeed for the enclosing directive to succeed.</td></tr> +<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enclose a group of authorization directives of which none +must succeed for the enclosing directive to not fail.</td></tr> +<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond + <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a condition under which rewriting will take place +</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> + [<em>MapTypeOptions</em>] +</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines a mapping function for key-lookup</td></tr> +<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets some special options for the rewrite engine</td></tr> +<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule + <em>Pattern</em> <em>Substitution</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Defines rules for the rewriting engine</td></tr> +<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the CPU consumption of processes launched +by Apache httpd children</td></tr> +<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limits the memory consumption of processes launched +by Apache httpd children</td></tr> +<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>number</var>|max [<var>number</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the number of processes that can be launched by +processes launched by Apache httpd children</td></tr> +<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and +user authentication</td></tr> +<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_runtime +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the file used to store coordination data for +the child processes</td></tr> +<tr class="odd"><td><a href="mod_actions.html#script">Script <var>method</var> <var>cgi-script</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular request +method.</td></tr> +<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias [<var>URL-path</var>] +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Maps a URL to a filesystem location and designates the +target as a CGI script</td></tr> +<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var> +<var>file-path</var>|<var>directory-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Maps a URL to a filesystem location using a regular expression +and designates the target as a CGI script</td></tr> +<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Technique for locating the interpreter for CGI +scripts</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>file-path</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the CGI script error logfile</td></tr> +<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>bytes</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Maximum amount of PUT or POST requests that will be recorded +in the scriptlog</td></tr> +<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>bytes</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size limit of the CGI script logfile</td></tr> +<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>file-path</var></a></td><td> cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The filename prefix of the socket to use for communication with +the cgi daemon</td></tr> +<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>IP-address</var>:]<var>portnumber</var> +<var>Certificate-Name</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enables SSL encryption for the specified port</td></tr> +<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Determine if mod_status displays the first 63 characters +of a request or the last 63, assuming the request itself is greater than +63 chars.</td></tr> +<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP buffer size</td></tr> +<tr><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Email address that the server includes in error +messages sent to the client</td></tr> +<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>hostname</var> [<var>hostname</var>] ...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate names for a host used when matching requests +to name-virtual hosts</td></tr> +<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr> +<tr class="odd"><td><a href="core.html#servername">ServerName [<var>scheme</var>://]<var>domain-name</var>|<var>ip-address</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Hostname and port that the server uses to identify +itself</td></tr> +<tr><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Legacy URL pathname for a name-based virtual host that +is accessed by an incompatible browser</td></tr> +<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>directory-path</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Base directory for the server installation</td></tr> +<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures the footer on server-generated documents</td></tr> +<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the <code>Server</code> HTTP response +header</td></tr> +<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables a session for the current directory or location</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session</td></tr> +<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session</td></tr> +<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control for whether session cookies should be removed from incoming HTTP headers</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>name</var></a></td><td> aes256 </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The crypto cipher to be used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The crypto driver to be used to encrypt the session</td></tr> +<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">The key used to encrypt the session</td></tr> +<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>filename</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">File containing keys used to encrypt the session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name and attributes for the RFC2109 cookie storing the session ID</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>name</var> <var>attributes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Name and attributes for the RFC2965 cookie storing the session ID</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control for whether session ID cookies should be removed from incoming HTTP headers</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>label</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to remove sessions from the database</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>label</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to insert sessions into the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable a per user session</td></tr> +<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>label</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">The SQL query to use to select sessions from the database</td></tr> +<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>label</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The SQL query to use to update existing sessions in the database</td></tr> +<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Control whether the contents of the session are written to the +<var>HTTP_SESSION</var> environment variable</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define URL prefixes for which a session is ignored</td></tr> +<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (always update) </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the number of seconds a session's expiry may change without +the session being updated</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>header</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Import session updates from a given HTTP response header</td></tr> +<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>path</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Define URL prefixes for which a session is valid</td></tr> +<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>maxage</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define a maximum age in seconds for a session</td></tr> +<tr><td><a href="mod_env.html#setenv">SetEnv <var>env-variable</var> [<var>value</var>]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribute + regex [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +</td></tr> +<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr <em>expr + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables based on an ap_expr expression</td></tr> +<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribute regex + [!]env-variable</em>[=<em>value</em>] + [[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets environment variables based on attributes of the request +without respect to case</td></tr> +<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|none|<var>expression</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be processed by a +handler</td></tr> +<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the filters that will process client requests and POST +input</td></tr> +<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filter</var>[;<var>filter</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Sets the filters that will process responses from the +server</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">String that ends an include element</td></tr> +<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Error message displayed when there is an SSI +error</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Controls whether ETags are generated by the server.</td></tr> +<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Controls whether <code>Last-Modified</code> headers are generated by the +server.</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enable compatibility mode for conditional expressions.</td></tr> +<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">String that starts an include element</td></tr> +<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>formatstring</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configures the format in which date strings are +displayed</td></tr> +<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>string</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">String displayed when an unset variable is echoed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for defining acceptable CA names</td></tr> +<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +defining acceptable CA names</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none [<em>flag</em>s ...]</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable CRL-based revocation checking</td></tr> +<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Client Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of PEM-encoded Server CA Certificates</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Server PEM-encoded X.509 certificate data file or token identifier</td></tr> +<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Server PEM-encoded private key file</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (depends on +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable compression on the SSL level</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>engine</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable use of a cryptographic hardware accelerator</td></tr> +<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SSL Engine Operation Switch</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL FIPS mode Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option to prefer the server's cipher preference order</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option to enable support for insecure renegotiation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSPDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Set the default responder URI for OCSP validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable OCSP validation of the client certificate chain</td></tr> +<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">skip the OCSP responder certificates verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force use of the default responder URI for OCSP validation</td></tr> +<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Proxy URL to use for OCSP requests</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set of trusted PEM encoded OCSP responder certificates</td></tr> +<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP responses</td></tr> +<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use a nonce within OCSP queries</td></tr> +<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>command-name</em> <em>command-value</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure OpenSSL parameters through its <em>SSL_CONF</em> API</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure various SSL engine run-time options</td></tr> +<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of pass phrase dialog for encrypted private +keys</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL/TLS protocol versions</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA Certificates +for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Directory of PEM-encoded CA Certificates for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enable CRL-based revocation checking for Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>directory-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded CA CRLs for +Remote Server Auth</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to check the remote server certificate's CN field +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether to check if remote server certificate is expired +</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure host name checking for remote server certificates +</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Cipher Suite available for negotiation in SSL +proxy handshake</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">SSL Proxy Engine Operation Switch</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">File of concatenated PEM-encoded CA certificates to be used by the proxy for choosing a certificate</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>filename</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">File of concatenated PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>directory</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Directory of PEM-encoded client certificates and keys to be used by the proxy</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocol</em> ...</a></td><td> all -SSLv3 (up to 2 +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure usable SSL protocol flavors for proxy usage</td></tr> +<tr><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>level</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of remote server Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>number</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Remote Server +Certificate verification</td></tr> +<tr><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>context</em> <em>source</em> +[<em>bytes</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Pseudo Random Number Generator (PRNG) seeding +source</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>bytes</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the size for the SSL renegotiation buffer</td></tr> +<tr><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Allow access only when an arbitrarily complex +boolean expression is true</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Deny access when SSL is not used for the +HTTP request</td></tr> +<tr><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of the global/inter-process SSL Session +Cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before an SSL session expires +in the Session Cache</td></tr> +<tr><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Persistent encryption/decryption key for TLS session tickets</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable or disable use of TLS session tickets</td></tr> +<tr><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">SRP unknown user seed</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path to SRP verifier file</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Configures the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>seconds</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Number of seconds before expiring invalid responses in the OCSP stapling cache</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Synthesize "tryLater" responses for failed OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override the OCSP responder URI specified in the certificate's AIA extension</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>seconds</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Timeout for OCSP stapling queries</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>seconds</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowable age for OCSP stapling responses</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>seconds</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Maximum allowable time skew for OCSP stapling response validation</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pass stapling related OCSP errors on to client</td></tr> +<tr><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>seconds</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Number of seconds before expiring responses in the OCSP stapling cache</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether to allow non-SNI clients to access a name-based virtual +host. +</td></tr> +<tr><td><a href="mod_ssl.html#sslusername">SSLUserName <em>varname</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Variable name to determine user name</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable stapling of OCSP responses in the TLS handshake</td></tr> +<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr> +<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client +Certificate verification</td></tr> +<tr><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of child server processes created at startup</td></tr> +<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created on startup</td></tr> +<tr><td><a href="core.html#stricthostcheck">StrictHostCheck ON|OFF</a></td><td> OFF </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the server requires the requested hostname be + listed enumerated in the virtual host handling the request + </td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/pattern/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Pattern to filter the response content</td></tr> +<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Change the merge order of inherited patterns</td></tr> +<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>bytes</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Set the maximum line size</td></tr> +<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Enable or disable the suEXEC feature</td></tr> +<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">User and group for CGI programs to run as</td></tr> +<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads +per child process</td></tr> +<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Number of threads created by each child process</td></tr> +<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling +client connections</td></tr> +<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>seconds</var></a></td><td> 60 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Amount of time the server will wait for +certain events before failing a request</td></tr> +<tr><td><a href="mod_tls.html#tlscertificate">TLSCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">adds a certificate and key (PEM encoded) to a server/virtual host.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsciphersprefer">TLSCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are preferred.</td></tr> +<tr><td><a href="mod_tls.html#tlscipherssuppress">TLSCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are not to be used.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsengine">TLSEngine [<em>address</em>:]<em>port</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines on which address+port the module shall handle incoming connections.</td></tr> +<tr><td><a href="mod_tls.html#tlshonorclientorder">TLSHonorClientOrder on|off</a></td><td> on </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">determines if the order of ciphers supported by the client is honored</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsoptions">TLSOptions [+|-]<em>option</em></a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">enables SSL variables for requests.</td></tr> +<tr><td><a href="mod_tls.html#tlsprotocol">TLSProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxyca">TLSProxyCA <em>file.pem</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">sets the root certificates to validate the backend server with.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyciphersprefer">TLSProxyCiphersPrefer <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">defines ciphers that are preferred for a proxy connection.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxycipherssuppress">TLSProxyCiphersSuppress <em>cipher(-list)</em></a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">defines ciphers that are not to be used for a proxy connection.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyengine">TLSProxyEngine on|off</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">enables TLS for backend connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlsproxymachinecertificate">TLSProxyMachineCertificate <em>cert_file</em> [<em>key_file</em>]</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">adds a certificate and key file (PEM encoded) to a proxy setup.</td></tr> +<tr><td><a href="mod_tls.html#tlsproxyprotocol">TLSProxyProtocol <em>version</em>+</a></td><td> v1.2+ </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">specifies the minimum version of the TLS protocol to use in proxy connections.</td></tr> +<tr class="odd"><td><a href="mod_tls.html#tlssessioncache">TLSSessionCache <em>cache-spec</em></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">specifies the cache for TLS session resumption.</td></tr> +<tr><td><a href="mod_tls.html#tlsstrictsni">TLSStrictSNI on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">enforces exact matches of client server indicators (SNI) against host names.</td></tr> +<tr class="odd"><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Determines the behavior on <code>TRACE</code> requests</td></tr> +<tr><td><a href="mod_log_config.html#transferlog">TransferLog <var>file</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Specify location of a log file</td></tr> +<tr class="odd"><td><a href="mod_mime.html#typesconfig">TypesConfig <var>file-path</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">The location of the <code>mime.types</code> file</td></tr> +<tr><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>parameter-name</var></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Undefine the existence of a variable</td></tr> +<tr class="odd"><td><a href="mod_macro.html#undefmacro">UndefMacro <var>name</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Undefine a macro</td></tr> +<tr><td><a href="mod_env.html#unsetenv">UnsetEnv <var>env-variable</var> [<var>env-variable</var>] +...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes variables from the environment</td></tr> +<tr class="odd"><td><a href="mod_macro.html#use">Use <var>name</var> [<var>value1</var> ... <var>valueN</var>] +</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Use a macro</td></tr> +<tr><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and +port</td></tr> +<tr class="odd"><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configures how the server determines its own port</td></tr> +<tr><td><a href="mod_unixd.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">The userid under which the server will answer +requests</td></tr> +<tr class="odd"><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em> [<em>directory-filename</em>] ... +</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the user-specific directories</td></tr> +<tr><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the virtualhost can run +subprocesses, and the privileges available to subprocesses.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostcgiprivs">VHostCGIPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to subprocesses created +by a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>unix-groupid</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Sets the Group ID under which a virtual host runs.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>privilege-name</var> [[+-]?privilege-name] ...</a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Assign arbitrary privileges to a virtual host.</td></tr> +<tr><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Determines whether the server runs with enhanced security +for the virtualhost.</td></tr> +<tr class="odd"><td><a href="mod_privileges.html#vhostuser">VHostUser <var>unix-userid</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the User ID under which a virtual host runs.</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root +for a given virtual host</td></tr> +<tr><td><a href="core.html#virtualhost"><VirtualHost + <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]] + ...> ... </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Contains directives that apply only to a specific +hostname or IP address</td></tr> +<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the CGI directory for +a given virtual host</td></tr> +<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval" id="W" name="W">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Watchdog interval in seconds</td></tr> +<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit +set</td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr> +<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information +can be <a href="#sniffing">automatically detected</a></td></tr> +<tr class="odd"><td><a href="mod_xml2enc.html#xml2startparse">xml2StartParse <var>element [element ...]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Advise the parser to skip leading junk.</td></tr> +</table></div> +<div class="bottomlang"> +<p><span>可用语言: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/mod/quickreference.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> | +<a href="../zh-cn/mod/quickreference.html" title="Simplified Chinese"> zh-cn </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">评论</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/quickreference.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p> +<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/directives.html">指令</a> | <a href="http://wiki.apache.org/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/worker.html b/docs/manual/mod/worker.html new file mode 100644 index 0000000..c81e790 --- /dev/null +++ b/docs/manual/mod/worker.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: worker.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: worker.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: worker.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: worker.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: worker.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/worker.html.de b/docs/manual/mod/worker.html.de new file mode 100644 index 0000000..a128aef --- /dev/null +++ b/docs/manual/mod/worker.html.de @@ -0,0 +1,201 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>worker - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache-MPM worker</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/worker.html" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Multi-Processing-Modul, das einen Hybrid-Webserver mit + Multi-Thread und Multi-Prozess-Unterstützung implementiert</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modulbezeichner:</a></th><td>mpm_worker_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Quelltext-Datei:</a></th><td>worker.c</td></tr></table> +<h3>Zusammenfassung</h3> + + <p>Dieses Multi-Processing-Modul (MPM) implementiert einen Hybrid-Server + mit Multi-Thread und Multi-Prozess-Unterstützung. Durch die Verwendung + von Threads für die Bedienung von Anfragen ist er in der Lage, + eine große Anzahl von Anfragen mit weniger Systemressourcen als + ein Prozess-basierter Server zu bedienen. Er behält jedoch viel von + der Stabilität eines Prozess-basierten Servers bei, indem er + mehrere Prozesse verfügbar hält, jeden mit etlichen Threads.</p> + + <p>Die wichtigsten Direktiven zur Steuerung des MPMs sind <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, welche die Anzahl + der Threads beeinflusst, die von jedem Kindprozess verwendet werden, und + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>, welche die + maximale Gesamtzahl an Threads regelt, die gestartet werden + können.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Themen</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Arbeitsweise</a></li> +</ul><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_worker">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_worker">Report a bug</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen + und Ports</a></li> +<li><a href="#comments_section">Kommentare</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Arbeitsweise</a></h2> + <p>Ein einzelner Steuerprozess (der Elternprozess) ist für den + Start der Kindprozesse verantwortlich. Jeder Kindprozess erstellt eine + feste Anzahl von Server-Threads, wie durch die <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>-Direktive + angegeben, sowie einen "Listener-Thread", der auf Verbindungen wartet und + diese an einen Server-Thread zur Bearbeitung weiterreicht, sobald sie + eintreffen.</p> + + <p>Der Apache versucht immer, einen Vorrat von <dfn>freien</dfn> oder + unbeschäftigten Threads zu verwalten, die zur Bedienung + hereinkommender Anfragen bereit stehen. Auf diese Weise brauchen + Clients nicht auf die Erstellung eines neuen Threads oder Prozesses + zu warten, bevor ihre Anfrage bedient werden kann. Die Anzahl der + Prozesse, die anfangs gestartet wird, wird mit der Direktive + <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> festgelegt. + Dann, während des Betriebes, berechnet der Apache die Gesamtzahl + der unbeschäftigten Threads und forkt oder beendet Prozesse, um diese + Anzahl innerhalb der durch <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> und <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> angegebenen Grenzen + zu halten. Da dieser Prozess sehr selbstregulierend ist, ist es nur selten + notwendig, die Voreinstellung dieser Direktiven zu ändern. Die + maximale Anzahl Clients, die gleichzeitig bedient werden kann (d.h. + die maximale Gesamtzahl der Threads in allen Prozessen), wird mit der + Direktive <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + festgelegt. Die maximale Anzahl der aktiven Kindprozesse ergibt sich aus + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> dividiert durch + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>.</p> + + <p>Zwei Direktiven legen harte Limits für die Anzahl der aktiven + Kindprozesse fest und können nur geändert werden, indem der Server + komplett gestoppt und dann wieder neu gestartet wird. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> stellt die obere Grenze für + die Anzahl der aktiven Kindprozesse dar und muss größer oder + gleich dem Quotienten aus <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> und <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> sein. <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> ist die obere Grenze für + die Anzahl der Server-Threads und muss größer oder gleich + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> sein. Sofern für + diese Direktiven keine Voreinstellungen verwendet werden, sollten sie vor + allen anderen <code class="module"><a href="../mod/worker.html">worker</a></code>-Direktiven platziert werden.</p> + + <p>Neben den normalen aktiven Kindprozessen gibt es möglicherweise noch + zusätzliche Kindprozesse, welche gerade beendet werden, wo allerdings + zumindest noch ein Server-Thread eine existierende Verbindung bearbeitet. + Obwohl die tatsächlich zu erwartende Anzahl deutlich kleiner ist, + können bis zu <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + solcher Prozesse auftreten. Dieses Verhalten können Sie vermeiden, + indem Sie die Terminierung einzelner Kindprozesse wie folgt abschalten:</p> + + <ul> + <li>setzen Sie den Wert von <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> auf Null</li> + + <li>setzen Sie den Wert von <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> auf den gleichen Wert wie <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code></li> + </ul> + + <p>Eine typische Konfiguration der Prozess-Thread-Steuerung für + das MPM <code class="module"><a href="../mod/worker.html">worker</a></code> könnte wie folgt aussehen:</p> + + <div class="example"><p><code> + ServerLimit 16<br /> + StartServers 2<br /> + MaxClients 150<br /> + MinSpareThreads 25<br /> + MaxSpareThreads 75<br /> + ThreadsPerChild 25 + </code></p></div> + + <p>Während der Elternprozess unter Unix normalerweise als + <code>root</code> gestartet wird, um sich an Port 80 binden zu können, + werden die Kindprozesse und Threads unter einem weniger privilegierten + Benutzer gestartet. Die Direktiven <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> und <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> werden dazu verwendet, die + Privilegien der Apache-Kindprozesse festzulegen. Die Kindprozesse + müssen in der Lage sein, alle Inhalte zu lesen, die sie ausliefern + sollen, sollten darüber hinaus jedoch so wenig wie möglich Rechte + besitzen. Zusätzlich, solange nicht <code class="program"><a href="../programs/suexec.html">suexec</a></code> verwendet wird, legen diese + Direktiven auch die Privilegien fest, die von CGI-Skripts + geerbt werden.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> + bestimmt, wie häufig der Server Prozesse erneuert, indem er alte + beendet und neue startet.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/worker.html" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/worker.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/worker.html.en b/docs/manual/mod/worker.html.en new file mode 100644 index 0000000..3472a3f --- /dev/null +++ b/docs/manual/mod/worker.html.en @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>worker - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM worker</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multi-Processing Module implementing a hybrid + multi-threaded multi-process web server</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>mpm_worker_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>worker.c</td></tr></table> +<h3>Summary</h3> + + <p>This Multi-Processing Module (MPM) implements a hybrid + multi-process multi-threaded server. By using threads to serve + requests, it is able to serve a large number of requests with + fewer system resources than a process-based server. However, it + retains much of the stability of a process-based server by + keeping multiple processes available, each with many threads.</p> + + <p>The most important directives used to control this MPM are + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, which + controls the number of threads deployed by each child process and + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, which + controls the maximum total number of threads that may be + launched.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it Works</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_worker">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_worker">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="../bind.html">Setting which addresses and ports Apache HTTP Server uses</a></li> +<li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">How it Works</a></h2> + <p>A single control process (the parent) is responsible for launching + child processes. Each child process creates a fixed number of server + threads as specified in the <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> directive, as well + as a listener thread which listens for connections and passes them + to a server thread for processing when they arrive.</p> + + <p>Apache HTTP Server always tries to maintain a pool of <dfn>spare</dfn> or + idle server threads, which stand ready to serve incoming + requests. In this way, clients do not need to wait for a new + threads or processes to be created before their requests can be + served. The number of processes that will initially launch is + set by the <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> + directive. During operation, the server assesses the total number + of idle threads in all processes, and forks or kills processes to + keep this number within the boundaries specified by <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> and <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>. Since this + process is very self-regulating, it is rarely necessary to modify + these directives from their default values. The maximum number of + clients that may be served simultaneously (i.e., the maximum total + number of threads in all processes) is determined by the + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> directive. + The maximum number of active child processes is determined by + the <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + directive divided by the <code class="directive"><a href="../mod/mpm_common.html#threadsperchild"> + ThreadsPerChild</a></code> directive.</p> + + <p>Two directives set hard limits on the number of active child + processes and the number of server threads in a child process, + and can only be changed by fully stopping the server and then + starting it again. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit + </a></code> is a hard limit on the number of active child + processes, and must be greater than or equal to the + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + directive divided by the <code class="directive"><a href="../mod/mpm_common.html#threadsperchild"> + ThreadsPerChild</a></code> directive. + <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> is a hard + limit of the number of server threads, and must be greater than + or equal to the <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> directive.</p> + + <p>In addition to the set of active child processes, there may + be additional child processes which are terminating, but where at + least one server thread is still handling an existing client + connection. Up to <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> terminating processes + may be present, though the actual number can be expected to be + much smaller. This behavior can be avoided by disabling the + termination of individual child processes, which is achieved using + the following:</p> + + <ul> + <li>set the value of <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild"> + MaxConnectionsPerChild</a></code> to zero</li> + + <li>set the value of <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads"> + MaxSpareThreads</a></code> to the same value as + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code></li> + </ul> + + <p>A typical configuration of the process-thread controls in + the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM could look as follows:</p> + + <pre class="prettyprint lang-config">ServerLimit 16 +StartServers 2 +MaxRequestWorkers 150 +MinSpareThreads 25 +MaxSpareThreads 75 +ThreadsPerChild 25</pre> + + + <p>While the parent process is usually started as <code>root</code> + under Unix in order to bind to port 80, the child processes and threads + are launched by the server as a less-privileged user. The <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> and <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> directives are used to set + the privileges of the Apache HTTP Server child processes. The child processes + must be able to read all the content that will be served, but + should have as few privileges beyond that as possible. In + addition, unless <code class="program"><a href="../programs/suexec.html">suexec</a></code> is used, + these directives also set the privileges which will be inherited + by CGI scripts.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> + controls how frequently the server recycles processes by killing + old ones and launching new ones.</p> + + <p>This MPM uses the <code>mpm-accept</code> mutex to serialize + access to incoming connections when subject to the thundering herd + problem (generally, when there are multiple listening sockets). + The implementation aspects of this mutex can be configured with the + <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> directive. The <a href="../misc/perf-tuning.html">performance hints</a> + documentation has additional information about this mutex.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/worker.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/worker.html.fr.utf8 b/docs/manual/mod/worker.html.fr.utf8 new file mode 100644 index 0000000..3d3a4ad --- /dev/null +++ b/docs/manual/mod/worker.html.fr.utf8 @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>worker - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM worker</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus implémentant un serveur web hybride +multi-processus multi-thread</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_worker_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>worker.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module multi-processus (MPM) implémente un serveur hybride + multi-processus multi-thread. En utilisant les threads pour servir + les requêtes, il peut en traiter un grand nombre tout en consommant + moins de ressources qu'un serveur à base de processus. Cependant, il + conserve une grande partie de la stabilité d'un serveur à base de + processus en maintenant plusieurs processus disponibles, chacun de + ces derniers possédant de nombreux threads.</p> + + <p>Les directives les plus importantes qui permettent de contrôler + ce MPM sont <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, qui définit le + nombre de threads lancés par chaque processus enfant et <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, qui définit le nombre + global maximum de threads qui peuvent être lancés.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_worker">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_worker">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise le serveur HTTP Apache</a></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Comment ça marche</a></h2> + <p>Un processus de contrôle unique (le parent) a pour tâche de + lancer les processus enfants. Chaque processus enfant crée un nombre + fixe de threads serveurs selon la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, ainsi + qu'un thread chargé d'attendre les connexions et de les passer à un + thread serveur pour traitement au fur et à mesure de leur arrivée.</p> + + <p>Le serveur HTTP Apache essaie toujours de maintenir un jeu de + threads serveurs + inactifs ou <dfn>en réserve</dfn>, qui se tiennent prêts à traiter + les requêtes entrantes. De cette façon, les clients n'ont pas besoin + d'attendre la création d'un nouveau thread ou d'un nouveau processus + pour que leurs requêtes puissent être traitées. Le nombre de + processus lancés initialement est défini par la directive <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>. En cours de + fonctionnement, le serveur évalue le nombre total de threads inactifs + dans tous les processus, et en crée ou en arrête de façon à + maintenir ce nombre à l'intérieur des limites définies par les + directives <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>. Comme ce module + s'auto-contrôle de manière efficace, on peut en général conserver + les valeurs par défaut. Le nombre maximum de clients pouvant être + servis simultanément (c'est à dire le nombre global maximum de + threads pour tous les processus) est défini par la directive + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>. Le nombre + maximum de processus enfants actifs est défini par la valeur de la + directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + divisée par la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild"> + ThreadsPerChild</a></code>.</p> + + <p>Deux directives permettent de fixer des limites absolues pour le + nombre de processus enfants actifs et le nombre de threads serveurs + par processus enfant, et ne peuvent être modifiées qu'en + arrêtant complètement le serveur et en le démarrant à nouveau. + La valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> constitue une limite + absolue pour le nombre de processus enfants actifs, et doit être + supérieure ou égale à la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> divisée par la valeur de + la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild"> + ThreadsPerChild</a></code>. La valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> constitue une limite + absolue pour le nombre de threads par processus enfant, et doit être + supérieure ou égale à la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>.</p> + + <p>En plus du jeu de processus enfants actifs, il peut exister + quelques processus enfants en cours d'arrêt, mais dont au moins un + thread serveur est encore en train de traiter une connexion client + existante. Il peut subsister en théorie jusqu'à <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> processus en cours + d'arrêt, bien qu'en réalité, ce nombre sera en général beaucoup plus + petit. Ce comportement peut être évité en désactivant l'arrêt de + processus enfants individuels de la manière suivante :</p> + + <ul> + <li>définir la valeur de <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild"> + MaxConnectionsPerChild</a></code> à zéro</li> + + <li>Définir la valeur de <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads"> + MaxSpareThreads</a></code> à la même valeur que <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code></li> + </ul> + + <p>Voici un exemple typique de configuration du contrôle + processus-thread pour le MPM <code class="module"><a href="../mod/worker.html">worker</a></code> :</p> + + <pre class="prettyprint lang-config">ServerLimit 16 +StartServers 2 +MaxRequestWorkers 150 +MinSpareThreads 25 +MaxSpareThreads 75 +ThreadsPerChild 25</pre> + + + <p>Alors que le processus parent est en général démarré en tant que + <code>root</code> sous Unix afin de se mettre en écoute du port 80, + les processus enfants et les threads sont lancés par le serveur sous un + utilisateur avec privilèges restreints. On peut utiliser les + directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> pour définir les privilèges + des processus enfants. Les processus enfants doivent pouvoir être en + mesure de lire tous les contenus destinés à être servis, mais + doivent avoir des privilèges aussi bas que possible. De plus, ces + directives définissent également les privilèges dont vont hériter les + scripts CGI (sauf si on utilise <code class="program"><a href="../programs/suexec.html">suexec</a></code>).</p> + + <p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> permet de + définir la fréquence à laquelle le serveur recycle ses processus en + arrêtant les plus anciens et en en lançant de nouveaux.</p> + + <p>Ce module MPM utilise le mutex <code>mpm-accept</code> pour + sérialiser l'accès aux connexions entrantes lorsqu'un problème + d'afflux de requêtes peut survenir (en général, lorsqu'il y a + plusieurs sockets en écoute). Les différents aspects de + l'implémentation de ce mutex peuvent être configurés via la + directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. Vous + trouverez des informations plus détaillées à propos de ce mutex dans + la documentation sur les <a href="../misc/perf-tuning.html">conseils en matière de + performances</a>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/worker.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/worker.html.ja.utf8 b/docs/manual/mod/worker.html.ja.utf8 new file mode 100644 index 0000000..b915922 --- /dev/null +++ b/docs/manual/mod/worker.html.ja.utf8 @@ -0,0 +1,217 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>worker - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM worker</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>マルチスレッドとマルチプロセスのハイブリッド型 +ウェブサーバを実装したマルチプロセッシングモジュール</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>mpm_worker_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>worker.c</td></tr></table> +<h3>概要</h3> + + <p>このマルチプロセッシングモジュール (MPM) + は、マルチスレッドとマルチプロセスのハイブリッド型サーバを + 実装しています。リクエストの応答にスレッドを使うと、 + プロセスベースのサーバよりも少ないシステム資源で、 + 多くのリクエストに応答することができます。 + それにもかかわらず、多くのスレッドを持った複数のプロセスを + 維持することで、 + プロセスベースのサーバの持つ安定性も保持しています。</p> + + <p>この MPM を制御するのに使われる最も重要なディレクティブは、 + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> と + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> です。 + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> は + 各子プロセスで用意されるスレッド数を制御して、 + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> は + 起動されるスレッドの総数の最大値を制限します。</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">動作方法</a></li> +</ul><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_worker">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_worker">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="../bind.html">Apache +の使用するアドレスとポートの設定</a></li> +<li><a href="#comments_section">コメント</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">動作方法</a></h2> + <p>一つの制御用プロセス (親) が子プロセスを起動します。 + 子プロセスは + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> + ディレクティブで指定された一定数のサーバスレッドと接続を + listen するスレッドを一つ作ります。 + Listener スレッドは接続が来たときにサーバプロセスに渡します。</p> + + <p>Apache は<dfn>スペアの</dfn>、つまりアイドルなサーバスレッドの + プールを常に維持していて、それらは入ってくるリクエストに + 答えられるように待機しています。 + このようにして、クライアントはリクエストの応答が得られるようになるために + 新しいスレッドやプロセスが生成されるのを + 待たなくてもよいようになっています。 + 起動初期時のプロセス総数は、 + <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> + ディレクティブで設定されます。稼働中に、 + Apache は全プロセスのアイドルスレッドの合計数を見積もって、 + <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> と + <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> + で指定された範囲の中にこの数が収まるように fork したり + kill したりします。この操作は非常に自律的なので、 + これらのディレクティブをデフォルト値から変更する必要は + めったにないでしょう。 + 同時に応答することのできるクライアント数の最大数 + (つまり全プロセス中の総スレッド数の最大値) は + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + ディレクティブで決定されます。 + 活動中の子プロセス数の最大値は + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> を + <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> で割った + ものになります。</p> + + <p>活動中の子プロセスの数と子プロセス中のサーバスレッドの数の越えられない + 上限を設定するディレクティブが二つあります。これらはサーバを + 完全に停止して、再起動することでしか変更することはできません。 + <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit + </a></code> は活動中の子プロセスの越えられない上限を設定し、 + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> ディレクティブ + の値を <code class="directive"><a href="../mod/mpm_common.html#threadsperchild"> + ThreadsPerChild</a></code> の値で割った値以上である + 必要があります。<code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> は + サーバスレッドの越えられない上限で、<code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> ディレクティブの + 値以上である必要があります。</p> + + <p>活動中の子プロセス群に加えて、少なくとも一つのサーバスレッドが + 既存のクライアントからの接続を扱っている終了しようとしている + 子プロセスがある可能性があります。終了中のプロセスは <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> で指定された数まで + 存在できますが、実際に期待される数はずっと少なくなります。この + 振舞いは各子プロセスを終了させないようにすることで回避できます。 + これは以下の様にして実現できます。</p> + + <ul> + <li><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild"> + MaxRequestsPerChild</a></code> の値を 0 に設定する</li> + + <li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads"> + MaxSpareThreads</a></code> の値を + <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> + と同じ値にする</li> + </ul> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> MPM の典型的なプロセス・スレッド制御の + 設定では、次のようになります。</p> + + <div class="example"><p><code> + ServerLimit 16<br /> + StartServers 2<br /> + MaxClients 150<br /> + MinSpareThreads 25<br /> + MaxSpareThreads 75<br /> + ThreadsPerChild 25 + </code></p></div> + + <p>通常 Unix では親プロセスは 80 番ポートにバインドするために + <code>root</code> で起動されますが、子プロセスやスレッドは + もっと低い権限のユーザで Apache によって起動されます。 + <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> と + <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> ディレクティブは + Apache の子プロセスの権限を設定するのに用いられます。 + 子プロセスはクライアントに送るコンテンツ全てを読めないといけませんが、 + 可能な限り必要最小限の権限のみを持っているようにするべきです。 + さらに、<code class="program"><a href="../programs/suexec.html">suexec</a></code> + が使用されていない限り、これらのディレクティブは + CGI スクリプトで継承される権限も設定します。</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> + は、古いプロセスを停止して新しいプロセスを起動することによって、 + どの程度の頻度でサーバがプロセスをリサイクルするかを制御します。</p> +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/worker.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/worker.html.tr.utf8 b/docs/manual/mod/worker.html.tr.utf8 new file mode 100644 index 0000000..1877154 --- /dev/null +++ b/docs/manual/mod/worker.html.tr.utf8 @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>worker - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM worker</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok +süreçlilik modülü.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>mpm_worker_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>worker.c</td></tr></table> +<h3>Özet</h3> + + <p>Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli + olabilen melez bir sunucu oluşturur. İstekleri sunmak için evreleri + kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı + harcayarak daha çok isteğe hizmet sunabilir. Bununla birlikte, herbiri + çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli + sunucu kadar kararlı olur.</p> + + <p>Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her + çocuk süreç için konuşlandırılacak evre sayısını belirleyen <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesi ile devreye + sokulacak toplam evre sayısının azamisini belirleyen <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesidir.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Konular</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Nasıl çalışır?</a></li> +</ul><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li> +<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_worker">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_worker">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="../bind.html">Apache HTTP Sunucusunun kullandığı adres ve + portların ayarlanması</a></li> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="how-it-works" id="how-it-works">Nasıl çalışır?</a></h2> + <p>Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur. + Her çocuk süreç <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesinde belirtilen sayıda evre + konuşlandırır. Bunlardan ayrı olarak, bir dinleyici evre bağlantıları + dinleyip gelenleri işlenmek üzere bu sunucu evrelerinden birine + aktarır.</p> + + <p>Apache HTTP Sunucusu daima, gelen isteklere hizmet sunmaya hazır + <dfn>yedek</dfn> + veya boştaki sunucu evrelerinden oluşan bir havuzu canlı tutmaya + çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk + süreçlerin çatallanmasını, dolayısıyla yeni evrelerin + konuşlandırılmasını beklemek gerekmez. Başlangıçta çalıştırılacak çocuk + süreçlerin sayısı <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> yönergesinde belirtilir. + Apache httpd, çalışma süresi boyunca <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> ve <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> yönergeleri ile belirtilen sınırlar + dahilinde kalmak üzere gerektiğinde süreçleri öldürerek gerektiğinde + yenilerini devreye alarak tüm süreçlerdeki toplam evre sayısını sabit + tutmaya çalışır. Bu işlem kendiliğinden çok iyi yürüdüğünden bu + yönergelere öntanımlı değerlerinden farklı değerlerin atanması nadiren + gerekli olur. Aynı anda hizmet sunulabilecek istemcilerin sayısı (yani, + tüm süreçlerin toplam evre sayısı) <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesi ile belirlenir. Etkin çocuk + süreçlerin sayısı ise <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesindeki değerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değere + bölünmesi ile elde edilir.</p> + + <p>Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her + çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu + sınır sadece ana sunucu tamamen durdurulup yeniden başlatılarak + değiştirilebilir. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> yönergesinin değeri etkin çocuk süreç + sayısının üst sınırı olup <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesindeki değerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değere + bölünmesi ile elde değere eşit veya bundan küçük olması gerekir. + <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> yönergesinin + değeri ise sunucu evreleri sayısının üst sınırını belirler ve <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değerden + büyük veya ona eşit olması gerekir.</p> + + <p>Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci + bağlantılarını işleme sokmaya çalışan tek bir sunucu evresinden başka + fazladan bir çocuk süreç etkin kalabileceği gibi sonlandırılacak süreç + sayısının en fazla <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> olması gerekirse de gerçekte sayı bundan + küçük olabilir. Şöyle bir işlemle tek bir çocuk sürecin sonlandırılması + iptal edilerek bu gibi durumlara karşı önlem alınabilir:</p> + + <ul> + <li><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> + yönergesinin değeri sıfır yapılır.</li> + + <li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> ve + <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> + yönergelerinin değerleri birbirine eşitlenir.</li> + </ul> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> modülünün öntanımlı süreç-evre yapılandırması + genelde şöyledir:</p> + + <pre class="prettyprint lang-config">ServerLimit 16 +StartServers 2 +MaxRequestWorkers 150 +MinSpareThreads 25 +MaxSpareThreads 75 +ThreadsPerChild 25</pre> + + + <p>Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından + çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache + httpd tarafından daha az yetkili bir kullanıcının aidiyetinde + çalıştırılırlar. Apache httpd’nin çocuk süreçlerinin kullanıcı ve + gruplarını ayarlamak için <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> + ve <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> yönergeleri + kullanılır. + Çocuk süreçlerin sunacakları içeriği okumaya yetkili olmaları gerekir, + fakat bu yetkinin mümkün olduğunca kısıtlı tutulmasına çalışılmalıdır. + Bundan başka, <code class="program"><a href="../programs/suexec.html">suexec</a></code> kullanılmadığı takdirde, bu + yönergeler CGI betikleri tarafından miras alınacak yetkili kullanıcı + ve grubu da ayarlarlar.</p> + + <p><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> + yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı + ne kadar sıklıkla yapacağını denetler.</p> + + <p>Bu MPM, gürleyen sürü sorunu ortaya çıktığında (genelde çok sayıda + dinlenen soket varlığında) gelen bağlantılara erişimi dizgileştirmek için + <code>mpm-accept</code> muteksini kullanır. Bu muteksin gerçeklenimle + ilgili hususları <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> yönergesi ile + yapılandırılabilir. Bu muteks hakkında ek bilgi için <a href="../misc/perf-tuning.html">başarımın arttırılması</a> + belgesine bakınız.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/worker.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/worker.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file |